Wikibooks enwikibooks https://en.wikibooks.org/wiki/Main_Page MediaWiki 1.47.0-wmf.19 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 Event Event talk Wikibooks:Requests for deletion 4 385 4670066 4669789 2026-09-14T16:16:52Z EggRoll97 3178669 /* Chess Opening Theory/1. g4/1...Na6 */ Reply 4670066 wikitext text/x-wiki __NEWSECTIONLINK__ [[Category:Wikibooks deletion|{{PAGENAME}}]] {{Discussion Rooms}} {{TOCleft}} {{shortcut|WB:RFD}} {{Requests for deletion/New deletion}} {{Requests for deletion/Deletion intro}} <!-- New deletion nominations go at the bottom of page. --> == [[Salute, Jonathan!]] and its translations == <div style="column-count: 7;"> * [[Salute, Jonathan!|Interlingue/Occidental]] ([[w:en:Occidental|w]], original) * [[Òla, Ionatà!|Audià]] * [[Holo, Jonathan!|Cristianés]] * [[Terve, Jonathan!|Ekumenski]] * [[Hej, Jonathan! (Germanisch)|Germanisch]] * [[Salom, Jonatan!|Globasa]] * [[Àlŏ, Jonathan!|Guosa]] ([[w:en:Guosa|w]]) * [[Salut, Jonathan!|Idiom Neutral]] ([[w:en:Idiom Neutral|w]]) * [[Saluto, Jonathan! (Ido)|Ido]] ([[w:en:Ido|w]]) * [[Hallo, Jonathan!|Interlingua]] ([[w:en:Interlingua|w]]) * [[Salut, Jonathan! (Interocidental)|Interocidental]] * [[Bune Ğonatan!|Lingaust]] * [[Oila, Jonatan!|Lingue Simple]] * [[Haloo, Jonatan!|Lingwa de Planeta]] ([[w:en:Lingwa de Planeta|w]]) * [[Sin Chao, Jonathan!|Masa Tang]] * [[Salut, ionatano!|Meteza]] * [[Salu, Jon!|Mini]] * [[Hay, Jonathan!|Mirad]] * [[Hai, Jon!|Monav]] * [[Sesan Jon!|Monkel]] * [[Salam, Jonathan!|Mundeze]] * [[Dag, Jonathan!|Negerhollands]] ([[w:en:Negerhollands|w]]) * [[Salut Jonathan!|Neo]] ([[w:en:Neo|w]]) * [[Hej, Jonathan!|Nordien]] * [[Saluto, Jonathan!|Novial]] ([[w:en:Novial|w]]) * [[Salute, Jonathan! (Novlingue)|Novlingue]] * [[Alo, Jonathan!|Numo]] * [[Hela, Jonathan!|Proyo]] * [[Salute, Jonathan! (Romanica)|Romanica]] ([[w:en:Romanica|w]]) * [[Simi, Jonathan!|Solresol]] ([[w:en:Solresol|w]]) * [[Toki a, jan Jonatan!|Toki Pona]] ([[w:en:Toki Pona|w]]) * [[Glidis, o Jonathan!|Volapük]] ([[w:en:Volapük|w]]) </div> 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: :::# 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. :::# The Interlingua one can move to the Interlingua Wikibooks (maybe Romanica too if they want as it is sort of a dialect of Interlingua). :::# 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). :::# 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}} the translations for languages that have an article on the English Wikipedia, i.e. Guosa, Idiom Neutral, Ido, Interlingua, Lingwa de Planeta, Negerhollands, Neo, Novial, Occidental, Romanica, Solresol, Toki Pona, and Volapük. : Translations for languages that don't have an article can be kept if they have reliable sources, which I was able to find for the following languages (if you think they are not reliable, please let me know): :* Globasa: [https://www.languagesandnumbers.com/how-to-count-in-globasa/en/globasa/] [https://greyson.conlang.org/2020/01/29/shouting-out-globasa-and-pandunia/] :* Mini: [https://jprogr.github.io/mini] [https://www.omniglot.com/language/phrases/mini.htm] [https://www.languagesandnumbers.com/how-to-count-in-mini/en/mini/] : {{del}} and move to [[User:Mithridates/SJ]] the rest of the translations, i.e. Audià/Audian, Cristianés, Ekumenski, Germanisch, Interocidental, Lingaust, Lingue Simple, Masa Tang, Mirad, Monav, Monkel, Mundeze, Nordien, Novlingue, Numo, Proyo, and Scuian/Meteza. If you can find reliable sources for those languages, please let me know. : In particular, I could not find resources for Audià/Audian and Monav after searching through 15 and 17 pages on Google, respectively. It doesn't help that [[Òla, Ionatà!|their]] [[Hai, Jon!|translations]] don't explain what those languages are and where to find resources for them. This makes contributing to those translations almost impossible until @[[User:Caro de Segeda|Caro de Segeda]] can provide resources to us. It's possible that the resources may have disappared from the Internet, or that those languages were created by Caro de Segeda him/herself. If you can find resources for Audià/Audian and Monav, please let me know. : I'm notifying the primary contributors of the translations: @[[User:Caro de Segeda|Caro de Segeda]], @[[User:Frzzl|Frzzl]], @[[User:Greatscotteh|Greatscotteh]], @[[User:IHateNumbers234|IHateNumbers234]], @[[User:Jayeless2|Jayeless2]], @[[User:Morozof|Morozof]], @[[User:Omnihom|Omnihom]], @[[User:Omoutuazn|Omoutuazn]], @[[User:PovriNaivon|PovriNaivon]], @[[User:Sir Beluga|Sir Beluga]] and @[[User:Tyoyafud|Tyoyafud]]. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 09:52, 30 June 2025 (UTC) :: Caro de Segeda said on [https://www.reddit.com/r/conlangs/comments/1lcnz9g/comment/n0sc3wx/ Reddit] that Monav was created by him/her and that he/she didn't publish any resources about it other than [[Hai, Jon!]]. With '''zero''' other resources to rely on for contributing to the translation, and the fact that Monav is in [[User:Mithridates/SJ]], [[Hai, Jon!]] should be speedy deleted. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 01:38, 3 July 2025 (UTC) ::: I've undone the speedy deletion as Caro de Segeda posted a [https://prexins.wordpress.com/2025/07/04/monav/ resource] for Monav. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 07:18, 4 July 2025 (UTC) :::: You can delete all the ones that I have created myself, I have already moved them to other places. — [[User:Caro de Segeda|Caro de Segeda]] ([[User talk:Caro de Segeda|discuss]] • [[Special:Contributions/Caro de Segeda|contribs]]) 12:39, 5 July 2025 (UTC) {{outdent|::::}}I don't know if this is helpful since it wouldn't apply to most of these, but [[s:mul:]] could hold some of these. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|discuss]] • [[Special:Contributions/Arlo Barnes|contribs]]) 09:18, 30 November 2025 (UTC) : I don't think that would be within the scope of that project. I'm not aware of any other situation where Wikisource publishes translations of texts created on Wikimedia projects - that's usually left up to other language editions of the same project. — [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 05:34, 1 December 2025 (UTC) :: In this situation there isn't a separate [[s:ie:]] distinct from Multilingual Wikisource (see [[meta:Wikisource#List of Wikisources]]). In fact, there are very few multilingual wikis in the Wikimedia sphere; while this project ''could'' move to a Miraheze-hosted or similar wiki farm location, I think it would be a missed opportunity. I suppose an [[Interlingue]] book could be started in [[shelf:Constructed languages]] which would have all 100 chapters as an appendix (and likewise for the other languages), but that also seems non-ideal since it requires an English-language text that doesn't currently exist to be created. [[WB:AT]] seems to describe a similar situation to this one and prescribe Wikisource as the solution, and [[WB:SOURCE]] mentions fiction as out-of-scope for Wikibooks (even as in this case, language-educational fiction). [[s:mul:Wikisource:about Wikisource]] simply speaks of source texts and doesn't mention publication requirements, so maybe that is specific to some of the monolingual editions? — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|discuss]] • [[Special:Contributions/Arlo Barnes|contribs]]) 22:28, 5 December 2025 (UTC) :{{keep}} 100% keep. These books are a core part of language textbooks on Wikibooks and have been for years. Not sure why this is even being debated.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 17:55, 16 May 2026 (UTC) ::With all due respect, some of the books included in this nomination (like [[Sin Chao, Jonathan!]]) are written in constructed languages which are not substantially attested anywhere else. I struggle to imagine any educational purpose for such a book. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:12, 17 May 2026 (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) : Could this be salvaged as a shelf? [[User:Pppery|Pppery]] ([[User talk:Pppery|discuss]] • [[Special:Contributions/Pppery|contribs]]) 05:23, 27 January 2025 (UTC) ::Probably, but are the linked books even useful? IB exams change from year to year - sometimes quite dramatically - so an old exam guide is of very limited value. Many of these books were written 10-15 years ago, and some of them (like [[IB French]]) even have comments indicating that they're no longer applicable. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:18, 8 December 2025 (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) ::I concur. I'm just an undergrad who tries to learn about Sino-Tibetan historical linguistics in his free time but I've found this wikibook to be incredibly useful, and I keep it open in one tab while I watch Professor Nathan Hill's lectures that he uploads to youtube in another tab, and another tab for taking notes. In fact if I remember correctly Professor Hill actually pointed his students to this wikibook. ::I'm not familiar with [[wikiversity:Wikiversity:SHARE|Wikiversity]] but if all the content were as accessible there as it is here then I think that could work. [[User:ChromeBones|ChromeBones]] ([[User talk:ChromeBones|discuss]] • [[Special:Contributions/ChromeBones|contribs]]) 02:43, 9 July 2025 (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) == [[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) :I was going to say whether we should ask any fiwikibooks sysop to maybe see if this could be transwikied to fiwb if it's within the scope there. But [[:fi:Toiminnot:Käyttäjät/sysop]] indicates that there are only 3 sysops, and only {{u|Anr}} and {{u|Zache}} have made edits this ''year''. If they deem it to be salvageable, then transwiki + delete, otherwise straight-up delete. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 11:24, 14 November 2024 (UTC) ::It seems that the idea behind the book was for the pages to be bilingual, as it’s a language learning book. That’s why there are Finnish texts included intentionally even on the pages that are complete. There are similar books in dewikibooks and ruwikibooks as well. For the English version, I think the easiest way to proceed would be to clean up and adjust the page layout to fit enwikibooks better, and then translate the missing parts. By the way, if anyone wants to update the book’s name in English, it can be titled ''"Using the Finnish Language"'' or ''"Put Finnish Language into Use"'' for a direct translation. [[User:Zache|Zache]] ([[User talk:Zache|discuss]] • [[Special:Contributions/Zache|contribs]]) 11:57, 14 November 2024 (UTC) == [[AT&T Mobility FAQ]] == * [[AT&T Mobility FAQ]] * [[AT&T Mobility FAQ/MEdia Net Configuration]] * [[AT&T Mobility FAQ/Data Connect Configuration]] An ''extremely'' outdated FAQ on AT&T's cell phone services. Most of this document was written 20+ years ago as a Usenet FAQ; very little of it is accurate or useful anymore (particularly the two subpages, which have to do with obsolete configurations for "tethering" a computer to a cell phone). No objection if someone wants to update it, but there's clearly been no appetite to do that. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:20, 30 December 2024 (UTC) :I'm wondering if it might make sense for us to develop some kind of policy on archiving books here. There are many like this one that have a good deal of content but are extremely out of date and just not useful as originally intended. ——[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:34, 30 December 2024 (UTC) ::@[[User:Kittycataclysm|Kittycataclysm]]: See the newly developed [[Wikibooks:Outdated books]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 00:16, 31 December 2024 (UTC) :::Ooh, thanks - something like that seems like it could be an appropriate way to handle this book. A lot of the other outdated books I've tagged have been so incomplete that they wouldn't have been particularly useful even as historical references; this one might at least have some interest. :::Any chance we can get a separate namespace (maybe "Archive:") set up for archived book content? That'd make it possible to do things like exclude them from on-site search by default. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:07, 31 December 2024 (UTC) ::::I think this might be a more extended discussion, so I'll bump it over to the [[Wikibooks talk:Outdated books|talk page of the draft policy]]! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:54, 31 December 2024 (UTC) == Algebra/Chapter 10/Symmetric Polynomials == I personally believe that [[Algebra/Chapter 10/Symmetric Polynomials|this]], and all of the sections should be deleted for the fact that this goes WAY beyond the scope of what was intended for the Chapter (Algebra II level polynomials). [[User:GoreyCat|GoreyCat]] ([[User talk:GoreyCat|discuss]] • [[Special:Contributions/GoreyCat|contribs]]) 15:07, 6 February 2025 (UTC) :'''Split''': Deletion here is not the best solution (see [[w:WP:ATD]]). Instead, this page and its subpages should be moved to another book, most likely [[Abstract Algebra]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:35, 6 February 2025 (UTC) :{{keep}} since there is a good amount of content. If [[Abstract Algebra]] is appropriate, it seems like a fine idea to move there. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:59, 7 February 2025 (UTC) ::Eh, yeah, I supposed moving it is better. I just don't think it's suitable for where it appears. [[User:GoreyCat|GoreyCat]] ([[User talk:GoreyCat|discuss]] • [[Special:Contributions/GoreyCat|contribs]]) 01:40, 8 February 2025 (UTC) == [[Puredyne]] == Development of Puredyne Linux was discontinued in 2012, and the software no longer appears to be available for download anywhere. (An archive of the web site is still up - with a bunch of embedded spam links - but the download links are all dead.) Is this a suitable candidate for archival (cf. [[Wikibooks:Outdated books]]), or should it just be deleted? [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:35, 5 March 2025 (UTC) :I'd just archive stuff like this. Looks like a decent bit of work went into it, and you never know when someone might need to use Puredyne for some obscure project. I'd be willing to bet mirrors exist of it somewhere, or someone has it on a drive. If you want to find some stuff worth deleting, comb through [[:Category:Allbooks categories]]. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:30, 5 March 2025 (UTC) == [[Template:Qr-twwp]] == This isn't exactly a request to delete the template, but rather to merge it with {{tlx|Copypaste}}. The {{tlx|Qr-twwp}} template serves the same purpose as {{tlx|Copypaste}}, but without the seven-day period after which the page is deleted. This leads to confusion, as well as a perpetually full [[:Category:Queried pages]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:37, 30 March 2025 (UTC) == [[Ghouls of the Miskatonic]] == I don't think that a plot summary of a book is in-scope here. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:43, 20 August 2025 (UTC) :{{vd}} - at least, not a summary of ''this'' book. A summary and/or study guide to a notable work of literature might be in scope, but this is certainly not one. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:23, 25 August 2025 (UTC) ::Hi. I am the creator of the pages of this book. If I understand correctly, it has to be a summary of a notable work of literature? So what exactly is defined as such? I only started this as I thought it would be fun, interesting and encouraging to others who read the Arkham Horror novels, and I thought it was permitted as I've seen other summaries of books on wikibooks. [[User:Dayne90|Dayne90]] ([[User talk:Dayne90|discuss]] • [[Special:Contributions/Dayne90|contribs]]) 13:27, 26 August 2025 (UTC) :::Your problem is it is just the plot... it needs to include an educational textual analysis to be in scope [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:47, 28 August 2025 (UTC) ::::And ideally it'd be a text which has ''already'' been the subject of literary analysis, such that the analysis on Wikibooks isn't original research. A notable work of literature like ''Frankenstein'' or ''Moby-Dick'' would easily meet that requirement; a tie-in novel for a tabletop RPG probably does not. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:08, 29 August 2025 (UTC) == [[Objective Projection: Why the Brain Never Forgets Some Stories]] == Undisclosed AI-generated content. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:13, 9 May 2026 (UTC) :<nowiki>'''Keep'''</nowiki> — Comment from page author/subject expert. :I am Levent Bulut, the originator of the <nowiki>''</nowiki>Objective Projection<nowiki>''</nowiki> methodology described in this book (ORCID: 0009-0007-7500-2261, Wikidata: Q138048287). I want to address the AI-generated content concern directly and transparently. :<nowiki>'''</nowiki>On the content itself:<nowiki>'''</nowiki> The methodology, theoretical framework (the six-variable operator E(r) = projS(M, T, V, Δ, Ω, Ng), the Six Golden Rules, the Six-Layer Framework), and all original arguments are my own intellectual work, developed and published independently. This is documented through: :* 26 DOI-registered academic publications on Zenodo (search: "Levent Bulut Objective Projection") :* A peer-reviewed submission currently under review at <nowiki>''</nowiki>Digital Humanities Quarterly<nowiki>''</nowiki> :* Parallel Turkish-language Wikibook and Wikiversity pages on the same methodology :* An open-source SFT dataset on Hugging Face (leventbulut/objective-projection) :<nowiki>'''</nowiki>On AI assistance:<nowiki>'''</nowiki> I used AI tools (Claude) for English translation polish and copy-editing from my Turkish source materials — the same way a non-native English-speaking academic would use a human translator or editor. The <nowiki>''</nowiki>ideas, structure, terminology, citations, and arguments<nowiki>''</nowiki> are entirely my own and pre-date the Wikibooks version, traceable through Zenodo DOI timestamps starting in 2025. :<nowiki>'''</nowiki>Proposed remedy instead of deletion:<nowiki>'''</nowiki> I am happy to: :# Add a clear AI-assistance disclosure to the book's preface, per Wikibooks transparency norms :# Add inline citations to the underlying DOI-registered publications for every major claim :# Link to the parallel Turkish version and academic record :This would address the <nowiki>''</nowiki>undisclosed<nowiki>''</nowiki> part of the concern (which is the actionable policy issue) while preserving content that is original academic work by an identifiable author with a published track record. Deletion of original scholarship because translation assistance was used would set a concerning precedent for non-native English contributors. :<nowiki>I request a few days to add the disclosure and citations before any deletion action. ~~~~</nowiki> [[Special:Contributions/&#126;2026-28847-60|&#126;2026-28847-60]] ([[User talk:&#126;2026-28847-60|talk]]) 18:46, 13 May 2026 (UTC) ::Administrative assistance needed: Automated filters blocking structural improvements and disclosures ::'''Request for Help''' — I am Levent Bulut, the author of this book. I have already provided my AI disclosure and academic credentials (ORCID, DOI list) here in this discussion. ::I am trying to update the book to comply with Wikibooks standards by: ::Adding a formal '''AI assistance disclosure''' at the top of the page. ::Restructuring the content into an '''instructional textbook format''' (adding Learning Objectives). ::Converting plain text formulas into '''LaTeX''' ( format). ::Updating references to include full academic '''DOI''' records. ::However, the automated filter is blocking all my attempts: ::If I try to replace the content with the improved version, it triggers the '''"large amount of content removal"''' filter. ::If I try to add specific academic links, it triggers the '''"automated link/spam"''' filter. ::I am essentially trapped by the filters while trying to improve the book and follow transparency norms. Could an administrator please either whitelist my account or manually apply the improved version of the text? I am ready to provide the full MediaWiki code here if requested. My intent is purely constructive and academic. [[Special:Contributions/&#126;2026-28847-60|&#126;2026-28847-60]] ([[User talk:&#126;2026-28847-60|talk]]) 19:15, 13 May 2026 (UTC) ::: Hi, @[[User:~2026-28847-60|~2026-28847-60]]. Your account was incorrectly locked by a steward. It is now currently unlocked. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:44, 15 May 2026 (UTC) :::: Pinging @[[User:Projection Architect|Projection Architect]], who was previously LeventBulut. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:51, 4 July 2026 (UTC) ::Please review [[Wikibooks:Artificial intelligence]]. It states unequivocally that {{tq|LLMs may not be used to generate or summarize material and ideas at Wikibooks}}, and that {{tq|translations made by LLMs are not allowed on Wikibooks}}. The fact that you did not disclose your usage of AI is part of the problem, but disclosing it does not make it allowable either. ::More broadly, based on what you've said above, the content of this book is a reflection of your personal theories on writing. This is essentially [[Wikibooks:Original research]] and is not permitted. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:36, 13 May 2026 (UTC) == [[Suicide]] == I realize this book has been nominated for deletion before ([[Wikibooks:Requests for deletion/Suicide|1]], [[Wikibooks:Requests for deletion/Suicide (2)|2]], [[Wikibooks:Requests for deletion/Suicide/Suffocation|3]]), but it's been over ten years since the last nomination. The project's position on what material is in its educational scope has shifted, as have some of the facts on the ground. * The chartered purpose of Wikibooks is to produce "open-content textbooks" (cf. [[Wikibooks:What is Wikibooks?]]) which are suitable for use in an instructional environment. Providing educational information about suicide in the context of psychiatry could certainly be in scope, as psychiatry is an educational topic; however, instructional material on how to commit suicide is not an educational topic, and should not be considered in scope. * This book is, and has always been, primarily intended as an instructional work guiding users on how to commit suicide. It provides effectively no meaningful analytical content ''about'' suicide as a topic. Most of the original content in the book was imported from an early-2000s wiki associated with the <code>alt.suicide.holiday</code> Usenet group, the "ASH wiki", which was specifically and unequivocally dedicated to describing and recommending methods by which readers could commit suicide, and this has carried through to the current version of the book. * Most of the content in the book was removed in 2020 (by redirecting it to the book's main page, e.g. [[Special:Diff/3660495]]) over concerns that it was created by a WMF-banned user ([[User:Leucosticte]]), and because it was likely in violation of the ASH wiki's (unclear) copyright. These changes removed most of the content of the book; much of what remains is image gallery pages like [[Suicide/Blades]] which have no educational value. Suicide is a sensitive topic; if it is covered by a textbook, it should be covered tastefully and with an aim to educate. This book is largely the opposite of that. Having it here is doing more harm than good. If this book is deleted, the following related pages should be deleted as well: * [[Template:Suicide methods]] * [[Template:Infobox suicide method]] (currently unused) * [[User:Leucosticte/About ASH]] - from the ASH wiki, as mentioned above * [[User:Leucosticte/Frequently Asked Questions]] - also from the ASH wiki [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:41, 21 July 2026 (UTC) : {{keep|weak keep}} a)&nbsp;Age is no argument. There are many stale underdeveloped books I would rather delete than keeping around. b)&nbsp;The book’s topic is exceptionally difficult to write about. ''This'' impedes collaborative authoring. c)&nbsp;The book does not really explain ''how'' to commit suicide (like a step‐by‐step guide), neither is it the book’s learning objective. d)&nbsp;Even if ''you construed'' the chapter summarizing various suicide methods ''as instructions'', instructional material on how to commit suicide ''is'' an educational topic. In most ''present‐day societies'' it is not ''ethical'' to teach students how to commit suicide, though. e)&nbsp;Therefore the correct path is to first alter the [[WB:WIW#Wikibooks includes instructional texts|project scope]] to censor books on ethical grounds ''and then'' nominate the book for censorship. ‑‑[[User:Kai Burghardt|Kai Burghardt]] ([[User talk:Kai Burghardt|discuss]] • [[Special:Contributions/Kai Burghardt|contribs]]) 04:50, 28 July 2026 (UTC) ::Re. c: most of the explicit directions were edited out in 2020, as noted in my nomination, but are still visible in page history. For a couple of explicit examples, see e.g. [[Special:Permalink/3318613]] or [[Special:Permalink/3654645]]. Providing specific instructions was the original intent of this book, and it has never escaped that legacy. If someone were interested in writing a book ''about'' the phenomenon of suicide, they would be better off starting afresh. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 05:26, 28 July 2026 (UTC) *'''Delete all'''. ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 16:17, 28 July 2026 (UTC) * '''Delete all''' per the nomination above. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:17, 30 July 2026 (UTC) * '''Keep''' with caution. Rename to "suicide prevention"?--[[User:TunnelESON|TunnelESON]] ([[User talk:TunnelESON|discuss]] • [[Special:Contributions/TunnelESON|contribs]]) 04:03, 2 September 2026 (UTC) *:Re. the rename: absolutely not. There is no content in the book about suicide prevention. If you are interested in writing a book on that topic, please start a new one. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:48, 5 September 2026 (UTC) :{{keep}} - :1. "instructional material on how to commit suicide is not an educational topic" - I think it can be construed as one depending on the person (and does not have to imply that the person is at risk) :2. Not a reason. :3. Not a reason. It is up to the community to decide whether to accept a banned user's work. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 13:37, 6 September 2026 (UTC) == [[Chess Opening Theory/1. g4/1...Na6]] == Nonsense position, one of the worst opening moves for White countered by a move hurting development for Black. [https://www.365chess.com/search_position.php Searching] on 365chess.com finds zero games with this position. See also a similar [[Wikibooks:Requests for deletion/Chess Opening Theory/1. e4/1...e5/2. Na3]]. [[User:1234qwer1234qwer4|𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰]] ([[User talk:1234qwer1234qwer4|𝗍𝗮𝘭𝙠]]) 02:20, 13 September 2026 (UTC) :{{vd}} With some reservations, in that just being a bad move doesn't make it ''not'' a strategy. That said, the lack of actual game presence means it's unnecessary to keep around. [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 16:16, 14 September 2026 (UTC) miwd4zzrshkiytlomu0ukag1huuha9t 4670069 4670066 2026-09-14T16:23:09Z EggRoll97 3178669 /* MediaWiki:Abusefilter-edit-denied */ new section 4670069 wikitext text/x-wiki __NEWSECTIONLINK__ [[Category:Wikibooks deletion|{{PAGENAME}}]] {{Discussion Rooms}} {{TOCleft}} {{shortcut|WB:RFD}} {{Requests for deletion/New deletion}} {{Requests for deletion/Deletion intro}} <!-- New deletion nominations go at the bottom of page. --> == [[Salute, Jonathan!]] and its translations == <div style="column-count: 7;"> * [[Salute, Jonathan!|Interlingue/Occidental]] ([[w:en:Occidental|w]], original) * [[Òla, Ionatà!|Audià]] * [[Holo, Jonathan!|Cristianés]] * [[Terve, Jonathan!|Ekumenski]] * [[Hej, Jonathan! (Germanisch)|Germanisch]] * [[Salom, Jonatan!|Globasa]] * [[Àlŏ, Jonathan!|Guosa]] ([[w:en:Guosa|w]]) * [[Salut, Jonathan!|Idiom Neutral]] ([[w:en:Idiom Neutral|w]]) * [[Saluto, Jonathan! (Ido)|Ido]] ([[w:en:Ido|w]]) * [[Hallo, Jonathan!|Interlingua]] ([[w:en:Interlingua|w]]) * [[Salut, Jonathan! (Interocidental)|Interocidental]] * [[Bune Ğonatan!|Lingaust]] * [[Oila, Jonatan!|Lingue Simple]] * [[Haloo, Jonatan!|Lingwa de Planeta]] ([[w:en:Lingwa de Planeta|w]]) * [[Sin Chao, Jonathan!|Masa Tang]] * [[Salut, ionatano!|Meteza]] * [[Salu, Jon!|Mini]] * [[Hay, Jonathan!|Mirad]] * [[Hai, Jon!|Monav]] * [[Sesan Jon!|Monkel]] * [[Salam, Jonathan!|Mundeze]] * [[Dag, Jonathan!|Negerhollands]] ([[w:en:Negerhollands|w]]) * [[Salut Jonathan!|Neo]] ([[w:en:Neo|w]]) * [[Hej, Jonathan!|Nordien]] * [[Saluto, Jonathan!|Novial]] ([[w:en:Novial|w]]) * [[Salute, Jonathan! (Novlingue)|Novlingue]] * [[Alo, Jonathan!|Numo]] * [[Hela, Jonathan!|Proyo]] * [[Salute, Jonathan! (Romanica)|Romanica]] ([[w:en:Romanica|w]]) * [[Simi, Jonathan!|Solresol]] ([[w:en:Solresol|w]]) * [[Toki a, jan Jonatan!|Toki Pona]] ([[w:en:Toki Pona|w]]) * [[Glidis, o Jonathan!|Volapük]] ([[w:en:Volapük|w]]) </div> 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: :::# 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. :::# The Interlingua one can move to the Interlingua Wikibooks (maybe Romanica too if they want as it is sort of a dialect of Interlingua). :::# 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). :::# 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}} the translations for languages that have an article on the English Wikipedia, i.e. Guosa, Idiom Neutral, Ido, Interlingua, Lingwa de Planeta, Negerhollands, Neo, Novial, Occidental, Romanica, Solresol, Toki Pona, and Volapük. : Translations for languages that don't have an article can be kept if they have reliable sources, which I was able to find for the following languages (if you think they are not reliable, please let me know): :* Globasa: [https://www.languagesandnumbers.com/how-to-count-in-globasa/en/globasa/] [https://greyson.conlang.org/2020/01/29/shouting-out-globasa-and-pandunia/] :* Mini: [https://jprogr.github.io/mini] [https://www.omniglot.com/language/phrases/mini.htm] [https://www.languagesandnumbers.com/how-to-count-in-mini/en/mini/] : {{del}} and move to [[User:Mithridates/SJ]] the rest of the translations, i.e. Audià/Audian, Cristianés, Ekumenski, Germanisch, Interocidental, Lingaust, Lingue Simple, Masa Tang, Mirad, Monav, Monkel, Mundeze, Nordien, Novlingue, Numo, Proyo, and Scuian/Meteza. If you can find reliable sources for those languages, please let me know. : In particular, I could not find resources for Audià/Audian and Monav after searching through 15 and 17 pages on Google, respectively. It doesn't help that [[Òla, Ionatà!|their]] [[Hai, Jon!|translations]] don't explain what those languages are and where to find resources for them. This makes contributing to those translations almost impossible until @[[User:Caro de Segeda|Caro de Segeda]] can provide resources to us. It's possible that the resources may have disappared from the Internet, or that those languages were created by Caro de Segeda him/herself. If you can find resources for Audià/Audian and Monav, please let me know. : I'm notifying the primary contributors of the translations: @[[User:Caro de Segeda|Caro de Segeda]], @[[User:Frzzl|Frzzl]], @[[User:Greatscotteh|Greatscotteh]], @[[User:IHateNumbers234|IHateNumbers234]], @[[User:Jayeless2|Jayeless2]], @[[User:Morozof|Morozof]], @[[User:Omnihom|Omnihom]], @[[User:Omoutuazn|Omoutuazn]], @[[User:PovriNaivon|PovriNaivon]], @[[User:Sir Beluga|Sir Beluga]] and @[[User:Tyoyafud|Tyoyafud]]. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 09:52, 30 June 2025 (UTC) :: Caro de Segeda said on [https://www.reddit.com/r/conlangs/comments/1lcnz9g/comment/n0sc3wx/ Reddit] that Monav was created by him/her and that he/she didn't publish any resources about it other than [[Hai, Jon!]]. With '''zero''' other resources to rely on for contributing to the translation, and the fact that Monav is in [[User:Mithridates/SJ]], [[Hai, Jon!]] should be speedy deleted. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 01:38, 3 July 2025 (UTC) ::: I've undone the speedy deletion as Caro de Segeda posted a [https://prexins.wordpress.com/2025/07/04/monav/ resource] for Monav. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 07:18, 4 July 2025 (UTC) :::: You can delete all the ones that I have created myself, I have already moved them to other places. — [[User:Caro de Segeda|Caro de Segeda]] ([[User talk:Caro de Segeda|discuss]] • [[Special:Contributions/Caro de Segeda|contribs]]) 12:39, 5 July 2025 (UTC) {{outdent|::::}}I don't know if this is helpful since it wouldn't apply to most of these, but [[s:mul:]] could hold some of these. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|discuss]] • [[Special:Contributions/Arlo Barnes|contribs]]) 09:18, 30 November 2025 (UTC) : I don't think that would be within the scope of that project. I'm not aware of any other situation where Wikisource publishes translations of texts created on Wikimedia projects - that's usually left up to other language editions of the same project. — [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 05:34, 1 December 2025 (UTC) :: In this situation there isn't a separate [[s:ie:]] distinct from Multilingual Wikisource (see [[meta:Wikisource#List of Wikisources]]). In fact, there are very few multilingual wikis in the Wikimedia sphere; while this project ''could'' move to a Miraheze-hosted or similar wiki farm location, I think it would be a missed opportunity. I suppose an [[Interlingue]] book could be started in [[shelf:Constructed languages]] which would have all 100 chapters as an appendix (and likewise for the other languages), but that also seems non-ideal since it requires an English-language text that doesn't currently exist to be created. [[WB:AT]] seems to describe a similar situation to this one and prescribe Wikisource as the solution, and [[WB:SOURCE]] mentions fiction as out-of-scope for Wikibooks (even as in this case, language-educational fiction). [[s:mul:Wikisource:about Wikisource]] simply speaks of source texts and doesn't mention publication requirements, so maybe that is specific to some of the monolingual editions? — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|discuss]] • [[Special:Contributions/Arlo Barnes|contribs]]) 22:28, 5 December 2025 (UTC) :{{keep}} 100% keep. These books are a core part of language textbooks on Wikibooks and have been for years. Not sure why this is even being debated.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 17:55, 16 May 2026 (UTC) ::With all due respect, some of the books included in this nomination (like [[Sin Chao, Jonathan!]]) are written in constructed languages which are not substantially attested anywhere else. I struggle to imagine any educational purpose for such a book. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:12, 17 May 2026 (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) : Could this be salvaged as a shelf? [[User:Pppery|Pppery]] ([[User talk:Pppery|discuss]] • [[Special:Contributions/Pppery|contribs]]) 05:23, 27 January 2025 (UTC) ::Probably, but are the linked books even useful? IB exams change from year to year - sometimes quite dramatically - so an old exam guide is of very limited value. Many of these books were written 10-15 years ago, and some of them (like [[IB French]]) even have comments indicating that they're no longer applicable. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:18, 8 December 2025 (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) ::I concur. I'm just an undergrad who tries to learn about Sino-Tibetan historical linguistics in his free time but I've found this wikibook to be incredibly useful, and I keep it open in one tab while I watch Professor Nathan Hill's lectures that he uploads to youtube in another tab, and another tab for taking notes. In fact if I remember correctly Professor Hill actually pointed his students to this wikibook. ::I'm not familiar with [[wikiversity:Wikiversity:SHARE|Wikiversity]] but if all the content were as accessible there as it is here then I think that could work. [[User:ChromeBones|ChromeBones]] ([[User talk:ChromeBones|discuss]] • [[Special:Contributions/ChromeBones|contribs]]) 02:43, 9 July 2025 (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) == [[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) :I was going to say whether we should ask any fiwikibooks sysop to maybe see if this could be transwikied to fiwb if it's within the scope there. But [[:fi:Toiminnot:Käyttäjät/sysop]] indicates that there are only 3 sysops, and only {{u|Anr}} and {{u|Zache}} have made edits this ''year''. If they deem it to be salvageable, then transwiki + delete, otherwise straight-up delete. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 11:24, 14 November 2024 (UTC) ::It seems that the idea behind the book was for the pages to be bilingual, as it’s a language learning book. That’s why there are Finnish texts included intentionally even on the pages that are complete. There are similar books in dewikibooks and ruwikibooks as well. For the English version, I think the easiest way to proceed would be to clean up and adjust the page layout to fit enwikibooks better, and then translate the missing parts. By the way, if anyone wants to update the book’s name in English, it can be titled ''"Using the Finnish Language"'' or ''"Put Finnish Language into Use"'' for a direct translation. [[User:Zache|Zache]] ([[User talk:Zache|discuss]] • [[Special:Contributions/Zache|contribs]]) 11:57, 14 November 2024 (UTC) == [[AT&T Mobility FAQ]] == * [[AT&T Mobility FAQ]] * [[AT&T Mobility FAQ/MEdia Net Configuration]] * [[AT&T Mobility FAQ/Data Connect Configuration]] An ''extremely'' outdated FAQ on AT&T's cell phone services. Most of this document was written 20+ years ago as a Usenet FAQ; very little of it is accurate or useful anymore (particularly the two subpages, which have to do with obsolete configurations for "tethering" a computer to a cell phone). No objection if someone wants to update it, but there's clearly been no appetite to do that. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:20, 30 December 2024 (UTC) :I'm wondering if it might make sense for us to develop some kind of policy on archiving books here. There are many like this one that have a good deal of content but are extremely out of date and just not useful as originally intended. ——[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:34, 30 December 2024 (UTC) ::@[[User:Kittycataclysm|Kittycataclysm]]: See the newly developed [[Wikibooks:Outdated books]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 00:16, 31 December 2024 (UTC) :::Ooh, thanks - something like that seems like it could be an appropriate way to handle this book. A lot of the other outdated books I've tagged have been so incomplete that they wouldn't have been particularly useful even as historical references; this one might at least have some interest. :::Any chance we can get a separate namespace (maybe "Archive:") set up for archived book content? That'd make it possible to do things like exclude them from on-site search by default. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:07, 31 December 2024 (UTC) ::::I think this might be a more extended discussion, so I'll bump it over to the [[Wikibooks talk:Outdated books|talk page of the draft policy]]! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:54, 31 December 2024 (UTC) == Algebra/Chapter 10/Symmetric Polynomials == I personally believe that [[Algebra/Chapter 10/Symmetric Polynomials|this]], and all of the sections should be deleted for the fact that this goes WAY beyond the scope of what was intended for the Chapter (Algebra II level polynomials). [[User:GoreyCat|GoreyCat]] ([[User talk:GoreyCat|discuss]] • [[Special:Contributions/GoreyCat|contribs]]) 15:07, 6 February 2025 (UTC) :'''Split''': Deletion here is not the best solution (see [[w:WP:ATD]]). Instead, this page and its subpages should be moved to another book, most likely [[Abstract Algebra]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:35, 6 February 2025 (UTC) :{{keep}} since there is a good amount of content. If [[Abstract Algebra]] is appropriate, it seems like a fine idea to move there. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:59, 7 February 2025 (UTC) ::Eh, yeah, I supposed moving it is better. I just don't think it's suitable for where it appears. [[User:GoreyCat|GoreyCat]] ([[User talk:GoreyCat|discuss]] • [[Special:Contributions/GoreyCat|contribs]]) 01:40, 8 February 2025 (UTC) == [[Puredyne]] == Development of Puredyne Linux was discontinued in 2012, and the software no longer appears to be available for download anywhere. (An archive of the web site is still up - with a bunch of embedded spam links - but the download links are all dead.) Is this a suitable candidate for archival (cf. [[Wikibooks:Outdated books]]), or should it just be deleted? [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:35, 5 March 2025 (UTC) :I'd just archive stuff like this. Looks like a decent bit of work went into it, and you never know when someone might need to use Puredyne for some obscure project. I'd be willing to bet mirrors exist of it somewhere, or someone has it on a drive. If you want to find some stuff worth deleting, comb through [[:Category:Allbooks categories]]. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:30, 5 March 2025 (UTC) == [[Template:Qr-twwp]] == This isn't exactly a request to delete the template, but rather to merge it with {{tlx|Copypaste}}. The {{tlx|Qr-twwp}} template serves the same purpose as {{tlx|Copypaste}}, but without the seven-day period after which the page is deleted. This leads to confusion, as well as a perpetually full [[:Category:Queried pages]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:37, 30 March 2025 (UTC) == [[Ghouls of the Miskatonic]] == I don't think that a plot summary of a book is in-scope here. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:43, 20 August 2025 (UTC) :{{vd}} - at least, not a summary of ''this'' book. A summary and/or study guide to a notable work of literature might be in scope, but this is certainly not one. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:23, 25 August 2025 (UTC) ::Hi. I am the creator of the pages of this book. If I understand correctly, it has to be a summary of a notable work of literature? So what exactly is defined as such? I only started this as I thought it would be fun, interesting and encouraging to others who read the Arkham Horror novels, and I thought it was permitted as I've seen other summaries of books on wikibooks. [[User:Dayne90|Dayne90]] ([[User talk:Dayne90|discuss]] • [[Special:Contributions/Dayne90|contribs]]) 13:27, 26 August 2025 (UTC) :::Your problem is it is just the plot... it needs to include an educational textual analysis to be in scope [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:47, 28 August 2025 (UTC) ::::And ideally it'd be a text which has ''already'' been the subject of literary analysis, such that the analysis on Wikibooks isn't original research. A notable work of literature like ''Frankenstein'' or ''Moby-Dick'' would easily meet that requirement; a tie-in novel for a tabletop RPG probably does not. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:08, 29 August 2025 (UTC) == [[Objective Projection: Why the Brain Never Forgets Some Stories]] == Undisclosed AI-generated content. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:13, 9 May 2026 (UTC) :<nowiki>'''Keep'''</nowiki> — Comment from page author/subject expert. :I am Levent Bulut, the originator of the <nowiki>''</nowiki>Objective Projection<nowiki>''</nowiki> methodology described in this book (ORCID: 0009-0007-7500-2261, Wikidata: Q138048287). I want to address the AI-generated content concern directly and transparently. :<nowiki>'''</nowiki>On the content itself:<nowiki>'''</nowiki> The methodology, theoretical framework (the six-variable operator E(r) = projS(M, T, V, Δ, Ω, Ng), the Six Golden Rules, the Six-Layer Framework), and all original arguments are my own intellectual work, developed and published independently. This is documented through: :* 26 DOI-registered academic publications on Zenodo (search: "Levent Bulut Objective Projection") :* A peer-reviewed submission currently under review at <nowiki>''</nowiki>Digital Humanities Quarterly<nowiki>''</nowiki> :* Parallel Turkish-language Wikibook and Wikiversity pages on the same methodology :* An open-source SFT dataset on Hugging Face (leventbulut/objective-projection) :<nowiki>'''</nowiki>On AI assistance:<nowiki>'''</nowiki> I used AI tools (Claude) for English translation polish and copy-editing from my Turkish source materials — the same way a non-native English-speaking academic would use a human translator or editor. The <nowiki>''</nowiki>ideas, structure, terminology, citations, and arguments<nowiki>''</nowiki> are entirely my own and pre-date the Wikibooks version, traceable through Zenodo DOI timestamps starting in 2025. :<nowiki>'''</nowiki>Proposed remedy instead of deletion:<nowiki>'''</nowiki> I am happy to: :# Add a clear AI-assistance disclosure to the book's preface, per Wikibooks transparency norms :# Add inline citations to the underlying DOI-registered publications for every major claim :# Link to the parallel Turkish version and academic record :This would address the <nowiki>''</nowiki>undisclosed<nowiki>''</nowiki> part of the concern (which is the actionable policy issue) while preserving content that is original academic work by an identifiable author with a published track record. Deletion of original scholarship because translation assistance was used would set a concerning precedent for non-native English contributors. :<nowiki>I request a few days to add the disclosure and citations before any deletion action. ~~~~</nowiki> [[Special:Contributions/&#126;2026-28847-60|&#126;2026-28847-60]] ([[User talk:&#126;2026-28847-60|talk]]) 18:46, 13 May 2026 (UTC) ::Administrative assistance needed: Automated filters blocking structural improvements and disclosures ::'''Request for Help''' — I am Levent Bulut, the author of this book. I have already provided my AI disclosure and academic credentials (ORCID, DOI list) here in this discussion. ::I am trying to update the book to comply with Wikibooks standards by: ::Adding a formal '''AI assistance disclosure''' at the top of the page. ::Restructuring the content into an '''instructional textbook format''' (adding Learning Objectives). ::Converting plain text formulas into '''LaTeX''' ( format). ::Updating references to include full academic '''DOI''' records. ::However, the automated filter is blocking all my attempts: ::If I try to replace the content with the improved version, it triggers the '''"large amount of content removal"''' filter. ::If I try to add specific academic links, it triggers the '''"automated link/spam"''' filter. ::I am essentially trapped by the filters while trying to improve the book and follow transparency norms. Could an administrator please either whitelist my account or manually apply the improved version of the text? I am ready to provide the full MediaWiki code here if requested. My intent is purely constructive and academic. [[Special:Contributions/&#126;2026-28847-60|&#126;2026-28847-60]] ([[User talk:&#126;2026-28847-60|talk]]) 19:15, 13 May 2026 (UTC) ::: Hi, @[[User:~2026-28847-60|~2026-28847-60]]. Your account was incorrectly locked by a steward. It is now currently unlocked. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:44, 15 May 2026 (UTC) :::: Pinging @[[User:Projection Architect|Projection Architect]], who was previously LeventBulut. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:51, 4 July 2026 (UTC) ::Please review [[Wikibooks:Artificial intelligence]]. It states unequivocally that {{tq|LLMs may not be used to generate or summarize material and ideas at Wikibooks}}, and that {{tq|translations made by LLMs are not allowed on Wikibooks}}. The fact that you did not disclose your usage of AI is part of the problem, but disclosing it does not make it allowable either. ::More broadly, based on what you've said above, the content of this book is a reflection of your personal theories on writing. This is essentially [[Wikibooks:Original research]] and is not permitted. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:36, 13 May 2026 (UTC) == [[Suicide]] == I realize this book has been nominated for deletion before ([[Wikibooks:Requests for deletion/Suicide|1]], [[Wikibooks:Requests for deletion/Suicide (2)|2]], [[Wikibooks:Requests for deletion/Suicide/Suffocation|3]]), but it's been over ten years since the last nomination. The project's position on what material is in its educational scope has shifted, as have some of the facts on the ground. * The chartered purpose of Wikibooks is to produce "open-content textbooks" (cf. [[Wikibooks:What is Wikibooks?]]) which are suitable for use in an instructional environment. Providing educational information about suicide in the context of psychiatry could certainly be in scope, as psychiatry is an educational topic; however, instructional material on how to commit suicide is not an educational topic, and should not be considered in scope. * This book is, and has always been, primarily intended as an instructional work guiding users on how to commit suicide. It provides effectively no meaningful analytical content ''about'' suicide as a topic. Most of the original content in the book was imported from an early-2000s wiki associated with the <code>alt.suicide.holiday</code> Usenet group, the "ASH wiki", which was specifically and unequivocally dedicated to describing and recommending methods by which readers could commit suicide, and this has carried through to the current version of the book. * Most of the content in the book was removed in 2020 (by redirecting it to the book's main page, e.g. [[Special:Diff/3660495]]) over concerns that it was created by a WMF-banned user ([[User:Leucosticte]]), and because it was likely in violation of the ASH wiki's (unclear) copyright. These changes removed most of the content of the book; much of what remains is image gallery pages like [[Suicide/Blades]] which have no educational value. Suicide is a sensitive topic; if it is covered by a textbook, it should be covered tastefully and with an aim to educate. This book is largely the opposite of that. Having it here is doing more harm than good. If this book is deleted, the following related pages should be deleted as well: * [[Template:Suicide methods]] * [[Template:Infobox suicide method]] (currently unused) * [[User:Leucosticte/About ASH]] - from the ASH wiki, as mentioned above * [[User:Leucosticte/Frequently Asked Questions]] - also from the ASH wiki [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:41, 21 July 2026 (UTC) : {{keep|weak keep}} a)&nbsp;Age is no argument. There are many stale underdeveloped books I would rather delete than keeping around. b)&nbsp;The book’s topic is exceptionally difficult to write about. ''This'' impedes collaborative authoring. c)&nbsp;The book does not really explain ''how'' to commit suicide (like a step‐by‐step guide), neither is it the book’s learning objective. d)&nbsp;Even if ''you construed'' the chapter summarizing various suicide methods ''as instructions'', instructional material on how to commit suicide ''is'' an educational topic. In most ''present‐day societies'' it is not ''ethical'' to teach students how to commit suicide, though. e)&nbsp;Therefore the correct path is to first alter the [[WB:WIW#Wikibooks includes instructional texts|project scope]] to censor books on ethical grounds ''and then'' nominate the book for censorship. ‑‑[[User:Kai Burghardt|Kai Burghardt]] ([[User talk:Kai Burghardt|discuss]] • [[Special:Contributions/Kai Burghardt|contribs]]) 04:50, 28 July 2026 (UTC) ::Re. c: most of the explicit directions were edited out in 2020, as noted in my nomination, but are still visible in page history. For a couple of explicit examples, see e.g. [[Special:Permalink/3318613]] or [[Special:Permalink/3654645]]. Providing specific instructions was the original intent of this book, and it has never escaped that legacy. If someone were interested in writing a book ''about'' the phenomenon of suicide, they would be better off starting afresh. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 05:26, 28 July 2026 (UTC) *'''Delete all'''. ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 16:17, 28 July 2026 (UTC) * '''Delete all''' per the nomination above. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:17, 30 July 2026 (UTC) * '''Keep''' with caution. Rename to "suicide prevention"?--[[User:TunnelESON|TunnelESON]] ([[User talk:TunnelESON|discuss]] • [[Special:Contributions/TunnelESON|contribs]]) 04:03, 2 September 2026 (UTC) *:Re. the rename: absolutely not. There is no content in the book about suicide prevention. If you are interested in writing a book on that topic, please start a new one. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:48, 5 September 2026 (UTC) :{{keep}} - :1. "instructional material on how to commit suicide is not an educational topic" - I think it can be construed as one depending on the person (and does not have to imply that the person is at risk) :2. Not a reason. :3. Not a reason. It is up to the community to decide whether to accept a banned user's work. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 13:37, 6 September 2026 (UTC) == [[Chess Opening Theory/1. g4/1...Na6]] == Nonsense position, one of the worst opening moves for White countered by a move hurting development for Black. [https://www.365chess.com/search_position.php Searching] on 365chess.com finds zero games with this position. See also a similar [[Wikibooks:Requests for deletion/Chess Opening Theory/1. e4/1...e5/2. Na3]]. [[User:1234qwer1234qwer4|𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰]] ([[User talk:1234qwer1234qwer4|𝗍𝗮𝘭𝙠]]) 02:20, 13 September 2026 (UTC) :{{vd}} With some reservations, in that just being a bad move doesn't make it ''not'' a strategy. That said, the lack of actual game presence means it's unnecessary to keep around. [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 16:16, 14 September 2026 (UTC) == [[MediaWiki:Abusefilter-edit-denied]] == This was created about a decade and a half ago to change the language shown when someone cannot see a private filter. The stated reason was grammar. I would dispute that the language in the default message is not grammatically correct. The current MediaWiki default for this message is {{tq|You may not view the details of this filter because it is hidden from public view.}} The difference is a "the" before "details". I would posit that this is more grammatically correct than a lack of "the" and that the page should be deleted (which would restore the default message). [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 16:23, 14 September 2026 (UTC) rke59rtvp0ae3n0o3wqonxa2wzu1zm3 4670070 4670069 2026-09-14T16:26:34Z Koavf 16549 /* MediaWiki:Abusefilter-edit-denied */ Reply 4670070 wikitext text/x-wiki __NEWSECTIONLINK__ [[Category:Wikibooks deletion|{{PAGENAME}}]] {{Discussion Rooms}} {{TOCleft}} {{shortcut|WB:RFD}} {{Requests for deletion/New deletion}} {{Requests for deletion/Deletion intro}} <!-- New deletion nominations go at the bottom of page. --> == [[Salute, Jonathan!]] and its translations == <div style="column-count: 7;"> * [[Salute, Jonathan!|Interlingue/Occidental]] ([[w:en:Occidental|w]], original) * [[Òla, Ionatà!|Audià]] * [[Holo, Jonathan!|Cristianés]] * [[Terve, Jonathan!|Ekumenski]] * [[Hej, Jonathan! (Germanisch)|Germanisch]] * [[Salom, Jonatan!|Globasa]] * [[Àlŏ, Jonathan!|Guosa]] ([[w:en:Guosa|w]]) * [[Salut, Jonathan!|Idiom Neutral]] ([[w:en:Idiom Neutral|w]]) * [[Saluto, Jonathan! (Ido)|Ido]] ([[w:en:Ido|w]]) * [[Hallo, Jonathan!|Interlingua]] ([[w:en:Interlingua|w]]) * [[Salut, Jonathan! (Interocidental)|Interocidental]] * [[Bune Ğonatan!|Lingaust]] * [[Oila, Jonatan!|Lingue Simple]] * [[Haloo, Jonatan!|Lingwa de Planeta]] ([[w:en:Lingwa de Planeta|w]]) * [[Sin Chao, Jonathan!|Masa Tang]] * [[Salut, ionatano!|Meteza]] * [[Salu, Jon!|Mini]] * [[Hay, Jonathan!|Mirad]] * [[Hai, Jon!|Monav]] * [[Sesan Jon!|Monkel]] * [[Salam, Jonathan!|Mundeze]] * [[Dag, Jonathan!|Negerhollands]] ([[w:en:Negerhollands|w]]) * [[Salut Jonathan!|Neo]] ([[w:en:Neo|w]]) * [[Hej, Jonathan!|Nordien]] * [[Saluto, Jonathan!|Novial]] ([[w:en:Novial|w]]) * [[Salute, Jonathan! (Novlingue)|Novlingue]] * [[Alo, Jonathan!|Numo]] * [[Hela, Jonathan!|Proyo]] * [[Salute, Jonathan! (Romanica)|Romanica]] ([[w:en:Romanica|w]]) * [[Simi, Jonathan!|Solresol]] ([[w:en:Solresol|w]]) * [[Toki a, jan Jonatan!|Toki Pona]] ([[w:en:Toki Pona|w]]) * [[Glidis, o Jonathan!|Volapük]] ([[w:en:Volapük|w]]) </div> 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: :::# 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. :::# The Interlingua one can move to the Interlingua Wikibooks (maybe Romanica too if they want as it is sort of a dialect of Interlingua). :::# 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). :::# 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}} the translations for languages that have an article on the English Wikipedia, i.e. Guosa, Idiom Neutral, Ido, Interlingua, Lingwa de Planeta, Negerhollands, Neo, Novial, Occidental, Romanica, Solresol, Toki Pona, and Volapük. : Translations for languages that don't have an article can be kept if they have reliable sources, which I was able to find for the following languages (if you think they are not reliable, please let me know): :* Globasa: [https://www.languagesandnumbers.com/how-to-count-in-globasa/en/globasa/] [https://greyson.conlang.org/2020/01/29/shouting-out-globasa-and-pandunia/] :* Mini: [https://jprogr.github.io/mini] [https://www.omniglot.com/language/phrases/mini.htm] [https://www.languagesandnumbers.com/how-to-count-in-mini/en/mini/] : {{del}} and move to [[User:Mithridates/SJ]] the rest of the translations, i.e. Audià/Audian, Cristianés, Ekumenski, Germanisch, Interocidental, Lingaust, Lingue Simple, Masa Tang, Mirad, Monav, Monkel, Mundeze, Nordien, Novlingue, Numo, Proyo, and Scuian/Meteza. If you can find reliable sources for those languages, please let me know. : In particular, I could not find resources for Audià/Audian and Monav after searching through 15 and 17 pages on Google, respectively. It doesn't help that [[Òla, Ionatà!|their]] [[Hai, Jon!|translations]] don't explain what those languages are and where to find resources for them. This makes contributing to those translations almost impossible until @[[User:Caro de Segeda|Caro de Segeda]] can provide resources to us. It's possible that the resources may have disappared from the Internet, or that those languages were created by Caro de Segeda him/herself. If you can find resources for Audià/Audian and Monav, please let me know. : I'm notifying the primary contributors of the translations: @[[User:Caro de Segeda|Caro de Segeda]], @[[User:Frzzl|Frzzl]], @[[User:Greatscotteh|Greatscotteh]], @[[User:IHateNumbers234|IHateNumbers234]], @[[User:Jayeless2|Jayeless2]], @[[User:Morozof|Morozof]], @[[User:Omnihom|Omnihom]], @[[User:Omoutuazn|Omoutuazn]], @[[User:PovriNaivon|PovriNaivon]], @[[User:Sir Beluga|Sir Beluga]] and @[[User:Tyoyafud|Tyoyafud]]. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 09:52, 30 June 2025 (UTC) :: Caro de Segeda said on [https://www.reddit.com/r/conlangs/comments/1lcnz9g/comment/n0sc3wx/ Reddit] that Monav was created by him/her and that he/she didn't publish any resources about it other than [[Hai, Jon!]]. With '''zero''' other resources to rely on for contributing to the translation, and the fact that Monav is in [[User:Mithridates/SJ]], [[Hai, Jon!]] should be speedy deleted. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 01:38, 3 July 2025 (UTC) ::: I've undone the speedy deletion as Caro de Segeda posted a [https://prexins.wordpress.com/2025/07/04/monav/ resource] for Monav. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 07:18, 4 July 2025 (UTC) :::: You can delete all the ones that I have created myself, I have already moved them to other places. — [[User:Caro de Segeda|Caro de Segeda]] ([[User talk:Caro de Segeda|discuss]] • [[Special:Contributions/Caro de Segeda|contribs]]) 12:39, 5 July 2025 (UTC) {{outdent|::::}}I don't know if this is helpful since it wouldn't apply to most of these, but [[s:mul:]] could hold some of these. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|discuss]] • [[Special:Contributions/Arlo Barnes|contribs]]) 09:18, 30 November 2025 (UTC) : I don't think that would be within the scope of that project. I'm not aware of any other situation where Wikisource publishes translations of texts created on Wikimedia projects - that's usually left up to other language editions of the same project. — [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 05:34, 1 December 2025 (UTC) :: In this situation there isn't a separate [[s:ie:]] distinct from Multilingual Wikisource (see [[meta:Wikisource#List of Wikisources]]). In fact, there are very few multilingual wikis in the Wikimedia sphere; while this project ''could'' move to a Miraheze-hosted or similar wiki farm location, I think it would be a missed opportunity. I suppose an [[Interlingue]] book could be started in [[shelf:Constructed languages]] which would have all 100 chapters as an appendix (and likewise for the other languages), but that also seems non-ideal since it requires an English-language text that doesn't currently exist to be created. [[WB:AT]] seems to describe a similar situation to this one and prescribe Wikisource as the solution, and [[WB:SOURCE]] mentions fiction as out-of-scope for Wikibooks (even as in this case, language-educational fiction). [[s:mul:Wikisource:about Wikisource]] simply speaks of source texts and doesn't mention publication requirements, so maybe that is specific to some of the monolingual editions? — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|discuss]] • [[Special:Contributions/Arlo Barnes|contribs]]) 22:28, 5 December 2025 (UTC) :{{keep}} 100% keep. These books are a core part of language textbooks on Wikibooks and have been for years. Not sure why this is even being debated.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 17:55, 16 May 2026 (UTC) ::With all due respect, some of the books included in this nomination (like [[Sin Chao, Jonathan!]]) are written in constructed languages which are not substantially attested anywhere else. I struggle to imagine any educational purpose for such a book. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:12, 17 May 2026 (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) : Could this be salvaged as a shelf? [[User:Pppery|Pppery]] ([[User talk:Pppery|discuss]] • [[Special:Contributions/Pppery|contribs]]) 05:23, 27 January 2025 (UTC) ::Probably, but are the linked books even useful? IB exams change from year to year - sometimes quite dramatically - so an old exam guide is of very limited value. Many of these books were written 10-15 years ago, and some of them (like [[IB French]]) even have comments indicating that they're no longer applicable. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:18, 8 December 2025 (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) ::I concur. I'm just an undergrad who tries to learn about Sino-Tibetan historical linguistics in his free time but I've found this wikibook to be incredibly useful, and I keep it open in one tab while I watch Professor Nathan Hill's lectures that he uploads to youtube in another tab, and another tab for taking notes. In fact if I remember correctly Professor Hill actually pointed his students to this wikibook. ::I'm not familiar with [[wikiversity:Wikiversity:SHARE|Wikiversity]] but if all the content were as accessible there as it is here then I think that could work. [[User:ChromeBones|ChromeBones]] ([[User talk:ChromeBones|discuss]] • [[Special:Contributions/ChromeBones|contribs]]) 02:43, 9 July 2025 (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) == [[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) :I was going to say whether we should ask any fiwikibooks sysop to maybe see if this could be transwikied to fiwb if it's within the scope there. But [[:fi:Toiminnot:Käyttäjät/sysop]] indicates that there are only 3 sysops, and only {{u|Anr}} and {{u|Zache}} have made edits this ''year''. If they deem it to be salvageable, then transwiki + delete, otherwise straight-up delete. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 11:24, 14 November 2024 (UTC) ::It seems that the idea behind the book was for the pages to be bilingual, as it’s a language learning book. That’s why there are Finnish texts included intentionally even on the pages that are complete. There are similar books in dewikibooks and ruwikibooks as well. For the English version, I think the easiest way to proceed would be to clean up and adjust the page layout to fit enwikibooks better, and then translate the missing parts. By the way, if anyone wants to update the book’s name in English, it can be titled ''"Using the Finnish Language"'' or ''"Put Finnish Language into Use"'' for a direct translation. [[User:Zache|Zache]] ([[User talk:Zache|discuss]] • [[Special:Contributions/Zache|contribs]]) 11:57, 14 November 2024 (UTC) == [[AT&T Mobility FAQ]] == * [[AT&T Mobility FAQ]] * [[AT&T Mobility FAQ/MEdia Net Configuration]] * [[AT&T Mobility FAQ/Data Connect Configuration]] An ''extremely'' outdated FAQ on AT&T's cell phone services. Most of this document was written 20+ years ago as a Usenet FAQ; very little of it is accurate or useful anymore (particularly the two subpages, which have to do with obsolete configurations for "tethering" a computer to a cell phone). No objection if someone wants to update it, but there's clearly been no appetite to do that. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:20, 30 December 2024 (UTC) :I'm wondering if it might make sense for us to develop some kind of policy on archiving books here. There are many like this one that have a good deal of content but are extremely out of date and just not useful as originally intended. ——[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:34, 30 December 2024 (UTC) ::@[[User:Kittycataclysm|Kittycataclysm]]: See the newly developed [[Wikibooks:Outdated books]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 00:16, 31 December 2024 (UTC) :::Ooh, thanks - something like that seems like it could be an appropriate way to handle this book. A lot of the other outdated books I've tagged have been so incomplete that they wouldn't have been particularly useful even as historical references; this one might at least have some interest. :::Any chance we can get a separate namespace (maybe "Archive:") set up for archived book content? That'd make it possible to do things like exclude them from on-site search by default. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:07, 31 December 2024 (UTC) ::::I think this might be a more extended discussion, so I'll bump it over to the [[Wikibooks talk:Outdated books|talk page of the draft policy]]! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:54, 31 December 2024 (UTC) == Algebra/Chapter 10/Symmetric Polynomials == I personally believe that [[Algebra/Chapter 10/Symmetric Polynomials|this]], and all of the sections should be deleted for the fact that this goes WAY beyond the scope of what was intended for the Chapter (Algebra II level polynomials). [[User:GoreyCat|GoreyCat]] ([[User talk:GoreyCat|discuss]] • [[Special:Contributions/GoreyCat|contribs]]) 15:07, 6 February 2025 (UTC) :'''Split''': Deletion here is not the best solution (see [[w:WP:ATD]]). Instead, this page and its subpages should be moved to another book, most likely [[Abstract Algebra]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:35, 6 February 2025 (UTC) :{{keep}} since there is a good amount of content. If [[Abstract Algebra]] is appropriate, it seems like a fine idea to move there. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:59, 7 February 2025 (UTC) ::Eh, yeah, I supposed moving it is better. I just don't think it's suitable for where it appears. [[User:GoreyCat|GoreyCat]] ([[User talk:GoreyCat|discuss]] • [[Special:Contributions/GoreyCat|contribs]]) 01:40, 8 February 2025 (UTC) == [[Puredyne]] == Development of Puredyne Linux was discontinued in 2012, and the software no longer appears to be available for download anywhere. (An archive of the web site is still up - with a bunch of embedded spam links - but the download links are all dead.) Is this a suitable candidate for archival (cf. [[Wikibooks:Outdated books]]), or should it just be deleted? [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:35, 5 March 2025 (UTC) :I'd just archive stuff like this. Looks like a decent bit of work went into it, and you never know when someone might need to use Puredyne for some obscure project. I'd be willing to bet mirrors exist of it somewhere, or someone has it on a drive. If you want to find some stuff worth deleting, comb through [[:Category:Allbooks categories]]. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:30, 5 March 2025 (UTC) == [[Template:Qr-twwp]] == This isn't exactly a request to delete the template, but rather to merge it with {{tlx|Copypaste}}. The {{tlx|Qr-twwp}} template serves the same purpose as {{tlx|Copypaste}}, but without the seven-day period after which the page is deleted. This leads to confusion, as well as a perpetually full [[:Category:Queried pages]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:37, 30 March 2025 (UTC) == [[Ghouls of the Miskatonic]] == I don't think that a plot summary of a book is in-scope here. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:43, 20 August 2025 (UTC) :{{vd}} - at least, not a summary of ''this'' book. A summary and/or study guide to a notable work of literature might be in scope, but this is certainly not one. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:23, 25 August 2025 (UTC) ::Hi. I am the creator of the pages of this book. If I understand correctly, it has to be a summary of a notable work of literature? So what exactly is defined as such? I only started this as I thought it would be fun, interesting and encouraging to others who read the Arkham Horror novels, and I thought it was permitted as I've seen other summaries of books on wikibooks. [[User:Dayne90|Dayne90]] ([[User talk:Dayne90|discuss]] • [[Special:Contributions/Dayne90|contribs]]) 13:27, 26 August 2025 (UTC) :::Your problem is it is just the plot... it needs to include an educational textual analysis to be in scope [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:47, 28 August 2025 (UTC) ::::And ideally it'd be a text which has ''already'' been the subject of literary analysis, such that the analysis on Wikibooks isn't original research. A notable work of literature like ''Frankenstein'' or ''Moby-Dick'' would easily meet that requirement; a tie-in novel for a tabletop RPG probably does not. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:08, 29 August 2025 (UTC) == [[Objective Projection: Why the Brain Never Forgets Some Stories]] == Undisclosed AI-generated content. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:13, 9 May 2026 (UTC) :<nowiki>'''Keep'''</nowiki> — Comment from page author/subject expert. :I am Levent Bulut, the originator of the <nowiki>''</nowiki>Objective Projection<nowiki>''</nowiki> methodology described in this book (ORCID: 0009-0007-7500-2261, Wikidata: Q138048287). I want to address the AI-generated content concern directly and transparently. :<nowiki>'''</nowiki>On the content itself:<nowiki>'''</nowiki> The methodology, theoretical framework (the six-variable operator E(r) = projS(M, T, V, Δ, Ω, Ng), the Six Golden Rules, the Six-Layer Framework), and all original arguments are my own intellectual work, developed and published independently. This is documented through: :* 26 DOI-registered academic publications on Zenodo (search: "Levent Bulut Objective Projection") :* A peer-reviewed submission currently under review at <nowiki>''</nowiki>Digital Humanities Quarterly<nowiki>''</nowiki> :* Parallel Turkish-language Wikibook and Wikiversity pages on the same methodology :* An open-source SFT dataset on Hugging Face (leventbulut/objective-projection) :<nowiki>'''</nowiki>On AI assistance:<nowiki>'''</nowiki> I used AI tools (Claude) for English translation polish and copy-editing from my Turkish source materials — the same way a non-native English-speaking academic would use a human translator or editor. The <nowiki>''</nowiki>ideas, structure, terminology, citations, and arguments<nowiki>''</nowiki> are entirely my own and pre-date the Wikibooks version, traceable through Zenodo DOI timestamps starting in 2025. :<nowiki>'''</nowiki>Proposed remedy instead of deletion:<nowiki>'''</nowiki> I am happy to: :# Add a clear AI-assistance disclosure to the book's preface, per Wikibooks transparency norms :# Add inline citations to the underlying DOI-registered publications for every major claim :# Link to the parallel Turkish version and academic record :This would address the <nowiki>''</nowiki>undisclosed<nowiki>''</nowiki> part of the concern (which is the actionable policy issue) while preserving content that is original academic work by an identifiable author with a published track record. Deletion of original scholarship because translation assistance was used would set a concerning precedent for non-native English contributors. :<nowiki>I request a few days to add the disclosure and citations before any deletion action. ~~~~</nowiki> [[Special:Contributions/&#126;2026-28847-60|&#126;2026-28847-60]] ([[User talk:&#126;2026-28847-60|talk]]) 18:46, 13 May 2026 (UTC) ::Administrative assistance needed: Automated filters blocking structural improvements and disclosures ::'''Request for Help''' — I am Levent Bulut, the author of this book. I have already provided my AI disclosure and academic credentials (ORCID, DOI list) here in this discussion. ::I am trying to update the book to comply with Wikibooks standards by: ::Adding a formal '''AI assistance disclosure''' at the top of the page. ::Restructuring the content into an '''instructional textbook format''' (adding Learning Objectives). ::Converting plain text formulas into '''LaTeX''' ( format). ::Updating references to include full academic '''DOI''' records. ::However, the automated filter is blocking all my attempts: ::If I try to replace the content with the improved version, it triggers the '''"large amount of content removal"''' filter. ::If I try to add specific academic links, it triggers the '''"automated link/spam"''' filter. ::I am essentially trapped by the filters while trying to improve the book and follow transparency norms. Could an administrator please either whitelist my account or manually apply the improved version of the text? I am ready to provide the full MediaWiki code here if requested. My intent is purely constructive and academic. [[Special:Contributions/&#126;2026-28847-60|&#126;2026-28847-60]] ([[User talk:&#126;2026-28847-60|talk]]) 19:15, 13 May 2026 (UTC) ::: Hi, @[[User:~2026-28847-60|~2026-28847-60]]. Your account was incorrectly locked by a steward. It is now currently unlocked. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:44, 15 May 2026 (UTC) :::: Pinging @[[User:Projection Architect|Projection Architect]], who was previously LeventBulut. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:51, 4 July 2026 (UTC) ::Please review [[Wikibooks:Artificial intelligence]]. It states unequivocally that {{tq|LLMs may not be used to generate or summarize material and ideas at Wikibooks}}, and that {{tq|translations made by LLMs are not allowed on Wikibooks}}. The fact that you did not disclose your usage of AI is part of the problem, but disclosing it does not make it allowable either. ::More broadly, based on what you've said above, the content of this book is a reflection of your personal theories on writing. This is essentially [[Wikibooks:Original research]] and is not permitted. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:36, 13 May 2026 (UTC) == [[Suicide]] == I realize this book has been nominated for deletion before ([[Wikibooks:Requests for deletion/Suicide|1]], [[Wikibooks:Requests for deletion/Suicide (2)|2]], [[Wikibooks:Requests for deletion/Suicide/Suffocation|3]]), but it's been over ten years since the last nomination. The project's position on what material is in its educational scope has shifted, as have some of the facts on the ground. * The chartered purpose of Wikibooks is to produce "open-content textbooks" (cf. [[Wikibooks:What is Wikibooks?]]) which are suitable for use in an instructional environment. Providing educational information about suicide in the context of psychiatry could certainly be in scope, as psychiatry is an educational topic; however, instructional material on how to commit suicide is not an educational topic, and should not be considered in scope. * This book is, and has always been, primarily intended as an instructional work guiding users on how to commit suicide. It provides effectively no meaningful analytical content ''about'' suicide as a topic. Most of the original content in the book was imported from an early-2000s wiki associated with the <code>alt.suicide.holiday</code> Usenet group, the "ASH wiki", which was specifically and unequivocally dedicated to describing and recommending methods by which readers could commit suicide, and this has carried through to the current version of the book. * Most of the content in the book was removed in 2020 (by redirecting it to the book's main page, e.g. [[Special:Diff/3660495]]) over concerns that it was created by a WMF-banned user ([[User:Leucosticte]]), and because it was likely in violation of the ASH wiki's (unclear) copyright. These changes removed most of the content of the book; much of what remains is image gallery pages like [[Suicide/Blades]] which have no educational value. Suicide is a sensitive topic; if it is covered by a textbook, it should be covered tastefully and with an aim to educate. This book is largely the opposite of that. Having it here is doing more harm than good. If this book is deleted, the following related pages should be deleted as well: * [[Template:Suicide methods]] * [[Template:Infobox suicide method]] (currently unused) * [[User:Leucosticte/About ASH]] - from the ASH wiki, as mentioned above * [[User:Leucosticte/Frequently Asked Questions]] - also from the ASH wiki [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:41, 21 July 2026 (UTC) : {{keep|weak keep}} a)&nbsp;Age is no argument. There are many stale underdeveloped books I would rather delete than keeping around. b)&nbsp;The book’s topic is exceptionally difficult to write about. ''This'' impedes collaborative authoring. c)&nbsp;The book does not really explain ''how'' to commit suicide (like a step‐by‐step guide), neither is it the book’s learning objective. d)&nbsp;Even if ''you construed'' the chapter summarizing various suicide methods ''as instructions'', instructional material on how to commit suicide ''is'' an educational topic. In most ''present‐day societies'' it is not ''ethical'' to teach students how to commit suicide, though. e)&nbsp;Therefore the correct path is to first alter the [[WB:WIW#Wikibooks includes instructional texts|project scope]] to censor books on ethical grounds ''and then'' nominate the book for censorship. ‑‑[[User:Kai Burghardt|Kai Burghardt]] ([[User talk:Kai Burghardt|discuss]] • [[Special:Contributions/Kai Burghardt|contribs]]) 04:50, 28 July 2026 (UTC) ::Re. c: most of the explicit directions were edited out in 2020, as noted in my nomination, but are still visible in page history. For a couple of explicit examples, see e.g. [[Special:Permalink/3318613]] or [[Special:Permalink/3654645]]. Providing specific instructions was the original intent of this book, and it has never escaped that legacy. If someone were interested in writing a book ''about'' the phenomenon of suicide, they would be better off starting afresh. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 05:26, 28 July 2026 (UTC) *'''Delete all'''. ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 16:17, 28 July 2026 (UTC) * '''Delete all''' per the nomination above. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:17, 30 July 2026 (UTC) * '''Keep''' with caution. Rename to "suicide prevention"?--[[User:TunnelESON|TunnelESON]] ([[User talk:TunnelESON|discuss]] • [[Special:Contributions/TunnelESON|contribs]]) 04:03, 2 September 2026 (UTC) *:Re. the rename: absolutely not. There is no content in the book about suicide prevention. If you are interested in writing a book on that topic, please start a new one. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:48, 5 September 2026 (UTC) :{{keep}} - :1. "instructional material on how to commit suicide is not an educational topic" - I think it can be construed as one depending on the person (and does not have to imply that the person is at risk) :2. Not a reason. :3. Not a reason. It is up to the community to decide whether to accept a banned user's work. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 13:37, 6 September 2026 (UTC) == [[Chess Opening Theory/1. g4/1...Na6]] == Nonsense position, one of the worst opening moves for White countered by a move hurting development for Black. [https://www.365chess.com/search_position.php Searching] on 365chess.com finds zero games with this position. See also a similar [[Wikibooks:Requests for deletion/Chess Opening Theory/1. e4/1...e5/2. Na3]]. [[User:1234qwer1234qwer4|𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰]] ([[User talk:1234qwer1234qwer4|𝗍𝗮𝘭𝙠]]) 02:20, 13 September 2026 (UTC) :{{vd}} With some reservations, in that just being a bad move doesn't make it ''not'' a strategy. That said, the lack of actual game presence means it's unnecessary to keep around. [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 16:16, 14 September 2026 (UTC) == [[MediaWiki:Abusefilter-edit-denied]] == This was created about a decade and a half ago to change the language shown when someone cannot see a private filter. The stated reason was grammar. I would dispute that the language in the default message is not grammatically correct. The current MediaWiki default for this message is {{tq|You may not view the details of this filter because it is hidden from public view.}} The difference is a "the" before "details". I would posit that this is more grammatically correct than a lack of "the" and that the page should be deleted (which would restore the default message). [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 16:23, 14 September 2026 (UTC) :{{done}}. Happy to undelete if anyone disagrees. If so, please ping me. ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 16:26, 14 September 2026 (UTC) j5d63wipgj4j17imkmqq9ld6d676pcs 4670100 4670070 2026-09-14T20:36:01Z Codename Noreste 3441010 /* MediaWiki:Abusefilter-edit-denied */ Closed. ([[:m:User:Max/MaxEdit.js|MaxEdit]]) 4670100 wikitext text/x-wiki __NEWSECTIONLINK__ [[Category:Wikibooks deletion|{{PAGENAME}}]] {{Discussion Rooms}} {{TOCleft}} {{shortcut|WB:RFD}} {{Requests for deletion/New deletion}} {{Requests for deletion/Deletion intro}} <!-- New deletion nominations go at the bottom of page. --> == [[Salute, Jonathan!]] and its translations == <div style="column-count: 7;"> * [[Salute, Jonathan!|Interlingue/Occidental]] ([[w:en:Occidental|w]], original) * [[Òla, Ionatà!|Audià]] * [[Holo, Jonathan!|Cristianés]] * [[Terve, Jonathan!|Ekumenski]] * [[Hej, Jonathan! (Germanisch)|Germanisch]] * [[Salom, Jonatan!|Globasa]] * [[Àlŏ, Jonathan!|Guosa]] ([[w:en:Guosa|w]]) * [[Salut, Jonathan!|Idiom Neutral]] ([[w:en:Idiom Neutral|w]]) * [[Saluto, Jonathan! (Ido)|Ido]] ([[w:en:Ido|w]]) * [[Hallo, Jonathan!|Interlingua]] ([[w:en:Interlingua|w]]) * [[Salut, Jonathan! (Interocidental)|Interocidental]] * [[Bune Ğonatan!|Lingaust]] * [[Oila, Jonatan!|Lingue Simple]] * [[Haloo, Jonatan!|Lingwa de Planeta]] ([[w:en:Lingwa de Planeta|w]]) * [[Sin Chao, Jonathan!|Masa Tang]] * [[Salut, ionatano!|Meteza]] * [[Salu, Jon!|Mini]] * [[Hay, Jonathan!|Mirad]] * [[Hai, Jon!|Monav]] * [[Sesan Jon!|Monkel]] * [[Salam, Jonathan!|Mundeze]] * [[Dag, Jonathan!|Negerhollands]] ([[w:en:Negerhollands|w]]) * [[Salut Jonathan!|Neo]] ([[w:en:Neo|w]]) * [[Hej, Jonathan!|Nordien]] * [[Saluto, Jonathan!|Novial]] ([[w:en:Novial|w]]) * [[Salute, Jonathan! (Novlingue)|Novlingue]] * [[Alo, Jonathan!|Numo]] * [[Hela, Jonathan!|Proyo]] * [[Salute, Jonathan! (Romanica)|Romanica]] ([[w:en:Romanica|w]]) * [[Simi, Jonathan!|Solresol]] ([[w:en:Solresol|w]]) * [[Toki a, jan Jonatan!|Toki Pona]] ([[w:en:Toki Pona|w]]) * [[Glidis, o Jonathan!|Volapük]] ([[w:en:Volapük|w]]) </div> 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: :::# 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. :::# The Interlingua one can move to the Interlingua Wikibooks (maybe Romanica too if they want as it is sort of a dialect of Interlingua). :::# 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). :::# 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}} the translations for languages that have an article on the English Wikipedia, i.e. Guosa, Idiom Neutral, Ido, Interlingua, Lingwa de Planeta, Negerhollands, Neo, Novial, Occidental, Romanica, Solresol, Toki Pona, and Volapük. : Translations for languages that don't have an article can be kept if they have reliable sources, which I was able to find for the following languages (if you think they are not reliable, please let me know): :* Globasa: [https://www.languagesandnumbers.com/how-to-count-in-globasa/en/globasa/] [https://greyson.conlang.org/2020/01/29/shouting-out-globasa-and-pandunia/] :* Mini: [https://jprogr.github.io/mini] [https://www.omniglot.com/language/phrases/mini.htm] [https://www.languagesandnumbers.com/how-to-count-in-mini/en/mini/] : {{del}} and move to [[User:Mithridates/SJ]] the rest of the translations, i.e. Audià/Audian, Cristianés, Ekumenski, Germanisch, Interocidental, Lingaust, Lingue Simple, Masa Tang, Mirad, Monav, Monkel, Mundeze, Nordien, Novlingue, Numo, Proyo, and Scuian/Meteza. If you can find reliable sources for those languages, please let me know. : In particular, I could not find resources for Audià/Audian and Monav after searching through 15 and 17 pages on Google, respectively. It doesn't help that [[Òla, Ionatà!|their]] [[Hai, Jon!|translations]] don't explain what those languages are and where to find resources for them. This makes contributing to those translations almost impossible until @[[User:Caro de Segeda|Caro de Segeda]] can provide resources to us. It's possible that the resources may have disappared from the Internet, or that those languages were created by Caro de Segeda him/herself. If you can find resources for Audià/Audian and Monav, please let me know. : I'm notifying the primary contributors of the translations: @[[User:Caro de Segeda|Caro de Segeda]], @[[User:Frzzl|Frzzl]], @[[User:Greatscotteh|Greatscotteh]], @[[User:IHateNumbers234|IHateNumbers234]], @[[User:Jayeless2|Jayeless2]], @[[User:Morozof|Morozof]], @[[User:Omnihom|Omnihom]], @[[User:Omoutuazn|Omoutuazn]], @[[User:PovriNaivon|PovriNaivon]], @[[User:Sir Beluga|Sir Beluga]] and @[[User:Tyoyafud|Tyoyafud]]. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 09:52, 30 June 2025 (UTC) :: Caro de Segeda said on [https://www.reddit.com/r/conlangs/comments/1lcnz9g/comment/n0sc3wx/ Reddit] that Monav was created by him/her and that he/she didn't publish any resources about it other than [[Hai, Jon!]]. With '''zero''' other resources to rely on for contributing to the translation, and the fact that Monav is in [[User:Mithridates/SJ]], [[Hai, Jon!]] should be speedy deleted. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 01:38, 3 July 2025 (UTC) ::: I've undone the speedy deletion as Caro de Segeda posted a [https://prexins.wordpress.com/2025/07/04/monav/ resource] for Monav. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 07:18, 4 July 2025 (UTC) :::: You can delete all the ones that I have created myself, I have already moved them to other places. — [[User:Caro de Segeda|Caro de Segeda]] ([[User talk:Caro de Segeda|discuss]] • [[Special:Contributions/Caro de Segeda|contribs]]) 12:39, 5 July 2025 (UTC) {{outdent|::::}}I don't know if this is helpful since it wouldn't apply to most of these, but [[s:mul:]] could hold some of these. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|discuss]] • [[Special:Contributions/Arlo Barnes|contribs]]) 09:18, 30 November 2025 (UTC) : I don't think that would be within the scope of that project. I'm not aware of any other situation where Wikisource publishes translations of texts created on Wikimedia projects - that's usually left up to other language editions of the same project. — [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 05:34, 1 December 2025 (UTC) :: In this situation there isn't a separate [[s:ie:]] distinct from Multilingual Wikisource (see [[meta:Wikisource#List of Wikisources]]). In fact, there are very few multilingual wikis in the Wikimedia sphere; while this project ''could'' move to a Miraheze-hosted or similar wiki farm location, I think it would be a missed opportunity. I suppose an [[Interlingue]] book could be started in [[shelf:Constructed languages]] which would have all 100 chapters as an appendix (and likewise for the other languages), but that also seems non-ideal since it requires an English-language text that doesn't currently exist to be created. [[WB:AT]] seems to describe a similar situation to this one and prescribe Wikisource as the solution, and [[WB:SOURCE]] mentions fiction as out-of-scope for Wikibooks (even as in this case, language-educational fiction). [[s:mul:Wikisource:about Wikisource]] simply speaks of source texts and doesn't mention publication requirements, so maybe that is specific to some of the monolingual editions? — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|discuss]] • [[Special:Contributions/Arlo Barnes|contribs]]) 22:28, 5 December 2025 (UTC) :{{keep}} 100% keep. These books are a core part of language textbooks on Wikibooks and have been for years. Not sure why this is even being debated.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 17:55, 16 May 2026 (UTC) ::With all due respect, some of the books included in this nomination (like [[Sin Chao, Jonathan!]]) are written in constructed languages which are not substantially attested anywhere else. I struggle to imagine any educational purpose for such a book. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:12, 17 May 2026 (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) : Could this be salvaged as a shelf? [[User:Pppery|Pppery]] ([[User talk:Pppery|discuss]] • [[Special:Contributions/Pppery|contribs]]) 05:23, 27 January 2025 (UTC) ::Probably, but are the linked books even useful? IB exams change from year to year - sometimes quite dramatically - so an old exam guide is of very limited value. Many of these books were written 10-15 years ago, and some of them (like [[IB French]]) even have comments indicating that they're no longer applicable. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:18, 8 December 2025 (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) ::I concur. I'm just an undergrad who tries to learn about Sino-Tibetan historical linguistics in his free time but I've found this wikibook to be incredibly useful, and I keep it open in one tab while I watch Professor Nathan Hill's lectures that he uploads to youtube in another tab, and another tab for taking notes. In fact if I remember correctly Professor Hill actually pointed his students to this wikibook. ::I'm not familiar with [[wikiversity:Wikiversity:SHARE|Wikiversity]] but if all the content were as accessible there as it is here then I think that could work. [[User:ChromeBones|ChromeBones]] ([[User talk:ChromeBones|discuss]] • [[Special:Contributions/ChromeBones|contribs]]) 02:43, 9 July 2025 (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) == [[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) :I was going to say whether we should ask any fiwikibooks sysop to maybe see if this could be transwikied to fiwb if it's within the scope there. But [[:fi:Toiminnot:Käyttäjät/sysop]] indicates that there are only 3 sysops, and only {{u|Anr}} and {{u|Zache}} have made edits this ''year''. If they deem it to be salvageable, then transwiki + delete, otherwise straight-up delete. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 11:24, 14 November 2024 (UTC) ::It seems that the idea behind the book was for the pages to be bilingual, as it’s a language learning book. That’s why there are Finnish texts included intentionally even on the pages that are complete. There are similar books in dewikibooks and ruwikibooks as well. For the English version, I think the easiest way to proceed would be to clean up and adjust the page layout to fit enwikibooks better, and then translate the missing parts. By the way, if anyone wants to update the book’s name in English, it can be titled ''"Using the Finnish Language"'' or ''"Put Finnish Language into Use"'' for a direct translation. [[User:Zache|Zache]] ([[User talk:Zache|discuss]] • [[Special:Contributions/Zache|contribs]]) 11:57, 14 November 2024 (UTC) == [[AT&T Mobility FAQ]] == * [[AT&T Mobility FAQ]] * [[AT&T Mobility FAQ/MEdia Net Configuration]] * [[AT&T Mobility FAQ/Data Connect Configuration]] An ''extremely'' outdated FAQ on AT&T's cell phone services. Most of this document was written 20+ years ago as a Usenet FAQ; very little of it is accurate or useful anymore (particularly the two subpages, which have to do with obsolete configurations for "tethering" a computer to a cell phone). No objection if someone wants to update it, but there's clearly been no appetite to do that. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:20, 30 December 2024 (UTC) :I'm wondering if it might make sense for us to develop some kind of policy on archiving books here. There are many like this one that have a good deal of content but are extremely out of date and just not useful as originally intended. ——[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:34, 30 December 2024 (UTC) ::@[[User:Kittycataclysm|Kittycataclysm]]: See the newly developed [[Wikibooks:Outdated books]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 00:16, 31 December 2024 (UTC) :::Ooh, thanks - something like that seems like it could be an appropriate way to handle this book. A lot of the other outdated books I've tagged have been so incomplete that they wouldn't have been particularly useful even as historical references; this one might at least have some interest. :::Any chance we can get a separate namespace (maybe "Archive:") set up for archived book content? That'd make it possible to do things like exclude them from on-site search by default. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:07, 31 December 2024 (UTC) ::::I think this might be a more extended discussion, so I'll bump it over to the [[Wikibooks talk:Outdated books|talk page of the draft policy]]! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:54, 31 December 2024 (UTC) == Algebra/Chapter 10/Symmetric Polynomials == I personally believe that [[Algebra/Chapter 10/Symmetric Polynomials|this]], and all of the sections should be deleted for the fact that this goes WAY beyond the scope of what was intended for the Chapter (Algebra II level polynomials). [[User:GoreyCat|GoreyCat]] ([[User talk:GoreyCat|discuss]] • [[Special:Contributions/GoreyCat|contribs]]) 15:07, 6 February 2025 (UTC) :'''Split''': Deletion here is not the best solution (see [[w:WP:ATD]]). Instead, this page and its subpages should be moved to another book, most likely [[Abstract Algebra]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:35, 6 February 2025 (UTC) :{{keep}} since there is a good amount of content. If [[Abstract Algebra]] is appropriate, it seems like a fine idea to move there. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:59, 7 February 2025 (UTC) ::Eh, yeah, I supposed moving it is better. I just don't think it's suitable for where it appears. [[User:GoreyCat|GoreyCat]] ([[User talk:GoreyCat|discuss]] • [[Special:Contributions/GoreyCat|contribs]]) 01:40, 8 February 2025 (UTC) == [[Puredyne]] == Development of Puredyne Linux was discontinued in 2012, and the software no longer appears to be available for download anywhere. (An archive of the web site is still up - with a bunch of embedded spam links - but the download links are all dead.) Is this a suitable candidate for archival (cf. [[Wikibooks:Outdated books]]), or should it just be deleted? [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:35, 5 March 2025 (UTC) :I'd just archive stuff like this. Looks like a decent bit of work went into it, and you never know when someone might need to use Puredyne for some obscure project. I'd be willing to bet mirrors exist of it somewhere, or someone has it on a drive. If you want to find some stuff worth deleting, comb through [[:Category:Allbooks categories]]. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:30, 5 March 2025 (UTC) == [[Template:Qr-twwp]] == This isn't exactly a request to delete the template, but rather to merge it with {{tlx|Copypaste}}. The {{tlx|Qr-twwp}} template serves the same purpose as {{tlx|Copypaste}}, but without the seven-day period after which the page is deleted. This leads to confusion, as well as a perpetually full [[:Category:Queried pages]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:37, 30 March 2025 (UTC) == [[Ghouls of the Miskatonic]] == I don't think that a plot summary of a book is in-scope here. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:43, 20 August 2025 (UTC) :{{vd}} - at least, not a summary of ''this'' book. A summary and/or study guide to a notable work of literature might be in scope, but this is certainly not one. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:23, 25 August 2025 (UTC) ::Hi. I am the creator of the pages of this book. If I understand correctly, it has to be a summary of a notable work of literature? So what exactly is defined as such? I only started this as I thought it would be fun, interesting and encouraging to others who read the Arkham Horror novels, and I thought it was permitted as I've seen other summaries of books on wikibooks. [[User:Dayne90|Dayne90]] ([[User talk:Dayne90|discuss]] • [[Special:Contributions/Dayne90|contribs]]) 13:27, 26 August 2025 (UTC) :::Your problem is it is just the plot... it needs to include an educational textual analysis to be in scope [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:47, 28 August 2025 (UTC) ::::And ideally it'd be a text which has ''already'' been the subject of literary analysis, such that the analysis on Wikibooks isn't original research. A notable work of literature like ''Frankenstein'' or ''Moby-Dick'' would easily meet that requirement; a tie-in novel for a tabletop RPG probably does not. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:08, 29 August 2025 (UTC) == [[Objective Projection: Why the Brain Never Forgets Some Stories]] == Undisclosed AI-generated content. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:13, 9 May 2026 (UTC) :<nowiki>'''Keep'''</nowiki> — Comment from page author/subject expert. :I am Levent Bulut, the originator of the <nowiki>''</nowiki>Objective Projection<nowiki>''</nowiki> methodology described in this book (ORCID: 0009-0007-7500-2261, Wikidata: Q138048287). I want to address the AI-generated content concern directly and transparently. :<nowiki>'''</nowiki>On the content itself:<nowiki>'''</nowiki> The methodology, theoretical framework (the six-variable operator E(r) = projS(M, T, V, Δ, Ω, Ng), the Six Golden Rules, the Six-Layer Framework), and all original arguments are my own intellectual work, developed and published independently. This is documented through: :* 26 DOI-registered academic publications on Zenodo (search: "Levent Bulut Objective Projection") :* A peer-reviewed submission currently under review at <nowiki>''</nowiki>Digital Humanities Quarterly<nowiki>''</nowiki> :* Parallel Turkish-language Wikibook and Wikiversity pages on the same methodology :* An open-source SFT dataset on Hugging Face (leventbulut/objective-projection) :<nowiki>'''</nowiki>On AI assistance:<nowiki>'''</nowiki> I used AI tools (Claude) for English translation polish and copy-editing from my Turkish source materials — the same way a non-native English-speaking academic would use a human translator or editor. The <nowiki>''</nowiki>ideas, structure, terminology, citations, and arguments<nowiki>''</nowiki> are entirely my own and pre-date the Wikibooks version, traceable through Zenodo DOI timestamps starting in 2025. :<nowiki>'''</nowiki>Proposed remedy instead of deletion:<nowiki>'''</nowiki> I am happy to: :# Add a clear AI-assistance disclosure to the book's preface, per Wikibooks transparency norms :# Add inline citations to the underlying DOI-registered publications for every major claim :# Link to the parallel Turkish version and academic record :This would address the <nowiki>''</nowiki>undisclosed<nowiki>''</nowiki> part of the concern (which is the actionable policy issue) while preserving content that is original academic work by an identifiable author with a published track record. Deletion of original scholarship because translation assistance was used would set a concerning precedent for non-native English contributors. :<nowiki>I request a few days to add the disclosure and citations before any deletion action. ~~~~</nowiki> [[Special:Contributions/&#126;2026-28847-60|&#126;2026-28847-60]] ([[User talk:&#126;2026-28847-60|talk]]) 18:46, 13 May 2026 (UTC) ::Administrative assistance needed: Automated filters blocking structural improvements and disclosures ::'''Request for Help''' — I am Levent Bulut, the author of this book. I have already provided my AI disclosure and academic credentials (ORCID, DOI list) here in this discussion. ::I am trying to update the book to comply with Wikibooks standards by: ::Adding a formal '''AI assistance disclosure''' at the top of the page. ::Restructuring the content into an '''instructional textbook format''' (adding Learning Objectives). ::Converting plain text formulas into '''LaTeX''' ( format). ::Updating references to include full academic '''DOI''' records. ::However, the automated filter is blocking all my attempts: ::If I try to replace the content with the improved version, it triggers the '''"large amount of content removal"''' filter. ::If I try to add specific academic links, it triggers the '''"automated link/spam"''' filter. ::I am essentially trapped by the filters while trying to improve the book and follow transparency norms. Could an administrator please either whitelist my account or manually apply the improved version of the text? I am ready to provide the full MediaWiki code here if requested. My intent is purely constructive and academic. [[Special:Contributions/&#126;2026-28847-60|&#126;2026-28847-60]] ([[User talk:&#126;2026-28847-60|talk]]) 19:15, 13 May 2026 (UTC) ::: Hi, @[[User:~2026-28847-60|~2026-28847-60]]. Your account was incorrectly locked by a steward. It is now currently unlocked. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:44, 15 May 2026 (UTC) :::: Pinging @[[User:Projection Architect|Projection Architect]], who was previously LeventBulut. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:51, 4 July 2026 (UTC) ::Please review [[Wikibooks:Artificial intelligence]]. It states unequivocally that {{tq|LLMs may not be used to generate or summarize material and ideas at Wikibooks}}, and that {{tq|translations made by LLMs are not allowed on Wikibooks}}. The fact that you did not disclose your usage of AI is part of the problem, but disclosing it does not make it allowable either. ::More broadly, based on what you've said above, the content of this book is a reflection of your personal theories on writing. This is essentially [[Wikibooks:Original research]] and is not permitted. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:36, 13 May 2026 (UTC) == [[Suicide]] == I realize this book has been nominated for deletion before ([[Wikibooks:Requests for deletion/Suicide|1]], [[Wikibooks:Requests for deletion/Suicide (2)|2]], [[Wikibooks:Requests for deletion/Suicide/Suffocation|3]]), but it's been over ten years since the last nomination. The project's position on what material is in its educational scope has shifted, as have some of the facts on the ground. * The chartered purpose of Wikibooks is to produce "open-content textbooks" (cf. [[Wikibooks:What is Wikibooks?]]) which are suitable for use in an instructional environment. Providing educational information about suicide in the context of psychiatry could certainly be in scope, as psychiatry is an educational topic; however, instructional material on how to commit suicide is not an educational topic, and should not be considered in scope. * This book is, and has always been, primarily intended as an instructional work guiding users on how to commit suicide. It provides effectively no meaningful analytical content ''about'' suicide as a topic. Most of the original content in the book was imported from an early-2000s wiki associated with the <code>alt.suicide.holiday</code> Usenet group, the "ASH wiki", which was specifically and unequivocally dedicated to describing and recommending methods by which readers could commit suicide, and this has carried through to the current version of the book. * Most of the content in the book was removed in 2020 (by redirecting it to the book's main page, e.g. [[Special:Diff/3660495]]) over concerns that it was created by a WMF-banned user ([[User:Leucosticte]]), and because it was likely in violation of the ASH wiki's (unclear) copyright. These changes removed most of the content of the book; much of what remains is image gallery pages like [[Suicide/Blades]] which have no educational value. Suicide is a sensitive topic; if it is covered by a textbook, it should be covered tastefully and with an aim to educate. This book is largely the opposite of that. Having it here is doing more harm than good. If this book is deleted, the following related pages should be deleted as well: * [[Template:Suicide methods]] * [[Template:Infobox suicide method]] (currently unused) * [[User:Leucosticte/About ASH]] - from the ASH wiki, as mentioned above * [[User:Leucosticte/Frequently Asked Questions]] - also from the ASH wiki [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:41, 21 July 2026 (UTC) : {{keep|weak keep}} a)&nbsp;Age is no argument. There are many stale underdeveloped books I would rather delete than keeping around. b)&nbsp;The book’s topic is exceptionally difficult to write about. ''This'' impedes collaborative authoring. c)&nbsp;The book does not really explain ''how'' to commit suicide (like a step‐by‐step guide), neither is it the book’s learning objective. d)&nbsp;Even if ''you construed'' the chapter summarizing various suicide methods ''as instructions'', instructional material on how to commit suicide ''is'' an educational topic. In most ''present‐day societies'' it is not ''ethical'' to teach students how to commit suicide, though. e)&nbsp;Therefore the correct path is to first alter the [[WB:WIW#Wikibooks includes instructional texts|project scope]] to censor books on ethical grounds ''and then'' nominate the book for censorship. ‑‑[[User:Kai Burghardt|Kai Burghardt]] ([[User talk:Kai Burghardt|discuss]] • [[Special:Contributions/Kai Burghardt|contribs]]) 04:50, 28 July 2026 (UTC) ::Re. c: most of the explicit directions were edited out in 2020, as noted in my nomination, but are still visible in page history. For a couple of explicit examples, see e.g. [[Special:Permalink/3318613]] or [[Special:Permalink/3654645]]. Providing specific instructions was the original intent of this book, and it has never escaped that legacy. If someone were interested in writing a book ''about'' the phenomenon of suicide, they would be better off starting afresh. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 05:26, 28 July 2026 (UTC) *'''Delete all'''. ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 16:17, 28 July 2026 (UTC) * '''Delete all''' per the nomination above. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:17, 30 July 2026 (UTC) * '''Keep''' with caution. Rename to "suicide prevention"?--[[User:TunnelESON|TunnelESON]] ([[User talk:TunnelESON|discuss]] • [[Special:Contributions/TunnelESON|contribs]]) 04:03, 2 September 2026 (UTC) *:Re. the rename: absolutely not. There is no content in the book about suicide prevention. If you are interested in writing a book on that topic, please start a new one. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:48, 5 September 2026 (UTC) :{{keep}} - :1. "instructional material on how to commit suicide is not an educational topic" - I think it can be construed as one depending on the person (and does not have to imply that the person is at risk) :2. Not a reason. :3. Not a reason. It is up to the community to decide whether to accept a banned user's work. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 13:37, 6 September 2026 (UTC) == [[Chess Opening Theory/1. g4/1...Na6]] == Nonsense position, one of the worst opening moves for White countered by a move hurting development for Black. [https://www.365chess.com/search_position.php Searching] on 365chess.com finds zero games with this position. See also a similar [[Wikibooks:Requests for deletion/Chess Opening Theory/1. e4/1...e5/2. Na3]]. [[User:1234qwer1234qwer4|𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰]] ([[User talk:1234qwer1234qwer4|𝗍𝗮𝘭𝙠]]) 02:20, 13 September 2026 (UTC) :{{vd}} With some reservations, in that just being a bad move doesn't make it ''not'' a strategy. That said, the lack of actual game presence means it's unnecessary to keep around. [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 16:16, 14 September 2026 (UTC) == [[MediaWiki:Abusefilter-edit-denied]] == {{closed|This was done by Koavf, but in the future, you can request this at [[WB:AA]] since such deletions might be uncontroversial, and doesn't require a community discussion. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 20:36, 14 September 2026 (UTC)}} This was created about a decade and a half ago to change the language shown when someone cannot see a private filter. The stated reason was grammar. I would dispute that the language in the default message is not grammatically correct. The current MediaWiki default for this message is {{tq|You may not view the details of this filter because it is hidden from public view.}} The difference is a "the" before "details". I would posit that this is more grammatically correct than a lack of "the" and that the page should be deleted (which would restore the default message). [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 16:23, 14 September 2026 (UTC) :{{done}}. Happy to undelete if anyone disagrees. If so, please ping me. ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 16:26, 14 September 2026 (UTC) {{end closed}} chobu5zkx18bpmd36beh1yaghmbis81 4670111 4670100 2026-09-15T00:00:52Z JJPMaster (bot) 3488561 Bot: Removing archived requests from main RfD page 4670111 wikitext text/x-wiki __NEWSECTIONLINK__ [[Category:Wikibooks deletion|{{PAGENAME}}]] {{Discussion Rooms}} {{TOCleft}} {{shortcut|WB:RFD}} {{Requests for deletion/New deletion}} {{Requests for deletion/Deletion intro}} <!-- New deletion nominations go at the bottom of page. --> == [[Salute, Jonathan!]] and its translations == <div style="column-count: 7;"> * [[Salute, Jonathan!|Interlingue/Occidental]] ([[w:en:Occidental|w]], original) * [[Òla, Ionatà!|Audià]] * [[Holo, Jonathan!|Cristianés]] * [[Terve, Jonathan!|Ekumenski]] * [[Hej, Jonathan! (Germanisch)|Germanisch]] * [[Salom, Jonatan!|Globasa]] * [[Àlŏ, Jonathan!|Guosa]] ([[w:en:Guosa|w]]) * [[Salut, Jonathan!|Idiom Neutral]] ([[w:en:Idiom Neutral|w]]) * [[Saluto, Jonathan! (Ido)|Ido]] ([[w:en:Ido|w]]) * [[Hallo, Jonathan!|Interlingua]] ([[w:en:Interlingua|w]]) * [[Salut, Jonathan! (Interocidental)|Interocidental]] * [[Bune Ğonatan!|Lingaust]] * [[Oila, Jonatan!|Lingue Simple]] * [[Haloo, Jonatan!|Lingwa de Planeta]] ([[w:en:Lingwa de Planeta|w]]) * [[Sin Chao, Jonathan!|Masa Tang]] * [[Salut, ionatano!|Meteza]] * [[Salu, Jon!|Mini]] * [[Hay, Jonathan!|Mirad]] * [[Hai, Jon!|Monav]] * [[Sesan Jon!|Monkel]] * [[Salam, Jonathan!|Mundeze]] * [[Dag, Jonathan!|Negerhollands]] ([[w:en:Negerhollands|w]]) * [[Salut Jonathan!|Neo]] ([[w:en:Neo|w]]) * [[Hej, Jonathan!|Nordien]] * [[Saluto, Jonathan!|Novial]] ([[w:en:Novial|w]]) * [[Salute, Jonathan! (Novlingue)|Novlingue]] * [[Alo, Jonathan!|Numo]] * [[Hela, Jonathan!|Proyo]] * [[Salute, Jonathan! (Romanica)|Romanica]] ([[w:en:Romanica|w]]) * [[Simi, Jonathan!|Solresol]] ([[w:en:Solresol|w]]) * [[Toki a, jan Jonatan!|Toki Pona]] ([[w:en:Toki Pona|w]]) * [[Glidis, o Jonathan!|Volapük]] ([[w:en:Volapük|w]]) </div> 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: :::# 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. :::# The Interlingua one can move to the Interlingua Wikibooks (maybe Romanica too if they want as it is sort of a dialect of Interlingua). :::# 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). :::# 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}} the translations for languages that have an article on the English Wikipedia, i.e. Guosa, Idiom Neutral, Ido, Interlingua, Lingwa de Planeta, Negerhollands, Neo, Novial, Occidental, Romanica, Solresol, Toki Pona, and Volapük. : Translations for languages that don't have an article can be kept if they have reliable sources, which I was able to find for the following languages (if you think they are not reliable, please let me know): :* Globasa: [https://www.languagesandnumbers.com/how-to-count-in-globasa/en/globasa/] [https://greyson.conlang.org/2020/01/29/shouting-out-globasa-and-pandunia/] :* Mini: [https://jprogr.github.io/mini] [https://www.omniglot.com/language/phrases/mini.htm] [https://www.languagesandnumbers.com/how-to-count-in-mini/en/mini/] : {{del}} and move to [[User:Mithridates/SJ]] the rest of the translations, i.e. Audià/Audian, Cristianés, Ekumenski, Germanisch, Interocidental, Lingaust, Lingue Simple, Masa Tang, Mirad, Monav, Monkel, Mundeze, Nordien, Novlingue, Numo, Proyo, and Scuian/Meteza. If you can find reliable sources for those languages, please let me know. : In particular, I could not find resources for Audià/Audian and Monav after searching through 15 and 17 pages on Google, respectively. It doesn't help that [[Òla, Ionatà!|their]] [[Hai, Jon!|translations]] don't explain what those languages are and where to find resources for them. This makes contributing to those translations almost impossible until @[[User:Caro de Segeda|Caro de Segeda]] can provide resources to us. It's possible that the resources may have disappared from the Internet, or that those languages were created by Caro de Segeda him/herself. If you can find resources for Audià/Audian and Monav, please let me know. : I'm notifying the primary contributors of the translations: @[[User:Caro de Segeda|Caro de Segeda]], @[[User:Frzzl|Frzzl]], @[[User:Greatscotteh|Greatscotteh]], @[[User:IHateNumbers234|IHateNumbers234]], @[[User:Jayeless2|Jayeless2]], @[[User:Morozof|Morozof]], @[[User:Omnihom|Omnihom]], @[[User:Omoutuazn|Omoutuazn]], @[[User:PovriNaivon|PovriNaivon]], @[[User:Sir Beluga|Sir Beluga]] and @[[User:Tyoyafud|Tyoyafud]]. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 09:52, 30 June 2025 (UTC) :: Caro de Segeda said on [https://www.reddit.com/r/conlangs/comments/1lcnz9g/comment/n0sc3wx/ Reddit] that Monav was created by him/her and that he/she didn't publish any resources about it other than [[Hai, Jon!]]. With '''zero''' other resources to rely on for contributing to the translation, and the fact that Monav is in [[User:Mithridates/SJ]], [[Hai, Jon!]] should be speedy deleted. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 01:38, 3 July 2025 (UTC) ::: I've undone the speedy deletion as Caro de Segeda posted a [https://prexins.wordpress.com/2025/07/04/monav/ resource] for Monav. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 07:18, 4 July 2025 (UTC) :::: You can delete all the ones that I have created myself, I have already moved them to other places. — [[User:Caro de Segeda|Caro de Segeda]] ([[User talk:Caro de Segeda|discuss]] • [[Special:Contributions/Caro de Segeda|contribs]]) 12:39, 5 July 2025 (UTC) {{outdent|::::}}I don't know if this is helpful since it wouldn't apply to most of these, but [[s:mul:]] could hold some of these. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|discuss]] • [[Special:Contributions/Arlo Barnes|contribs]]) 09:18, 30 November 2025 (UTC) : I don't think that would be within the scope of that project. I'm not aware of any other situation where Wikisource publishes translations of texts created on Wikimedia projects - that's usually left up to other language editions of the same project. — [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 05:34, 1 December 2025 (UTC) :: In this situation there isn't a separate [[s:ie:]] distinct from Multilingual Wikisource (see [[meta:Wikisource#List of Wikisources]]). In fact, there are very few multilingual wikis in the Wikimedia sphere; while this project ''could'' move to a Miraheze-hosted or similar wiki farm location, I think it would be a missed opportunity. I suppose an [[Interlingue]] book could be started in [[shelf:Constructed languages]] which would have all 100 chapters as an appendix (and likewise for the other languages), but that also seems non-ideal since it requires an English-language text that doesn't currently exist to be created. [[WB:AT]] seems to describe a similar situation to this one and prescribe Wikisource as the solution, and [[WB:SOURCE]] mentions fiction as out-of-scope for Wikibooks (even as in this case, language-educational fiction). [[s:mul:Wikisource:about Wikisource]] simply speaks of source texts and doesn't mention publication requirements, so maybe that is specific to some of the monolingual editions? — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|discuss]] • [[Special:Contributions/Arlo Barnes|contribs]]) 22:28, 5 December 2025 (UTC) :{{keep}} 100% keep. These books are a core part of language textbooks on Wikibooks and have been for years. Not sure why this is even being debated.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 17:55, 16 May 2026 (UTC) ::With all due respect, some of the books included in this nomination (like [[Sin Chao, Jonathan!]]) are written in constructed languages which are not substantially attested anywhere else. I struggle to imagine any educational purpose for such a book. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:12, 17 May 2026 (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) : Could this be salvaged as a shelf? [[User:Pppery|Pppery]] ([[User talk:Pppery|discuss]] • [[Special:Contributions/Pppery|contribs]]) 05:23, 27 January 2025 (UTC) ::Probably, but are the linked books even useful? IB exams change from year to year - sometimes quite dramatically - so an old exam guide is of very limited value. Many of these books were written 10-15 years ago, and some of them (like [[IB French]]) even have comments indicating that they're no longer applicable. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:18, 8 December 2025 (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) ::I concur. I'm just an undergrad who tries to learn about Sino-Tibetan historical linguistics in his free time but I've found this wikibook to be incredibly useful, and I keep it open in one tab while I watch Professor Nathan Hill's lectures that he uploads to youtube in another tab, and another tab for taking notes. In fact if I remember correctly Professor Hill actually pointed his students to this wikibook. ::I'm not familiar with [[wikiversity:Wikiversity:SHARE|Wikiversity]] but if all the content were as accessible there as it is here then I think that could work. [[User:ChromeBones|ChromeBones]] ([[User talk:ChromeBones|discuss]] • [[Special:Contributions/ChromeBones|contribs]]) 02:43, 9 July 2025 (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) == [[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) :I was going to say whether we should ask any fiwikibooks sysop to maybe see if this could be transwikied to fiwb if it's within the scope there. But [[:fi:Toiminnot:Käyttäjät/sysop]] indicates that there are only 3 sysops, and only {{u|Anr}} and {{u|Zache}} have made edits this ''year''. If they deem it to be salvageable, then transwiki + delete, otherwise straight-up delete. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 11:24, 14 November 2024 (UTC) ::It seems that the idea behind the book was for the pages to be bilingual, as it’s a language learning book. That’s why there are Finnish texts included intentionally even on the pages that are complete. There are similar books in dewikibooks and ruwikibooks as well. For the English version, I think the easiest way to proceed would be to clean up and adjust the page layout to fit enwikibooks better, and then translate the missing parts. By the way, if anyone wants to update the book’s name in English, it can be titled ''"Using the Finnish Language"'' or ''"Put Finnish Language into Use"'' for a direct translation. [[User:Zache|Zache]] ([[User talk:Zache|discuss]] • [[Special:Contributions/Zache|contribs]]) 11:57, 14 November 2024 (UTC) == [[AT&T Mobility FAQ]] == * [[AT&T Mobility FAQ]] * [[AT&T Mobility FAQ/MEdia Net Configuration]] * [[AT&T Mobility FAQ/Data Connect Configuration]] An ''extremely'' outdated FAQ on AT&T's cell phone services. Most of this document was written 20+ years ago as a Usenet FAQ; very little of it is accurate or useful anymore (particularly the two subpages, which have to do with obsolete configurations for "tethering" a computer to a cell phone). No objection if someone wants to update it, but there's clearly been no appetite to do that. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:20, 30 December 2024 (UTC) :I'm wondering if it might make sense for us to develop some kind of policy on archiving books here. There are many like this one that have a good deal of content but are extremely out of date and just not useful as originally intended. ——[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:34, 30 December 2024 (UTC) ::@[[User:Kittycataclysm|Kittycataclysm]]: See the newly developed [[Wikibooks:Outdated books]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 00:16, 31 December 2024 (UTC) :::Ooh, thanks - something like that seems like it could be an appropriate way to handle this book. A lot of the other outdated books I've tagged have been so incomplete that they wouldn't have been particularly useful even as historical references; this one might at least have some interest. :::Any chance we can get a separate namespace (maybe "Archive:") set up for archived book content? That'd make it possible to do things like exclude them from on-site search by default. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:07, 31 December 2024 (UTC) ::::I think this might be a more extended discussion, so I'll bump it over to the [[Wikibooks talk:Outdated books|talk page of the draft policy]]! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:54, 31 December 2024 (UTC) == Algebra/Chapter 10/Symmetric Polynomials == I personally believe that [[Algebra/Chapter 10/Symmetric Polynomials|this]], and all of the sections should be deleted for the fact that this goes WAY beyond the scope of what was intended for the Chapter (Algebra II level polynomials). [[User:GoreyCat|GoreyCat]] ([[User talk:GoreyCat|discuss]] • [[Special:Contributions/GoreyCat|contribs]]) 15:07, 6 February 2025 (UTC) :'''Split''': Deletion here is not the best solution (see [[w:WP:ATD]]). Instead, this page and its subpages should be moved to another book, most likely [[Abstract Algebra]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:35, 6 February 2025 (UTC) :{{keep}} since there is a good amount of content. If [[Abstract Algebra]] is appropriate, it seems like a fine idea to move there. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:59, 7 February 2025 (UTC) ::Eh, yeah, I supposed moving it is better. I just don't think it's suitable for where it appears. [[User:GoreyCat|GoreyCat]] ([[User talk:GoreyCat|discuss]] • [[Special:Contributions/GoreyCat|contribs]]) 01:40, 8 February 2025 (UTC) == [[Puredyne]] == Development of Puredyne Linux was discontinued in 2012, and the software no longer appears to be available for download anywhere. (An archive of the web site is still up - with a bunch of embedded spam links - but the download links are all dead.) Is this a suitable candidate for archival (cf. [[Wikibooks:Outdated books]]), or should it just be deleted? [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:35, 5 March 2025 (UTC) :I'd just archive stuff like this. Looks like a decent bit of work went into it, and you never know when someone might need to use Puredyne for some obscure project. I'd be willing to bet mirrors exist of it somewhere, or someone has it on a drive. If you want to find some stuff worth deleting, comb through [[:Category:Allbooks categories]]. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:30, 5 March 2025 (UTC) == [[Template:Qr-twwp]] == This isn't exactly a request to delete the template, but rather to merge it with {{tlx|Copypaste}}. The {{tlx|Qr-twwp}} template serves the same purpose as {{tlx|Copypaste}}, but without the seven-day period after which the page is deleted. This leads to confusion, as well as a perpetually full [[:Category:Queried pages]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:37, 30 March 2025 (UTC) == [[Ghouls of the Miskatonic]] == I don't think that a plot summary of a book is in-scope here. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:43, 20 August 2025 (UTC) :{{vd}} - at least, not a summary of ''this'' book. A summary and/or study guide to a notable work of literature might be in scope, but this is certainly not one. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:23, 25 August 2025 (UTC) ::Hi. I am the creator of the pages of this book. If I understand correctly, it has to be a summary of a notable work of literature? So what exactly is defined as such? I only started this as I thought it would be fun, interesting and encouraging to others who read the Arkham Horror novels, and I thought it was permitted as I've seen other summaries of books on wikibooks. [[User:Dayne90|Dayne90]] ([[User talk:Dayne90|discuss]] • [[Special:Contributions/Dayne90|contribs]]) 13:27, 26 August 2025 (UTC) :::Your problem is it is just the plot... it needs to include an educational textual analysis to be in scope [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:47, 28 August 2025 (UTC) ::::And ideally it'd be a text which has ''already'' been the subject of literary analysis, such that the analysis on Wikibooks isn't original research. A notable work of literature like ''Frankenstein'' or ''Moby-Dick'' would easily meet that requirement; a tie-in novel for a tabletop RPG probably does not. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:08, 29 August 2025 (UTC) == [[Objective Projection: Why the Brain Never Forgets Some Stories]] == Undisclosed AI-generated content. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:13, 9 May 2026 (UTC) :<nowiki>'''Keep'''</nowiki> — Comment from page author/subject expert. :I am Levent Bulut, the originator of the <nowiki>''</nowiki>Objective Projection<nowiki>''</nowiki> methodology described in this book (ORCID: 0009-0007-7500-2261, Wikidata: Q138048287). I want to address the AI-generated content concern directly and transparently. :<nowiki>'''</nowiki>On the content itself:<nowiki>'''</nowiki> The methodology, theoretical framework (the six-variable operator E(r) = projS(M, T, V, Δ, Ω, Ng), the Six Golden Rules, the Six-Layer Framework), and all original arguments are my own intellectual work, developed and published independently. This is documented through: :* 26 DOI-registered academic publications on Zenodo (search: "Levent Bulut Objective Projection") :* A peer-reviewed submission currently under review at <nowiki>''</nowiki>Digital Humanities Quarterly<nowiki>''</nowiki> :* Parallel Turkish-language Wikibook and Wikiversity pages on the same methodology :* An open-source SFT dataset on Hugging Face (leventbulut/objective-projection) :<nowiki>'''</nowiki>On AI assistance:<nowiki>'''</nowiki> I used AI tools (Claude) for English translation polish and copy-editing from my Turkish source materials — the same way a non-native English-speaking academic would use a human translator or editor. The <nowiki>''</nowiki>ideas, structure, terminology, citations, and arguments<nowiki>''</nowiki> are entirely my own and pre-date the Wikibooks version, traceable through Zenodo DOI timestamps starting in 2025. :<nowiki>'''</nowiki>Proposed remedy instead of deletion:<nowiki>'''</nowiki> I am happy to: :# Add a clear AI-assistance disclosure to the book's preface, per Wikibooks transparency norms :# Add inline citations to the underlying DOI-registered publications for every major claim :# Link to the parallel Turkish version and academic record :This would address the <nowiki>''</nowiki>undisclosed<nowiki>''</nowiki> part of the concern (which is the actionable policy issue) while preserving content that is original academic work by an identifiable author with a published track record. Deletion of original scholarship because translation assistance was used would set a concerning precedent for non-native English contributors. :<nowiki>I request a few days to add the disclosure and citations before any deletion action. ~~~~</nowiki> [[Special:Contributions/&#126;2026-28847-60|&#126;2026-28847-60]] ([[User talk:&#126;2026-28847-60|talk]]) 18:46, 13 May 2026 (UTC) ::Administrative assistance needed: Automated filters blocking structural improvements and disclosures ::'''Request for Help''' — I am Levent Bulut, the author of this book. I have already provided my AI disclosure and academic credentials (ORCID, DOI list) here in this discussion. ::I am trying to update the book to comply with Wikibooks standards by: ::Adding a formal '''AI assistance disclosure''' at the top of the page. ::Restructuring the content into an '''instructional textbook format''' (adding Learning Objectives). ::Converting plain text formulas into '''LaTeX''' ( format). ::Updating references to include full academic '''DOI''' records. ::However, the automated filter is blocking all my attempts: ::If I try to replace the content with the improved version, it triggers the '''"large amount of content removal"''' filter. ::If I try to add specific academic links, it triggers the '''"automated link/spam"''' filter. ::I am essentially trapped by the filters while trying to improve the book and follow transparency norms. Could an administrator please either whitelist my account or manually apply the improved version of the text? I am ready to provide the full MediaWiki code here if requested. My intent is purely constructive and academic. [[Special:Contributions/&#126;2026-28847-60|&#126;2026-28847-60]] ([[User talk:&#126;2026-28847-60|talk]]) 19:15, 13 May 2026 (UTC) ::: Hi, @[[User:~2026-28847-60|~2026-28847-60]]. Your account was incorrectly locked by a steward. It is now currently unlocked. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:44, 15 May 2026 (UTC) :::: Pinging @[[User:Projection Architect|Projection Architect]], who was previously LeventBulut. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:51, 4 July 2026 (UTC) ::Please review [[Wikibooks:Artificial intelligence]]. It states unequivocally that {{tq|LLMs may not be used to generate or summarize material and ideas at Wikibooks}}, and that {{tq|translations made by LLMs are not allowed on Wikibooks}}. The fact that you did not disclose your usage of AI is part of the problem, but disclosing it does not make it allowable either. ::More broadly, based on what you've said above, the content of this book is a reflection of your personal theories on writing. This is essentially [[Wikibooks:Original research]] and is not permitted. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:36, 13 May 2026 (UTC) == [[Suicide]] == I realize this book has been nominated for deletion before ([[Wikibooks:Requests for deletion/Suicide|1]], [[Wikibooks:Requests for deletion/Suicide (2)|2]], [[Wikibooks:Requests for deletion/Suicide/Suffocation|3]]), but it's been over ten years since the last nomination. The project's position on what material is in its educational scope has shifted, as have some of the facts on the ground. * The chartered purpose of Wikibooks is to produce "open-content textbooks" (cf. [[Wikibooks:What is Wikibooks?]]) which are suitable for use in an instructional environment. Providing educational information about suicide in the context of psychiatry could certainly be in scope, as psychiatry is an educational topic; however, instructional material on how to commit suicide is not an educational topic, and should not be considered in scope. * This book is, and has always been, primarily intended as an instructional work guiding users on how to commit suicide. It provides effectively no meaningful analytical content ''about'' suicide as a topic. Most of the original content in the book was imported from an early-2000s wiki associated with the <code>alt.suicide.holiday</code> Usenet group, the "ASH wiki", which was specifically and unequivocally dedicated to describing and recommending methods by which readers could commit suicide, and this has carried through to the current version of the book. * Most of the content in the book was removed in 2020 (by redirecting it to the book's main page, e.g. [[Special:Diff/3660495]]) over concerns that it was created by a WMF-banned user ([[User:Leucosticte]]), and because it was likely in violation of the ASH wiki's (unclear) copyright. These changes removed most of the content of the book; much of what remains is image gallery pages like [[Suicide/Blades]] which have no educational value. Suicide is a sensitive topic; if it is covered by a textbook, it should be covered tastefully and with an aim to educate. This book is largely the opposite of that. Having it here is doing more harm than good. If this book is deleted, the following related pages should be deleted as well: * [[Template:Suicide methods]] * [[Template:Infobox suicide method]] (currently unused) * [[User:Leucosticte/About ASH]] - from the ASH wiki, as mentioned above * [[User:Leucosticte/Frequently Asked Questions]] - also from the ASH wiki [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:41, 21 July 2026 (UTC) : {{keep|weak keep}} a)&nbsp;Age is no argument. There are many stale underdeveloped books I would rather delete than keeping around. b)&nbsp;The book’s topic is exceptionally difficult to write about. ''This'' impedes collaborative authoring. c)&nbsp;The book does not really explain ''how'' to commit suicide (like a step‐by‐step guide), neither is it the book’s learning objective. d)&nbsp;Even if ''you construed'' the chapter summarizing various suicide methods ''as instructions'', instructional material on how to commit suicide ''is'' an educational topic. In most ''present‐day societies'' it is not ''ethical'' to teach students how to commit suicide, though. e)&nbsp;Therefore the correct path is to first alter the [[WB:WIW#Wikibooks includes instructional texts|project scope]] to censor books on ethical grounds ''and then'' nominate the book for censorship. ‑‑[[User:Kai Burghardt|Kai Burghardt]] ([[User talk:Kai Burghardt|discuss]] • [[Special:Contributions/Kai Burghardt|contribs]]) 04:50, 28 July 2026 (UTC) ::Re. c: most of the explicit directions were edited out in 2020, as noted in my nomination, but are still visible in page history. For a couple of explicit examples, see e.g. [[Special:Permalink/3318613]] or [[Special:Permalink/3654645]]. Providing specific instructions was the original intent of this book, and it has never escaped that legacy. If someone were interested in writing a book ''about'' the phenomenon of suicide, they would be better off starting afresh. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 05:26, 28 July 2026 (UTC) *'''Delete all'''. ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 16:17, 28 July 2026 (UTC) * '''Delete all''' per the nomination above. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:17, 30 July 2026 (UTC) * '''Keep''' with caution. Rename to "suicide prevention"?--[[User:TunnelESON|TunnelESON]] ([[User talk:TunnelESON|discuss]] • [[Special:Contributions/TunnelESON|contribs]]) 04:03, 2 September 2026 (UTC) *:Re. the rename: absolutely not. There is no content in the book about suicide prevention. If you are interested in writing a book on that topic, please start a new one. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:48, 5 September 2026 (UTC) :{{keep}} - :1. "instructional material on how to commit suicide is not an educational topic" - I think it can be construed as one depending on the person (and does not have to imply that the person is at risk) :2. Not a reason. :3. Not a reason. It is up to the community to decide whether to accept a banned user's work. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 13:37, 6 September 2026 (UTC) == [[Chess Opening Theory/1. g4/1...Na6]] == Nonsense position, one of the worst opening moves for White countered by a move hurting development for Black. [https://www.365chess.com/search_position.php Searching] on 365chess.com finds zero games with this position. See also a similar [[Wikibooks:Requests for deletion/Chess Opening Theory/1. e4/1...e5/2. Na3]]. [[User:1234qwer1234qwer4|𝟙𝟤𝟯𝟺𝐪𝑤𝒆𝓇𝟷𝟮𝟥𝟜𝓺𝔴𝕖𝖗𝟰]] ([[User talk:1234qwer1234qwer4|𝗍𝗮𝘭𝙠]]) 02:20, 13 September 2026 (UTC) :{{vd}} With some reservations, in that just being a bad move doesn't make it ''not'' a strategy. That said, the lack of actual game presence means it's unnecessary to keep around. [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 16:16, 14 September 2026 (UTC) miwd4zzrshkiytlomu0ukag1huuha9t Cookbook:Lemonade 102 6760 4670123 4540910 2026-09-15T02:03:34Z ~2026-49447-94 3625798 /* Special equipment */ updated link 4670123 wikitext text/x-wiki __NOTOC__<div style="font-size:smaller;"></div>{{Recipe summary | Category = Beverage recipes | Time = 10 minutes | Difficulty = 1 }} {{recipe}} | [[Cookbook:Cuisine of the United States|Cuisine of the United States]] | [[Cookbook:Beverages|Beverages]] '''Lemonade''' is a sweetened [[Cookbook:Beverages|beverage]] made from lemons, sugar, and water. It is popular in the United States during the spring and summer, when it is generally served chilled with ice. In some countries, the word 'lemonade' is also used to describe any clear carbonated drink; in others, it means any fruit-flavored soda. == Ingredients == * 1 [[Cookbook:Cup|cup]] (250 [[Cookbook:Milliliter|ml]]/8.5 [[Cookbook:Ounce|oz]]) fresh [[Cookbook:Lemon|lemon]] juice * ¾–1 cup (160–225 [[Cookbook:Gram|g]]/5.6–7.9 oz) [[Cookbook:White Sugar|white]] or [[Cookbook:Turbinado Sugar|turbinado]] sugar * 5–6 cups (1.2–1.5 [[Cookbook:Liter|L]]) [[Cookbook:Water|water]] == Special equipment == * Citrus [[Cookbook:Citrus reamer|reamer]] == Procedure == # Combine the lemon juice and sugar in a pitcher or jug. Stir until the sugar is dissolved. # Stir in the water. # Chill and/or serve over ice. ==Notes, tips, and variations== *Using turbinado sugar will result in a golden-brown color and mild caramel flavor. *Because sugar dissolves easier in warm liquid, you may want to heat some of the water and dissolve the sugar in it before combining with the remaining ingredients. *Hard lemonade incorporates an alcoholic spirit, such as [[Cookbook:Tequila|tequila]], [[Cookbook:Gin|gin]], or [[Cookbook:Vodka|vodka]] to the lemonade. *Various fruits, such as [[Cookbook:Strawberry|strawberries]] and [[Cookbook:Raspberry|raspberries]] can be added for color and flavor. A small amount of [[Cookbook:Beet|beet]] juice results in pink lemonade with little change in flavor. *[[Cookbook:Herb|Herb]]s such as [[Cookbook:Mint|mint]], borage, [[Cookbook:Lavender|lavender]], and [[Cookbook:Lemon Verbena|lemon verbena]] can change the aroma of the drink. *Including the lemon peels, bruised and sliced, gives more bite and a stronger aroma. *Other citrus fruits can be used, including [[Cookbook:Lime|lime]], [[Cookbook:Orange|orange]], and [[Cookbook:Grapefruit|grapefruit]]. Sugar and water content should be adjusted to taste. In American parlance, these are not technically lemonades, but limeade, orangeade, etc. *The sugar can be replaced by other alternative sweeteners. [[Category:Recipes for lemonade]] [[Category:Recipes using lemon juice]] [[simple:Cookbook:Lemonade]] [[Category:Recipes using white sugar]] [[Category:Recipes using turbinado sugar]] 5eox2u61yo3i1bhxdb7uhq0dwnejaxc Aros/Developer/Docs 0 13107 4670156 4669930 2026-09-15T08:47:35Z Jeff1138 301139 4670156 wikitext text/x-wiki {{ArosNav}} ==A technical overview of AROS== Google translation [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Chinese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Russian], [http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Portuguese] {{Uncited}} AROS,<ref>[http://aros.sourceforge.net/download.php References and sources]</ref> like AmigaOS (TM), is a [[w:Message passing|message-passing]], [[w:Preemption (computing)|preemptive]] [[w:Multitasking|multitasking]] [[w:Operating system|OS]]. It uses [[w:Reentrant (subroutine)|re-entrant]] shared libraries to save memory space. AROS is based around an executive library kernel (Exec) and two other libraries: * Exec (the "kernel", which is not a kernel in the modern sense), * Intuition (graphics and GUI, integrated into the system) and * AmigaDOS (Disk Operating System, the Metacomco's Tripos modified to work with Exec). The design philosophies of AmigaDOS and Intuition are rather different, the former adopting a C-like API and the latter creating an [http://www.basden.demon.co.uk/amiga/amiga.oo.html object-oriented], message passing aware environment for the programmer. The system base is the only absolute address in AmigaOS (located at 0x00000004) this does differ with AROS as AROS SysBase is automatically provided (no $4) but everything else is dynamically loaded. The OS is well known for delivering high performance due to its close connections with the hardware, while simultaneously having the flexibility to support re-targetable graphics (Cybergraphics) and retargetable audio subsystems (AHI). : Diagram showing relationships of libraries to system needed Remember, AROS is a [http://en.wikibooks.org/wiki/Aros/Developer/ABIv1 research] operating system, and while all contributions to the base AROS code are welcome, please contact the dev list first for any core changes. Writing applications for AROS does not have this requirement. While AROS appears and feels almost feature complete, it is still [[Aros/Developer/IncompleteAPIs|missing a small number of functions]] from the Amiga API. [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1201 This thread provides] information for setup, [http://www.aros.org/documentation/developers/index.php documentation] and whether you are interested in core OS changes and/or writing/porting software apps *you compile directly under AROS, which can be running on either real hardware, virtual hardware *in hosted mode under linux/window, cross-compile from that host OS (save your files as ISO-8859-15 encoding instead of UTF-8) [https://github.com/BlitterStudio/aros-compiler-docker Docker images] '''The repository''' for 64bit and 32bit ABIv1 all hardware platforms is [https://github.com/aros-development-team/AROS current development version]. There are many forks of this so that developers can work on their own and forward changes at a later date as discussed on the dev forum 64bit PC is one of two hardware platform with another fork called [https://github.com/deadwood2/AROS abiv11] which is used for Aros One x64 PC 32bit PC is the other fork [https://github.com/deadw00d/AROS/tree/alt-abiv0 repository for current stable PC version ABIv0 with backported ABIv1 features is located which is used on AROS One and Icaros x86 32bit based distros] this is for historic reasons Any [https://github.com/aros-development-team/AROS/issues bugs / issues can be added for ABIv1 issues]. The two individual PC forks have their own issues tab on their github webpages We have a [https://arosdevteam.slack.com/archives/CUFV48U3H slack here], discord on [https://discord.gg/UKp9qdEBuQ Discord@AmigaDev], ==Software Development for AROS== ===Programming languages=== ====Common to all==== 'The Developer Environment', which primarily supports C/C++ code, there are other scripting programming languages available :[[Aros/User/DOS|DOS]] :[[Aros/Developer/Docs/LUA|LUA]] :REXX [[Aros/Developer/Docs/Rexx|Regina (AROS' ARexx)]] ====Needs to be compiled/ported==== ::[[Aros/Developer/Docs/LLVM|LLVM]] ::Python [ Info], [], ::[https://ae.arosworld.org/index.php?board=11.0 FreePascal FPC Aros-Exec thread], [https://archives.arosworld.org/index.php?function=browse&cat=development/language fpc arm here is very old and will not work], FreePascal for AROS has its own [http://fpcaroswiki.alb42.de/ Wikibook], ::[http://sourceforge.net/projects/xamos/ X-Amos Basic] ::[http://sdlbasic.sourceforge.net/ SDLBasic] ([https://archives.arosworld.org/index.php?function=browse&cat=development/language ]) ::[[Aros/Developer/Basic/Basic4SDL|Basic4SDL]] ([https://archives.arosworld.org/index.php?function=browse&cat=development/language ]) ::[http://alvyn.sourceforge.net/ Alvyn] ([http://www.dusabledanslherbe.eu/AROSPage/MISC.14.html download]) ::[http://www.airsoftsoftwair.com/ Hollywood when enough users warrant a port - paid one time fee language] ::[[Aros/Developer/Docs/E|AmigaE Portable E]] ====Hardware Restricted==== '''Basic''' :[http://amos.pspuae.com/AmosProManual/contents/c1.html '''Amos Pro'''] [http://amos.pspuae.com/index.php?action=forum#1 compatible] [http://www.amigacoding.com/index.php/Main_Page commands] (all incomplete) :'''Blitz Basic''' [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=46537#forumpost46537 none on AROS] :: [http://www.amiforce.de/main.php Amiblitz] on amiga(TM) emulator :'''Amiga Basic''' :: [ ACEBasic] '''Misc''' :Ruby [http://www.ruby-lang.org/en Info]/[https://archives.arosworld.org/index.php?function=browse&cat=development/language Ruby 32bit PC], ===Where to get the C/C++ Environment=== If you want to develop for AROS, its generally easier to be running linux hosted AROS development environment especially for C++, cross compiling the code. That's how most developers now are doing it. g++ is used to compile owb web browser as well as some other AROS software. If you were hoping for a rich set of C++ libraries or classes defined for the OS feature set, you might be disappointed. AROS Native compiling is possible, but you're much more likely to run into the odd bug(s) in the dev environment since it gets little testing and fixing by other developers. Is there a sftp software or scp over ssh available? Maybe. At least the security part would be handled by [https://github.com/jens-maus/amissl amissl] [https://archives.arosworld.org/index.php?function=browse&cat=network/misc port]. [https://github.com/BlitterStudio/dopus5 DOpus5] has recently added sftp support. See here for a [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1974&highlight=ssh&pid=12073#post_12073 ssh scp client] [https://arosdevteam.slack.com/join/shared_invite/enQtOTc4Mzg0NDIzNzQ0LWQ2NWZmNmMwNGIwNGEyNTgxNzU3MGFjMTk3ZThmOTQ1MTVjMzhmNTllYWQ0ZTUxMjBjMGE0Y2VjMDJmNTc5MzI#/shared-invite/email Slack Dev Forum] ====Cross compilers from Windows or Linux==== *Windows WSL2 walkthrough can be [https://arosnews.github.io/how-to-cross-compile-aros-hosted-wsl/ found here] you want to build AROS. No problem. Here are instructions for PC 64-bit: https://github.com/deadw00d/AROS/blob/master/INSTALL.md Here are instructions for PC 32-bit: https://github.com/deadw00d/AROS/blob/alt-abiv0/INSTALL.md And as always has been the case you can use the contrib archive to 'obtain' the development directory which contains the /native/ AROS gcc compiler and tools. That compiler is used to build AROS itself but can be used outside the AROS build process by providing --sysroot with indicated directory to cross compile for AROS. '''64 bit''' '''32 bit''' A good option for multiple OS is [https://axrt.org/index.php?tab=download-aros AxRuntime lets developers compile their Amiga API-based applications as Linux binaries being able to utilize modern development tools available on Linux, like IDEs, debuggers, profilers, etc] Older 32bit guides for Linux hosted compiler Please install these packages before moving to next step. Below is a reference list for Debian-based distributions. Reference build system was Ubuntu 18.04/20.04 amd64. subversion git-core gcc g++ make gawk bison flex bzip2 netpbm autoconf automake libx11-dev libxext-dev libc6-dev liblzo2-dev libxxf86vm-dev libpng-dev gcc-multilib libsdl1.2-dev byacc python-mako libxcursor-dev cmake zsh mingw64 Do all of these operations under home directory of your user or another directory where your user has write permissions. Specifically, in a section "Linux-i386", be sure first to build the cross-compiler (toolchain-alt-abiv0-i386) and only then AROS itself (alt-abiv0-linux-i386). Clone & build <pre> $ mkdir myrepo $ cd myrepo $ git clone https://github.com/deadw00d/AROS.git AROS $ cd AROS $ git checkout alt-abiv0 $ cd .. $ cp ./AROS/scripts/rebuild.sh . $ ./rebuild.sh </pre> Now to the build selection below - Linux-i386 Select toolchain-alt-abiv0-i386 - Select alt-abiv0-linux-i386 (DEBUG) Start AROS by: <pre> $ cd alt-abiv0-linux-i386/bin/linux-i386/AROS $ ./Arch/linux/AROSBootstrap </pre> Pc-i386 Select toolchain-alt-abiv0-i386 (if not built yet) - Select alt-abiv0-pc-i386 ISO image available in alt-abiv0-pc-i386/distfiles Now that we have linux-hosted build, we can resume native (option 2). Run ./rebuild.sh and selection option 2. Wait until it finished, then: <pre> $ cd alt-abiv0-pc-i386 $ make </pre> Now <pre> $ make bootiso </pre> Now, your compiler is located in toolchain-alt-abiv0-i386 directory and named i386-aros-gcc. Includes are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/include and libraries are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development.lib. This is how then can be passed to the compiler: /home/xxx/toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot /home/xxx/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development -L/home/xxx/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib ../toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot bin/linux-i386/AROS/Development local/helloworld/helloworld.c -o local/helloworld/helloworld Another method was using Debian like distros and download the [https://archives.arosworld.org/index.php?function=browse&cat=development/cross gimmearos.sh script] to setup the developer environment by downloading necessary packages ... The gimmearos script is a good start in that direction, building the cross compilers and hosted AROS environment, but gimmearos.sh might be out of date or not be completely compatible with any given linux distro. In order to do that, you have to compile AROS yourself. Download AROS source archive not contrib. Compile AROS by entering the main directory ./configure make ([http://http://developers.aros.org/documentation/compiling.html More on compiling AROS]). The result will be a basic AROS system without development tools. To compile C++ on Linux, type 'make gnu-contrib-crosstools', creating the cross-compilers in ./bin/linux-i386/tools/, named i386-aros-gcc, etc. '''Note''': Currently, to make the cross compilers usable copy 'collect-aros' from tools/ to tools/i386-aros/bin/. At the moment the cross compilers if used from the Linux command line will only find it when it's there. If you want to compile native compilers (the Developer Environment), type 'make contrib-gnu-gcc', creating native compilers in AROS' System:Development/bin directory. When the output needs to be stripped <code>--strip-unneeded --remove-section .comment</code> The Obj-C backend should build out of the box. Open contrib/gnu/gcc/mmakefile.src and search for the line which contains "--enable-languages" and add "objc" to the list of languages that follows it. --enable-languages=c,c++,objc Better make it—enable-languages=c,c++,objc,obj-c++ ObjC++ is broken as soon as you try to use exceptions, but that might change in future GCC versions and it does not hurt having it there already. Do you need a cross-compiler or a real compiler? In the first case you can get away with just downloading the proper gcc archive, apply the patch and proceed with the normal gcc build. In the case of a real cross-compiler then when downloading the contrib sources, also need to download the normal sources, place the contrib sources into a directory called contrib, need to install autoconf+automake+perl+python, call ./configure, cd into the subdirectory and type make. to rebuild GCC with host == build == target == i386-pc-aros. So just get the vanilla sources and apply the patches without bothering about the build system? [https://vmwaros.blogspot.com/2019/10/a-pre-configured-development-machine.html pre-configured VM environment vmware virtual machine to develop AROS and AROS software] ====Native compilers for AROS==== Namely gcc for C or g++ for C++ are supplied with the [[Aros/Developer/Docs#The Developer Environment|Developer Environment]], which is already '''setup''' and part of any current AROS distribution like AROS One or the nightlies * Current GCC 6.5 (32bit) though moving to 10.5 and 15.1 (64bit) * Older software components. GNU GCC 4.x GNU BinUtils, GNU Fileutils 4.x, GNU Textutils and others usually deprecated On single partition systems and the Boot ISO, the AROS Developer environment is installed under "SYS:Development/". Systems with multiple partitions - such as a Work: partition - tend to install it to there instead, however it can be installed manually to any location. Please remember, if moving, that you will need to correct the Development packages 'install location' env variable to point to the new locations root - look in SYS:S/startup-sequence. <pre> Assign Development: SYS:Development Assign C: Development:bin ADD </pre> In the aros build instructions. you need to check out contrib and/or ports into your AROS source directory, as subdirs. then, assuming you are building in an external build dir, as you should, you simply configure and "make contrib" for instance or whatever submodule you might want to build. ===Beginners Tutorials in C C++=== As AROS is [http://eab.abime.net/showthread.php?t=29856 C based] API compatible to AmigaOS 3.x, so most of the information on programming C on the Amiga applies to AROS as well. Please note that there is a lot of AmigaOS 1.3 (1985-1989) and [https://www.markround.com/amigaguide AmigaOS AOS 2.x (1990-1992)] information around but OS3.1 is recommended but limited in amount. Brief overview of what is required to write AROS Applications # Using [[Aros/Developer/Docs/Libraries/Intuition|Intuition]] for basic screens/windows # Using graphics within windows via 8bit [[Aros/Developer/Docs/Libraries/Graphics|graphics]] and so onto 15-16-24bit [[Aros/Developer/Docs/Libraries/CGFX|cybergraphx]] # Load and save work to [[Aros/Developer/Docs/Libraries/DOS|dos]] disk drives # Using the [[Aros/Developer/Zune|ZUNE GUI Environment]] Writing native games require this extra information # Using [[Aros/Developer/AHIDrivers|AHI audio hardware independent API]] # Using USB joystick/joypad with the Poseidon USB stack through [[Aros/Developer/Docs/Libraries/LowLevel|LowLevel]] library Additional features that could be added later # Adding additional [[Aros/Developer/Docs/Libraries/Locale|Locale]] language translations to your program # Adding a [[Aros/Developer/Docs/Rexx|AREXX/Regina]] port to your application # Executing Amiga(TM) [[Aros/User/DOS|DOS]] commands from your application # Using [[Aros/Developer/Docs/Libraries/Icon|icons]] (.info files) and icon tooltypes (stack, version, and program startup options) # Local couch or IP based SANA2 networking co-op multi player gaming support Most AmigaOS programming books are nowadays very much out of date as most are from the late 1980s and do not cover later amigaOS releases like 3.1 for example, Rob Peck's book "Programmer's Guide to the Amiga". The Amiga ROM Kernel manuals aka RKMs like Libraries (3rd edition), Devices (), the AmigaDOS manual (3rd edition) and the Style Guide may have their uses. There are some reference examples from AmigaMail and Devcon notes (available again on an Amiga developers CD 2.1). For Arexx then "The Amiga Programmer's Guide to ARexx" by Eric Giguere, which was published by Commodore is useful as well as an "Arexx Cookbook". * Beginners C Guide [http://www.iu.hio.no/~mark/CTutorial/CTutorial.html C Tutorial], * [http://www.pjhutchison.org/tutorial/amiga_c.html Amiga based but interesting] * [http://thecguru.com/ C for beginners], * [http://fresh2refresh.com/c/c-basic-program/ C programming basics] for students, * [https://www.edx.org/courses Free Online course] from American Universities * Reference Amiga [http://amigadev.elowar.com/ API reference]. * AROS based c source can be found [[Aros/Developer/Docs/Examples|here]] and lots of example code can be found inside [https://github.com/aros-development-team AROS sources] themselves and from the contrib section of the archives from [https://github.com/aros-development-team/contrib Aros site], and study the AROS applications source code, e.g. the test programs from the Tests drawer (folder/directory). Take a look at the code of some smaller AROS programs might be a better and more up to date When you upload your builds, please write the architecture (like i386-aros, x86_64-aros, aarch64-aros etc.) in the archive name and it is also advisable to write in the field "Requirements" the ABI (ABIv1 leave blank, for PC fork 64bit ABIv11 ends in v11, 32bit ends in , Arm Pi ends ) ===Compiling C/C++ Code=== Native, although we have a IDE Integrated Development Environment (Murks), it does lack a debugger. Whilst others use a combination of a text editor and shell to edit code. Most though use an AROS hosted on Linux to take advantage of the better GCC tools like GDB and various IDEs. Open shell - its a menu option at the top left of Wanderer (desktop). Or by using the right Win key and w (or F12 and w) within the directory with the source code. Type in sh to change the amiga shell into a unix shell. You can then type in ls (unix equivalent to amiga dir). Take a look [http://en.wikibooks.org/wiki/Linux_commands here] for more commands. For a single file program-name.c or program-name.cpp gcc -o program-name program-name.c or g++ -o program-name program-name.cpp or g++ -o test -Wall -g main.cc texturelib.cpp xmodelib.cc -lsdl -lgl To close the shell, click on the top left-hand corner to close (twice). Once to get back the aros shell and then again to close finally. Use [http://freshmeat.net/projects/cksfv/ cksfv] as a test. Some source code requires the addition of Amiga API libraries, like dos, which you can flag at the compile time as gcc -o julia.exe julia.c -ldos For DOS use -ldos as example and if you are compiling mui codes it will be -lmui or intuition -lintuition. Other missing symbols are due to linker libraries being necessary for linking in functions that aren't in the standard C libraries. For example some source code would need added -lz or -lm or -lpng or -larosc etc. use this in unix line command mode to search for 'search-item' in many .c files (*.cpp for c++, etc.) grep -l 'search-item' *.c If the program is not executable, try using parameter fno-common "Delete #?.o"? Or if you are using abcshell then "rm *.o" :''More information: [[Aros/Developer/Porting software]]'' === How to make Apps have AROS 64-bit specific support code === [http://www.aros.org/cs/documentation/developers/app-dev/portable.php Portable code] AROS64 already uses 64bit addressing, it just doesn't setup the MMU for more than 4GB physical memory currently. When porting software to AROS64 it is "mostly" a case of converting ULONG's that are used to store pointers, into IPTR's instead, etc. Another quirk, is making sure items on the stack are the correct size by using the STACKED attribute for them. * Use texteditor or some tool to replace all "ULONG" with "IPTR" and "LONG" with "SIPTR" in the sources. compiling mui stuff for aros setting -std=gnu99 is necessary, had -std=c99 usually A MUI application most likely needs only the HOOKPROTOxxx SDI macros. They are compatible with AROS, only the attributes (hook, object attribute) must be given in the right order. crash which suggest memory corruption. From my experience porting from 32-bit to 64-bit these kinds of errors can happen if a pointer is passed somewhere via ULONG variable. Then half of the pointer is cut. To generate this error, please run AROSBootstrap with -m 1024. This will allocate heap to 64-bit address space which will make these errors immediatelly visible. These types of crashes are hard to debug. Disabled as little code as possible to stop corruption from occurring and then try to read from the code where it can be broken Crashing in tslf_freevec is another symptom of memory corruption and these memory corruptions will manifest differently on different setups. ==Coding conventions== As the AROS core source is a shared developer experience, there are rules regarding structure and style. When it comes to your creating your own app and coding, the structure and style should be your own, i.e. you should enjoy what you do and do it so that you can understand what is going on. ===Layout=== <syntaxhighlight lang="c"> static void 1st_function() { program exit(0); } int main(void) { 1st_function(); 2nd_function(); 3rd_function(); return 0; } </syntaxhighlight> <syntaxhighlight lang="c"> struct Screen * openscreen(void); struct Window *openwindow(struct Screen *screen, const char *title, LONG x, LONG y, LONG w, LONG h); VOID 1st_function(); VOID 2nd_function(); int main(int argc, char **argv) { program return 0; } /* main */ VOID 1st_function() { } VOID 2nd_function() { } </syntaxhighlight> ===General style=== This code is used by many people and therefore you should keep some things in mind when you submit source code: * Keep things simple * Keep the source clean * Always know what you are doing, if not flag it and describe what needs to be done... * Explain clearly/simply what you are doing * Remember that you write code once but that it is read many times by many people ===Comments=== AROS uses some of the comments in the source to generate the documentation. Therefore it's necessary to keep a certain format so the tools can find their information. Other comments are ignored but they should explain what you thought when you wrote the code. If you really can't think of an explanation, then don't write the code a second time like this: <pre> /* This adds 1 to t */ t ++; </pre> What we think of is this: <pre> /* Go on with next element */ t ++; </pre> ===Formatting=== This is only '''IMPORTANT''' if you are going to work on the core AROS code or contrib but not applications which may reside outside like on AROS Archives or other websites. <syntaxhighlight lang="c"> { /* a */ struct RastPort * rp; int a; /* b */ rp = NULL; a = 1; /* c */ if (a == 1) printf ("Init worked\n"); /* d */ if ( !(rp = Get_a_pointer_to_the_RastPort ( some , long , arguments ) ) || a <= 0 ) { printf ("Something failed\n"); return FAIL; } /* e */ a = printf ("My RastPort is %p, a=%d\n" , rp , a ); return OK; } </syntaxhighlight> Looks ugly, eh ? :-) Ok, here are the rules: <pre> If several lines contain similar code, put similar things below each other (see a and b); Put spaces between operands and operators Put braces {}, brackets [] and parentheses () below each other (d) if there is much code between. Brackets and parentheses may be in one line if the code between is small (c) Indent by 4 Spaces. Two indent levels may be abbreviated by one tab. </pre> '''Before committing please normalize the indentation - if you have a mixture of tabs and spaced - please always use spaces, 1 tab = 4 spaces.''' The reasons for this are: # While some editors can use an arbitrary sizes for tabs, it's a bit complicated to tell another editor which tab size was used by the one used to write the code. # Most code in AROS was written this way and your code should look like the rest. # You can print this code on any printer without special tools to "fix" the tabs. # Most editors have smart tabs which do exactly this. If your editor doesn't, write a bug report. If you have a function with many arguments (d, e) you should put the parentheses in lines of their own and each argument in one line (d) or put the first argument behind the opening parentheses (e) and each following argument in a line of its own with the comma in front. The closing parentheses is in a line of its own and aligned with the beginning of the expression (i.e. the a and not the opening parentheses or the printf()). Use a single blank line to separate logical blocks. Large comments should have a blank line before and after them, small comments should be put before the code they explain with only one blank line before them. If you see any TABS in AROS core sources then the suggestion is to "detab the file and commit that separately" either before or afterwards from making functionality changes. Make two commits instead of one. This makes it easier for others to see the real changes instead of having to dig through multiple lines of irrelevant diffs. ===Eliminating Global Variables=== i.e. pass variables to functions (local scope) or classes making it easier to track and debug your code. Any time you find that you need a particular thing in 'a lot of different places', chances are that all those places are conceptually related, and so you can create a class, a namespace, a function, or some other higher-level organizational unit to represent that relationship. This makes the program easier to understand. Bad Designs * All variables are global. * There are no standalone functions, only sub-procedures which act on the global variables. * Every sub-procedure is at least 500 lines to several thousand * Every sub-procedure has more than one task to perform * Copy-paste is preferred to writing methods, AND subtle changes are made in the middle of the code Good Designs * structure program into functions (C or basic) - top-down procedural approach * put in class(es) (freepascal or C++) - the object is fixed and you use methods to access the object <pre>  class String_List  {  private:  list<string> m_List;  // member  public:  void read_strings() { /* read strings into m_List */ }  void print_strings() { /* write contents of m_List to stdout */ }  void sort_strings() { /* sort contents of m_List */ }  void sort_strings_reverse() { /* reverse-sort contents of m_List */ }  void unique_strings() { /* remove duplicate strings */ }  };  int main()  {  String_List myList;  // local  myList.read_strings();  myList.sort_strings();  myList.print_strings();  myList.sort_strings_reverse();  myList.print_strings();  myList.unique_strings();  myList.print_strings();  return 0;  } </pre> This way it is very easy to replace the list with new list for debugging purposes, or replacing the methods without replacing the list, when you want different results. You only have to replace the content of the local variables. So create the structure that matches your data (linked lists, trees, arrays, etc.) and what to do with them (sorting, searching, etc.) <pre> .h usually contain #define #include typedef enum struct extern screen and window definitions (data structures) .c should contains functions and algorithms </pre> One way to look at it is that menu headings act as the .c file and sub-menu headings as functions. When you start a project, you place a couple of declarations in the include file. As the project continues, you place more and more declarations in the include file, some of which refer to or contain previous declarations. Before you know it, you have a real mess on your hands. The majority of your source files have knowledge of the data structures and directly reference elements from the structures. Making changes in an environment where many data structures directly refer to other data structures becomes, at best, a headache. Consider what happens when you change a data structure. Use good variables names to help clarify code and only comment when you need to explain why a certain programming approach was made. You're Refactoring Legacy Code, you see a global, you want to get rid of it. How do you do this? Exactly what to do depends on how the global is used. The first step is to find all uses of the global throughout the code, and get a feel for what the significance of the variable is and how it relates to the rest of the program. Pay particular attention to the "lifetime" of the variable (when it gets initialized, when it is first used, when it is last used, how it gets cleaned up). Then, you will probably make the global a data member of a class (for OO languages), or you will write some get/set functions. Converting to the Singleton Pattern is common, but you may discover that it makes more sense for the data element to be a member of an existing singleton, or maybe even an instance variable. # Create a basic read method, either as a class or a global function. Replace all reads with the access method, but leave the variable defined as a global. # Review each of the writes to the method and extract action functions one at a time. Unless two operations are coded identically in the original code, extract each write access separately. # Change the variable scope from global to local. # Analyze similar action functions to determine if any can be merged, i.e., there are no functional differences in the results of the function, just differences in the implementation details. # Review the calls to the read method and see if a more complex functionality should be applied. Follow the approach for writes and unless implementations are identical, create separate access functions. # Analyze the access functions for duplication. As returning variables by "passing by value" are forgotten, so "passing by reference" is often used instead. The reference is a pointer to the variable so the value is remembered when returned. Alternatives * Hidden Globals * Singleton Pattern * Database or TupleSpace * Context Object * Dependency Injection * Stateful Procedures ==AROS/AmigaOS APIs and Docs== <pre> Library: - Private data structure - Many public access methods Device: - Private data structure - Two (BeginIO/AbortIO) access methods Resource: - Public data structure - *NO* access methods </pre> And, being Amiga OS-compatible, there are exceptions to all of these. ===System Libraries=== The [http://developers.aros.org/ AROS Guide To Libraries] can be used as a guide to individual commands and old Dev Docs are used in application programming. Amiga/Aros styles libraries are very different from windows and linux libs. Typical .so/dll libraries are foreign to most Amiga-like OS *[[Aros/Developer/Docs/Libraries/AROSC|arosc.library]] *[[Aros/Developer/Docs/Libraries/AmigaGuide|amigaguide.library]] *[[Aros/Developer/Docs/Libraries/ASL|asl.library]] *[[Aros/Developer/Docs/Libraries/Bullet|bullet.library]] *[[Aros/Developer/Docs/Libraries/BSDsocket|bsdsocket.library]] *[[Aros/Developer/Docs/Libraries/CAMD|camd.library]] *[[Aros/Developer/Docs/Libraries/Codesets|codesets.library]] *[[Aros/Developer/Docs/Libraries/CGFX|cybergraphics.library]] *[[Aros/Developer/Docs/Libraries/CGXVIDEO|cgxvideo.library]] *[[Aros/Developer/Docs/Libraries/Commodities|commodities.library]] *[[Aros/Developer/Docs/Libraries/DataTypes|datatypes.library]] *[[Aros/Developer/Docs/Libraries/DiskFont|diskfont.library]] *[[Aros/Developer/Docs/Libraries/DOS|dos.library]] *[[Aros/Developer/Docs/Libraries/Exec|exec.library]] *[[Aros/Developer/Docs/Libraries/Expansion|expansion.library]] *[[Aros/Developer/Docs/Libraries/FreeType2|freetype.library]] *[[Aros/Developer/Docs/Libraries/GadTools|gadtools.library]] *[[Aros/Developer/Docs/Libraries/Graphics|graphics.library]] *[[Aros/Developer/Docs/Libraries/Icon|icon.library]] *[[Aros/Developer/Docs/Libraries/Identify|identify.library]] *[[Aros/Developer/Docs/Libraries/IFFParse|iffparse.library]] *[[Aros/Developer/Docs/Libraries/Intuition|intuition.library]] *[[Aros/Developer/Docs/Libraries/Keymap|keymap.library]] *[[Aros/Developer/Docs/Libraries/Layers|layers.library]] *[[Aros/Developer/Docs/Libraries/Locale|locale.library]] *[[Aros/Developer/Docs/Libraries/LowLevel|lowlevel.library]] *[[Aros/Developer/Docs/Libraries/MathIEEESingBas|mathieeesingbas.library]] *[[Aros/Developer/Docs/Libraries/MathIEEEDoubBas|mathieeedoubbas.library]] *[[Aros/Developer/Docs/Libraries/MathIEEESingTrans|mathieeesingtrans.library]] *[[Aros/Developer/Docs/Libraries/MathIEEEDoubTrans|mathieeedoubtrans.library]] *[[Aros/Developer/Docs/Libraries/Mathtrans|mathtrans.library]] *[[Aros/Developer/Docs/Libraries/MUIMaster|muimaster.library]] *[[Aros/Developer/Docs/Libraries/Partition|partition.library]] *[[Aros/Developer/Docs/Libraries/PopUpMenu|popupmenu.library]] *[[Aros/Developer/Docs/Libraries/OOP|oop.library]] *[[Aros/Developer/Docs/Libraries/Regina|regina.library]] *[[Aros/Developer/Docs/Libraries/Reqtools|reqtools.library]] *[[Aros/Developer/Docs/Libraries/RexxSysLib|rexxsyslib.library]] *[[Aros/Developer/Docs/Libraries/ScreenNotify|screennotify.library]] *[[Aros/Developer/Docs/Libraries/TTEngine|ttengine.library]] *[[Aros/Developer/Docs/Libraries/Thread|thread.library]] *[[Aros/Developer/Docs/Libraries/Utility|utility.library]] *[[Aros/Developer/Docs/Libraries/Xadmaster|xadmaster.library]] *[[Aros/Developer/Docs/Libraries/Workbench|workbench.library]] *[https://github.com/aros-development-team/AROS/commit/c82e86b8480277998014cc327b56c7664023a52f ClassAct Reaction boopsi class] ===AROS Subsystems=== # [[Aros/Developer/Zune|Zune MUI compatible GUI]] # [[Aros/Developer/AROSAppPackages|AROS Application Packages]] # AHI Audio Drivers - [[Aros/Developer/AHIDrivers|Usage]]/[[Aros/Developer/AHIDriversDev|Development]] # AROSTCP Sana2 Network Interface Drivers - [[Aros/Developer/NICDrivers|Usage]]/[[Aros/Developer/NICDriversDev|Development]] # [[Aros/Developer/AmiSSL|AmiSSL]] # gfx.hidd/cybergraphics Video Drivers - [[Aros/Developer/GfxDrivers|Usage]]/[[Aros/Developer/GfxDriversDev|Development]] # IO Device Drivers - [[Aros/Developer/IODeviceDrivers|Usage]]/[[Aros/Developer/IODeviceDriversDev|Development]] # USB Device Drivers - [[Aros/Developer/USBDrivers|Usage]]/[[Aros/Developer/USBDriversDev|Development]] # PCI Device Drivers - [[Aros/Developer/PCIDrivers|Usage]]/[[Aros/Developer/PCIDriversDev|Development]] # [http://www.libsdl.org/ SDL] [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2013&pid=13333#post_13333 SDL2 coding usage], [https://github.com/search?q=repo%3Aaros-development-team%2Fcontrib%20SDL2&type=code SDL2 commits], [https://github.com/aros-development-team/contrib/commit/c62c3c425c35bac19dadc23be092b0b13a66c76c SDL3 initial commit], [] # [[w:Gallium3D|Gallium 3D]] [http://www.mesa3d.org/ openGL aka Mesa] - [[Aros/Developer/OpenGL|Usage]]/[[Aros/Developer/OpenGLDev|Development]] [http://www.swiftless.com/opengltuts.html Swfitless] # A small subset of GTK2 through [http://sourceforge.net/projects/gtk-mui/ MUI-GTK] # Cairo 2D Engine - [[Aros/Developer/Cairo|Usage]]/[[Aros/Developer/Cairo|Development]] # [[Aros/Developer/Scalos|Scalos desktop API and plugin modules]] # [[Aros/Developer/VHI|VHI video driver]] ====HIDDs==== *[[Aros/Developer/Docs/HIDD/HIDDClass|hiddclass.hidd]] *[[Aros/Developer/Docs/HIDD/Graphics|graphics.hidd]] *[[Aros/Developer/Docs/HIDD/VesaGfx|vesagfx.hidd]] *[[Aros/Developer/Docs/HIDD/ATI|radeon.hidd]] *[[Aros/Developer/Docs/HIDD/NVidia|nvidia.hidd]] *[[Aros/Developer/Docs/HIDD/Nouveau|nouveau.hidd]] *[[Aros/Developer/Docs/HIDD/Kbd|kbd.hidd]] *[[Aros/Developer/Docs/HIDD/Mouse|mouse.hidd]] *[[Aros/Developer/Docs/HIDD/i2c|i2c.hidd]] *[[Aros/Developer/Docs/HIDD/IRQ|irq.hidd (deprecated)]] *[[Aros/Developer/Docs/HIDD/PCI|pci.hidd]] *[[Aros/Developer/Docs/HIDD/PCIPC|pcipc.hidd]] *[[Aros/Developer/Docs/HIDD/Serial|serial.hidd]] *[[Aros/Developer/Docs/HIDD/Thunderbolt|thunderbolt.hidd]] https://github.com/aros-development-team/AROS/commit/4f02ea691799aff3a01f60cfa5f9182c82fc57a8 HIDD are used for device/peripheral low level hardware support drivers. The HIDD system is split up into a collection of classes with a strict inheritance hierarchy. A HIDD class implements a device driver for a single device or in rare cases a group of devices and provides an interface for other programs and devices to access. In order to maintain portability of interfaces across a wide range of hardware this interface will in general not present the raw interface to the underlying hardware. Instead it will present a generic interface that describes many different hardware implementations. This allows for the best reuse of both interfaces and code. HIDD API is heavyweight though. You need to open a HIDD library, open oop.library, instantiate an object (even if there's no object); and object calls are more costly compared to plain library calls. Basically your task is to implement a subclass of hidd.ata.bus for your hardware. just implementing the XXXATA__Hidd_ATABus__xxxxxx methods for the Amiga chipset - and appropriate versions of the interface_xxx.c file(s). pretty much everything in probe.c could be ignored - just write a replacement scan for relevant amiga devices and store whatever info you need in the bus data? only the "SUPPORT_LEGACY" blocks might be related. You do not need to depend on PCI API. PCI is just a way to discover the hardware on PCs, etc. <hidd/pci.h> includes (at some depth) <interface/HW.h>, which defines IID_HW. This comes from the 'generic' HIDD class in: rom/hidds/hidd/hiddclass.conf did not split up HIDD and HW because they are always used in pair. It's the same as hidd/pci.h bringing definition for: PCI, PCIDriver and PCIDevice. PCI is actually PCIHW, just the name was not changed for backwards compatibility reasons. HW is a 'hub' where HIDD instances plug in. ATA HIDD aoHidd_ATABus_Use32Bit value is completely ignored unless ata.device first detects correct command line parameter. Yes. Unfortunately I was unable to find any comment in code or svn history with explanations. Looked at Linux source, there 32-bit PIO is also controller driver's property. Some of them enable it, some don't. Actually, switching the default to ON should be safe. ata.device is fail-safe at this because during IDENTIFY command it validates upper 16 bits, and if they appear to be zeroes in all 128 longwords, then 32-bit mode is switched off. But, nevertheless, I know how tricky hardware can be, so I decided not to change original behavior. If you think it's wrong in some cases, then it's possible to add one more attribute like aHidd_ATABus_Default32Bit. If set to YES, then this means that 32-bit PIO is safe to use by default. ====Devices==== *[[Aros/Developer/Docs/Devices/ATA|ata.device]] *[[Aros/Developer/Docs/Devices/Console|console.device]] *[[Aros/Developer/Docs/Devices/Narrator|narrator.device]] *[[Aros/Developer/Docs/Devices/Printer|printer.device]] *[[Aros/Developer/Docs/Devices/Trackdisk|trackdisk.device]] *[[Aros/Developer/Docs/Devices/AmberRAM|amberram.device]] *[[Aros/Developer/Docs/Devices/Timer|timer.device]] *[[Aros/Developer/Docs/Devices/|.device]] The Amiga used [[Aros/Developer/Docs/Devices|Devices]] to communicate with [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=3475&viewmode=flat&order=ASC additional hardware]. AROS has replaced these hardware devices with hidd equivalents but some are still retained for backwards compatibility. Local libraries/devices/handlers,etc. are supposed to override the ones in ROM if their version is higher than the one in ROM. Here is the list of commands exec default: {| class="wikitable" | CMD_CLEAR | Purge the buffer of the device |---- | CMD_READ | Playback Control |---- | CMD_STOP | Stopped the activity of the device |---- | CMD_FLUSH | Empty the queue of commands |---- | CMD_RESET | Reset a device |---- | CMD_WRITE | Playback Control |---- | CMD_INVALID | Create an error |---- | CMD_UPDATE | Gets updated device |---- | CMD_START | Will restart the device |---- |} While most other "stuff you communicate with" in AmigaOS are devices <ref>AMIGA ROM Kernel Reference Manual: Devices, 3rd Edition. Commodore-Amiga, Inc. Addison-Wesley, 1991. {{ISBN|0-201-56775-X}}</ref> that share a [http://gega.homelinux.net/AmigaDevDocs/ common base interface]. [[Aros/Developer/Docs/Devices1.3|OS 1.3 Device Drivers]]. ====Handlers==== :[[Aros/Developer/Docs/Handlers/Pipe|pipe.handler]] :[[Aros/Developer/Docs/Handlers/Port|port.handler]] :[[Aros/Developer/Docs/Handlers/SFS|sfs.handler]] :[[Aros/Developer/Docs/Handlers/FAT|fat.handler]] :[[Aros/Developer/Docs/Handlers/PFS|pfs.handler]] :[[Aros/Developer/Docs/Handlers/NTFS|fuse.handler]] :[[Aros/Developer/Docs/Handlers/FFS|ffs.handler]] filesystem handlers have their own separate system consisting of completely differently structured messages that dos.library use to pass requests (for things like reading, writing, getting directory contents etc.) to them. AROS originally went with implementing filesystem handlers as devices, which might arguably be more consistent with the rest of the AmigaOS API but which is quite incompatible with AmigaOS itself. However, it made it far harder to port filesystems and the gains were comparatively small, and so there's been a long standing goal of fixing this incompatibility. It has now, June 2011, been reintroduced to all AROS flavors. are argstr and argsize valid for the handler startup environment? DOS/RunHandler() calls DOS/CreateNewProcTags(), and then CallEntry() (in rom/dos/exit.c) to start the handler, so yes, argstr and argsize are *present* in the call signature of the handler. Granted, argstr will be NULL and argsize 0, but those values *are* passed to the handler function using: <pre> AROS_UFC3(ULONG, entry, AROS_UFCA(STRPTR, argptr, A0), AROS_UFCA(ULONG, argsize, D0), AROS_UFCA(struct ExecBase *, SysBase, A6)); </pre> Creating your own [without the whole build tree http://pagesperso-orange.fr/franck.charlet/temp/radeon.zip] and then <pre> make stub make make install </pre> SFS has two Root blocks, one at the start and one at the end of the disk. The Root blocks both contain the same information. They hold various information about the disk structure and have the locations of some important blocks used by the filesystem. The Root ObjectContainer contains the Root directory Object. The name of this Object is the name of the volume. It is identical to a normal directory Object. The Bitmap is used to keep track of free space. Each bit in a bitmap represents a single block. A set bit indicates a free block and a cleared bit a used block. AdminSpaceContainers are used to keep track of space which has been reserved for storing administration blocks. Only the Bitmap, the Root blocks and the actual data stored in files aren't stored in administration space. Administration space is allocated in chunks of 32 blocks at a time. A single AdminSpaceContainer can hold information about a large number of such areas each of which has its own little bitmap of 32 bits. Extents are stored in a B-Tree. The Root block holds a pointer to the root of the Extent B-Tree. Extents keep track of space in use by a specific file. Each fragment a file consists of has its own Extent. Extents are in a double linked list. The list can be used to locate the next or previous fragment of a file. Below is the standard block header. This header is found before EVERY type of block used in the filesystem, except data blocks. The id field is used to check if the block is of the correct type when it is being referred to using a BLCK pointer. The checksum field is the SUM of all LONGs in a block plus one, and then negated. When applying a checksum the checksum field itself should be set to zero. The checking a checksum the checksum is okay if the result of the checksum equals zero. The ownblock BLCK pointer points to the block itself. This field is an extra safety check to ensure we are using a valid block. Field Type Description id ULONG The id field is used to identify the type of block we are dealing with. It is used to make sure that when referencing a block we got a block of the correct type. The id consist of 4 bytes and each blocktype has its own unique foure letter code. checksum ULONG This field contains the sum of all longs in this block, plus one and then negated. The checksum can be used to check if the block hasn't been corrupted in any way. ownblock BLCK Points to itself, or in other words, this field contains the block number of this block. This is yet another way to check whether or not a block is valid. <pre> struct fsBlockHeader { ULONG id; ULONG checksum; BLCK ownblock; }; </pre> The algorithm to calculate the checksum of a block: <pre> ULONG calcchecksum(struct fsBlockHeader *block, LONG blocksize} { ULONG *data=(ULONG *)block; ULONG checksum=1; block->checksum=0; while(blocksize>0) { checksum+=*data++; blocksize-=4; } return(-checksum); } </pre> A Root block contains very important information about the structure of a SFS disk. It has information on the location and size of the disk, the blocksize used, locations of various important blocks, version information and some filesystem specific settings. A SFS disk has two Root blocks; one located at the start of the partition and one at the end. On startup the filesystem will check both Roots to see if it is a valid SFS disk. If either one is missing SFS can still continue (although at the moment it won't). A Root block could be missing on purpose. For example, if you extend the partition at the end (adding a few MB's) then SFS can detect this with the information stored in the Root block located at the beginning (since only the end-offset has changed). Same goes for the other way around, as long as you don't change start and end point at the same time. When a Root block is missing because the partition has been made a bit larger, then SFS will in the future be able to resize itself without re-formatting the disk. Field Type Description bheader struct fsBlockHeader Standard block header. version UWORD The version of the filesystem block structure. You can check this field to identify what version of the filesystem your dealing with it and to see if you can handle this structure correctly. Don't try to interpret the disk's structure when this field contains an unknown version number! sequencenumber UWORD Used to identify which Root block was written last in case the sequencenumber on both Root blocks don't match. datecreated ULONG Creation date of this volume. This is the date when the disk was last formatted and will never be changed. bits UBYTE Various settings, see below. <pre> pad1 UBYTE Reserved, leave zero. pad2 UWORD Reserved, leave zero. reserved1 ULONG[2] Reserved, leave zero. firstbyteh ULONG High 32-bits of a 64-bit number. This is the first byte of our partition relative to the start of the disk. firstbyte ULONG Low 32-bits of a 64-bit number. lastbyteh ULONG High 32-bits of a 64-bit number. This is the last byte (exclusive) of our partition relative to the start of the disk. lastbyte ULONG Low 32-bits of a 64-bit number. totalblocks ULONG The total number of blocks this partition consists of. blocksize ULONG The size of a block of this partition. reserved2 ULONG[2] Reserved, leave zero. reserved3 ULONG[8] Reserved, leave zero. bitmapbase BLCK Block number of the start of the Bitmap. adminspacecontainer BLCK Block number of the first AdminSpaceContainer. rootobjectcontainer BLCK Block number of the ObjectContainer which contains the root of the disk (this is where the volume name is stored). extentbnoderoot BLCK Block number of the root of the Extent B-Tree. reserved4 ULONG[4] Reserved, leave zero. </pre> <pre> struct fsRootBlock { struct fsBlockHeader bheader; UWORD version; UWORD sequencenumber; ULONG datecreated; UBYTE bits; UBYTE pad1; UWORD pad2; ULONG reserved1[2]; ULONG firstbyteh; ULONG firstbyte; ULONG lastbyteh; ULONG lastbyte; BLCK totalblocks; ULONG blocksize; ULONG reserved2[2]; ULONG reserved3[8]; BLCK bitmapbase; BLCK adminspacecontainer; BLCK rootobjectcontainer; BLCK extentbnoderoot; ULONG reserved4[4]; }; </pre> AdminSpaceContainers are used to store the location and bitmap of each administration space. The AdminSpaceContainers are located in a double linked list and they contain an array of fsAdminSpace structures. There is one fsAdminSpace structure for every administration space on disk. Field Type Description bheader struct fsBlockHeader Standard block header. next BLCK The next AdminSpaceContainer, or zero if it is the last in the chain. previous BLCK The previous AdminSpaceContainer, or zero if it is the first AdminSpaceContainer. bits UBYTE The number of bits in each in the bits ULONG in the fsAdminSpace structure. pad1 UBYTE Reserved, leave zero. pad2 UWORD Reserved, leave zero. adminspace struct fsAdminSpace An array of fsAdminSpace structures. The size of the array is determined by the current blocksize. <pre> struct fsAdminSpaceContainer { struct fsBlockHeader bheader; BLCK next; BLCK previous; UBYTE bits; UBYTE pad1; UWORD pad2; struct fsAdminSpace adminspace[0]; }; </pre> Field Type Description space BLCK The first block of an administration space. bits ULONG A small bitmap which is used to determine which blocks in an administration space are already in use. The number of bits in this bitmap is determined by the bits field in the AdminSpaceContainer. <pre> struct fsAdminSpace { BLCK space; ULONG bits; }; </pre> The fsBitmap structure is used for Bitmap blocks. A bitmap block is used to keep track of which space is in use and which isn't for a particular area of a disk. All bitmap blocks together keep track of the free space for an entire disk. The location of the first bitmap block is known and all other bitmap blocks are stored in order after the first one. Field Type Description bheader struct fsBlockHeader Standard block header. bitmap ULONG An array of ULONG's. These hold the actual information on which blocks are in use and which aren't. <pre> struct fsBitmap { struct fsBlockHeader bheader; ULONG bitmap[0]; }; </pre> Each bit in a bitmap block (except for the block header) represents a single block. If the bit is set than the block is free, and if the bit is clear then it is full. The first ULONG in the bitmap area of the first bitmap block represents blocks 0 through 31 on the disk. Bit 31 of this ULONG is block 0, 30 is block 1, and so on. Bit 0 of the first ULONG represents block 31. Below is a table to clarify how bitmaps work even further. The first column is the bitmap block number, the second column is the number of the ULONG in the bitmap array. The third column is the bit number in this ULONG, and the last column is the block which this specific bit, in this specific bitmap block represents. We'll assume here that a bitmap block has room for 120 ULONG's (meaning there is room for storing 32 * 120 bits). <pre> Bitmap block ULONG number Bit number Block represented 1 (first) 0 31 0 1 0 30 1 ... ... ... ... 1 0 1 30 1 0 0 31 1 1 31 32 ... ... ... ... 1 2 31 64 1 2 30 65 ... ... ... ... 1 119 0 3839 2 0 31 3840 2 0 30 3841 ... ... ... ... </pre> The last bitmap block doesn't need to be completely used. The unused bits (which belong to blocks which do not exist) all have to be clear, to indicate that these blocks are in use. The fsObjectContainer structure is used to hold a variable number of fsObjects structures (Objects) which have the same parent directory. Each ObjectContainer must contain at least one Object. If there is space in the ObjectContainer not used by the variable number of Objects then that space is zero filled. Objects always start at 2-byte boundaries, which means sometimes a padding byte is inserted between two Objects. Field Type Description bheader struct fsBlockHeader Standard block header. parent NODE The node number of the parent Object, or 0 if this object has no parent (which is only the case for the Root directory). next BLCK The next ObjectContainer belonging to this directory, or zero if it is the last in the chain. previous BLCK The previous ObjectContainer belonging to this directory, or zero if it is the first ObjectContainer in this directory. object struct fsObject A variable number of fsObject structures. The number of structures depends on the individual sizes of each fsObject structure and the blocksize. These structures are located directly after each other with at most 1 byte of padding between them to get the structures aligned on a 2 byte boundary. <pre> struct fsObjectContainer { struct fsBlockHeader bheader; NODE parent; BLCK next; BLCK previous; struct fsObject object[0]; }; </pre> fsHashTable is the structure of a HashTable block. It functions much like the hash table found in FFS user directory blocks, except that it is stored in a separate block. This block contains a number of hash-chains (about 120 for a 512 byte block). Each hash-chain is a chain of Nodes. Each Node has a pointer to an Object and a pointer to the next entry in the hash-chain. Using such a hash-chain you can locate an object quickly by only knowing its name. Field Type Description bheader struct fsBlockHeader Standard block header. parent NODE The node number of the directory Object this HashTable block belongs to. hashentry NODE An array of Nodes. Each Node represents the start of a hash-chain (singly linked). A hash-value is calculated using the name of a file or directory, and this value determines in which chain the Object is linked. If there are no entries in a hash-chain then the hashentry value is zero. <pre> struct fsHashTable { struct fsBlockHeader bheader; NODE parent; NODE hashentry[0]; }; </pre> To calculate the hash-value using a name of an Object as input use these routines: <pre> UWORD calchash(UBYTE *name) { UWORD hash=0; /* Calculates a hash value over the passed in string. The end of the string can be either a NUL byte or a slash. The hash function is the same as the one used in FastFileSystem set to international mode. */ while(name[hash]!=0 && name[hash]!='/') { hash++; } while(*name!=0 && *name!='/') { hash=hash*13+upperchar(*name++); } return((UWORD)(hash % (UWORD)((blocksize-sizeof(struct fsHashTable))>>2))); } UBYTE upperchar(UBYTE c) { if((c>=224 && c<=254 && c!=247) || (c>='a' && c<='z')) { c-=32; } return(c); } </pre> The BNodeContainer is used to store B-Trees. Currently only one B-Tree is in use by this filesystem and it is used to store the location of file data. The fsBNodeContainer structure contains two other structures. The fsBlockHeader structure and the BTreeContainer structure. Field Type Description bheader struct fsBlockHeader Standard block header. btc struct BTreeContainer Contains information about the B-Tree and its nodes contained in this block. <pre> struct fsBNodeContainer { struct fsBlockHeader bheader; struct BTreeContainer btc; }; </pre> First try and locate the Root block. It should start with "ROOT". SFS has two of these, one at the start of the partition and one at the end. One of the fields contains the block size, which will be the size of all important SFS blocks. The root block has the root object container, which contains information about files and directories in the root directory. The object containers basically hold one or more smaller structures that represent files and directories. Scanning them all should give you a list of files and directories. The root block also has the root of the Extent B-Tree. This is a standard B-Tree structure (not a binary tree) that is used commonly in all kinds of system, you can read about how they work on Wikipedia if needed. The B-Tree holds the information about *where* all the data is located for your files. To recover your files, I'd do this: * Find one of the root blocks, if not present, then figure out the block size your disk was using, and scan every block in turn to see if it looks like an ObjectContainer (check the fsBlockHeader's ID, check if the ownblock number is equal to the block you are currently scanning, and check its checksum). So if you currently have block 12, and you see a block with the correct id, and ownblock = 12 and its checksum is good, then that's probably a valid ObjectContainer. * With all the ObjectContainers found, you can extract filenames and directory names from these, but also the number of their first data block (in the field data) and the file size. For small files (less than blocksize) this data block will be enough to recover the data. For larger files, you might be lucky and all the remaining blocks are found after the first one (if the file was defragmented). You can't be sure of that though so... * For larger files, you need to find all the BNodeContainers. You could scan these in the same way you found all the ObjectContainers (look for blocks with the correct id, ownblock number and checksum). * With all the BNodeContainers found, you can try looking up the first data block of a file in the B-Tree structure. This is a bit complicated -- the B-Tree consists of non-leaf nodes (blocks that only contain pointers to other B-Tree blocks), the isLeaf flag indicates this. Or it can be a B-Tree leaf block. The leaf blocks contain extra information per entry (see https://hjohn.home.xs4all.nl/SFS/extents.htm) <pre> struct fsExtentBNode { ULONG key; ULONG next; ULONG prev; UWORD blocks; }; </pre> The key should be a block of a file (the first of a range), that is 1 to 65535 block long (depending the "blocks" field). If the file is split up into more parts, then "next" will contain block number of the next range of blocks. You need to look this up again in the B-Tree structure to find out how large it is. You can for the most part ignore the other structures (bitmap, admin containers). The fsObjects and B-tree containers is what you'll need to recover the data. ====Resources==== <pre> rom/storage/mmakefile.src rom/storage/storage.conf rom/storage/storage_device.c rom/storage/storage_ids.c rom/storage/storage_init.c rom/storage/storage_intern.h rom/storage/storage_mount.c rom/storage/storage_unit.c </pre> <pre> rom/storage/includes/device.h rom/storage/includes/unit.h rom/storage/includes/volume.h rom/storage/storage_intern.h </pre> <pre> </pre> *[[Aros/Developer/Docs/Resources/ACPI|acpi.resource]] *[[Aros/Developer/Docs/Resources/Battclock|battclock.resource]] *[[Aros/Developer/Docs/Resources/Bootloader|bootloader.resource]] *[[Aros/Developer/Docs/Resources/Cia|cia.resource]] *[[Aros/Developer/Docs/Resources/Filesystem|FileSystem.resource]] *[[Aros/Developer/Docs/Resources/Hostlib|hostlib.resource]] *[[Aros/Developer/Docs/Resources/Kernel|kernel.resource]] *[[Aros/Developer/Docs/Resources/Misc|misc.resource]] *[[Aros/Developer/Docs/Resources/Processor|processor.resource]] ==Debugging Code== Please use the [http://sourceforge.net/tracker/?group_id=43586&atid=439463 AROS Bug Tracker] if any issues are found. GRUB Command line list <pre> sysdebug usbdebug - allows to see Poseidon's log in debug output </pre> How do I get debugging out of InitResident ? If running i386 hosted on linux sysdebug=initresident on command line. This way you can enable any of listed flags. sysdebug=all stands for "everything" Have an executable (crosscompiled C++ code) which has 6 MB size on disk, but after loading it in memory, 250 MB RAM is taken. Any software that would split AROS executable into ELF part which would show actual size values? readelf -S executable it will show you all sections in elf file, including sizes and requested alignment. objdump -h filename That's will give you a quick overview of the sections and sizes. Ignore all the .debug.* sections. Would hazard a guess that you have a large .bss section. That's pretty common in C++. Next step: nm—size-sort filename | grep ' [bB] ' The last few will be your biggest consumers. Would suggest -C to demangle the symbols... ;) Suggest profiling the program (just use some printf's in the main loop for time spent in each part), it usually is quite easy to spot slow parts in games or apps. If someone has '#define IPTR ULONG' somewhere. To see where that define is, redefine IPTR in the source code that fails, just above the line that fails, and the preprocessor will tell you where it was defined first. ===How to setup gdb with AROS/hosted=== Download AROS sources (AROS-xxxxxxxx-source.tar.bz2, where xxxxxxxx is the current date) and AROS contrib sources (AROS-xxxxxxxx-contrib-source) from Untar-bzip2 and cd to the unpacked archive directory. > tar -xvjf AROS-xxxxxxxx-source.tar.bz2 > cd AROS-xxxxxxxx-source Check the link to "contrib" (contrib-source) inside directory, e.g. correct like this: > rm contrib > ln -s ../AROS-xxxxxxxx-contrib-source.tar.bz2 contrib Make sure you have the correct locale setting, otherwise compilation will fail at some point. See [http://aros.sourceforge.net/documentation/developers/compiling.php#setting-the-locale-to-iso8859 here] (or link below) for more on that. You might have to enter this: > export LANG="en_US.ISO-8859-1" Now configure for a debug build - see "./configure --help" for more - here are two examples: > ./configure—enable-debug=stack,modules,symbols > ./configure—enable-debug=all You may "make" now, or choose a separate directory for your build (e.g. for easy removal), for example if compiling for i386 architecture you could create a directory like this: > mkdir linux-i386 > cd linux-i386 > ../AROS/configure—enable-debug=stack,symbols,modules When done configuring you're ready to go: > make Building AROS takes some time - minutes on fast machines (e.g. 2.5&nbsp;GHz quadcore), up to hours on slower machines. The result will be AROS Linux hosted with gdb debugging enabled. See aros.org documentation for more on compiling AROS, including more [http://aros.sourceforge.net/documentation/developers/compiling.php --enable-debug] options. When finished, enter bin/linux-i386/AROS directory (replace "linux-i386" with your compilation target platform, e.g. linux-x86_64, etc.) inside the unpacked archive directory. This directory contains the required .gdbinit file for properly running AROS inside gdb. > cd bin/linux-i386/AROS Run AROS (here: with 128MB of memory) from gdb: > gdb—args boot/aros-unix -m 128 or > gdb—args boot/arosboot -m 128 (gdb) r Watch the shell output - in case AROS complains about "LoadKeyCode2RawKeyTable: Loading "DEVS:Keymaps/X11/keycode2rawkey.table" failed!" you should also see some instructions on how to create a keymap table. (see link above "more on compiling", too.) Quit gdb, and try default keymap table: (gdb) q The program is running. Quit anyway (and kill it)? (y or n) y > cd ../../.. > make default-x11keymaptable Re-run AROS, as described above. Try e.g. RAros (= right windows key) + W to open a shell. If this doesn't work you have to create a keymap table yourself, quit gdb again, and make a new keytable: > make change-x11keymaptable A window will open. Watch the window's title bar, and follow the instructions. When done, re-run AROS. RAros + W should now open a shell. Next, compile your program with gdb support. When you start GDB is there a warning which says warning: File "<whatever>/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to ... If so start gdb with "-ix .gdbinit" <pre> Summary - In short: * build AROS with debugging support (i.e. ./configure --enable-debug=all) * build your application with debugging support (i.e. option -g) * run AROS in the GNU debugger (you may use the GUI frontend "ddd" which simplifies usage a bit) * start your application * use the commands "findaddr" and "add-symbol-file" as written in the debugging manual * if the debugger doesn't find the source code of your application use the "dir" command of the debugger. </pre> ===How to use gdb=== In AROS open a shell, then (in host shell) use CTRL-Z to go into gdb. Use "b Exec_CreatePool" (one of the functions used early on by startup code in programs) to add a breakpoint, then "cont" and gdb will interrupt somewhere early during startup of "program". Use "bt" to show backtrace and "loadseg" for "??" entries. One of them will be for "program". After that you can use "disassemble program". One thing you need to make sure is that .gdbinit you have in your build directory is the same as in source tree. It has been modified some time ago, but the build system does not refresh it - you need to copy it manually To recap, please read our debugging [http://aros.sourceforge.net/documentation/developers/debugging.php manual]: To detect segfaulting when loading, try... ./configure—enable-debug—with-optimization="-O2" Because crash or no crash may depend on optimization. For newer compilers maybe this helps... --with-optimization=-"-O2 -fno-strict-aliasing" One way to make crashes less random (more easily reproducible) is to activate the munging of free memory in rom/exec/freemem.c which is normally commented out: <pre> Index: freemem.c =================================================================== --- freemem.c (revision 34289) +++ freemem.c (working copy) @@ -154,11 +154,12 @@ * created with their TCB placed in the tc_MemEntry list. The workaround * is to avoid munging when FreeMem() is called with task switching disabled. */ + /* DOH! it doesn't work even this way. What's wrong??? - * - * if ((SysBase->TDNestCnt < 0) && (SysBase->IDNestCnt < 0)) - * MUNGE_BLOCK(memoryBlock, MEMFILL_FREE, byteSize); */ + + if ((SysBase->TDNestCnt < 0) && (SysBase->IDNestCnt < 0)) + MUNGE_BLOCK(memoryBlock, MEMFILL_FREE, byteSize); } </pre> Mungwall can be turned on at runtime. Currently this works in all hosted versions. Just specify "mungwall" on kernel command line and it works. It can work on native too. In order to enable it you need to parse kernel command line, and if "mungwall" is present, set EXECF_MungWall bit in IntExecBase.IntFlags. This needs to be done before the first AllocMem() for obvious reasons. And never reset back this flag! If you change it on a working system, you are doomed. Hosted ports do the processing in rom/exec/prepareexecbase.c --enable-debug=mungwall option in configure still works but is going obsolete. A kludge in rom/exec/allocmem.c is responsible for this and it needs to be removed when the transition is done. BTW, on i386-pc port it can be activated by "mungwall" argument on command line, you don't need to rebuild AROS. New mungwall affects not only AllocMem()/FreeMem(), but also pools. I also tested it with AllocAbs(), seems to work correctly. Runtime mungwall works on: * pc-i386 * pc-x86_64 * linux-i386 * linux-x86_64 * darwin-x86 * linux-ppc Works on all hosted ports, if the port itself is working. * amiga-m68k * Not on sam440-ppc and efika-chrp-ppc, even if they would be able to be built at moment. Does not work on (for now, need NVRAM support) When starting my freshly rebuilt i386-linux-aros which was compiled with full debugging support I get sometimes the error "Program exited with code 0377". Add the following to your .gdbinit: set follow-fork-mode child Here are some of the custom AROS gdb functions (defined in ".gdbinit" file) to resolve "in ?? ()" entries in backtrace: <pre> #0 0xb7ffd424 in __kernel_vsyscall () #1 0xb7e2a657 in sigsuspend () from /lib/libc.so.6 #2 0xb7c63900 in ?? () #3 0xb7c640e3 in ?? () #4 0xb7c641e0 in ?? () </pre> You can use loadseg 0xb7c63900 loadframe 2 or loadbt and some others. Use "help " for a little help text. If the commands do not work try "loadkick" first. Use "thistask", "taskready", "taskwait" to get list of AROS tasks. "bttask " shows backtrace of a task which is in ready or in wait queue and "loadseg" to resolve "??" entries in it's backtrace ("loadframe" would not work as it assume current running task). ===Native debugging tools for AROS=== to enable debugging at boot time entering the GRUB menu editing line (E key) and adding "debug=memory" to your boot line, then press Ctrl+X to complete booting. SYS:Tools/Debug/'''Bifteck''' Open a shell and enter the line below to run Biftek and grab the debug messages collected in RAM into a text file. tools/debug/bifteck > ram:debug.txt and certainly does not open a window. It is a shell tool and only dumps data located from the debug location. It is therefore important to 'catch' that debug data as soon as possible (before it gets overridden). You should invoke bifteck at the first opportunity before doing anything else. You can use the TO option to store bifteck output to a file or you can pipe it manually to a file. SYS:Tools/Debug/'''Sashimi''' - displays error messages One suggestion is to do a bug() debugging. Each time bug() is executed it will be output on sashimi. You include <aros/debug.h> and place bug("something\n"); in your source code at location though which control passes. To get the output - open an aros shell SYS:Tools/Debug/sashimi > RAM:out.txt '''Ctrl C''' to end the output to the RAM Disk. # open shell, and type # ram: (to switch to ram drive) # System:Tools/Debug/Sashimi > mylogfile.txt # open AHI prefs using wanderer (or use another opened shell) # play test sound # close AHI prefs # shell still open with Sashimi running: press ctrl-c to break Sashimi and return to prompt. # in shell: copy mylogfile.txt System: (or to your required location) SYS:Utilities/'''Snoopy''' - monitors OS function calls, run "Sashimi" to see Snoopy's output SYS:Tools/'''WiMP''' - the Window (and Screens) Manipulation Program You can use the -E option of gcc to find out how preprocessor macros are expanded. ===Errors=== crash in strcasecmp usually means that one of its arguments is NULL. empty space between these two names, prossibly some invisible character Old Amiga [http://www.amigacoding.com/index.php?title=Guru_codes&redirect=no Guru Codes] If the crash is in intuition. Sometimes, if it relates to text, a null pointer sets it off. an uninitialised pointer can have any address (this is a common fault). Compiling on 64bit, Many old code would not properly typecast when doing pointer-integer conversions and thus at least throw a warning. This can easily be located and fixed. [http://www.aros.org/cs/documentation/developers/app-dev/portable.php Portable code] * Use texteditor or some tool to replace all "ULONG" with "IPTR" and "LONG" with "SIPTR" in the sources. * Fix (change IPTR/SIPTR back to ULONG/LONG) the few places which really rely on ULONG/LONG being exactly 32 bit. That's for things like pixel (ARGB) buffers, structs written/read to disk, colormaps, but probably not much else. Then again, many current compilers also throw a warning when you try to assign a pointer value to an integer and the integer is possibly too small. This happens under .NET for example when a 64 bit pointer is assigned to something like an ULONG - so exactly the case which you described. === Example === <syntaxhighlight lang="c"> /* 1. Header for your name,date,purpose of program. 2. Pre-processor directives. This will include the #includes for files you want to add. 3. Includes for function prototypes if necessary. 4. Main() Create Pointers for Libraries and any Window you want to open. 5. Open necessary libraries. 6. Check if open exit program if fail. 7. Open a window exit program if fail. 8. Add your program 9. Close Window 10 Close Libraries. 11 End Program. */ /* standard os included headers <.h> */ #include <dos/dos.h> #include <dos/dosasl.h> #include <dos/dosextens.h> #include <dos/exall.h> #include <dos/rdargs.h> #include <exec/memory.h> #include <exec/types.h> #include <utility/utility.h> #include <intuition/intuition.h> /* define as unresolved external references (proto/xxx.h) and compiler will link to auto(matically) open library */ #include <proto/arossupport.h> #include <proto/dos.h> #include <proto/exec.h> #include <proto/intuition.h> #include <proto/graphics.h> #include <proto/cybergraphics.h> #include <proto/datatypes.h> #include <proto/icon.h> #include <workbench/workbench.h> #include <workbench/icon.h> #include <datatypes/pictureclass.h> #include <proto/muimaster.h> #include <libraries/mui.h> #include proto/bsdsocket.h #include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> /* my own headers ".h" */ #define CTRL_C (SetSignal(0L,0L) & SIGBREAKF_CTRL_C) #define isDir(fib) ((fib)->fib_DirEntryType >= 0) #define ARG_TEMPLATE "FILE/A,ALL/S,QUIET/S,W=WIDTH/N,H=HEIGHT/N,M=METHOD,DEFTOOL" int main(void) { return retval; } /* main */ </syntaxhighlight> <syntaxhighlight lang="c"> </syntaxhighlight> If you used c++, there is not yet c++ support in our shared library system. The easiest way to create / compile a shared library would be to use the AROS build system but the libraries can be created manually. You have to create a ROMTAG structure and some header files. A shared library is built with the %build_module macro with a line like this: %build_module mmake=MetaTarget modname=mylib modtype=library files=SourceFiles This macro can build different AROS module types, like devices, Zune classes, HIDDs, etc. <pre> ##begin config version 1.0 ##end config ##begin functionlist void func1(LONG a, LONG b) int func2(char *s, ULONG a) ##end functionlist </pre> Alternatively, <pre> #ifndef LIB_H #define LIB_H #define __NOLIBBASE__ #include <exec/libraries.h> #include <exec/semaphores.h> #include <dos/dos.h> #ifdef __AROS__ //#include <aros/debug.h> #define reg(x) #define __saveds #endif #define USESYSBASE struct ExecBase *SysBase = Base->My_SysBase; struct MyTestBase { struct Library My_Test_Lib; struct ExecBase *My_SysBase; APTR My_SegList; int testint; }; #endif </pre> <pre> /*--------------------------------------------------------------------------*/ /* Resident header written for mytest.library */ /*--------------------------------------------------------------------------*/ #define __NOLIBBASE__ #define VERSION 1 #define REVISION 0 #define LIBHEADNAME mytest #define LIBHEADNAMESTR "mytest" #define COMPDATE "04.10.2015" #define VERS "1.0" #define LIBBASETYPE struct MyTestBase #define LIBBASETYPEPTR LIBBASETYPE * #include <aros/debug.h> #include <exec/exec.h> #include <proto/exec.h> #include <exec/resident.h> #include <exec/nodes.h> #include <exec/libraries.h> #include <aros/symbolsets.h> #include "lib.h" const UBYTE lib_name[] = LIBHEADNAMESTR ".library"; const UBYTE lib_id[] = "$VER: " LIBHEADNAMESTR ".library " VERS " (" COMPDATE ") by ALB42\n"; extern const APTR FuncTable[]; AROS_UFP3 (LIBBASETYPEPTR, InitLib, AROS_UFPA(LIBBASETYPEPTR, Base, D0), AROS_UFPA(BPTR, seglist, A0), AROS_UFPA(struct ExecBase *, sysbase, A6) ); static struct LibInitStruct { IPTR LibSize; const APTR *FuncTable; const struct DataTable *DataTable; APTR InitFunc; } const LibInitStruct = { sizeof(LIBBASETYPE), FuncTable, NULL, (APTR)InitLib }; const struct Resident romtag = { RTC_MATCHWORD, /* match word */ (APTR)&romtag, /* back pointer */ (APTR)(&romtag + 1), /* skip pointer */ RTF_AUTOINIT | RTF_EXTENDED,/* flags */ VERSION, /* version */ NT_LIBRARY, /* type of module */ 0, /* init priority */ (STRPTR)lib_name, /* module name */ (STRPTR)lib_id + 6, (APTR)&LibInitStruct, REVISION, NULL }; AROS_UFH3 (LIBBASETYPEPTR, InitLib, AROS_UFHA(LIBBASETYPEPTR, Base, D0), AROS_UFHA(BPTR, seglist, A0), AROS_UFHA(struct ExecBase *, sysbase, A6) ) { AROS_USERFUNC_INIT Base->My_SegList = seglist; Base->My_SysBase = (APTR)sysbase; Base->testint = 0; USESYSBASE bug("InitLib\n"); if (!set_open_libraries()) { set_close_libraries(); return NULL; } return Base; AROS_USERFUNC_EXIT } AROS_LH1(LIBBASETYPEPTR, LibOpen, AROS_LHA (ULONG, version, D0), LIBBASETYPEPTR, Base, 1, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibOpen\n"); (void)version; Base->My_Test_Lib.lib_OpenCnt++; return Base; AROS_LIBFUNC_EXIT } __saveds APTR LibExpungeInternal(LIBBASETYPE *Base reg(a6)) { USESYSBASE APTR seglist; bug("LibExpungeInternal\n"); if (Base->My_Test_Lib.lib_OpenCnt) { return 0; } seglist = Base->My_SegList; Forbid(); Remove((struct Node*)Base); Permit(); FreeMem((APTR)Base - Base->My_Test_Lib.lib_NegSize, (LONG)Base->My_Test_Lib.lib_PosSize + (LONG)Base->My_Test_Lib.lib_NegSize); set_close_libraries(); return seglist; } AROS_LH0(BPTR, LibClose, LIBBASETYPEPTR, Base, 2, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibClose\n"); if (!(--Base->My_Test_Lib.lib_OpenCnt)) { return LibExpungeInternal(Base); } return 0; AROS_LIBFUNC_EXIT } AROS_LH1(BPTR, LibExpunge, AROS_LHA(LIBBASETYPEPTR, Base, D0), struct ExecBase *, sysBase, 3, LIBHEADNAME ) { AROS_LIBFUNC_INIT (void)sysBase; USESYSBASE bug("LibExpunge\n"); return LibExpungeInternal(Base); AROS_LIBFUNC_EXIT } AROS_LH0(LIBBASETYPEPTR, LibReserved, LIBBASETYPEPTR, Base, 4, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibReserved\n"); return 0; //return (APTR)LibReserved(); AROS_LIBFUNC_EXIT } // Space for your own functions // do not forget to update the FuncTable as well AROS_LH1(int, TestFunction, AROS_LHA(int, TestValue, D0), LIBBASETYPEPTR, Base, 5, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("TestFunction\n"); Base->testint = TestValue + Base->testint; return Base->testint; AROS_LIBFUNC_EXIT } // Functable -> Table of all functions in the Library, in right order - important! const APTR FuncTable[] = { &AROS_SLIB_ENTRY(LibOpen,LIBHEADNAME,1), &AROS_SLIB_ENTRY(LibClose,LIBHEADNAME,2), &AROS_SLIB_ENTRY(LibExpunge,LIBHEADNAME,3), &AROS_SLIB_ENTRY(LibReserved,LIBHEADNAME,4), &AROS_SLIB_ENTRY(TestFunction,LIBHEADNAME,5), (void *)-1 }; // AutoInit stuff void *__PROGRAM_ENTRIES__symbol_set_handler_missing; void *__LIBS__symbol_set_handler_missing; // end of AutoInitStuff </pre> Makefile <pre> VPATH = CFLAGS = -O2 -g -fomit-frame-pointer -W -Wall -Wno-parentheses CC = i386-aros-gcc LD = i386-aros-gcc LDFLAGS = -nostartfiles -Wl,-Map -Xlinker linkermap LIBS = -lautoinit -llibinit STRIP = i386-aros-strip --strip-unneeded --remove-section .comment OBJS = lib_header.o all: mytest.library mytest.library: $(OBJS) $(LD) $(LDFLAGS) $^ $(LIBS) -o $@ lib_header.o: lib_header.c lib.h clean: rm -f *.o *.library *.ppu testlibrary linkermap </pre> Porting UNIX library to AROS - dealing with static variables which would make it easy to port such libraries to AROS, keeping the benefits of sharing them on disk, but losing the benefit of actually sharing them in memory. Our problem arises by the fact we want to share the actual code (the .text section of the library) and constant data, but we need to have per-task .bss and .data sections. If we get rid of our intention to share the .text and .rodata sections, things get quite easy: just load and relocate the library whenever it's open, by whoever it's open. It's like statically linking the library into the executable, except that the final linking is done at runtime. In the V0 branch, in workbench/hidds/hidd.nouveau was committed pcimock.hidd. This is a pci driver that allows mocking real PCI devices under linux-hosted. The main idea is to be able to run the real hardware driver under linux-hosted with as little changes as possible (some changes will always be needed though unless someone wants to write complete device simulator) so that driver's code paths can be executed and debugged using gdb. This was a very helpful capability when porting nouveau. Now it is externalized from nouveau.hidd and can be used by other people porting drivers. The pcimock.hidd can currently mock 4 different nvidia cards, 1 AGP bridge and also mock irq.hidd. What's the difference between this driver and the pcilinux.hidd? I used that one to develop many different HW drivers for aros. As far as I understood the intention of pcilinux.hidd it is supposed to get access to real hardware that is running under linux. The pcimock.hidd goal is to mock the hardware. For example my dev box is a PCIE system, but I still would like to run the AGP codes paths in nouveau under linux-hosted to check if they don't seg fault. The other case would be to run codes paths for hardware that the developer does not have (Fermi cards in my case). In the case of pcimock.hidd, the AROS driver's code paths will execute as long as you add proper mocking (for example fill in PCI config area or values for registers in BARs). This is an advantage for ported drivers - the code should already work (since it worked on another system) but there might have been mistakes made during porting which can be detected easily with gdb. In case you are writing your driver from scratch, pcilinux.hidd hidd will give you more advantage, since you can actually access the real hardware from linux-hosted. == Misc == ===APL, MPL, BSD, GPL and LGPL Licences=== The majority of AROS sources in licensed under AROS Public License ([http://aros.sourceforge.net/license.html APL]) which (to a degree) protects us from someone taking AROS sources and not contributing improvements back (for example MorphOS took some AROS source and then contributed changes back) It is written to allow the use of AROS code in other open source or commercial projects without exception whilst providing a mechanism so that improvements/additions can find their way back to the original source in one form or another. There are "3rd" party applications used by AROS that do not fall under this license, which are an extra "Contrib" download for convenience. Anyone can port GPL-ed network and sound drivers as AROSTCP and AHI are GPLed. Direct using (porting) [http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs GPL]-ed code in other parts of AROS (gfx, sata, usb) is not possible because AROS license is not compatible with GPL. You need to utilize permissive licensed code like BSD or MIT/X11. BSD and MPL license are the closest to APL. APL however is not so compatible with LGPL/GPL. LGPL case - you cannot statically combine APL code with LGPL. You can, however thank to LGPL being "lesser" restrictive, use LGPL dynamically loaded libraries in APL codes. GPL case - you cannot combine APL code with GPL in any way if there is no explicit clause by GPLed code authors allowing that. If you do combine APL with GPL in "bad" ways described above - you have a problem (you violate GPL). This problem might result in everything in AROS becoming GPL or everything running or AROS becoming GPL (here I'm not sure really). The other scenario is that you are not allowed to legally distribute such code at all. To be honest I have grasped how to violate GPL, but I'm still no exactly sure what happens when you violate it (but I'm sure it's not anything nice) GPL software can run on top of non-GPL "system components" (see system components exception of GPL), but the other way around (non-GPL using GPL) leads to problems. This means applications like scout, or Quake III are ok (in the majority of cases). Theres no reason GPL drivers cannot be ported - but they cant be in AROS's ROM (requires linking APL code with GPL), nor can AROS depend on them (e.g. they must use existing apis). If they are launched (dynamically linked) by a user action that is allowed. It is also allowed to distribute such binaries together for convenience. GPL is not about statical or dynamic linking but is about executing process and function calls. These components - SFS, isapnp, Zune texteditor, AHi, network drivers, freetype, openuirl, BHFormat, Edit and (" dynamically loaded libraries") are LGPL, not GPL. Mesa/Nouveau stuff is MIT. Some user tools are GPL though. '''AROS (system)''' * system components (libraries/classes/devices/etc) cannot be GPL as they would propagate GPL to complete system as well as GPL is not compatible with MPL from which APL is based * system components can be LGPL v2 or a permissive license (MIT/BSD) * system applications can be anything you like (but still I would prefer APL or permissive so the code can be reused if needed) '''Contrib:''' * no rules - contrib does not impact AROS system since nothing in AROS system depends on contrib. About stealing code: The chances of this happening is exactly the same whether we are APL or GPL. If any closed-source option wanted to do it, there is no one that can validate otherwise. MorphOS has used some AROS codes, but contributed changes back. The rationale behind APL is that while it guarantees that the original developer will get the improvements back (to a certain degree - file based), the person who uses the codes does not have to open his original codes. BSD does not guarantee that the original developer gets improvements. GPL requires the person using the codes to open his codes as well. The copyright holders needs to stay - we just need information from them that the codes are available under APL (for example a checked-in file like in case of Poseidon). We don't do transfer of copyrights. ; Ultimately what can and cannot be done is up to the author(s) - not the licence. ===AROS source code tree=== * http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-trunk.txt * http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-contrib.txt Found this interesting (non-GPL) licensing 'anomaly' - to keep in mind for distributors. Programs that lose their license if sold ("non-profit only" licensed): contrib/aminet/comm/term/TinyTerminal contrib/aminet/dev/basic/bwBASIC contrib/aminet/text/edit/xdme contrib/fish/aroach contrib/fish/lotto contrib/fish/shuffle contrib/fish/touch + cdvdfs. Here is a list of all the GPL/GPLv2/GPLv3 licenses fossology found, what have explicit licenses in their comments. excluded LGPL, BSD/GPL dual licensed and programs (such as Prefs/Edit and BHFormat) <pre> AROS/rom/dbus/include/ AFL_v2.1 ,GPL_v2+ (supposedly AFL < 3 is GPL incompatible) AROS/workbench/classes/zune/betterstring/include/ GPL_v2+ AROS/workbench/classes/zune/texteditor/include/ GPL_v2+ AROS/workbench/classes/datatypes/gemimage/ GPL_v2+ GPL AROS/workbench/classes/datatypes/degas/ GPL_v2+ AROS/workbench/libs/openurl/README: GPL AROS/workbench/network/smbfs/documentation/ GPL_v2 AROS/workbench/network/smbfs/source_code/ GPL_v2+ AROS/workbench/network/stacks/AROSTCP/bsdsocket/kern/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/mmakefile.src conf.h GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/sys/ CMU ,GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/net/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/api/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/conf/conf.h: GPL_v2 AROS/workbench/network/stacks/AROSTCP/netinclude/net/radix.h: CMU ,GPL_v2 AROS/workbench/devs/AHI/AHI/ GPL_v2+ AROS/workbench/devs/AHI/AddAudioModes/ GPL_v2+ AROS/workbench/devs/AHI/AddAudioModes/COPYING: GPL AROS/workbench/devs/AHI/Docs/texinfo.tex: GPL_v2+ AROS/workbench/devs/AHI/COPYING: GPL AROS/workbench/devs/AHI/Drivers/EMU10kx/ GPL_v2+ AROS/workbench/devs/AHI/AHI-Handler/ GPL_v2+ AROS/workbench/devs/networks/rtl8029/ GPL GPL_v2+ AROS/workbench/devs/networks/pcnet32/ GPL GPL_v2+ AROS/workbench/devs/networks/ppp/LEGAL: GPL AROS/workbench/devs/networks/atheros5000/ GPL_v2+ AROS/workbench/devs/networks/rhine/ GPL_v2+ AROS/workbench/devs/networks/nForce/ GPL_v2+ GPL AROS/workbench/devs/networks/prism2/ GPL GPL_v2+ AROS/workbench/devs/networks/fec/LEGAL: GPL AROS/workbench/devs/networks/rtl8139/ GPL GPL_v2+ AROS/workbench/devs/networks/etherlink3/ GPL GPL_v2+ AROS/workbench/devs/networks/intelpro100/ GPL GPL_v2+ AROS/workbench/devs/networks/rtl8169/ GPL GPL_v2+ AROS/workbench/devs/networks/emac/ GPL GPL_v2+ AROS/workbench/devs/networks/rtl8168/ GPL GPL_v2+ AROS/workbench/devs/networks/realtek8180/ GPL_v2+ AROS/workbench/devs/networks/via-rhine/via-rhine.c: GPL_v2+ AROS/workbench/devs/networks/via-rhine/ GPL GPL_v2+ AROS/workbench/devs/networks/e1000/ GPL_v2 AROS/workbench/devs/networks/sis900/ GPL GPL_v2+ </pre> AHI: it has special provisions (COPYING.DRIVERS). The library is LGPL, preferences software is GPL and drivers can be anything without breaking GPL/LGPL. Network stack: well, we are long overdue for a new, IPv6 enabled network stack anyway, anyone interested? ;) Seriously though it seems like the glue code is GPL and as all the drivers. However some of the drivers are our own code, so they could be relicensed to LGPL. Same filter as the AROS trunk list. These should all be libraries or plugins - no programs. <pre> contrib/regina/utsname.h: GPL_v2+ contrib/mui/classes/nlist/include/default-align.h: GPL_v2+ contrib/mui/classes/nlist/include/amiga-align.h: GPL_v2+ contrib/mui/classes/BWins/include/MUI/BWin_mcc.h: GPL contrib/mui/classes/BWins/include/BWin_private_mcc.h: GPL contrib/mui/classes/BWins/COPYING: GPL_v2 contrib/mui/classes/BWins/MCC_BWins.readme: GPL_v2 contrib/mui/classes/thebar/include/default-align.h: GPL_v2+ contrib/mui/classes/thebar/include/amiga-align.h: GPL_v2+ contrib/gfx/libs/wazp3d/LEGAL: GPL contrib/gfx/libs/wazp3d/Wazp3D.readme: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d.c: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d_opengl.h: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d_opengl.c: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/Wazp3D.h: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/Wazp3D.c: GPL contrib/libs/mpega/ GPL_v2+ </pre> http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-contrib.txt ===Types=== On AROS following rules apply: <pre> 1. BYTE/UBYTE is 8bit, WORD/UWORD is 16bit, LONG/ULONG is 32bit, QUAD/UQUAD is 64bit, the types are comparable with stdint types (int8_t, int16_t, int32_t, int64_t) 2. IPTR/SIPTR are integer types large enough to fit pointer, that is sizeof(IPTR) = sizeof(APTR) = 4 on 32bit system, and = 8 on 64bit system 3. ti_Data in TagList is large enough to hold a IPTR/APTR type. 4. never store a pointer in integer of type LONG. It may work (if the pointer has upper 32bits clear), but does not have to. Compiler should warn you about that. 5. If you are unsure about point 4, allocate your memory with MEMF_31BIT flag set. But don't expect that AROS internals will do the same. </pre> point 4 is actually important. * UBYTE/BYTE for 8bit * UWORD/WORD for 16bit * ULONG/LONG for 32bit * UQUAD/QUAD for 64bit <pre> UBYTE Unsigned 8 bit integer variable (byte). BYTE Signed 8 bit integer variable (byte). UWORD Unsigned 16 bit integer variable (word). WORD Signed 16 bit integer variable (word). ULONG Unsigned 32 bit integer variable (longword). LONG Signed 32 bit integer variable (longword). FLOAT 32 bit IEEE floating point variable. UQUAD Unsigned 64 bit integer variable. QUAD Signed 64 bit integer variable. DOUBLE 64bit IEEE floating point variable. BOOL Boolean variable, TRUE and FALSE are also defined in exec/types.h. VOID Void. APTR A generic pointer for multiple purposes - Arrays. STRPTR A pointer to a null-terminated string. IPTR Really important in AROS, the only way to declare a field that can contain both: an integer or a pointer. </pre> if you want to write really portable app, you may be interested in standard datatypes defined in C99: int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, intptr_t, uintptr_t. They are all defined in inttypes.h include file. In exec/types.h the following short-cuts are typedef'd. They are used often in AROS, so you should nearly always include exec/types.h and soon only they will be removed from sys/_types.h include, all types are now defined in include files named aros/types/xxx.h. (Preparation for C library split; sys/xxx.h include will only be available there when compiling with POSIX C library) Compiler specific types, like int and long might change their size. In case of AROS, similar to linux, int remains 32 bit whereas long grows to 64 bits in size. If you use Amiga-like data types, i.e. BYTE/UBYTE, WORD/UWORD, LONG/ULONG and QUAD/UQUAD or the C99 standard types (uint8_t and so on, see stdint.h include) then you should have less issues to solve than by using types without size guarantee. Of course, all pointers grow to 64 bytes using 64bit cpu. Most of the code can be just recompiled and will work. In rare cases, where e.g. pointers are casted to integers, a special care must be taken. Especially in the cases, where pointer is casted to LONG/ULONG (this code will break on 64 bit AROS) e.g. '#define IPTR ULONG'. With compiler delint patches which the majority of them are simple casting issues to make the compiler happy. Notice some of the changes involve introducing double casts. In very recent versions of GCC. Yes, the bulk of the double casts are for converting 32 bit addresses (ie from a 32 bit PCI DMA address register) to a 64 bit pointer. First cast is to IPTR (to expand to 64 bits, and prevent sign extension if the address is above 0x7FFFFFFF), and then to APTR. ULONG != IPTR except on 32bit .. so if you need to store pointers make sure and use IPTR and not ULONG (which some old code does). For this reason things like Taglist elements are 64bit (since the tag data can be a pointer). If your passing items on the stack you should use the STACKED attribute to make sure they are correctly aligned (on 64bit all items on the stack are 64bit..) There is more issues like using "== 0L" causes problems. ===Endian=== *BE *LE Use the macros from <endian.h> instead making a guess based upon architecture defines <pre> #if _BYTE_ORDER == _BIG_ENDIAN #elif _BYTE_ORDER == _LITTLE_ENDIAN #else + #error <whatever.h> - Byte order for this architecture is unsupported! </pre> ===SVN and GIT=== If you want to help develop AROS OS itself, you can * view current GIT/SVN entries [http://aros.sourceforge.net/ Aros Org website] or [https://github.com/aros-development-team/AROS Github], [https://github.com/ezrec older ezrec mirror], [https://github.com/michalsc/AROS/ older mirror], [https://trac.aros.org/trac/timeline TRAC], [], * awaiting update [http://repo.or.cz/w/AROS.git git repo], [http://www.ohloh.net/p/aros/commits ohloh] or [https://svn.aros.org/svn/aros/trunk/ svn repo] and access [Git version git://repo.or.cz/AROS.git here], * deprecated [https://www.gitorious.org/aros/aros/commit/a7fda9e ARIX commits] or [https://gitorious.org/aros/aros GIT old] If you have SVN access (early 2015 introduced a new SVN server, create a new account at trac aros org) and/or have obtained the source [http://aros.sourceforge.net/download.php AROS site] - you can compile the current build tools/environment using: > make development and follow this [http://aros.sourceforge.net/documentation/developers/compiling.php#building procedure] or [https://github.com/apiraino/aros_guide Guide] https://trac.aros.org/trac#Developing If you plan on contributing back changes, please post information about such changes first on this [http://mail.aros.org/mailman/listinfo/aros-dev/ mailing list] for more experience developers can validate whether they are correct. Then there are the nightly build machines. They svn update before the build and run configure as one of the next steps. autoconf might be added to the nightly build scripts. Our build relies on packages downloaded from Internet (SDL for example) - it always worked this way. The minimal requirement (when just building core AROS) is binutils and gcc. If you build contrib as well, you need many more packages to be downloaded. https://gitorious.org/aros/aros/commits/crosstools-II git://gitorious.org/aros/aros.git Branch crosstools-II there is only one commit on top of ABI_V1 <pre> ../../aros-src/AROS/configure --enable-ccache --with-portssources=~/aros/Sources --target=pc-x86_64 --with-aros-toolchain-install=/home/weissms/media/data/aros/test/crosstools/pc-x86_64 </pre> and <pre> ../../aros-src/AROS/configure --enable-ccache --with-portssources=~/aros/Sources --target=pc-i386 --with-aros-toolchain-install=/home/weissms/media/data/aros/test/crosstools/pc-i386 </pre> build OK. :''More information: [[Aros/Developer/Maintainer|AROS Maintainer Docs]]'' ===SDI Calls=== Integrate the 'SDI'-headers to allow easier porting to all amiga-like platforms. <pre> PUTCHARPROTO( PutTheChar, char c, struct SPrintfStream *s ) { // REAL CODE } </pre> have "SDI_compiler.h" and "SDI_hook.h" included its more organized like #include SDI/SDI_hook.h than #include SDI_hook.h option 1 --- i also use when back porting from amiga's.. <pre> #ifdef __AROS__ #include SDI/SDI_hook.h #else #include SDI_hook.h #endif </pre> also you can add the -i include/sdi/ location if you do not want to add or edit any files. Defining HOOKPROTO to IPTR name(struct IClass * cl, Object * obj, Msg msg); solved the problem A MUI application most likely needs only the HOOKPROTOxxx SDI macros. They are compatible with AROS, only the attributes (hook, object attribute) must be given in the right order. examine compiler/include/aros/symbolsets.h (AROS_LIBREQ) compiling mui stuff for aros setting -std=gnu99 is necessary (i have had -std=c99 most of the time). ===Locale with Flexcat=== Most languages have a locale, but not every app is localized, the only thing needed is to translate the "catalog" files. It is a case of locating the correct catalog and saving the translated version. For every app that lacks of your language catalog and is localized anyway, you should find (in the sources) files related to locale: * file.cd = catalog descriptor, contains base msg, with internal language (usually english) * language.ct = catalog translation, contains every translated msg, indexed as in the file.cd. Compare with other localized apps... Then, "make my_app-catalogs" should create and install your translated catalogs. ex : for, saying, sys:prefs/wanderer: on root of AROS sources, type: "make workbench-prefs-wanderer-catalogs" then (if you changed the .cd file): "make workbench-prefs-wanderer" For apps not localized, you have to adapt their code to support it, if it is possible... noticed the original .cd file has many (//) strings at the end of any voice, so added them also to the .ct file. That (//) is only for cd files. I'm highly recommending to use FlexCat for updating ct files, e.g. like this: flexcat app.cd deutsch.ct newctfile deutsch.ct You'll get error checking and new entries are marked in the resulting ct file. When editing .ct files, only change those lines containing translation and perhaps version string, nothing else. The rest is up to the relevant tool, flexcat. In order to update your translation, type in the following in your shell: flexcat xyz.cd xyz.ct NEWCTFILE xyz_upd.ct COPYMSGNEW This way you will not only make sure you have correct translation file but flexcat also pre-fills newly added strings with "*** NEW *** text. Even better tool for checking cd/ct/catalog files is catcheck, but this one is sadly only available for AmigaOS/68k... Some languages have variations, like portugues from portugal and portugues from brasil differs... This is the way to go. I will have a look at language files, but basically if those two languages differ you have to do two separated set of translation files, yes. (you could create a brazilian slang language localization too) * At system level localization for one language is a dot language file. (ex: locale:languages/klingon.language) * At app level localization is a dot catalog file (ex: locale:catalogs/klingon/system/libs/dos.catalog) * At sources level, the dot ct file, and "$language" dot cd files and some building framework. (ex: catalogs/my_app.ct catalogs/klingon.cd catalogs/mmakefile.src support.c support.h) Please, use Flexcat to generate CT files: FlexCat wanderer.cd NEWCTFILE=deutsch.ct Then fill the first 2 lines with something useful: <pre> ## version $VER: wanderer.catalog 1.1 (9.2.2006) ## language deutsch </pre> You can even update the CT-File: (This adds the new strings) FlexCat wanderer.cd deutsch.ct NEWCTFILE=deutsch.ct To compile a catalog you only need the .cd file and your translation (.ct file): FlexCat multiview.cd deutsch.ct CATALOG=MultiView.catalog [http://murks-ide.svn.sourceforge.net/viewvc/murks-ide/trunk/src/Catalogs/flexcat_linux?revision=100 Linux version of FlexCat] : [http://aros.sourceforge.net/documentation/developers/app-dev/localization.php#localization-for-non-developers More information] A script which compares the required version (i.e. the version which an application/module etc. tries to open) with the version of the existing CT files. The result is in this table: https://github.com/aros-translation-team/translations/wiki/Progress The following cases are highlighted: n/a i.e. CT misses at all version in existing CT file is lower than the required version It might be a bit difficult to participate if you haven't worked with Git before but alternatively you can send your CT files to our Slack channel. When the ct file has been generated via flexcat (flexcat keyshow.cd NEWCTFILE=spanish.ct) it has the following header: --------------------------------------------------------------------------------------------------------------- ## version $VER: <name>.catalog <ver>.<rev> (04.01.2021) ## language nolanguage ## codeset 0 ; --------------------------------------------------------------------------------------------------------------- Those values <ver>.<rev> are the version and revision of the CT file for the languaje or are the values of the application being localized? The <ver> part must match with version which the application tries to open. You can find the value either in the column "Required Version" in the table which I've linked above, our you can look in the git repository. For keyshow it would be https://github.com/aros-translation-team/keyshow. You can find in the file "catalog_version.h" the right version number. The <rev> part starts for new CT files with 0 and should be increased every time the CT file is updated. Updated several files and created a few more that were missing on the spanish catalog. The catalogs are in Git repositories at https://github.com/aros-translation-team a) You tell me your Github user name. I'll invite you. You can work directly with the Git repositories. b) You create Github forks of the catalog repositories and create pull requests. c) You send the CT files to mrustler gmx de ===C Utils Misc=== The AROS source uses at several places the __DATE__ macro to fill the date entry of a $VER tag. Problem is that c:version doesn't understand that date format (e.g. "May 21, 2011"). As a result the output of e.g. > "version c:shell full" contains "(null)". Is extending the version command to understand the format of __DATE__ the right solution for that problem? AmigaOs compilers should use __AMIGADATE__ macro or similar form, if it isn't implemented it could be emulated in makefile: -D__AMIGADATE__=\"$(shell date "+%d.%m.%Y")\" BTW. I think DD.MM.YYYY is better format than "Month DD YYY" because "Month DD YYY" is not localized in any way. "strnicmp" shouldn't work with NULL pointers The Situation: compiled a linklib using c++ object files (using the c++ cross compiler). compiled a C stub that uses the linklib (using the c++ cross compiler). Try to link them together (using the c++ cross compiler) with C object files (using the normal target c compiler) that need to use -nostartup = cant do because using the c++ files pulls in arosc (for stdio etc.) - so wants to have the autoinit stuff present. What can I do about this?? If it is possible to manually open it then what do I need to do exactly? === ENV === The philosophy behind ENV: is that keeping configuration files there allows you to 'Use' preferences by keeping a copy in ENVARC: intact. However in some cases (like this one) it is not required. 99% of the time that statement is true (not required) for pretty much every file in ENV: or do people change their default icons - and prefs settings - every boot? There seem to be a bad habit of late with developers changing things to reflect their own personal preference when the change isn't actually necessary - It would be nice if people could refrain from doing that in the tree without at least discussing it on the dev-list first (and with good reasoning unless they committed said work in the first place..) We're not keen on the pollution of the "S:" dir: it's meant to be for scripts. What's wrong with "ENV:"? Only the fact that it takes up RAM. I understand that for PCs with several gigabytes of RAM this is irrelevant. But let's remember about other machines. The philosophy behind ENV: is that keeping configuration files there allows you to 'Use' preferences by keeping a copy in ENVARC: intact. However in some cases (like this one) it is not required. How about implementing in the style of HappyENV then? RAM-disk handler that falls through to reading from ENVARC: if there is no such file stored in it already. Removes RAM usage for unchanged files, removes the need to copy ENVARC to ENV in startup-sequence. Shouldn't be too hard to make from AmberRAM, or even just extend AmberRAM to provide this service. Is it feasable to build a special version of AmberRAM handling ENV: that will try and copy the requested file from ENVARC: if it isnt found in ENV: ? Additionaly it could mark closed "files" as untouched - and expunge them from ENV: after a period of time to free up additional RAM:, or when the system is running low on free memory? Silenty disappearing files may not be a good plan. Would be nice if the following would work: ASSIGN :ENV SYS:Prefs/Env-Arc ADD ASSIGN :ENV RAM:ENV ADD Where new files put in ENV: end up in RAM:ENV, and opening files looks in RAM:ENV first, then SYS:Prefs/Env-Arc Well - that's essentially what im proposing but without the assigns - or need for a RAM:ENV directory. Adding it as a feature of AmberRAM sounds like the most memory efficient way (one handler to load in RAM) but that's only if it is possible to make it handle ENV: additionally to RAM:, and if it is even possible to add the proposed functionality (...and how to make it enable it when accessing ENV:). ===(AS)MP support=== If one has to recompile software for SMP multi core, is there any thing special one has to do to get software to run? Use task.resource if you need to query information about what tasks are running, and clear msgports completely when they are allocated. Most code should not need Forbid. Use Semaphores, Messages etc. to sync your own code. Accessing system structures is a different thing. Use the proper API whenever possible. How single structures will be protected in the future is still a moving target, at least it is not documented. And you should never use undocumented stuff Ideas on for SMP multi-core Another suggestion is ... Forbid/Permit function calls are meant to halt multitasking so as no other task could intervene with what ever the calling task is doing, e.g. setting semaphores. Disable/Enable calls are meant to halt interrupts and as a side effect they also halt task switching. One option is to make it compulsory to protect shared resources with semaphores and forbid the use of simple Forbid() calls as to protect something. Setting semaphore should be done if possible with atomic instructions (check and alter in one instruction). Or make the second concurrent ObtainSemaphore call halt the second calling task and force if possible a task switch which ever gives better results. Semaphores could store the owning tasks task pointer instead of boolean to make things easier. As long as the CPU initiates the DMA transfers through the OS, and the OS ensures that the transferred memory is within the region accessible to the user initiating the transfer, everything is fine. The CPU is the conductor, and the CPU by that has the control of which DMA transfer is initiated and which is not. All you need to do is to write device drivers reasonable. Hint: CachePreDMA and CachePostDMA exist. All the Os has to do is to verify that the memory regions to be transferred are valid, and prohibit direct access to the DMA control registers from user space. None of these algorithms imply huge costs. The current OS design doesn't really allow virtual memory in first place, Forbid() is again the problem. [http://www.tbs-software.com/guide/index.php?guide=autodocs.doc%2Fmemory.doc&node=1 memory.library API] seem to low level. IMHO the programs should not know how the swapping is implemented. I would just go for one new memory flag MEMF_SWAPPABLE that indicates that a certain memory region or a whole memory pool won't be accessed during Forbid()/Permit() etc. It only solves part of the problem, it only implements virtual memory and not memory protection. For the latter you need to be able make certain memory inaccessible by other programs, some memory read-only for one task and read-write for other tasks, etc. And I think this should be done in the same Address Space in order to avoid you constantly need to swap between different address spaces. So to summarize, if there are programs using this API we may provide a wrapper layer to get them working but I am not convinced this API should be the reference API with whom to provide VM to AROS programs. === Variadic === variadic functions (i.e. functions with an arbitrary amount of arguments). <pre> #include <stdarg.h> [...] char * STDARGS GetKeyWord(int value, char *def, ...) { [...] va_list va; [...] va_start(va, def); [...] va_end (args); </pre> Please keep with using stdarg rather than having va casted to a LONG * type and varargs handled manually. Doing so, prevents tons of casting, where a simple va_arg can be used. So, string = *((char **) args) instead of string=va_arg(va, char *). <pre> #include <stdio.h> #include <stdarg.h> int printf (const char * format, ...) { int retval; va_list args; va_start (args, format); retval = vfprintf (stdout, format, args); va_end (args); fflush (stdout); return retval; } /* printf */ </pre> Couldn't find varargs.h or stdarg.h. and have no use for AROS_SLOWSTACKHOOKS or AROS_SLOWSTACKTAGS. GCC looks for stdarg.h in a different place: /bin/linux-i386/tools/lib/gcc/i386-aros/4.2.2/include/stdarg.h Here is a path for a "normal" header: bin/linux-i386/tools/lib/gcc/i386-aros/4.2.2/../../../../i386-aros/sys-include/aros/system.h The use of vararg.h isn't supported by newer gcc versions. If you want your code to run on architectures that pass part of variadic arguments in a number of registers you need to use AROS_SLOWSTACK macros. Otherwise your program will not work on powerpc and x86_64 ports. Of course the SLOWSTACK stuff is not needed in a function that can use va_list, va_start, va_arg and va_end. It's only needed if you want to write functions like DoMethod or similar. #include <stdarg.h> should be enough no matter if you do cross or native compiling. If it does not work, something is wrong and should be corrected. Stdarg.h is here, Development:lib/gcc/i386-aros/4.2.2/include/ ...which is part of the compiler's default include paths. In other words, #include <stdarg.h> works out of the box, indeed. (sorry, I should have just tried it before invoking "search" or "find"...) furthermore, myprintf() as shown above won't work, because... printf(format, args); ...is wrong - the second argument does not match printf() prototype, it expects a argument list, but args is of type va_list (obviously) - so one has to use... vfprintf(stdout, format, args); ...instead, just like in the original printf(), and add fflush(stdout). additionally, one could use... int myarg = va_arg(args, int); ...between va_start() and va_end() to access individual arguments, where each call to va_arg() returns an argument casted to the desired type (here: "int") from the list given (here: "args") and advances to the next one. wrapping up vfprintf() and modifying the format string now is a major speedup! no more backslash-n typing! this has been haunting me for years! On MOS and AmigaOS, the NewObject variadic function is kept in the static library. It takes most of the parameters on the stack - thanks to that the implementation of NewObject calls the NewObjectA function. Everything works perfect, and the typical MUI macros may be easily used. This, however, is not the case when you compile for AROS. Here, NewObject is a variadic macro, not a function. Thanks such approach we do not need any custom compiler in case of systems, where the arguments of variadic functions are passed partially through registers and partially through the stack (This is the case of PPC and x86_64, this is also the reason why both OS4 and MOS require specially patched compilers). Since NewObject is a macro, the gcc's preprocessor expects the list of macros arguments enclosed within parentheses. In MUI macros it is not the case. Imagine the following test code: <pre> #define foo(a,b) ((a)+(b)) int loosy_function(int a, int b) { return foo(a,b); } </pre> This will compile and work, but the following piece of code: <pre> #define foo(a,b) ((a)+(b)) #define END ) int loosy_function(int a, int b) { return foo(a,b END; } </pre> will fail with the error: unterminated argument list invoking macro "foo" There are two ways of fixing your issue. Either create your new objects outside this huge MUI constructions, and in there use just a pointer, or get rid of the "End" macro and exchange it with "TAG_DONE)". Badly written software is, for example, casting va_list to an APTR or even doing so as if va_list were a plain table of function arguments. Such code needs to be fixed because it has very few chances to work anywhere but on author's machine ;) The problem is nOt that they assume sizeof(APTR) == 4, its that they often do not use APTR, and use ULONG to store pointers exclusively. If the code used APTR/IPTR as it should - most of the "problems" wouldn't exist. It would also help if people would start using variadic arguments properly. Many coders do assumptions which shall never be made. Instead, they should consider using stdarg.h file and all the va_* functions :) ===ABI=== In the head of our SVN repository there are now only 3 directories: <pre> admin/ branches/ trunk/ </pre> We have added two extra dirs there: tags and imports As discussed when we branch ABI V0 and [[Aros/Developer/ABIv1|ABI V1]] it would also be good to introduce tags. Normally this is done in a directory in the repository called tags. Currently we don't have this directory there. (We do have branches/tags that is a hack I have done because one doesn't have write access in the top directory. I think this directory is not clean and should be removed). The second directory I would introduce is an imports directory for implementing vendor branches as discussed in the svn [http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html book]. Currently we use code from several different projects and that code is stored inside the AROS tree; we seem to have problems with keeping this code up to date and merge our changes upstream. Maintainers of up stream projects like the MUI classes etc. have complained about this (to put it lightly). Introducing these vendor branches would make it easier to see what changes we have made and make patches to be sent upstream and make it easier to import newer upstream versions of their code. Although can't "copy" the vendor branch into the main branch because it's already there, so start with a "merge". Yes, the first step to make the code already in the repository compatible with the vendor branches will be the most difficult. The best way to do it the following way: * first import the version on which the current AROS code is based into the vendor branch * then import the new version over it in the vendor branch * finally merge the difference between these two version in the AROS code present in the repository. For example, place NList directly under vendor and not in a subdirectory like "contrib/zune/classes". Actually after we have a stable [http://aros.sourceforge.net/documentation/developers/specifications/drafts/abiv1.php ABIv1 (2012 or later)]. We need to move away as much as possible from the contrib directory to some other repositories. The reasons are ... * The AROS repository should be for the core AROS code. * other contrib projects should be tried to be compiled for all Amiga-like OSes. * The release scheme for AROS and the other programs should not have to be aligned. * Binary versions should be provided on aros-archives and on aminet and/or OS4Depot to install them. (Some clever programs should maybe be provided to make the life of distribution developers easier). * avoid parallel forks of programs for AROS and the other amiga OSes. If there is really a need for a place for hosting AROS projects we may investigate setting up such a server but then including bug tracking, governance, maillist, etc. for each project separately. I personally think there are already enough places like sourceforge, google code, savannah, etc. where people can go for hosting such projects. ==Links== * http://amigadocs.hokstad.com * http://amigadocs.hokstad.com/doku.php?id=dev-links In the future...? *AROS 64bit - SMP, Vulkan with OpenGL compability layer *AROS 32bit - keep for historic reasons What would you like to see implemented in AROS? ABIv1 completed, SMP (x86_64), SendMsg()/GetMsg() to support memory protection between target and destination, in that order. Michal Schulz and Jason McMullan have been toying with the question "What are the minimal changes needed to the AmigaOS 3.1 API to support SMP"? The answer so far seems to be "few, but subtle". For example, SysBase->ThisTask is no longer meaningful on SMP, but FindTask(NULL) is. Disable() and Forbid() are shockingly bad on performance, but adding a spinlock semaphore mode to SignalSemaphore will help new code on SMP. Leveraging a 'common' OS with a lot of machine support (Linux, MacOS, Windows, QNX, etc.) is something that AROS has been doing for quite a long time, and it is the biggest strength of AROS. This AROS experience and programming model, in the same way the Google's Android layers on top of Linux, or MacOS X layers on top of the Darwin/BSD kernel, as a first step * The graphics + layers subsystem could be implemented as a shim on top of a OpenGL ES implementation (ie on any modern Linux system, or the RaspberryPI's hardware, MacOS X, etc). - This also allows every window to be on its own 3D surface with backing store, allowing Wanderer (or a Commodity) rearrange/zoom/animate app windows without having to send a pile or refreshes to them * Use OpenAL as the sound backend * AROSTCP would be a thin layer over the native OS's TCP/IP stack * dos.library, poseidon.library, and input.device would be slim shims over the native APIs * If we move to loading all libraries' into the application's task space, instead of a single global instance of the library, this will allow SMP and MMU more easily. - Yes, it will require a lot of work in the libraries to make this transition - Yes, I do think it will be worth it in the end. * A 'fat binary' install format (or, maybe LLVM bytecode) that can be 'flattend' to the target architecture on installation. So, what would this 'AROS of the future' look like? * AmigaOS 3.x style API, with certain 'fundamental changes' to message passing * Uses the underlying OS' device drivers, so more AROS developer effort can go to user-visible features and bugfixes * Allows AROS applications to run side-by-side with the OS's native apps And why would anyone want to program on such a system? * AROS applications would run on any system that has the AROS Framework installed * AROS applications are pixel-for-pixel the same on all platforms. * Develop with the knowledge that you are guaranteed OpenGL and OpenAL, and the rest of the AROS Framework an option for mmake to dump its dependency of metatarget in a graphviz[*] input file. This should make it possible to visualize the dependencies and hopefully be inspiration for cleaning up some mess, circular or unneeded dependencies and so on. AmigaOS gcc 9 [https://franke.ms/amiga/gcc.wiki Old versions] able to create binaries for AmigaOS and [https://eab.abime.net/showthread.php?t=93813 Upgrading gcc versions] === AI === Please see discussion of the [https://arosworld.org/infusions/forum/viewthread.php?thread_id=1933&rowstart=0 Aros world thread] [https://opencode.ai/ opencode], [https://openrouter.ai/models?categories=programming new opencode models], [https://axrt.org/media/aros-ui-ai.mp4 AI ui], *DeepSeek V4 Flash - very good model, use it daily but a small monthly fee payable *Ring 2.6 - good model but pricing small Multimodal Context Prompt <--- Model <---> Agent ---> End user engine Gemini LMStudio Qwen Comfyui etc Recent, self hosting local models on laptops, mini pcs, laptops or desktops with '''quantization''' (compressed) so reducing memory to run on 8Gb VRAM (very low size models) but for better performance more VRAM is needed for text based tasks. For smaller models, very specific prompting and chatting (iterations) for very smaller sections of your overall application as lots of supervision needed for the code produced Ability increases by the amount of ram like the Pi5 8Gb, Macbook 48Gb unified (quality) and the memory bandwidth (how fast) Roughly... *DDR4 Pi5 about 17GB/s *DDR5 about 40Gb/s *DDR6 about 90Gb/s about Jetson Orin Nano level *Strix Halo about 210Gb/s *DGX Spark about 220Gb/s * MacBook M3 base 100GB/s Pro 150GB/s Max 200Gb/s unified memory * MacBook M4 base 120Gb/s Pro 170Gb/s Max 250Gb/s * MacBook M5 base 140Gb/s * MacBook M6 base 160Gb/s Pro 180Gb/s Max * [https://www.youtube.com/watch?v=jMnMrivvAWo Mac Studio] Max 400Gb/s to Ultra 800Gb/s Total VRAM should be greater than Model size (in Gbytes), context length (you set Gbytes taken) and KV cache - everything a trade off <pre> Small Lesser Mid Greater Bigger 1-2B 3B 7B 20B 30B model size Q2 Q2 Q4 Q6 Q8 compressing 4GB 8GB 16GB 32GB 64GB VRAM needed </pre> *[https://lmstudio.ai/download LMstudio single gpu], 128Gb *[ gpt-oss-120b] 70Gb model 64Gb *[HauHau 3.6 35B] *[ muse-glimmer] 32Gb Alibaba Cloud's [ Qwen] team series of large language models LLMs *[ Qwen-3.8-27B] *[ Qwen-3.6-27B] 16Gb *[ Qwen 3.8 27B GSQ ACO GGUF] 8Gb *[ glm-ocr] *[ medGemma] *[ qwen 3.5-4b] *[https://github.com/sipeed/picoclaw picoclaw claude] *[ DeepSeek R1] *[ Qwen 3.5 9B Q4] *[ Qwen 2.5 14b Coder] *[ gpt-oss-20b 4Q] *[ mini CPM5-2B] simple user interfaces only For the full experience #Training learning using 1+ high end GPUs at least 16GB VRAM per GPU card or 64Gb+ of unified, 16Core CPU with at least 64Gb of RAM system memory #Inference with custom asics or GPUs For ever bigger LLMs needs one of the below but with settings adjusting *[https://ollama.com/download Ollama single gpu] *[https://github.com/ggml-org/llama.cpp/releases llama.CPP multi gpus], *[ VLM multiple gpus], *[ MiniMax H3] for audio and video but gpu 8Gb+ *[https://github.com/ideogram-oss/ideogram4 ideogram4] *[https://github.com/calesthio/OpenMontage OpenMontage] *[https://github.com/jamiepine/voicebox voicebox] *[ Chatterbox] with neural watermark *[ Index-TTS] *[ Qwen3-TTS] *[ Omnivoice] *[ faster-qwen3] *[ dots.tts] Multimedia *[ Kimi K3], Refactor *[ Devstral-small-2 256K context] FIM - Fill in the middle Mistral Codestral-2 for 64Gb+ unified <pre> Text to Audio --\ Text to Video --/ Reference Video --> Video and Audio output </pre> Agent = Model + Harness Agentic Harnesses like [ Claude Code] [ Cursor] [ ] could help models. [https://github.com/deepseek-ai/deepseek-harness Deepseek] etc allows many models to reside inside but also everything is a plugin, including the model adapter, the tool registry, the session log, and the agent loop itself, so each is replaceable from configuration MoE mixture of experts model ==References== {{reflist}} {{status|50%}} {{BookCat}} 74q7napc17vqh7ifrlj38sv9z477pvp 4670157 4670156 2026-09-15T09:01:11Z Jeff1138 301139 4670157 wikitext text/x-wiki {{ArosNav}} ==A technical overview of AROS== Google translation [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Chinese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Russian], [http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Portuguese] {{Uncited}} AROS,<ref>[http://aros.sourceforge.net/download.php References and sources]</ref> like AmigaOS (TM), is a [[w:Message passing|message-passing]], [[w:Preemption (computing)|preemptive]] [[w:Multitasking|multitasking]] [[w:Operating system|OS]]. It uses [[w:Reentrant (subroutine)|re-entrant]] shared libraries to save memory space. AROS is based around an executive library kernel (Exec) and two other libraries: * Exec (the "kernel", which is not a kernel in the modern sense), * Intuition (graphics and GUI, integrated into the system) and * AmigaDOS (Disk Operating System, the Metacomco's Tripos modified to work with Exec). The design philosophies of AmigaDOS and Intuition are rather different, the former adopting a C-like API and the latter creating an [http://www.basden.demon.co.uk/amiga/amiga.oo.html object-oriented], message passing aware environment for the programmer. The system base is the only absolute address in AmigaOS (located at 0x00000004) this does differ with AROS as AROS SysBase is automatically provided (no $4) but everything else is dynamically loaded. The OS is well known for delivering high performance due to its close connections with the hardware, while simultaneously having the flexibility to support re-targetable graphics (Cybergraphics) and retargetable audio subsystems (AHI). : Diagram showing relationships of libraries to system needed Remember, AROS is a [http://en.wikibooks.org/wiki/Aros/Developer/ABIv1 research] operating system, and while all contributions to the base AROS code are welcome, please contact the dev list first for any core changes. Writing applications for AROS does not have this requirement. While AROS appears and feels almost feature complete, it is still [[Aros/Developer/IncompleteAPIs|missing a small number of functions]] from the Amiga API. [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1201 This thread provides] information for setup, [http://www.aros.org/documentation/developers/index.php documentation] and whether you are interested in core OS changes and/or writing/porting software apps *you compile directly under AROS, which can be running on either real hardware, virtual hardware *in hosted mode under linux/window, cross-compile from that host OS (save your files as ISO-8859-15 encoding instead of UTF-8) [https://github.com/BlitterStudio/aros-compiler-docker Docker images] '''The repository''' for 64bit and 32bit ABIv1 all hardware platforms is [https://github.com/aros-development-team/AROS current development version]. There are many forks of this so that developers can work on their own and forward changes at a later date as discussed on the dev forum 64bit PC is one of two hardware platform with another fork called [https://github.com/deadwood2/AROS abiv11] which is used for Aros One x64 PC 32bit PC is the other fork [https://github.com/deadw00d/AROS/tree/alt-abiv0 repository for current stable PC version ABIv0 with backported ABIv1 features is located which is used on AROS One and Icaros x86 32bit based distros] this is for historic reasons Any [https://github.com/aros-development-team/AROS/issues bugs / issues can be added for ABIv1 issues]. The two individual PC forks have their own issues tab on their github webpages We have a [https://arosdevteam.slack.com/archives/CUFV48U3H slack here], discord on [https://discord.gg/UKp9qdEBuQ Discord@AmigaDev], ==Software Development for AROS== ===Programming languages=== ====Common to all==== 'The Developer Environment', which primarily supports C/C++ code, there are other scripting programming languages available :[[Aros/User/DOS|DOS]] :[[Aros/Developer/Docs/LUA|LUA]] :REXX [[Aros/Developer/Docs/Rexx|Regina (AROS' ARexx)]] ====Needs to be compiled/ported==== ::[[Aros/Developer/Docs/LLVM|LLVM]] ::Python [ Info], [], ::[https://ae.arosworld.org/index.php?board=11.0 FreePascal FPC Aros-Exec thread], [https://archives.arosworld.org/index.php?function=browse&cat=development/language fpc arm here is very old and will not work], FreePascal for AROS has its own [http://fpcaroswiki.alb42.de/ Wikibook], ::[http://sourceforge.net/projects/xamos/ X-Amos Basic] ::[http://sdlbasic.sourceforge.net/ SDLBasic] ([https://archives.arosworld.org/index.php?function=browse&cat=development/language ]) ::[[Aros/Developer/Basic/Basic4SDL|Basic4SDL]] ([https://archives.arosworld.org/index.php?function=browse&cat=development/language ]) ::[http://alvyn.sourceforge.net/ Alvyn] ([http://www.dusabledanslherbe.eu/AROSPage/MISC.14.html download]) ::[http://www.airsoftsoftwair.com/ Hollywood when enough users warrant a port - paid one time fee language] ::[[Aros/Developer/Docs/E|AmigaE Portable E]] ====Hardware Restricted==== '''Basic''' :[http://amos.pspuae.com/AmosProManual/contents/c1.html '''Amos Pro'''] [http://amos.pspuae.com/index.php?action=forum#1 compatible] [http://www.amigacoding.com/index.php/Main_Page commands] (all incomplete) :'''Blitz Basic''' [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=46537#forumpost46537 none on AROS] :: [http://www.amiforce.de/main.php Amiblitz] on amiga(TM) emulator :'''Amiga Basic''' :: [ ACEBasic] '''Misc''' :Ruby [http://www.ruby-lang.org/en Info]/[https://archives.arosworld.org/index.php?function=browse&cat=development/language Ruby 32bit PC], ===Where to get the C/C++ Environment=== If you want to develop for AROS, its generally easier to be running linux hosted AROS development environment especially for C++, cross compiling the code. That's how most developers now are doing it. g++ is used to compile owb web browser as well as some other AROS software. If you were hoping for a rich set of C++ libraries or classes defined for the OS feature set, you might be disappointed. AROS Native compiling is possible, but you're much more likely to run into the odd bug(s) in the dev environment since it gets little testing and fixing by other developers. Is there a sftp software or scp over ssh available? Maybe. At least the security part would be handled by [https://github.com/jens-maus/amissl amissl] [https://archives.arosworld.org/index.php?function=browse&cat=network/misc port]. [https://github.com/BlitterStudio/dopus5 DOpus5] has recently added sftp support. See here for a [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1974&highlight=ssh&pid=12073#post_12073 ssh scp client] [https://arosdevteam.slack.com/join/shared_invite/enQtOTc4Mzg0NDIzNzQ0LWQ2NWZmNmMwNGIwNGEyNTgxNzU3MGFjMTk3ZThmOTQ1MTVjMzhmNTllYWQ0ZTUxMjBjMGE0Y2VjMDJmNTc5MzI#/shared-invite/email Slack Dev Forum] ====Cross compilers from Windows or Linux==== *Windows WSL2 walkthrough can be [https://arosnews.github.io/how-to-cross-compile-aros-hosted-wsl/ found here] you want to build AROS. No problem. Here are instructions for PC 64-bit: https://github.com/deadw00d/AROS/blob/master/INSTALL.md Here are instructions for PC 32-bit: https://github.com/deadw00d/AROS/blob/alt-abiv0/INSTALL.md And as always has been the case you can use the contrib archive to 'obtain' the development directory which contains the /native/ AROS gcc compiler and tools. That compiler is used to build AROS itself but can be used outside the AROS build process by providing --sysroot with indicated directory to cross compile for AROS. '''64 bit''' '''32 bit''' A good option for multiple OS is [https://axrt.org/index.php?tab=download-aros AxRuntime lets developers compile their Amiga API-based applications as Linux binaries being able to utilize modern development tools available on Linux, like IDEs, debuggers, profilers, etc] Older 32bit guides for Linux hosted compiler Please install these packages before moving to next step. Below is a reference list for Debian-based distributions. Reference build system was Ubuntu 18.04/20.04 amd64. subversion git-core gcc g++ make gawk bison flex bzip2 netpbm autoconf automake libx11-dev libxext-dev libc6-dev liblzo2-dev libxxf86vm-dev libpng-dev gcc-multilib libsdl1.2-dev byacc python-mako libxcursor-dev cmake zsh mingw64 Do all of these operations under home directory of your user or another directory where your user has write permissions. Specifically, in a section "Linux-i386", be sure first to build the cross-compiler (toolchain-alt-abiv0-i386) and only then AROS itself (alt-abiv0-linux-i386). Clone & build <pre> $ mkdir myrepo $ cd myrepo $ git clone https://github.com/deadw00d/AROS.git AROS $ cd AROS $ git checkout alt-abiv0 $ cd .. $ cp ./AROS/scripts/rebuild.sh . $ ./rebuild.sh </pre> Now to the build selection below - Linux-i386 Select toolchain-alt-abiv0-i386 - Select alt-abiv0-linux-i386 (DEBUG) Start AROS by: <pre> $ cd alt-abiv0-linux-i386/bin/linux-i386/AROS $ ./Arch/linux/AROSBootstrap </pre> Pc-i386 Select toolchain-alt-abiv0-i386 (if not built yet) - Select alt-abiv0-pc-i386 ISO image available in alt-abiv0-pc-i386/distfiles Now that we have linux-hosted build, we can resume native (option 2). Run ./rebuild.sh and selection option 2. Wait until it finished, then: <pre> $ cd alt-abiv0-pc-i386 $ make </pre> Now <pre> $ make bootiso </pre> Now, your compiler is located in toolchain-alt-abiv0-i386 directory and named i386-aros-gcc. Includes are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/include and libraries are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development.lib. This is how then can be passed to the compiler: /home/xxx/toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot /home/xxx/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development -L/home/xxx/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib ../toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot bin/linux-i386/AROS/Development local/helloworld/helloworld.c -o local/helloworld/helloworld Another method was using Debian like distros and download the [https://archives.arosworld.org/index.php?function=browse&cat=development/cross gimmearos.sh script] to setup the developer environment by downloading necessary packages ... The gimmearos script is a good start in that direction, building the cross compilers and hosted AROS environment, but gimmearos.sh might be out of date or not be completely compatible with any given linux distro. In order to do that, you have to compile AROS yourself. Download AROS source archive not contrib. Compile AROS by entering the main directory ./configure make ([http://http://developers.aros.org/documentation/compiling.html More on compiling AROS]). The result will be a basic AROS system without development tools. To compile C++ on Linux, type 'make gnu-contrib-crosstools', creating the cross-compilers in ./bin/linux-i386/tools/, named i386-aros-gcc, etc. '''Note''': Currently, to make the cross compilers usable copy 'collect-aros' from tools/ to tools/i386-aros/bin/. At the moment the cross compilers if used from the Linux command line will only find it when it's there. If you want to compile native compilers (the Developer Environment), type 'make contrib-gnu-gcc', creating native compilers in AROS' System:Development/bin directory. When the output needs to be stripped <code>--strip-unneeded --remove-section .comment</code> The Obj-C backend should build out of the box. Open contrib/gnu/gcc/mmakefile.src and search for the line which contains "--enable-languages" and add "objc" to the list of languages that follows it. --enable-languages=c,c++,objc Better make it—enable-languages=c,c++,objc,obj-c++ ObjC++ is broken as soon as you try to use exceptions, but that might change in future GCC versions and it does not hurt having it there already. Do you need a cross-compiler or a real compiler? In the first case you can get away with just downloading the proper gcc archive, apply the patch and proceed with the normal gcc build. In the case of a real cross-compiler then when downloading the contrib sources, also need to download the normal sources, place the contrib sources into a directory called contrib, need to install autoconf+automake+perl+python, call ./configure, cd into the subdirectory and type make. to rebuild GCC with host == build == target == i386-pc-aros. So just get the vanilla sources and apply the patches without bothering about the build system? [https://vmwaros.blogspot.com/2019/10/a-pre-configured-development-machine.html pre-configured VM environment vmware virtual machine to develop AROS and AROS software] ====Native compilers for AROS==== Namely gcc for C or g++ for C++ are supplied with the [[Aros/Developer/Docs#The Developer Environment|Developer Environment]], which is already '''setup''' and part of any current AROS distribution like AROS One or the nightlies * Current GCC 6.5 (32bit) though moving to 10.5 and 15.1 (64bit) * Older software components. GNU GCC 4.x GNU BinUtils, GNU Fileutils 4.x, GNU Textutils and others usually deprecated On single partition systems and the Boot ISO, the AROS Developer environment is installed under "SYS:Development/". Systems with multiple partitions - such as a Work: partition - tend to install it to there instead, however it can be installed manually to any location. Please remember, if moving, that you will need to correct the Development packages 'install location' env variable to point to the new locations root - look in SYS:S/startup-sequence. <pre> Assign Development: SYS:Development Assign C: Development:bin ADD </pre> In the aros build instructions. you need to check out contrib and/or ports into your AROS source directory, as subdirs. then, assuming you are building in an external build dir, as you should, you simply configure and "make contrib" for instance or whatever submodule you might want to build. ===Beginners Tutorials in C C++=== As AROS is [http://eab.abime.net/showthread.php?t=29856 C based] API compatible to AmigaOS 3.x, so most of the information on programming C on the Amiga applies to AROS as well. Please note that there is a lot of AmigaOS 1.3 (1985-1989) and [https://www.markround.com/amigaguide AmigaOS AOS 2.x (1990-1992)] information around but OS3.1 is recommended but limited in amount. Brief overview of what is required to write AROS Applications # Using [[Aros/Developer/Docs/Libraries/Intuition|Intuition]] for basic screens/windows # Using graphics within windows via 8bit [[Aros/Developer/Docs/Libraries/Graphics|graphics]] and so onto 15-16-24bit [[Aros/Developer/Docs/Libraries/CGFX|cybergraphx]] # Load and save work to [[Aros/Developer/Docs/Libraries/DOS|dos]] disk drives # Using the [[Aros/Developer/Zune|ZUNE GUI Environment]] Writing native games require this extra information # Using [[Aros/Developer/AHIDrivers|AHI audio hardware independent API]] # Using USB joystick/joypad with the Poseidon USB stack through [[Aros/Developer/Docs/Libraries/LowLevel|LowLevel]] library Additional features that could be added later # Adding additional [[Aros/Developer/Docs/Libraries/Locale|Locale]] language translations to your program # Adding a [[Aros/Developer/Docs/Rexx|AREXX/Regina]] port to your application # Executing Amiga(TM) [[Aros/User/DOS|DOS]] commands from your application # Using [[Aros/Developer/Docs/Libraries/Icon|icons]] (.info files) and icon tooltypes (stack, version, and program startup options) # Local couch or IP based SANA2 networking co-op multi player gaming support Most AmigaOS programming books are nowadays very much out of date as most are from the late 1980s and do not cover later amigaOS releases like 3.1 for example, Rob Peck's book "Programmer's Guide to the Amiga". The Amiga ROM Kernel manuals aka RKMs like Libraries (3rd edition), Devices (), the AmigaDOS manual (3rd edition) and the Style Guide may have their uses. There are some reference examples from AmigaMail and Devcon notes (available again on an Amiga developers CD 2.1). For Arexx then "The Amiga Programmer's Guide to ARexx" by Eric Giguere, which was published by Commodore is useful as well as an "Arexx Cookbook". * Beginners C Guide [http://www.iu.hio.no/~mark/CTutorial/CTutorial.html C Tutorial], * [http://www.pjhutchison.org/tutorial/amiga_c.html Amiga based but interesting] * [http://thecguru.com/ C for beginners], * [http://fresh2refresh.com/c/c-basic-program/ C programming basics] for students, * [https://www.edx.org/courses Free Online course] from American Universities * Reference Amiga [http://amigadev.elowar.com/ API reference]. * AROS based c source can be found [[Aros/Developer/Docs/Examples|here]] and lots of example code can be found inside [https://github.com/aros-development-team AROS sources] themselves and from the contrib section of the archives from [https://github.com/aros-development-team/contrib Aros site], and study the AROS applications source code, e.g. the test programs from the Tests drawer (folder/directory). Take a look at the code of some smaller AROS programs might be a better and more up to date When you upload your builds, please write the architecture (like i386-aros, x86_64-aros, aarch64-aros etc.) in the archive name and it is also advisable to write in the field "Requirements" the ABI (ABIv1 leave blank, for PC fork 64bit ABIv11 ends in v11, 32bit ends in , Arm Pi ends ) ===Compiling C/C++ Code=== Native, although we have a IDE Integrated Development Environment (Murks), it does lack a debugger. Whilst others use a combination of a text editor and shell to edit code. Most though use an AROS hosted on Linux to take advantage of the better GCC tools like GDB and various IDEs. Open shell - its a menu option at the top left of Wanderer (desktop). Or by using the right Win key and w (or F12 and w) within the directory with the source code. Type in sh to change the amiga shell into a unix shell. You can then type in ls (unix equivalent to amiga dir). Take a look [http://en.wikibooks.org/wiki/Linux_commands here] for more commands. For a single file program-name.c or program-name.cpp gcc -o program-name program-name.c or g++ -o program-name program-name.cpp or g++ -o test -Wall -g main.cc texturelib.cpp xmodelib.cc -lsdl -lgl To close the shell, click on the top left-hand corner to close (twice). Once to get back the aros shell and then again to close finally. Use [http://freshmeat.net/projects/cksfv/ cksfv] as a test. Some source code requires the addition of Amiga API libraries, like dos, which you can flag at the compile time as gcc -o julia.exe julia.c -ldos For DOS use -ldos as example and if you are compiling mui codes it will be -lmui or intuition -lintuition. Other missing symbols are due to linker libraries being necessary for linking in functions that aren't in the standard C libraries. For example some source code would need added -lz or -lm or -lpng or -larosc etc. use this in unix line command mode to search for 'search-item' in many .c files (*.cpp for c++, etc.) grep -l 'search-item' *.c If the program is not executable, try using parameter fno-common "Delete #?.o"? Or if you are using abcshell then "rm *.o" :''More information: [[Aros/Developer/Porting software]]'' === How to make Apps have AROS 64-bit specific support code === [http://www.aros.org/cs/documentation/developers/app-dev/portable.php Portable code] AROS64 already uses 64bit addressing, it just doesn't setup the MMU for more than 4GB physical memory currently. When porting software to AROS64 it is "mostly" a case of converting ULONG's that are used to store pointers, into IPTR's instead, etc. Another quirk, is making sure items on the stack are the correct size by using the STACKED attribute for them. * Use texteditor or some tool to replace all "ULONG" with "IPTR" and "LONG" with "SIPTR" in the sources. compiling mui stuff for aros setting -std=gnu99 is necessary, had -std=c99 usually A MUI application most likely needs only the HOOKPROTOxxx SDI macros. They are compatible with AROS, only the attributes (hook, object attribute) must be given in the right order. crash which suggest memory corruption. From my experience porting from 32-bit to 64-bit these kinds of errors can happen if a pointer is passed somewhere via ULONG variable. Then half of the pointer is cut. To generate this error, please run AROSBootstrap with -m 1024. This will allocate heap to 64-bit address space which will make these errors immediatelly visible. These types of crashes are hard to debug. Disabled as little code as possible to stop corruption from occurring and then try to read from the code where it can be broken Crashing in tslf_freevec is another symptom of memory corruption and these memory corruptions will manifest differently on different setups. ==Coding conventions== As the AROS core source is a shared developer experience, there are rules regarding structure and style. When it comes to your creating your own app and coding, the structure and style should be your own, i.e. you should enjoy what you do and do it so that you can understand what is going on. ===Layout=== <syntaxhighlight lang="c"> static void 1st_function() { program exit(0); } int main(void) { 1st_function(); 2nd_function(); 3rd_function(); return 0; } </syntaxhighlight> <syntaxhighlight lang="c"> struct Screen * openscreen(void); struct Window *openwindow(struct Screen *screen, const char *title, LONG x, LONG y, LONG w, LONG h); VOID 1st_function(); VOID 2nd_function(); int main(int argc, char **argv) { program return 0; } /* main */ VOID 1st_function() { } VOID 2nd_function() { } </syntaxhighlight> ===General style=== This code is used by many people and therefore you should keep some things in mind when you submit source code: * Keep things simple * Keep the source clean * Always know what you are doing, if not flag it and describe what needs to be done... * Explain clearly/simply what you are doing * Remember that you write code once but that it is read many times by many people ===Comments=== AROS uses some of the comments in the source to generate the documentation. Therefore it's necessary to keep a certain format so the tools can find their information. Other comments are ignored but they should explain what you thought when you wrote the code. If you really can't think of an explanation, then don't write the code a second time like this: <pre> /* This adds 1 to t */ t ++; </pre> What we think of is this: <pre> /* Go on with next element */ t ++; </pre> ===Formatting=== This is only '''IMPORTANT''' if you are going to work on the core AROS code or contrib but not applications which may reside outside like on AROS Archives or other websites. <syntaxhighlight lang="c"> { /* a */ struct RastPort * rp; int a; /* b */ rp = NULL; a = 1; /* c */ if (a == 1) printf ("Init worked\n"); /* d */ if ( !(rp = Get_a_pointer_to_the_RastPort ( some , long , arguments ) ) || a <= 0 ) { printf ("Something failed\n"); return FAIL; } /* e */ a = printf ("My RastPort is %p, a=%d\n" , rp , a ); return OK; } </syntaxhighlight> Looks ugly, eh ? :-) Ok, here are the rules: <pre> If several lines contain similar code, put similar things below each other (see a and b); Put spaces between operands and operators Put braces {}, brackets [] and parentheses () below each other (d) if there is much code between. Brackets and parentheses may be in one line if the code between is small (c) Indent by 4 Spaces. Two indent levels may be abbreviated by one tab. </pre> '''Before committing please normalize the indentation - if you have a mixture of tabs and spaced - please always use spaces, 1 tab = 4 spaces.''' The reasons for this are: # While some editors can use an arbitrary sizes for tabs, it's a bit complicated to tell another editor which tab size was used by the one used to write the code. # Most code in AROS was written this way and your code should look like the rest. # You can print this code on any printer without special tools to "fix" the tabs. # Most editors have smart tabs which do exactly this. If your editor doesn't, write a bug report. If you have a function with many arguments (d, e) you should put the parentheses in lines of their own and each argument in one line (d) or put the first argument behind the opening parentheses (e) and each following argument in a line of its own with the comma in front. The closing parentheses is in a line of its own and aligned with the beginning of the expression (i.e. the a and not the opening parentheses or the printf()). Use a single blank line to separate logical blocks. Large comments should have a blank line before and after them, small comments should be put before the code they explain with only one blank line before them. If you see any TABS in AROS core sources then the suggestion is to "detab the file and commit that separately" either before or afterwards from making functionality changes. Make two commits instead of one. This makes it easier for others to see the real changes instead of having to dig through multiple lines of irrelevant diffs. ===Eliminating Global Variables=== i.e. pass variables to functions (local scope) or classes making it easier to track and debug your code. Any time you find that you need a particular thing in 'a lot of different places', chances are that all those places are conceptually related, and so you can create a class, a namespace, a function, or some other higher-level organizational unit to represent that relationship. This makes the program easier to understand. Bad Designs * All variables are global. * There are no standalone functions, only sub-procedures which act on the global variables. * Every sub-procedure is at least 500 lines to several thousand * Every sub-procedure has more than one task to perform * Copy-paste is preferred to writing methods, AND subtle changes are made in the middle of the code Good Designs * structure program into functions (C or basic) - top-down procedural approach * put in class(es) (freepascal or C++) - the object is fixed and you use methods to access the object <pre>  class String_List  {  private:  list<string> m_List;  // member  public:  void read_strings() { /* read strings into m_List */ }  void print_strings() { /* write contents of m_List to stdout */ }  void sort_strings() { /* sort contents of m_List */ }  void sort_strings_reverse() { /* reverse-sort contents of m_List */ }  void unique_strings() { /* remove duplicate strings */ }  };  int main()  {  String_List myList;  // local  myList.read_strings();  myList.sort_strings();  myList.print_strings();  myList.sort_strings_reverse();  myList.print_strings();  myList.unique_strings();  myList.print_strings();  return 0;  } </pre> This way it is very easy to replace the list with new list for debugging purposes, or replacing the methods without replacing the list, when you want different results. You only have to replace the content of the local variables. So create the structure that matches your data (linked lists, trees, arrays, etc.) and what to do with them (sorting, searching, etc.) <pre> .h usually contain #define #include typedef enum struct extern screen and window definitions (data structures) .c should contains functions and algorithms </pre> One way to look at it is that menu headings act as the .c file and sub-menu headings as functions. When you start a project, you place a couple of declarations in the include file. As the project continues, you place more and more declarations in the include file, some of which refer to or contain previous declarations. Before you know it, you have a real mess on your hands. The majority of your source files have knowledge of the data structures and directly reference elements from the structures. Making changes in an environment where many data structures directly refer to other data structures becomes, at best, a headache. Consider what happens when you change a data structure. Use good variables names to help clarify code and only comment when you need to explain why a certain programming approach was made. You're Refactoring Legacy Code, you see a global, you want to get rid of it. How do you do this? Exactly what to do depends on how the global is used. The first step is to find all uses of the global throughout the code, and get a feel for what the significance of the variable is and how it relates to the rest of the program. Pay particular attention to the "lifetime" of the variable (when it gets initialized, when it is first used, when it is last used, how it gets cleaned up). Then, you will probably make the global a data member of a class (for OO languages), or you will write some get/set functions. Converting to the Singleton Pattern is common, but you may discover that it makes more sense for the data element to be a member of an existing singleton, or maybe even an instance variable. # Create a basic read method, either as a class or a global function. Replace all reads with the access method, but leave the variable defined as a global. # Review each of the writes to the method and extract action functions one at a time. Unless two operations are coded identically in the original code, extract each write access separately. # Change the variable scope from global to local. # Analyze similar action functions to determine if any can be merged, i.e., there are no functional differences in the results of the function, just differences in the implementation details. # Review the calls to the read method and see if a more complex functionality should be applied. Follow the approach for writes and unless implementations are identical, create separate access functions. # Analyze the access functions for duplication. As returning variables by "passing by value" are forgotten, so "passing by reference" is often used instead. The reference is a pointer to the variable so the value is remembered when returned. Alternatives * Hidden Globals * Singleton Pattern * Database or TupleSpace * Context Object * Dependency Injection * Stateful Procedures ==AROS/AmigaOS APIs and Docs== <pre> Library: - Private data structure - Many public access methods Device: - Private data structure - Two (BeginIO/AbortIO) access methods Resource: - Public data structure - *NO* access methods </pre> And, being Amiga OS-compatible, there are exceptions to all of these. ===System Libraries=== The [http://developers.aros.org/ AROS Guide To Libraries] can be used as a guide to individual commands and old Dev Docs are used in application programming. Amiga/Aros styles libraries are very different from windows and linux libs. Typical .so/dll libraries are foreign to most Amiga-like OS *[[Aros/Developer/Docs/Libraries/AROSC|arosc.library]] *[[Aros/Developer/Docs/Libraries/AmigaGuide|amigaguide.library]] *[[Aros/Developer/Docs/Libraries/ASL|asl.library]] *[[Aros/Developer/Docs/Libraries/Bullet|bullet.library]] *[[Aros/Developer/Docs/Libraries/BSDsocket|bsdsocket.library]] *[[Aros/Developer/Docs/Libraries/CAMD|camd.library]] *[[Aros/Developer/Docs/Libraries/Codesets|codesets.library]] *[[Aros/Developer/Docs/Libraries/CGFX|cybergraphics.library]] *[[Aros/Developer/Docs/Libraries/CGXVIDEO|cgxvideo.library]] *[[Aros/Developer/Docs/Libraries/Commodities|commodities.library]] *[[Aros/Developer/Docs/Libraries/DataTypes|datatypes.library]] *[[Aros/Developer/Docs/Libraries/DiskFont|diskfont.library]] *[[Aros/Developer/Docs/Libraries/DOS|dos.library]] *[[Aros/Developer/Docs/Libraries/Exec|exec.library]] *[[Aros/Developer/Docs/Libraries/Expansion|expansion.library]] *[[Aros/Developer/Docs/Libraries/FreeType2|freetype.library]] *[[Aros/Developer/Docs/Libraries/GadTools|gadtools.library]] *[[Aros/Developer/Docs/Libraries/Graphics|graphics.library]] *[[Aros/Developer/Docs/Libraries/Icon|icon.library]] *[[Aros/Developer/Docs/Libraries/Identify|identify.library]] *[[Aros/Developer/Docs/Libraries/IFFParse|iffparse.library]] *[[Aros/Developer/Docs/Libraries/Intuition|intuition.library]] *[[Aros/Developer/Docs/Libraries/Keymap|keymap.library]] *[[Aros/Developer/Docs/Libraries/Layers|layers.library]] *[[Aros/Developer/Docs/Libraries/Locale|locale.library]] *[[Aros/Developer/Docs/Libraries/LowLevel|lowlevel.library]] *[[Aros/Developer/Docs/Libraries/MathIEEESingBas|mathieeesingbas.library]] *[[Aros/Developer/Docs/Libraries/MathIEEEDoubBas|mathieeedoubbas.library]] *[[Aros/Developer/Docs/Libraries/MathIEEESingTrans|mathieeesingtrans.library]] *[[Aros/Developer/Docs/Libraries/MathIEEEDoubTrans|mathieeedoubtrans.library]] *[[Aros/Developer/Docs/Libraries/Mathtrans|mathtrans.library]] *[[Aros/Developer/Docs/Libraries/MUIMaster|muimaster.library]] *[[Aros/Developer/Docs/Libraries/Partition|partition.library]] *[[Aros/Developer/Docs/Libraries/PopUpMenu|popupmenu.library]] *[[Aros/Developer/Docs/Libraries/OOP|oop.library]] *[[Aros/Developer/Docs/Libraries/Regina|regina.library]] *[[Aros/Developer/Docs/Libraries/Reqtools|reqtools.library]] *[[Aros/Developer/Docs/Libraries/RexxSysLib|rexxsyslib.library]] *[[Aros/Developer/Docs/Libraries/ScreenNotify|screennotify.library]] *[[Aros/Developer/Docs/Libraries/TTEngine|ttengine.library]] *[[Aros/Developer/Docs/Libraries/Thread|thread.library]] *[[Aros/Developer/Docs/Libraries/Utility|utility.library]] *[[Aros/Developer/Docs/Libraries/Xadmaster|xadmaster.library]] *[[Aros/Developer/Docs/Libraries/Workbench|workbench.library]] *[https://github.com/aros-development-team/AROS/commit/c82e86b8480277998014cc327b56c7664023a52f ClassAct Reaction boopsi class] ===AROS Subsystems=== # [[Aros/Developer/Zune|Zune MUI compatible GUI]] # [[Aros/Developer/AROSAppPackages|AROS Application Packages]] # AHI Audio Drivers - [[Aros/Developer/AHIDrivers|Usage]]/[[Aros/Developer/AHIDriversDev|Development]] # AROSTCP Sana2 Network Interface Drivers - [[Aros/Developer/NICDrivers|Usage]]/[[Aros/Developer/NICDriversDev|Development]] # [[Aros/Developer/AmiSSL|AmiSSL]] # gfx.hidd/cybergraphics Video Drivers - [[Aros/Developer/GfxDrivers|Usage]]/[[Aros/Developer/GfxDriversDev|Development]] # IO Device Drivers - [[Aros/Developer/IODeviceDrivers|Usage]]/[[Aros/Developer/IODeviceDriversDev|Development]] # USB Device Drivers - [[Aros/Developer/USBDrivers|Usage]]/[[Aros/Developer/USBDriversDev|Development]] # PCI Device Drivers - [[Aros/Developer/PCIDrivers|Usage]]/[[Aros/Developer/PCIDriversDev|Development]] # [http://www.libsdl.org/ SDL] [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2013&pid=13333#post_13333 SDL2 coding usage], [https://github.com/search?q=repo%3Aaros-development-team%2Fcontrib%20SDL2&type=code SDL2 commits], [https://github.com/aros-development-team/contrib/commit/c62c3c425c35bac19dadc23be092b0b13a66c76c SDL3 initial commit], [] # [[w:Gallium3D|Gallium 3D]] [http://www.mesa3d.org/ openGL aka Mesa] - [[Aros/Developer/OpenGL|Usage]]/[[Aros/Developer/OpenGLDev|Development]] [http://www.swiftless.com/opengltuts.html Swfitless] # A small subset of GTK2 through [http://sourceforge.net/projects/gtk-mui/ MUI-GTK] # Cairo 2D Engine - [[Aros/Developer/Cairo|Usage]]/[[Aros/Developer/Cairo|Development]] # [[Aros/Developer/Scalos|Scalos desktop API and plugin modules]] # [[Aros/Developer/VHI|VHI video driver]] ====HIDDs==== *[[Aros/Developer/Docs/HIDD/HIDDClass|hiddclass.hidd]] *[[Aros/Developer/Docs/HIDD/Graphics|graphics.hidd]] *[[Aros/Developer/Docs/HIDD/VesaGfx|vesagfx.hidd]] *[[Aros/Developer/Docs/HIDD/ATI|radeon.hidd]] *[[Aros/Developer/Docs/HIDD/NVidia|nvidia.hidd]] *[[Aros/Developer/Docs/HIDD/Nouveau|nouveau.hidd]] *[[Aros/Developer/Docs/HIDD/Kbd|kbd.hidd]] *[[Aros/Developer/Docs/HIDD/Mouse|mouse.hidd]] *[[Aros/Developer/Docs/HIDD/i2c|i2c.hidd]] *[[Aros/Developer/Docs/HIDD/IRQ|irq.hidd (deprecated)]] *[[Aros/Developer/Docs/HIDD/PCI|pci.hidd]] *[[Aros/Developer/Docs/HIDD/PCIPC|pcipc.hidd]] *[[Aros/Developer/Docs/HIDD/Serial|serial.hidd]] *[[Aros/Developer/Docs/HIDD/Thunderbolt|thunderbolt.hidd]] https://github.com/aros-development-team/AROS/commit/4f02ea691799aff3a01f60cfa5f9182c82fc57a8 HIDD are used for device/peripheral low level hardware support drivers. The HIDD system is split up into a collection of classes with a strict inheritance hierarchy. A HIDD class implements a device driver for a single device or in rare cases a group of devices and provides an interface for other programs and devices to access. In order to maintain portability of interfaces across a wide range of hardware this interface will in general not present the raw interface to the underlying hardware. Instead it will present a generic interface that describes many different hardware implementations. This allows for the best reuse of both interfaces and code. HIDD API is heavyweight though. You need to open a HIDD library, open oop.library, instantiate an object (even if there's no object); and object calls are more costly compared to plain library calls. Basically your task is to implement a subclass of hidd.ata.bus for your hardware. just implementing the XXXATA__Hidd_ATABus__xxxxxx methods for the Amiga chipset - and appropriate versions of the interface_xxx.c file(s). pretty much everything in probe.c could be ignored - just write a replacement scan for relevant amiga devices and store whatever info you need in the bus data? only the "SUPPORT_LEGACY" blocks might be related. You do not need to depend on PCI API. PCI is just a way to discover the hardware on PCs, etc. <hidd/pci.h> includes (at some depth) <interface/HW.h>, which defines IID_HW. This comes from the 'generic' HIDD class in: rom/hidds/hidd/hiddclass.conf did not split up HIDD and HW because they are always used in pair. It's the same as hidd/pci.h bringing definition for: PCI, PCIDriver and PCIDevice. PCI is actually PCIHW, just the name was not changed for backwards compatibility reasons. HW is a 'hub' where HIDD instances plug in. ATA HIDD aoHidd_ATABus_Use32Bit value is completely ignored unless ata.device first detects correct command line parameter. Yes. Unfortunately I was unable to find any comment in code or svn history with explanations. Looked at Linux source, there 32-bit PIO is also controller driver's property. Some of them enable it, some don't. Actually, switching the default to ON should be safe. ata.device is fail-safe at this because during IDENTIFY command it validates upper 16 bits, and if they appear to be zeroes in all 128 longwords, then 32-bit mode is switched off. But, nevertheless, I know how tricky hardware can be, so I decided not to change original behavior. If you think it's wrong in some cases, then it's possible to add one more attribute like aHidd_ATABus_Default32Bit. If set to YES, then this means that 32-bit PIO is safe to use by default. ====Devices==== *[[Aros/Developer/Docs/Devices/ATA|ata.device]] *[[Aros/Developer/Docs/Devices/Console|console.device]] *[[Aros/Developer/Docs/Devices/Narrator|narrator.device]] *[[Aros/Developer/Docs/Devices/Printer|printer.device]] *[[Aros/Developer/Docs/Devices/Trackdisk|trackdisk.device]] *[[Aros/Developer/Docs/Devices/AmberRAM|amberram.device]] *[[Aros/Developer/Docs/Devices/Timer|timer.device]] *[[Aros/Developer/Docs/Devices/|.device]] The Amiga used [[Aros/Developer/Docs/Devices|Devices]] to communicate with [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=3475&viewmode=flat&order=ASC additional hardware]. AROS has replaced these hardware devices with hidd equivalents but some are still retained for backwards compatibility. Local libraries/devices/handlers,etc. are supposed to override the ones in ROM if their version is higher than the one in ROM. Here is the list of commands exec default: {| class="wikitable" | CMD_CLEAR | Purge the buffer of the device |---- | CMD_READ | Playback Control |---- | CMD_STOP | Stopped the activity of the device |---- | CMD_FLUSH | Empty the queue of commands |---- | CMD_RESET | Reset a device |---- | CMD_WRITE | Playback Control |---- | CMD_INVALID | Create an error |---- | CMD_UPDATE | Gets updated device |---- | CMD_START | Will restart the device |---- |} While most other "stuff you communicate with" in AmigaOS are devices <ref>AMIGA ROM Kernel Reference Manual: Devices, 3rd Edition. Commodore-Amiga, Inc. Addison-Wesley, 1991. {{ISBN|0-201-56775-X}}</ref> that share a [http://gega.homelinux.net/AmigaDevDocs/ common base interface]. [[Aros/Developer/Docs/Devices1.3|OS 1.3 Device Drivers]]. ====Handlers==== :[[Aros/Developer/Docs/Handlers/Pipe|pipe.handler]] :[[Aros/Developer/Docs/Handlers/Port|port.handler]] :[[Aros/Developer/Docs/Handlers/SFS|sfs.handler]] :[[Aros/Developer/Docs/Handlers/FAT|fat.handler]] :[[Aros/Developer/Docs/Handlers/PFS|pfs.handler]] :[[Aros/Developer/Docs/Handlers/NTFS|fuse.handler]] :[[Aros/Developer/Docs/Handlers/FFS|ffs.handler]] filesystem handlers have their own separate system consisting of completely differently structured messages that dos.library use to pass requests (for things like reading, writing, getting directory contents etc.) to them. AROS originally went with implementing filesystem handlers as devices, which might arguably be more consistent with the rest of the AmigaOS API but which is quite incompatible with AmigaOS itself. However, it made it far harder to port filesystems and the gains were comparatively small, and so there's been a long standing goal of fixing this incompatibility. It has now, June 2011, been reintroduced to all AROS flavors. are argstr and argsize valid for the handler startup environment? DOS/RunHandler() calls DOS/CreateNewProcTags(), and then CallEntry() (in rom/dos/exit.c) to start the handler, so yes, argstr and argsize are *present* in the call signature of the handler. Granted, argstr will be NULL and argsize 0, but those values *are* passed to the handler function using: <pre> AROS_UFC3(ULONG, entry, AROS_UFCA(STRPTR, argptr, A0), AROS_UFCA(ULONG, argsize, D0), AROS_UFCA(struct ExecBase *, SysBase, A6)); </pre> Creating your own [without the whole build tree http://pagesperso-orange.fr/franck.charlet/temp/radeon.zip] and then <pre> make stub make make install </pre> SFS has two Root blocks, one at the start and one at the end of the disk. The Root blocks both contain the same information. They hold various information about the disk structure and have the locations of some important blocks used by the filesystem. The Root ObjectContainer contains the Root directory Object. The name of this Object is the name of the volume. It is identical to a normal directory Object. The Bitmap is used to keep track of free space. Each bit in a bitmap represents a single block. A set bit indicates a free block and a cleared bit a used block. AdminSpaceContainers are used to keep track of space which has been reserved for storing administration blocks. Only the Bitmap, the Root blocks and the actual data stored in files aren't stored in administration space. Administration space is allocated in chunks of 32 blocks at a time. A single AdminSpaceContainer can hold information about a large number of such areas each of which has its own little bitmap of 32 bits. Extents are stored in a B-Tree. The Root block holds a pointer to the root of the Extent B-Tree. Extents keep track of space in use by a specific file. Each fragment a file consists of has its own Extent. Extents are in a double linked list. The list can be used to locate the next or previous fragment of a file. Below is the standard block header. This header is found before EVERY type of block used in the filesystem, except data blocks. The id field is used to check if the block is of the correct type when it is being referred to using a BLCK pointer. The checksum field is the SUM of all LONGs in a block plus one, and then negated. When applying a checksum the checksum field itself should be set to zero. The checking a checksum the checksum is okay if the result of the checksum equals zero. The ownblock BLCK pointer points to the block itself. This field is an extra safety check to ensure we are using a valid block. Field Type Description id ULONG The id field is used to identify the type of block we are dealing with. It is used to make sure that when referencing a block we got a block of the correct type. The id consist of 4 bytes and each blocktype has its own unique foure letter code. checksum ULONG This field contains the sum of all longs in this block, plus one and then negated. The checksum can be used to check if the block hasn't been corrupted in any way. ownblock BLCK Points to itself, or in other words, this field contains the block number of this block. This is yet another way to check whether or not a block is valid. <pre> struct fsBlockHeader { ULONG id; ULONG checksum; BLCK ownblock; }; </pre> The algorithm to calculate the checksum of a block: <pre> ULONG calcchecksum(struct fsBlockHeader *block, LONG blocksize} { ULONG *data=(ULONG *)block; ULONG checksum=1; block->checksum=0; while(blocksize>0) { checksum+=*data++; blocksize-=4; } return(-checksum); } </pre> A Root block contains very important information about the structure of a SFS disk. It has information on the location and size of the disk, the blocksize used, locations of various important blocks, version information and some filesystem specific settings. A SFS disk has two Root blocks; one located at the start of the partition and one at the end. On startup the filesystem will check both Roots to see if it is a valid SFS disk. If either one is missing SFS can still continue (although at the moment it won't). A Root block could be missing on purpose. For example, if you extend the partition at the end (adding a few MB's) then SFS can detect this with the information stored in the Root block located at the beginning (since only the end-offset has changed). Same goes for the other way around, as long as you don't change start and end point at the same time. When a Root block is missing because the partition has been made a bit larger, then SFS will in the future be able to resize itself without re-formatting the disk. Field Type Description bheader struct fsBlockHeader Standard block header. version UWORD The version of the filesystem block structure. You can check this field to identify what version of the filesystem your dealing with it and to see if you can handle this structure correctly. Don't try to interpret the disk's structure when this field contains an unknown version number! sequencenumber UWORD Used to identify which Root block was written last in case the sequencenumber on both Root blocks don't match. datecreated ULONG Creation date of this volume. This is the date when the disk was last formatted and will never be changed. bits UBYTE Various settings, see below. <pre> pad1 UBYTE Reserved, leave zero. pad2 UWORD Reserved, leave zero. reserved1 ULONG[2] Reserved, leave zero. firstbyteh ULONG High 32-bits of a 64-bit number. This is the first byte of our partition relative to the start of the disk. firstbyte ULONG Low 32-bits of a 64-bit number. lastbyteh ULONG High 32-bits of a 64-bit number. This is the last byte (exclusive) of our partition relative to the start of the disk. lastbyte ULONG Low 32-bits of a 64-bit number. totalblocks ULONG The total number of blocks this partition consists of. blocksize ULONG The size of a block of this partition. reserved2 ULONG[2] Reserved, leave zero. reserved3 ULONG[8] Reserved, leave zero. bitmapbase BLCK Block number of the start of the Bitmap. adminspacecontainer BLCK Block number of the first AdminSpaceContainer. rootobjectcontainer BLCK Block number of the ObjectContainer which contains the root of the disk (this is where the volume name is stored). extentbnoderoot BLCK Block number of the root of the Extent B-Tree. reserved4 ULONG[4] Reserved, leave zero. </pre> <pre> struct fsRootBlock { struct fsBlockHeader bheader; UWORD version; UWORD sequencenumber; ULONG datecreated; UBYTE bits; UBYTE pad1; UWORD pad2; ULONG reserved1[2]; ULONG firstbyteh; ULONG firstbyte; ULONG lastbyteh; ULONG lastbyte; BLCK totalblocks; ULONG blocksize; ULONG reserved2[2]; ULONG reserved3[8]; BLCK bitmapbase; BLCK adminspacecontainer; BLCK rootobjectcontainer; BLCK extentbnoderoot; ULONG reserved4[4]; }; </pre> AdminSpaceContainers are used to store the location and bitmap of each administration space. The AdminSpaceContainers are located in a double linked list and they contain an array of fsAdminSpace structures. There is one fsAdminSpace structure for every administration space on disk. Field Type Description bheader struct fsBlockHeader Standard block header. next BLCK The next AdminSpaceContainer, or zero if it is the last in the chain. previous BLCK The previous AdminSpaceContainer, or zero if it is the first AdminSpaceContainer. bits UBYTE The number of bits in each in the bits ULONG in the fsAdminSpace structure. pad1 UBYTE Reserved, leave zero. pad2 UWORD Reserved, leave zero. adminspace struct fsAdminSpace An array of fsAdminSpace structures. The size of the array is determined by the current blocksize. <pre> struct fsAdminSpaceContainer { struct fsBlockHeader bheader; BLCK next; BLCK previous; UBYTE bits; UBYTE pad1; UWORD pad2; struct fsAdminSpace adminspace[0]; }; </pre> Field Type Description space BLCK The first block of an administration space. bits ULONG A small bitmap which is used to determine which blocks in an administration space are already in use. The number of bits in this bitmap is determined by the bits field in the AdminSpaceContainer. <pre> struct fsAdminSpace { BLCK space; ULONG bits; }; </pre> The fsBitmap structure is used for Bitmap blocks. A bitmap block is used to keep track of which space is in use and which isn't for a particular area of a disk. All bitmap blocks together keep track of the free space for an entire disk. The location of the first bitmap block is known and all other bitmap blocks are stored in order after the first one. Field Type Description bheader struct fsBlockHeader Standard block header. bitmap ULONG An array of ULONG's. These hold the actual information on which blocks are in use and which aren't. <pre> struct fsBitmap { struct fsBlockHeader bheader; ULONG bitmap[0]; }; </pre> Each bit in a bitmap block (except for the block header) represents a single block. If the bit is set than the block is free, and if the bit is clear then it is full. The first ULONG in the bitmap area of the first bitmap block represents blocks 0 through 31 on the disk. Bit 31 of this ULONG is block 0, 30 is block 1, and so on. Bit 0 of the first ULONG represents block 31. Below is a table to clarify how bitmaps work even further. The first column is the bitmap block number, the second column is the number of the ULONG in the bitmap array. The third column is the bit number in this ULONG, and the last column is the block which this specific bit, in this specific bitmap block represents. We'll assume here that a bitmap block has room for 120 ULONG's (meaning there is room for storing 32 * 120 bits). <pre> Bitmap block ULONG number Bit number Block represented 1 (first) 0 31 0 1 0 30 1 ... ... ... ... 1 0 1 30 1 0 0 31 1 1 31 32 ... ... ... ... 1 2 31 64 1 2 30 65 ... ... ... ... 1 119 0 3839 2 0 31 3840 2 0 30 3841 ... ... ... ... </pre> The last bitmap block doesn't need to be completely used. The unused bits (which belong to blocks which do not exist) all have to be clear, to indicate that these blocks are in use. The fsObjectContainer structure is used to hold a variable number of fsObjects structures (Objects) which have the same parent directory. Each ObjectContainer must contain at least one Object. If there is space in the ObjectContainer not used by the variable number of Objects then that space is zero filled. Objects always start at 2-byte boundaries, which means sometimes a padding byte is inserted between two Objects. Field Type Description bheader struct fsBlockHeader Standard block header. parent NODE The node number of the parent Object, or 0 if this object has no parent (which is only the case for the Root directory). next BLCK The next ObjectContainer belonging to this directory, or zero if it is the last in the chain. previous BLCK The previous ObjectContainer belonging to this directory, or zero if it is the first ObjectContainer in this directory. object struct fsObject A variable number of fsObject structures. The number of structures depends on the individual sizes of each fsObject structure and the blocksize. These structures are located directly after each other with at most 1 byte of padding between them to get the structures aligned on a 2 byte boundary. <pre> struct fsObjectContainer { struct fsBlockHeader bheader; NODE parent; BLCK next; BLCK previous; struct fsObject object[0]; }; </pre> fsHashTable is the structure of a HashTable block. It functions much like the hash table found in FFS user directory blocks, except that it is stored in a separate block. This block contains a number of hash-chains (about 120 for a 512 byte block). Each hash-chain is a chain of Nodes. Each Node has a pointer to an Object and a pointer to the next entry in the hash-chain. Using such a hash-chain you can locate an object quickly by only knowing its name. Field Type Description bheader struct fsBlockHeader Standard block header. parent NODE The node number of the directory Object this HashTable block belongs to. hashentry NODE An array of Nodes. Each Node represents the start of a hash-chain (singly linked). A hash-value is calculated using the name of a file or directory, and this value determines in which chain the Object is linked. If there are no entries in a hash-chain then the hashentry value is zero. <pre> struct fsHashTable { struct fsBlockHeader bheader; NODE parent; NODE hashentry[0]; }; </pre> To calculate the hash-value using a name of an Object as input use these routines: <pre> UWORD calchash(UBYTE *name) { UWORD hash=0; /* Calculates a hash value over the passed in string. The end of the string can be either a NUL byte or a slash. The hash function is the same as the one used in FastFileSystem set to international mode. */ while(name[hash]!=0 && name[hash]!='/') { hash++; } while(*name!=0 && *name!='/') { hash=hash*13+upperchar(*name++); } return((UWORD)(hash % (UWORD)((blocksize-sizeof(struct fsHashTable))>>2))); } UBYTE upperchar(UBYTE c) { if((c>=224 && c<=254 && c!=247) || (c>='a' && c<='z')) { c-=32; } return(c); } </pre> The BNodeContainer is used to store B-Trees. Currently only one B-Tree is in use by this filesystem and it is used to store the location of file data. The fsBNodeContainer structure contains two other structures. The fsBlockHeader structure and the BTreeContainer structure. Field Type Description bheader struct fsBlockHeader Standard block header. btc struct BTreeContainer Contains information about the B-Tree and its nodes contained in this block. <pre> struct fsBNodeContainer { struct fsBlockHeader bheader; struct BTreeContainer btc; }; </pre> First try and locate the Root block. It should start with "ROOT". SFS has two of these, one at the start of the partition and one at the end. One of the fields contains the block size, which will be the size of all important SFS blocks. The root block has the root object container, which contains information about files and directories in the root directory. The object containers basically hold one or more smaller structures that represent files and directories. Scanning them all should give you a list of files and directories. The root block also has the root of the Extent B-Tree. This is a standard B-Tree structure (not a binary tree) that is used commonly in all kinds of system, you can read about how they work on Wikipedia if needed. The B-Tree holds the information about *where* all the data is located for your files. To recover your files, I'd do this: * Find one of the root blocks, if not present, then figure out the block size your disk was using, and scan every block in turn to see if it looks like an ObjectContainer (check the fsBlockHeader's ID, check if the ownblock number is equal to the block you are currently scanning, and check its checksum). So if you currently have block 12, and you see a block with the correct id, and ownblock = 12 and its checksum is good, then that's probably a valid ObjectContainer. * With all the ObjectContainers found, you can extract filenames and directory names from these, but also the number of their first data block (in the field data) and the file size. For small files (less than blocksize) this data block will be enough to recover the data. For larger files, you might be lucky and all the remaining blocks are found after the first one (if the file was defragmented). You can't be sure of that though so... * For larger files, you need to find all the BNodeContainers. You could scan these in the same way you found all the ObjectContainers (look for blocks with the correct id, ownblock number and checksum). * With all the BNodeContainers found, you can try looking up the first data block of a file in the B-Tree structure. This is a bit complicated -- the B-Tree consists of non-leaf nodes (blocks that only contain pointers to other B-Tree blocks), the isLeaf flag indicates this. Or it can be a B-Tree leaf block. The leaf blocks contain extra information per entry (see https://hjohn.home.xs4all.nl/SFS/extents.htm) <pre> struct fsExtentBNode { ULONG key; ULONG next; ULONG prev; UWORD blocks; }; </pre> The key should be a block of a file (the first of a range), that is 1 to 65535 block long (depending the "blocks" field). If the file is split up into more parts, then "next" will contain block number of the next range of blocks. You need to look this up again in the B-Tree structure to find out how large it is. You can for the most part ignore the other structures (bitmap, admin containers). The fsObjects and B-tree containers is what you'll need to recover the data. ====Resources==== <pre> rom/storage/mmakefile.src rom/storage/storage.conf rom/storage/storage_device.c rom/storage/storage_ids.c rom/storage/storage_init.c rom/storage/storage_intern.h rom/storage/storage_mount.c rom/storage/storage_unit.c </pre> <pre> rom/storage/includes/device.h rom/storage/includes/unit.h rom/storage/includes/volume.h rom/storage/storage_intern.h </pre> <pre> </pre> *[[Aros/Developer/Docs/Resources/ACPI|acpi.resource]] *[[Aros/Developer/Docs/Resources/Battclock|battclock.resource]] *[[Aros/Developer/Docs/Resources/Bootloader|bootloader.resource]] *[[Aros/Developer/Docs/Resources/Cia|cia.resource]] *[[Aros/Developer/Docs/Resources/Filesystem|FileSystem.resource]] *[[Aros/Developer/Docs/Resources/Hostlib|hostlib.resource]] *[[Aros/Developer/Docs/Resources/Kernel|kernel.resource]] *[[Aros/Developer/Docs/Resources/Misc|misc.resource]] *[[Aros/Developer/Docs/Resources/Processor|processor.resource]] ==Debugging Code== Please use the [http://sourceforge.net/tracker/?group_id=43586&atid=439463 AROS Bug Tracker] if any issues are found. GRUB Command line list <pre> sysdebug usbdebug - allows to see Poseidon's log in debug output </pre> How do I get debugging out of InitResident ? If running i386 hosted on linux sysdebug=initresident on command line. This way you can enable any of listed flags. sysdebug=all stands for "everything" Have an executable (crosscompiled C++ code) which has 6 MB size on disk, but after loading it in memory, 250 MB RAM is taken. Any software that would split AROS executable into ELF part which would show actual size values? readelf -S executable it will show you all sections in elf file, including sizes and requested alignment. objdump -h filename That's will give you a quick overview of the sections and sizes. Ignore all the .debug.* sections. Would hazard a guess that you have a large .bss section. That's pretty common in C++. Next step: nm—size-sort filename | grep ' [bB] ' The last few will be your biggest consumers. Would suggest -C to demangle the symbols... ;) Suggest profiling the program (just use some printf's in the main loop for time spent in each part), it usually is quite easy to spot slow parts in games or apps. If someone has '#define IPTR ULONG' somewhere. To see where that define is, redefine IPTR in the source code that fails, just above the line that fails, and the preprocessor will tell you where it was defined first. ===How to setup gdb with AROS/hosted=== Download AROS sources (AROS-xxxxxxxx-source.tar.bz2, where xxxxxxxx is the current date) and AROS contrib sources (AROS-xxxxxxxx-contrib-source) from Untar-bzip2 and cd to the unpacked archive directory. > tar -xvjf AROS-xxxxxxxx-source.tar.bz2 > cd AROS-xxxxxxxx-source Check the link to "contrib" (contrib-source) inside directory, e.g. correct like this: > rm contrib > ln -s ../AROS-xxxxxxxx-contrib-source.tar.bz2 contrib Make sure you have the correct locale setting, otherwise compilation will fail at some point. See [http://aros.sourceforge.net/documentation/developers/compiling.php#setting-the-locale-to-iso8859 here] (or link below) for more on that. You might have to enter this: > export LANG="en_US.ISO-8859-1" Now configure for a debug build - see "./configure --help" for more - here are two examples: > ./configure—enable-debug=stack,modules,symbols > ./configure—enable-debug=all You may "make" now, or choose a separate directory for your build (e.g. for easy removal), for example if compiling for i386 architecture you could create a directory like this: > mkdir linux-i386 > cd linux-i386 > ../AROS/configure—enable-debug=stack,symbols,modules When done configuring you're ready to go: > make Building AROS takes some time - minutes on fast machines (e.g. 2.5&nbsp;GHz quadcore), up to hours on slower machines. The result will be AROS Linux hosted with gdb debugging enabled. See aros.org documentation for more on compiling AROS, including more [http://aros.sourceforge.net/documentation/developers/compiling.php --enable-debug] options. When finished, enter bin/linux-i386/AROS directory (replace "linux-i386" with your compilation target platform, e.g. linux-x86_64, etc.) inside the unpacked archive directory. This directory contains the required .gdbinit file for properly running AROS inside gdb. > cd bin/linux-i386/AROS Run AROS (here: with 128MB of memory) from gdb: > gdb—args boot/aros-unix -m 128 or > gdb—args boot/arosboot -m 128 (gdb) r Watch the shell output - in case AROS complains about "LoadKeyCode2RawKeyTable: Loading "DEVS:Keymaps/X11/keycode2rawkey.table" failed!" you should also see some instructions on how to create a keymap table. (see link above "more on compiling", too.) Quit gdb, and try default keymap table: (gdb) q The program is running. Quit anyway (and kill it)? (y or n) y > cd ../../.. > make default-x11keymaptable Re-run AROS, as described above. Try e.g. RAros (= right windows key) + W to open a shell. If this doesn't work you have to create a keymap table yourself, quit gdb again, and make a new keytable: > make change-x11keymaptable A window will open. Watch the window's title bar, and follow the instructions. When done, re-run AROS. RAros + W should now open a shell. Next, compile your program with gdb support. When you start GDB is there a warning which says warning: File "<whatever>/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to ... If so start gdb with "-ix .gdbinit" <pre> Summary - In short: * build AROS with debugging support (i.e. ./configure --enable-debug=all) * build your application with debugging support (i.e. option -g) * run AROS in the GNU debugger (you may use the GUI frontend "ddd" which simplifies usage a bit) * start your application * use the commands "findaddr" and "add-symbol-file" as written in the debugging manual * if the debugger doesn't find the source code of your application use the "dir" command of the debugger. </pre> ===How to use gdb=== In AROS open a shell, then (in host shell) use CTRL-Z to go into gdb. Use "b Exec_CreatePool" (one of the functions used early on by startup code in programs) to add a breakpoint, then "cont" and gdb will interrupt somewhere early during startup of "program". Use "bt" to show backtrace and "loadseg" for "??" entries. One of them will be for "program". After that you can use "disassemble program". One thing you need to make sure is that .gdbinit you have in your build directory is the same as in source tree. It has been modified some time ago, but the build system does not refresh it - you need to copy it manually To recap, please read our debugging [http://aros.sourceforge.net/documentation/developers/debugging.php manual]: To detect segfaulting when loading, try... ./configure—enable-debug—with-optimization="-O2" Because crash or no crash may depend on optimization. For newer compilers maybe this helps... --with-optimization=-"-O2 -fno-strict-aliasing" One way to make crashes less random (more easily reproducible) is to activate the munging of free memory in rom/exec/freemem.c which is normally commented out: <pre> Index: freemem.c =================================================================== --- freemem.c (revision 34289) +++ freemem.c (working copy) @@ -154,11 +154,12 @@ * created with their TCB placed in the tc_MemEntry list. The workaround * is to avoid munging when FreeMem() is called with task switching disabled. */ + /* DOH! it doesn't work even this way. What's wrong??? - * - * if ((SysBase->TDNestCnt < 0) && (SysBase->IDNestCnt < 0)) - * MUNGE_BLOCK(memoryBlock, MEMFILL_FREE, byteSize); */ + + if ((SysBase->TDNestCnt < 0) && (SysBase->IDNestCnt < 0)) + MUNGE_BLOCK(memoryBlock, MEMFILL_FREE, byteSize); } </pre> Mungwall can be turned on at runtime. Currently this works in all hosted versions. Just specify "mungwall" on kernel command line and it works. It can work on native too. In order to enable it you need to parse kernel command line, and if "mungwall" is present, set EXECF_MungWall bit in IntExecBase.IntFlags. This needs to be done before the first AllocMem() for obvious reasons. And never reset back this flag! If you change it on a working system, you are doomed. Hosted ports do the processing in rom/exec/prepareexecbase.c --enable-debug=mungwall option in configure still works but is going obsolete. A kludge in rom/exec/allocmem.c is responsible for this and it needs to be removed when the transition is done. BTW, on i386-pc port it can be activated by "mungwall" argument on command line, you don't need to rebuild AROS. New mungwall affects not only AllocMem()/FreeMem(), but also pools. I also tested it with AllocAbs(), seems to work correctly. Runtime mungwall works on: * pc-i386 * pc-x86_64 * linux-i386 * linux-x86_64 * darwin-x86 * linux-ppc Works on all hosted ports, if the port itself is working. * amiga-m68k * Not on sam440-ppc and efika-chrp-ppc, even if they would be able to be built at moment. Does not work on (for now, need NVRAM support) When starting my freshly rebuilt i386-linux-aros which was compiled with full debugging support I get sometimes the error "Program exited with code 0377". Add the following to your .gdbinit: set follow-fork-mode child Here are some of the custom AROS gdb functions (defined in ".gdbinit" file) to resolve "in ?? ()" entries in backtrace: <pre> #0 0xb7ffd424 in __kernel_vsyscall () #1 0xb7e2a657 in sigsuspend () from /lib/libc.so.6 #2 0xb7c63900 in ?? () #3 0xb7c640e3 in ?? () #4 0xb7c641e0 in ?? () </pre> You can use loadseg 0xb7c63900 loadframe 2 or loadbt and some others. Use "help " for a little help text. If the commands do not work try "loadkick" first. Use "thistask", "taskready", "taskwait" to get list of AROS tasks. "bttask " shows backtrace of a task which is in ready or in wait queue and "loadseg" to resolve "??" entries in it's backtrace ("loadframe" would not work as it assume current running task). ===Native debugging tools for AROS=== to enable debugging at boot time entering the GRUB menu editing line (E key) and adding "debug=memory" to your boot line, then press Ctrl+X to complete booting. SYS:Tools/Debug/'''Bifteck''' Open a shell and enter the line below to run Biftek and grab the debug messages collected in RAM into a text file. tools/debug/bifteck > ram:debug.txt and certainly does not open a window. It is a shell tool and only dumps data located from the debug location. It is therefore important to 'catch' that debug data as soon as possible (before it gets overridden). You should invoke bifteck at the first opportunity before doing anything else. You can use the TO option to store bifteck output to a file or you can pipe it manually to a file. SYS:Tools/Debug/'''Sashimi''' - displays error messages One suggestion is to do a bug() debugging. Each time bug() is executed it will be output on sashimi. You include <aros/debug.h> and place bug("something\n"); in your source code at location though which control passes. To get the output - open an aros shell SYS:Tools/Debug/sashimi > RAM:out.txt '''Ctrl C''' to end the output to the RAM Disk. # open shell, and type # ram: (to switch to ram drive) # System:Tools/Debug/Sashimi > mylogfile.txt # open AHI prefs using wanderer (or use another opened shell) # play test sound # close AHI prefs # shell still open with Sashimi running: press ctrl-c to break Sashimi and return to prompt. # in shell: copy mylogfile.txt System: (or to your required location) SYS:Utilities/'''Snoopy''' - monitors OS function calls, run "Sashimi" to see Snoopy's output SYS:Tools/'''WiMP''' - the Window (and Screens) Manipulation Program You can use the -E option of gcc to find out how preprocessor macros are expanded. ===Errors=== crash in strcasecmp usually means that one of its arguments is NULL. empty space between these two names, prossibly some invisible character Old Amiga [http://www.amigacoding.com/index.php?title=Guru_codes&redirect=no Guru Codes] If the crash is in intuition. Sometimes, if it relates to text, a null pointer sets it off. an uninitialised pointer can have any address (this is a common fault). Compiling on 64bit, Many old code would not properly typecast when doing pointer-integer conversions and thus at least throw a warning. This can easily be located and fixed. [http://www.aros.org/cs/documentation/developers/app-dev/portable.php Portable code] * Use texteditor or some tool to replace all "ULONG" with "IPTR" and "LONG" with "SIPTR" in the sources. * Fix (change IPTR/SIPTR back to ULONG/LONG) the few places which really rely on ULONG/LONG being exactly 32 bit. That's for things like pixel (ARGB) buffers, structs written/read to disk, colormaps, but probably not much else. Then again, many current compilers also throw a warning when you try to assign a pointer value to an integer and the integer is possibly too small. This happens under .NET for example when a 64 bit pointer is assigned to something like an ULONG - so exactly the case which you described. === Example === <syntaxhighlight lang="c"> /* 1. Header for your name,date,purpose of program. 2. Pre-processor directives. This will include the #includes for files you want to add. 3. Includes for function prototypes if necessary. 4. Main() Create Pointers for Libraries and any Window you want to open. 5. Open necessary libraries. 6. Check if open exit program if fail. 7. Open a window exit program if fail. 8. Add your program 9. Close Window 10 Close Libraries. 11 End Program. */ /* standard os included headers <.h> */ #include <dos/dos.h> #include <dos/dosasl.h> #include <dos/dosextens.h> #include <dos/exall.h> #include <dos/rdargs.h> #include <exec/memory.h> #include <exec/types.h> #include <utility/utility.h> #include <intuition/intuition.h> /* define as unresolved external references (proto/xxx.h) and compiler will link to auto(matically) open library */ #include <proto/arossupport.h> #include <proto/dos.h> #include <proto/exec.h> #include <proto/intuition.h> #include <proto/graphics.h> #include <proto/cybergraphics.h> #include <proto/datatypes.h> #include <proto/icon.h> #include <workbench/workbench.h> #include <workbench/icon.h> #include <datatypes/pictureclass.h> #include <proto/muimaster.h> #include <libraries/mui.h> #include proto/bsdsocket.h #include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> /* my own headers ".h" */ #define CTRL_C (SetSignal(0L,0L) & SIGBREAKF_CTRL_C) #define isDir(fib) ((fib)->fib_DirEntryType >= 0) #define ARG_TEMPLATE "FILE/A,ALL/S,QUIET/S,W=WIDTH/N,H=HEIGHT/N,M=METHOD,DEFTOOL" int main(void) { return retval; } /* main */ </syntaxhighlight> <syntaxhighlight lang="c"> </syntaxhighlight> If you used c++, there is not yet c++ support in our shared library system. The easiest way to create / compile a shared library would be to use the AROS build system but the libraries can be created manually. You have to create a ROMTAG structure and some header files. A shared library is built with the %build_module macro with a line like this: %build_module mmake=MetaTarget modname=mylib modtype=library files=SourceFiles This macro can build different AROS module types, like devices, Zune classes, HIDDs, etc. <pre> ##begin config version 1.0 ##end config ##begin functionlist void func1(LONG a, LONG b) int func2(char *s, ULONG a) ##end functionlist </pre> Alternatively, <pre> #ifndef LIB_H #define LIB_H #define __NOLIBBASE__ #include <exec/libraries.h> #include <exec/semaphores.h> #include <dos/dos.h> #ifdef __AROS__ //#include <aros/debug.h> #define reg(x) #define __saveds #endif #define USESYSBASE struct ExecBase *SysBase = Base->My_SysBase; struct MyTestBase { struct Library My_Test_Lib; struct ExecBase *My_SysBase; APTR My_SegList; int testint; }; #endif </pre> <pre> /*--------------------------------------------------------------------------*/ /* Resident header written for mytest.library */ /*--------------------------------------------------------------------------*/ #define __NOLIBBASE__ #define VERSION 1 #define REVISION 0 #define LIBHEADNAME mytest #define LIBHEADNAMESTR "mytest" #define COMPDATE "04.10.2015" #define VERS "1.0" #define LIBBASETYPE struct MyTestBase #define LIBBASETYPEPTR LIBBASETYPE * #include <aros/debug.h> #include <exec/exec.h> #include <proto/exec.h> #include <exec/resident.h> #include <exec/nodes.h> #include <exec/libraries.h> #include <aros/symbolsets.h> #include "lib.h" const UBYTE lib_name[] = LIBHEADNAMESTR ".library"; const UBYTE lib_id[] = "$VER: " LIBHEADNAMESTR ".library " VERS " (" COMPDATE ") by ALB42\n"; extern const APTR FuncTable[]; AROS_UFP3 (LIBBASETYPEPTR, InitLib, AROS_UFPA(LIBBASETYPEPTR, Base, D0), AROS_UFPA(BPTR, seglist, A0), AROS_UFPA(struct ExecBase *, sysbase, A6) ); static struct LibInitStruct { IPTR LibSize; const APTR *FuncTable; const struct DataTable *DataTable; APTR InitFunc; } const LibInitStruct = { sizeof(LIBBASETYPE), FuncTable, NULL, (APTR)InitLib }; const struct Resident romtag = { RTC_MATCHWORD, /* match word */ (APTR)&romtag, /* back pointer */ (APTR)(&romtag + 1), /* skip pointer */ RTF_AUTOINIT | RTF_EXTENDED,/* flags */ VERSION, /* version */ NT_LIBRARY, /* type of module */ 0, /* init priority */ (STRPTR)lib_name, /* module name */ (STRPTR)lib_id + 6, (APTR)&LibInitStruct, REVISION, NULL }; AROS_UFH3 (LIBBASETYPEPTR, InitLib, AROS_UFHA(LIBBASETYPEPTR, Base, D0), AROS_UFHA(BPTR, seglist, A0), AROS_UFHA(struct ExecBase *, sysbase, A6) ) { AROS_USERFUNC_INIT Base->My_SegList = seglist; Base->My_SysBase = (APTR)sysbase; Base->testint = 0; USESYSBASE bug("InitLib\n"); if (!set_open_libraries()) { set_close_libraries(); return NULL; } return Base; AROS_USERFUNC_EXIT } AROS_LH1(LIBBASETYPEPTR, LibOpen, AROS_LHA (ULONG, version, D0), LIBBASETYPEPTR, Base, 1, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibOpen\n"); (void)version; Base->My_Test_Lib.lib_OpenCnt++; return Base; AROS_LIBFUNC_EXIT } __saveds APTR LibExpungeInternal(LIBBASETYPE *Base reg(a6)) { USESYSBASE APTR seglist; bug("LibExpungeInternal\n"); if (Base->My_Test_Lib.lib_OpenCnt) { return 0; } seglist = Base->My_SegList; Forbid(); Remove((struct Node*)Base); Permit(); FreeMem((APTR)Base - Base->My_Test_Lib.lib_NegSize, (LONG)Base->My_Test_Lib.lib_PosSize + (LONG)Base->My_Test_Lib.lib_NegSize); set_close_libraries(); return seglist; } AROS_LH0(BPTR, LibClose, LIBBASETYPEPTR, Base, 2, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibClose\n"); if (!(--Base->My_Test_Lib.lib_OpenCnt)) { return LibExpungeInternal(Base); } return 0; AROS_LIBFUNC_EXIT } AROS_LH1(BPTR, LibExpunge, AROS_LHA(LIBBASETYPEPTR, Base, D0), struct ExecBase *, sysBase, 3, LIBHEADNAME ) { AROS_LIBFUNC_INIT (void)sysBase; USESYSBASE bug("LibExpunge\n"); return LibExpungeInternal(Base); AROS_LIBFUNC_EXIT } AROS_LH0(LIBBASETYPEPTR, LibReserved, LIBBASETYPEPTR, Base, 4, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibReserved\n"); return 0; //return (APTR)LibReserved(); AROS_LIBFUNC_EXIT } // Space for your own functions // do not forget to update the FuncTable as well AROS_LH1(int, TestFunction, AROS_LHA(int, TestValue, D0), LIBBASETYPEPTR, Base, 5, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("TestFunction\n"); Base->testint = TestValue + Base->testint; return Base->testint; AROS_LIBFUNC_EXIT } // Functable -> Table of all functions in the Library, in right order - important! const APTR FuncTable[] = { &AROS_SLIB_ENTRY(LibOpen,LIBHEADNAME,1), &AROS_SLIB_ENTRY(LibClose,LIBHEADNAME,2), &AROS_SLIB_ENTRY(LibExpunge,LIBHEADNAME,3), &AROS_SLIB_ENTRY(LibReserved,LIBHEADNAME,4), &AROS_SLIB_ENTRY(TestFunction,LIBHEADNAME,5), (void *)-1 }; // AutoInit stuff void *__PROGRAM_ENTRIES__symbol_set_handler_missing; void *__LIBS__symbol_set_handler_missing; // end of AutoInitStuff </pre> Makefile <pre> VPATH = CFLAGS = -O2 -g -fomit-frame-pointer -W -Wall -Wno-parentheses CC = i386-aros-gcc LD = i386-aros-gcc LDFLAGS = -nostartfiles -Wl,-Map -Xlinker linkermap LIBS = -lautoinit -llibinit STRIP = i386-aros-strip --strip-unneeded --remove-section .comment OBJS = lib_header.o all: mytest.library mytest.library: $(OBJS) $(LD) $(LDFLAGS) $^ $(LIBS) -o $@ lib_header.o: lib_header.c lib.h clean: rm -f *.o *.library *.ppu testlibrary linkermap </pre> Porting UNIX library to AROS - dealing with static variables which would make it easy to port such libraries to AROS, keeping the benefits of sharing them on disk, but losing the benefit of actually sharing them in memory. Our problem arises by the fact we want to share the actual code (the .text section of the library) and constant data, but we need to have per-task .bss and .data sections. If we get rid of our intention to share the .text and .rodata sections, things get quite easy: just load and relocate the library whenever it's open, by whoever it's open. It's like statically linking the library into the executable, except that the final linking is done at runtime. In the V0 branch, in workbench/hidds/hidd.nouveau was committed pcimock.hidd. This is a pci driver that allows mocking real PCI devices under linux-hosted. The main idea is to be able to run the real hardware driver under linux-hosted with as little changes as possible (some changes will always be needed though unless someone wants to write complete device simulator) so that driver's code paths can be executed and debugged using gdb. This was a very helpful capability when porting nouveau. Now it is externalized from nouveau.hidd and can be used by other people porting drivers. The pcimock.hidd can currently mock 4 different nvidia cards, 1 AGP bridge and also mock irq.hidd. What's the difference between this driver and the pcilinux.hidd? I used that one to develop many different HW drivers for aros. As far as I understood the intention of pcilinux.hidd it is supposed to get access to real hardware that is running under linux. The pcimock.hidd goal is to mock the hardware. For example my dev box is a PCIE system, but I still would like to run the AGP codes paths in nouveau under linux-hosted to check if they don't seg fault. The other case would be to run codes paths for hardware that the developer does not have (Fermi cards in my case). In the case of pcimock.hidd, the AROS driver's code paths will execute as long as you add proper mocking (for example fill in PCI config area or values for registers in BARs). This is an advantage for ported drivers - the code should already work (since it worked on another system) but there might have been mistakes made during porting which can be detected easily with gdb. In case you are writing your driver from scratch, pcilinux.hidd hidd will give you more advantage, since you can actually access the real hardware from linux-hosted. == Misc == ===APL, MPL, BSD, GPL and LGPL Licences=== The majority of AROS sources in licensed under AROS Public License ([http://aros.sourceforge.net/license.html APL]) which (to a degree) protects us from someone taking AROS sources and not contributing improvements back (for example MorphOS took some AROS source and then contributed changes back) It is written to allow the use of AROS code in other open source or commercial projects without exception whilst providing a mechanism so that improvements/additions can find their way back to the original source in one form or another. There are "3rd" party applications used by AROS that do not fall under this license, which are an extra "Contrib" download for convenience. Anyone can port GPL-ed network and sound drivers as AROSTCP and AHI are GPLed. Direct using (porting) [http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs GPL]-ed code in other parts of AROS (gfx, sata, usb) is not possible because AROS license is not compatible with GPL. You need to utilize permissive licensed code like BSD or MIT/X11. BSD and MPL license are the closest to APL. APL however is not so compatible with LGPL/GPL. LGPL case - you cannot statically combine APL code with LGPL. You can, however thank to LGPL being "lesser" restrictive, use LGPL dynamically loaded libraries in APL codes. GPL case - you cannot combine APL code with GPL in any way if there is no explicit clause by GPLed code authors allowing that. If you do combine APL with GPL in "bad" ways described above - you have a problem (you violate GPL). This problem might result in everything in AROS becoming GPL or everything running or AROS becoming GPL (here I'm not sure really). The other scenario is that you are not allowed to legally distribute such code at all. To be honest I have grasped how to violate GPL, but I'm still no exactly sure what happens when you violate it (but I'm sure it's not anything nice) GPL software can run on top of non-GPL "system components" (see system components exception of GPL), but the other way around (non-GPL using GPL) leads to problems. This means applications like scout, or Quake III are ok (in the majority of cases). Theres no reason GPL drivers cannot be ported - but they cant be in AROS's ROM (requires linking APL code with GPL), nor can AROS depend on them (e.g. they must use existing apis). If they are launched (dynamically linked) by a user action that is allowed. It is also allowed to distribute such binaries together for convenience. GPL is not about statical or dynamic linking but is about executing process and function calls. These components - SFS, isapnp, Zune texteditor, AHi, network drivers, freetype, openuirl, BHFormat, Edit and (" dynamically loaded libraries") are LGPL, not GPL. Mesa/Nouveau stuff is MIT. Some user tools are GPL though. '''AROS (system)''' * system components (libraries/classes/devices/etc) cannot be GPL as they would propagate GPL to complete system as well as GPL is not compatible with MPL from which APL is based * system components can be LGPL v2 or a permissive license (MIT/BSD) * system applications can be anything you like (but still I would prefer APL or permissive so the code can be reused if needed) '''Contrib:''' * no rules - contrib does not impact AROS system since nothing in AROS system depends on contrib. About stealing code: The chances of this happening is exactly the same whether we are APL or GPL. If any closed-source option wanted to do it, there is no one that can validate otherwise. MorphOS has used some AROS codes, but contributed changes back. The rationale behind APL is that while it guarantees that the original developer will get the improvements back (to a certain degree - file based), the person who uses the codes does not have to open his original codes. BSD does not guarantee that the original developer gets improvements. GPL requires the person using the codes to open his codes as well. The copyright holders needs to stay - we just need information from them that the codes are available under APL (for example a checked-in file like in case of Poseidon). We don't do transfer of copyrights. ; Ultimately what can and cannot be done is up to the author(s) - not the licence. ===AROS source code tree=== * http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-trunk.txt * http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-contrib.txt Found this interesting (non-GPL) licensing 'anomaly' - to keep in mind for distributors. Programs that lose their license if sold ("non-profit only" licensed): contrib/aminet/comm/term/TinyTerminal contrib/aminet/dev/basic/bwBASIC contrib/aminet/text/edit/xdme contrib/fish/aroach contrib/fish/lotto contrib/fish/shuffle contrib/fish/touch + cdvdfs. Here is a list of all the GPL/GPLv2/GPLv3 licenses fossology found, what have explicit licenses in their comments. excluded LGPL, BSD/GPL dual licensed and programs (such as Prefs/Edit and BHFormat) <pre> AROS/rom/dbus/include/ AFL_v2.1 ,GPL_v2+ (supposedly AFL < 3 is GPL incompatible) AROS/workbench/classes/zune/betterstring/include/ GPL_v2+ AROS/workbench/classes/zune/texteditor/include/ GPL_v2+ AROS/workbench/classes/datatypes/gemimage/ GPL_v2+ GPL AROS/workbench/classes/datatypes/degas/ GPL_v2+ AROS/workbench/libs/openurl/README: GPL AROS/workbench/network/smbfs/documentation/ GPL_v2 AROS/workbench/network/smbfs/source_code/ GPL_v2+ AROS/workbench/network/stacks/AROSTCP/bsdsocket/kern/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/mmakefile.src conf.h GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/sys/ CMU ,GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/net/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/api/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/conf/conf.h: GPL_v2 AROS/workbench/network/stacks/AROSTCP/netinclude/net/radix.h: CMU ,GPL_v2 AROS/workbench/devs/AHI/AHI/ GPL_v2+ AROS/workbench/devs/AHI/AddAudioModes/ GPL_v2+ AROS/workbench/devs/AHI/AddAudioModes/COPYING: GPL AROS/workbench/devs/AHI/Docs/texinfo.tex: GPL_v2+ AROS/workbench/devs/AHI/COPYING: GPL AROS/workbench/devs/AHI/Drivers/EMU10kx/ GPL_v2+ AROS/workbench/devs/AHI/AHI-Handler/ GPL_v2+ AROS/workbench/devs/networks/rtl8029/ GPL GPL_v2+ AROS/workbench/devs/networks/pcnet32/ GPL GPL_v2+ AROS/workbench/devs/networks/ppp/LEGAL: GPL AROS/workbench/devs/networks/atheros5000/ GPL_v2+ AROS/workbench/devs/networks/rhine/ GPL_v2+ AROS/workbench/devs/networks/nForce/ GPL_v2+ GPL AROS/workbench/devs/networks/prism2/ GPL GPL_v2+ AROS/workbench/devs/networks/fec/LEGAL: GPL AROS/workbench/devs/networks/rtl8139/ GPL GPL_v2+ AROS/workbench/devs/networks/etherlink3/ GPL GPL_v2+ AROS/workbench/devs/networks/intelpro100/ GPL GPL_v2+ AROS/workbench/devs/networks/rtl8169/ GPL GPL_v2+ AROS/workbench/devs/networks/emac/ GPL GPL_v2+ AROS/workbench/devs/networks/rtl8168/ GPL GPL_v2+ AROS/workbench/devs/networks/realtek8180/ GPL_v2+ AROS/workbench/devs/networks/via-rhine/via-rhine.c: GPL_v2+ AROS/workbench/devs/networks/via-rhine/ GPL GPL_v2+ AROS/workbench/devs/networks/e1000/ GPL_v2 AROS/workbench/devs/networks/sis900/ GPL GPL_v2+ </pre> AHI: it has special provisions (COPYING.DRIVERS). The library is LGPL, preferences software is GPL and drivers can be anything without breaking GPL/LGPL. Network stack: well, we are long overdue for a new, IPv6 enabled network stack anyway, anyone interested? ;) Seriously though it seems like the glue code is GPL and as all the drivers. However some of the drivers are our own code, so they could be relicensed to LGPL. Same filter as the AROS trunk list. These should all be libraries or plugins - no programs. <pre> contrib/regina/utsname.h: GPL_v2+ contrib/mui/classes/nlist/include/default-align.h: GPL_v2+ contrib/mui/classes/nlist/include/amiga-align.h: GPL_v2+ contrib/mui/classes/BWins/include/MUI/BWin_mcc.h: GPL contrib/mui/classes/BWins/include/BWin_private_mcc.h: GPL contrib/mui/classes/BWins/COPYING: GPL_v2 contrib/mui/classes/BWins/MCC_BWins.readme: GPL_v2 contrib/mui/classes/thebar/include/default-align.h: GPL_v2+ contrib/mui/classes/thebar/include/amiga-align.h: GPL_v2+ contrib/gfx/libs/wazp3d/LEGAL: GPL contrib/gfx/libs/wazp3d/Wazp3D.readme: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d.c: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d_opengl.h: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d_opengl.c: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/Wazp3D.h: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/Wazp3D.c: GPL contrib/libs/mpega/ GPL_v2+ </pre> http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-contrib.txt ===Types=== On AROS following rules apply: <pre> 1. BYTE/UBYTE is 8bit, WORD/UWORD is 16bit, LONG/ULONG is 32bit, QUAD/UQUAD is 64bit, the types are comparable with stdint types (int8_t, int16_t, int32_t, int64_t) 2. IPTR/SIPTR are integer types large enough to fit pointer, that is sizeof(IPTR) = sizeof(APTR) = 4 on 32bit system, and = 8 on 64bit system 3. ti_Data in TagList is large enough to hold a IPTR/APTR type. 4. never store a pointer in integer of type LONG. It may work (if the pointer has upper 32bits clear), but does not have to. Compiler should warn you about that. 5. If you are unsure about point 4, allocate your memory with MEMF_31BIT flag set. But don't expect that AROS internals will do the same. </pre> point 4 is actually important. * UBYTE/BYTE for 8bit * UWORD/WORD for 16bit * ULONG/LONG for 32bit * UQUAD/QUAD for 64bit <pre> UBYTE Unsigned 8 bit integer variable (byte). BYTE Signed 8 bit integer variable (byte). UWORD Unsigned 16 bit integer variable (word). WORD Signed 16 bit integer variable (word). ULONG Unsigned 32 bit integer variable (longword). LONG Signed 32 bit integer variable (longword). FLOAT 32 bit IEEE floating point variable. UQUAD Unsigned 64 bit integer variable. QUAD Signed 64 bit integer variable. DOUBLE 64bit IEEE floating point variable. BOOL Boolean variable, TRUE and FALSE are also defined in exec/types.h. VOID Void. APTR A generic pointer for multiple purposes - Arrays. STRPTR A pointer to a null-terminated string. IPTR Really important in AROS, the only way to declare a field that can contain both: an integer or a pointer. </pre> if you want to write really portable app, you may be interested in standard datatypes defined in C99: int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, intptr_t, uintptr_t. They are all defined in inttypes.h include file. In exec/types.h the following short-cuts are typedef'd. They are used often in AROS, so you should nearly always include exec/types.h and soon only they will be removed from sys/_types.h include, all types are now defined in include files named aros/types/xxx.h. (Preparation for C library split; sys/xxx.h include will only be available there when compiling with POSIX C library) Compiler specific types, like int and long might change their size. In case of AROS, similar to linux, int remains 32 bit whereas long grows to 64 bits in size. If you use Amiga-like data types, i.e. BYTE/UBYTE, WORD/UWORD, LONG/ULONG and QUAD/UQUAD or the C99 standard types (uint8_t and so on, see stdint.h include) then you should have less issues to solve than by using types without size guarantee. Of course, all pointers grow to 64 bytes using 64bit cpu. Most of the code can be just recompiled and will work. In rare cases, where e.g. pointers are casted to integers, a special care must be taken. Especially in the cases, where pointer is casted to LONG/ULONG (this code will break on 64 bit AROS) e.g. '#define IPTR ULONG'. With compiler delint patches which the majority of them are simple casting issues to make the compiler happy. Notice some of the changes involve introducing double casts. In very recent versions of GCC. Yes, the bulk of the double casts are for converting 32 bit addresses (ie from a 32 bit PCI DMA address register) to a 64 bit pointer. First cast is to IPTR (to expand to 64 bits, and prevent sign extension if the address is above 0x7FFFFFFF), and then to APTR. ULONG != IPTR except on 32bit .. so if you need to store pointers make sure and use IPTR and not ULONG (which some old code does). For this reason things like Taglist elements are 64bit (since the tag data can be a pointer). If your passing items on the stack you should use the STACKED attribute to make sure they are correctly aligned (on 64bit all items on the stack are 64bit..) There is more issues like using "== 0L" causes problems. ===Endian=== *BE *LE Use the macros from <endian.h> instead making a guess based upon architecture defines <pre> #if _BYTE_ORDER == _BIG_ENDIAN #elif _BYTE_ORDER == _LITTLE_ENDIAN #else + #error <whatever.h> - Byte order for this architecture is unsupported! </pre> ===SVN and GIT=== If you want to help develop AROS OS itself, you can * view current GIT/SVN entries [http://aros.sourceforge.net/ Aros Org website] or [https://github.com/aros-development-team/AROS Github], [https://github.com/ezrec older ezrec mirror], [https://github.com/michalsc/AROS/ older mirror], [https://trac.aros.org/trac/timeline TRAC], [], * awaiting update [http://repo.or.cz/w/AROS.git git repo], [http://www.ohloh.net/p/aros/commits ohloh] or [https://svn.aros.org/svn/aros/trunk/ svn repo] and access [Git version git://repo.or.cz/AROS.git here], * deprecated [https://www.gitorious.org/aros/aros/commit/a7fda9e ARIX commits] or [https://gitorious.org/aros/aros GIT old] If you have SVN access (early 2015 introduced a new SVN server, create a new account at trac aros org) and/or have obtained the source [http://aros.sourceforge.net/download.php AROS site] - you can compile the current build tools/environment using: > make development and follow this [http://aros.sourceforge.net/documentation/developers/compiling.php#building procedure] or [https://github.com/apiraino/aros_guide Guide] https://trac.aros.org/trac#Developing If you plan on contributing back changes, please post information about such changes first on this [http://mail.aros.org/mailman/listinfo/aros-dev/ mailing list] for more experience developers can validate whether they are correct. Then there are the nightly build machines. They svn update before the build and run configure as one of the next steps. autoconf might be added to the nightly build scripts. Our build relies on packages downloaded from Internet (SDL for example) - it always worked this way. The minimal requirement (when just building core AROS) is binutils and gcc. If you build contrib as well, you need many more packages to be downloaded. https://gitorious.org/aros/aros/commits/crosstools-II git://gitorious.org/aros/aros.git Branch crosstools-II there is only one commit on top of ABI_V1 <pre> ../../aros-src/AROS/configure --enable-ccache --with-portssources=~/aros/Sources --target=pc-x86_64 --with-aros-toolchain-install=/home/weissms/media/data/aros/test/crosstools/pc-x86_64 </pre> and <pre> ../../aros-src/AROS/configure --enable-ccache --with-portssources=~/aros/Sources --target=pc-i386 --with-aros-toolchain-install=/home/weissms/media/data/aros/test/crosstools/pc-i386 </pre> build OK. :''More information: [[Aros/Developer/Maintainer|AROS Maintainer Docs]]'' ===SDI Calls=== Integrate the 'SDI'-headers to allow easier porting to all amiga-like platforms. <pre> PUTCHARPROTO( PutTheChar, char c, struct SPrintfStream *s ) { // REAL CODE } </pre> have "SDI_compiler.h" and "SDI_hook.h" included its more organized like #include SDI/SDI_hook.h than #include SDI_hook.h option 1 --- i also use when back porting from amiga's.. <pre> #ifdef __AROS__ #include SDI/SDI_hook.h #else #include SDI_hook.h #endif </pre> also you can add the -i include/sdi/ location if you do not want to add or edit any files. Defining HOOKPROTO to IPTR name(struct IClass * cl, Object * obj, Msg msg); solved the problem A MUI application most likely needs only the HOOKPROTOxxx SDI macros. They are compatible with AROS, only the attributes (hook, object attribute) must be given in the right order. examine compiler/include/aros/symbolsets.h (AROS_LIBREQ) compiling mui stuff for aros setting -std=gnu99 is necessary (i have had -std=c99 most of the time). ===Locale with Flexcat=== Most languages have a locale, but not every app is localized, the only thing needed is to translate the "catalog" files. It is a case of locating the correct catalog and saving the translated version. For every app that lacks of your language catalog and is localized anyway, you should find (in the sources) files related to locale: * file.cd = catalog descriptor, contains base msg, with internal language (usually english) * language.ct = catalog translation, contains every translated msg, indexed as in the file.cd. Compare with other localized apps... Then, "make my_app-catalogs" should create and install your translated catalogs. ex : for, saying, sys:prefs/wanderer: on root of AROS sources, type: "make workbench-prefs-wanderer-catalogs" then (if you changed the .cd file): "make workbench-prefs-wanderer" For apps not localized, you have to adapt their code to support it, if it is possible... noticed the original .cd file has many (//) strings at the end of any voice, so added them also to the .ct file. That (//) is only for cd files. I'm highly recommending to use FlexCat for updating ct files, e.g. like this: flexcat app.cd deutsch.ct newctfile deutsch.ct You'll get error checking and new entries are marked in the resulting ct file. When editing .ct files, only change those lines containing translation and perhaps version string, nothing else. The rest is up to the relevant tool, flexcat. In order to update your translation, type in the following in your shell: flexcat xyz.cd xyz.ct NEWCTFILE xyz_upd.ct COPYMSGNEW This way you will not only make sure you have correct translation file but flexcat also pre-fills newly added strings with "*** NEW *** text. Even better tool for checking cd/ct/catalog files is catcheck, but this one is sadly only available for AmigaOS/68k... Some languages have variations, like portugues from portugal and portugues from brasil differs... This is the way to go. I will have a look at language files, but basically if those two languages differ you have to do two separated set of translation files, yes. (you could create a brazilian slang language localization too) * At system level localization for one language is a dot language file. (ex: locale:languages/klingon.language) * At app level localization is a dot catalog file (ex: locale:catalogs/klingon/system/libs/dos.catalog) * At sources level, the dot ct file, and "$language" dot cd files and some building framework. (ex: catalogs/my_app.ct catalogs/klingon.cd catalogs/mmakefile.src support.c support.h) Please, use Flexcat to generate CT files: FlexCat wanderer.cd NEWCTFILE=deutsch.ct Then fill the first 2 lines with something useful: <pre> ## version $VER: wanderer.catalog 1.1 (9.2.2006) ## language deutsch </pre> You can even update the CT-File: (This adds the new strings) FlexCat wanderer.cd deutsch.ct NEWCTFILE=deutsch.ct To compile a catalog you only need the .cd file and your translation (.ct file): FlexCat multiview.cd deutsch.ct CATALOG=MultiView.catalog [http://murks-ide.svn.sourceforge.net/viewvc/murks-ide/trunk/src/Catalogs/flexcat_linux?revision=100 Linux version of FlexCat] : [http://aros.sourceforge.net/documentation/developers/app-dev/localization.php#localization-for-non-developers More information] A script which compares the required version (i.e. the version which an application/module etc. tries to open) with the version of the existing CT files. The result is in this table: https://github.com/aros-translation-team/translations/wiki/Progress The following cases are highlighted: n/a i.e. CT misses at all version in existing CT file is lower than the required version It might be a bit difficult to participate if you haven't worked with Git before but alternatively you can send your CT files to our Slack channel. When the ct file has been generated via flexcat (flexcat keyshow.cd NEWCTFILE=spanish.ct) it has the following header: --------------------------------------------------------------------------------------------------------------- ## version $VER: <name>.catalog <ver>.<rev> (04.01.2021) ## language nolanguage ## codeset 0 ; --------------------------------------------------------------------------------------------------------------- Those values <ver>.<rev> are the version and revision of the CT file for the languaje or are the values of the application being localized? The <ver> part must match with version which the application tries to open. You can find the value either in the column "Required Version" in the table which I've linked above, our you can look in the git repository. For keyshow it would be https://github.com/aros-translation-team/keyshow. You can find in the file "catalog_version.h" the right version number. The <rev> part starts for new CT files with 0 and should be increased every time the CT file is updated. Updated several files and created a few more that were missing on the spanish catalog. The catalogs are in Git repositories at https://github.com/aros-translation-team a) You tell me your Github user name. I'll invite you. You can work directly with the Git repositories. b) You create Github forks of the catalog repositories and create pull requests. c) You send the CT files to mrustler gmx de ===C Utils Misc=== The AROS source uses at several places the __DATE__ macro to fill the date entry of a $VER tag. Problem is that c:version doesn't understand that date format (e.g. "May 21, 2011"). As a result the output of e.g. > "version c:shell full" contains "(null)". Is extending the version command to understand the format of __DATE__ the right solution for that problem? AmigaOs compilers should use __AMIGADATE__ macro or similar form, if it isn't implemented it could be emulated in makefile: -D__AMIGADATE__=\"$(shell date "+%d.%m.%Y")\" BTW. I think DD.MM.YYYY is better format than "Month DD YYY" because "Month DD YYY" is not localized in any way. "strnicmp" shouldn't work with NULL pointers The Situation: compiled a linklib using c++ object files (using the c++ cross compiler). compiled a C stub that uses the linklib (using the c++ cross compiler). Try to link them together (using the c++ cross compiler) with C object files (using the normal target c compiler) that need to use -nostartup = cant do because using the c++ files pulls in arosc (for stdio etc.) - so wants to have the autoinit stuff present. What can I do about this?? If it is possible to manually open it then what do I need to do exactly? === ENV === The philosophy behind ENV: is that keeping configuration files there allows you to 'Use' preferences by keeping a copy in ENVARC: intact. However in some cases (like this one) it is not required. 99% of the time that statement is true (not required) for pretty much every file in ENV: or do people change their default icons - and prefs settings - every boot? There seem to be a bad habit of late with developers changing things to reflect their own personal preference when the change isn't actually necessary - It would be nice if people could refrain from doing that in the tree without at least discussing it on the dev-list first (and with good reasoning unless they committed said work in the first place..) We're not keen on the pollution of the "S:" dir: it's meant to be for scripts. What's wrong with "ENV:"? Only the fact that it takes up RAM. I understand that for PCs with several gigabytes of RAM this is irrelevant. But let's remember about other machines. The philosophy behind ENV: is that keeping configuration files there allows you to 'Use' preferences by keeping a copy in ENVARC: intact. However in some cases (like this one) it is not required. How about implementing in the style of HappyENV then? RAM-disk handler that falls through to reading from ENVARC: if there is no such file stored in it already. Removes RAM usage for unchanged files, removes the need to copy ENVARC to ENV in startup-sequence. Shouldn't be too hard to make from AmberRAM, or even just extend AmberRAM to provide this service. Is it feasable to build a special version of AmberRAM handling ENV: that will try and copy the requested file from ENVARC: if it isnt found in ENV: ? Additionaly it could mark closed "files" as untouched - and expunge them from ENV: after a period of time to free up additional RAM:, or when the system is running low on free memory? Silenty disappearing files may not be a good plan. Would be nice if the following would work: ASSIGN :ENV SYS:Prefs/Env-Arc ADD ASSIGN :ENV RAM:ENV ADD Where new files put in ENV: end up in RAM:ENV, and opening files looks in RAM:ENV first, then SYS:Prefs/Env-Arc Well - that's essentially what im proposing but without the assigns - or need for a RAM:ENV directory. Adding it as a feature of AmberRAM sounds like the most memory efficient way (one handler to load in RAM) but that's only if it is possible to make it handle ENV: additionally to RAM:, and if it is even possible to add the proposed functionality (...and how to make it enable it when accessing ENV:). ===(AS)MP support=== If one has to recompile software for SMP multi core, is there any thing special one has to do to get software to run? Use task.resource if you need to query information about what tasks are running, and clear msgports completely when they are allocated. Most code should not need Forbid. Use Semaphores, Messages etc. to sync your own code. Accessing system structures is a different thing. Use the proper API whenever possible. How single structures will be protected in the future is still a moving target, at least it is not documented. And you should never use undocumented stuff Ideas on for SMP multi-core Another suggestion is ... Forbid/Permit function calls are meant to halt multitasking so as no other task could intervene with what ever the calling task is doing, e.g. setting semaphores. Disable/Enable calls are meant to halt interrupts and as a side effect they also halt task switching. One option is to make it compulsory to protect shared resources with semaphores and forbid the use of simple Forbid() calls as to protect something. Setting semaphore should be done if possible with atomic instructions (check and alter in one instruction). Or make the second concurrent ObtainSemaphore call halt the second calling task and force if possible a task switch which ever gives better results. Semaphores could store the owning tasks task pointer instead of boolean to make things easier. As long as the CPU initiates the DMA transfers through the OS, and the OS ensures that the transferred memory is within the region accessible to the user initiating the transfer, everything is fine. The CPU is the conductor, and the CPU by that has the control of which DMA transfer is initiated and which is not. All you need to do is to write device drivers reasonable. Hint: CachePreDMA and CachePostDMA exist. All the Os has to do is to verify that the memory regions to be transferred are valid, and prohibit direct access to the DMA control registers from user space. None of these algorithms imply huge costs. The current OS design doesn't really allow virtual memory in first place, Forbid() is again the problem. [http://www.tbs-software.com/guide/index.php?guide=autodocs.doc%2Fmemory.doc&node=1 memory.library API] seem to low level. IMHO the programs should not know how the swapping is implemented. I would just go for one new memory flag MEMF_SWAPPABLE that indicates that a certain memory region or a whole memory pool won't be accessed during Forbid()/Permit() etc. It only solves part of the problem, it only implements virtual memory and not memory protection. For the latter you need to be able make certain memory inaccessible by other programs, some memory read-only for one task and read-write for other tasks, etc. And I think this should be done in the same Address Space in order to avoid you constantly need to swap between different address spaces. So to summarize, if there are programs using this API we may provide a wrapper layer to get them working but I am not convinced this API should be the reference API with whom to provide VM to AROS programs. === Variadic === variadic functions (i.e. functions with an arbitrary amount of arguments). <pre> #include <stdarg.h> [...] char * STDARGS GetKeyWord(int value, char *def, ...) { [...] va_list va; [...] va_start(va, def); [...] va_end (args); </pre> Please keep with using stdarg rather than having va casted to a LONG * type and varargs handled manually. Doing so, prevents tons of casting, where a simple va_arg can be used. So, string = *((char **) args) instead of string=va_arg(va, char *). <pre> #include <stdio.h> #include <stdarg.h> int printf (const char * format, ...) { int retval; va_list args; va_start (args, format); retval = vfprintf (stdout, format, args); va_end (args); fflush (stdout); return retval; } /* printf */ </pre> Couldn't find varargs.h or stdarg.h. and have no use for AROS_SLOWSTACKHOOKS or AROS_SLOWSTACKTAGS. GCC looks for stdarg.h in a different place: /bin/linux-i386/tools/lib/gcc/i386-aros/4.2.2/include/stdarg.h Here is a path for a "normal" header: bin/linux-i386/tools/lib/gcc/i386-aros/4.2.2/../../../../i386-aros/sys-include/aros/system.h The use of vararg.h isn't supported by newer gcc versions. If you want your code to run on architectures that pass part of variadic arguments in a number of registers you need to use AROS_SLOWSTACK macros. Otherwise your program will not work on powerpc and x86_64 ports. Of course the SLOWSTACK stuff is not needed in a function that can use va_list, va_start, va_arg and va_end. It's only needed if you want to write functions like DoMethod or similar. #include <stdarg.h> should be enough no matter if you do cross or native compiling. If it does not work, something is wrong and should be corrected. Stdarg.h is here, Development:lib/gcc/i386-aros/4.2.2/include/ ...which is part of the compiler's default include paths. In other words, #include <stdarg.h> works out of the box, indeed. (sorry, I should have just tried it before invoking "search" or "find"...) furthermore, myprintf() as shown above won't work, because... printf(format, args); ...is wrong - the second argument does not match printf() prototype, it expects a argument list, but args is of type va_list (obviously) - so one has to use... vfprintf(stdout, format, args); ...instead, just like in the original printf(), and add fflush(stdout). additionally, one could use... int myarg = va_arg(args, int); ...between va_start() and va_end() to access individual arguments, where each call to va_arg() returns an argument casted to the desired type (here: "int") from the list given (here: "args") and advances to the next one. wrapping up vfprintf() and modifying the format string now is a major speedup! no more backslash-n typing! this has been haunting me for years! On MOS and AmigaOS, the NewObject variadic function is kept in the static library. It takes most of the parameters on the stack - thanks to that the implementation of NewObject calls the NewObjectA function. Everything works perfect, and the typical MUI macros may be easily used. This, however, is not the case when you compile for AROS. Here, NewObject is a variadic macro, not a function. Thanks such approach we do not need any custom compiler in case of systems, where the arguments of variadic functions are passed partially through registers and partially through the stack (This is the case of PPC and x86_64, this is also the reason why both OS4 and MOS require specially patched compilers). Since NewObject is a macro, the gcc's preprocessor expects the list of macros arguments enclosed within parentheses. In MUI macros it is not the case. Imagine the following test code: <pre> #define foo(a,b) ((a)+(b)) int loosy_function(int a, int b) { return foo(a,b); } </pre> This will compile and work, but the following piece of code: <pre> #define foo(a,b) ((a)+(b)) #define END ) int loosy_function(int a, int b) { return foo(a,b END; } </pre> will fail with the error: unterminated argument list invoking macro "foo" There are two ways of fixing your issue. Either create your new objects outside this huge MUI constructions, and in there use just a pointer, or get rid of the "End" macro and exchange it with "TAG_DONE)". Badly written software is, for example, casting va_list to an APTR or even doing so as if va_list were a plain table of function arguments. Such code needs to be fixed because it has very few chances to work anywhere but on author's machine ;) The problem is nOt that they assume sizeof(APTR) == 4, its that they often do not use APTR, and use ULONG to store pointers exclusively. If the code used APTR/IPTR as it should - most of the "problems" wouldn't exist. It would also help if people would start using variadic arguments properly. Many coders do assumptions which shall never be made. Instead, they should consider using stdarg.h file and all the va_* functions :) ===ABI=== In the head of our SVN repository there are now only 3 directories: <pre> admin/ branches/ trunk/ </pre> We have added two extra dirs there: tags and imports As discussed when we branch ABI V0 and [[Aros/Developer/ABIv1|ABI V1]] it would also be good to introduce tags. Normally this is done in a directory in the repository called tags. Currently we don't have this directory there. (We do have branches/tags that is a hack I have done because one doesn't have write access in the top directory. I think this directory is not clean and should be removed). The second directory I would introduce is an imports directory for implementing vendor branches as discussed in the svn [http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html book]. Currently we use code from several different projects and that code is stored inside the AROS tree; we seem to have problems with keeping this code up to date and merge our changes upstream. Maintainers of up stream projects like the MUI classes etc. have complained about this (to put it lightly). Introducing these vendor branches would make it easier to see what changes we have made and make patches to be sent upstream and make it easier to import newer upstream versions of their code. Although can't "copy" the vendor branch into the main branch because it's already there, so start with a "merge". Yes, the first step to make the code already in the repository compatible with the vendor branches will be the most difficult. The best way to do it the following way: * first import the version on which the current AROS code is based into the vendor branch * then import the new version over it in the vendor branch * finally merge the difference between these two version in the AROS code present in the repository. For example, place NList directly under vendor and not in a subdirectory like "contrib/zune/classes". Actually after we have a stable [http://aros.sourceforge.net/documentation/developers/specifications/drafts/abiv1.php ABIv1 (2012 or later)]. We need to move away as much as possible from the contrib directory to some other repositories. The reasons are ... * The AROS repository should be for the core AROS code. * other contrib projects should be tried to be compiled for all Amiga-like OSes. * The release scheme for AROS and the other programs should not have to be aligned. * Binary versions should be provided on aros-archives and on aminet and/or OS4Depot to install them. (Some clever programs should maybe be provided to make the life of distribution developers easier). * avoid parallel forks of programs for AROS and the other amiga OSes. If there is really a need for a place for hosting AROS projects we may investigate setting up such a server but then including bug tracking, governance, maillist, etc. for each project separately. I personally think there are already enough places like sourceforge, google code, savannah, etc. where people can go for hosting such projects. ==Links== * http://amigadocs.hokstad.com * http://amigadocs.hokstad.com/doku.php?id=dev-links In the future...? *AROS 64bit - SMP, Vulkan with OpenGL compability layer *AROS 32bit - keep for historic reasons What would you like to see implemented in AROS? ABIv1 completed, SMP (x86_64), SendMsg()/GetMsg() to support memory protection between target and destination, in that order. Michal Schulz and Jason McMullan have been toying with the question "What are the minimal changes needed to the AmigaOS 3.1 API to support SMP"? The answer so far seems to be "few, but subtle". For example, SysBase->ThisTask is no longer meaningful on SMP, but FindTask(NULL) is. Disable() and Forbid() are shockingly bad on performance, but adding a spinlock semaphore mode to SignalSemaphore will help new code on SMP. Leveraging a 'common' OS with a lot of machine support (Linux, MacOS, Windows, QNX, etc.) is something that AROS has been doing for quite a long time, and it is the biggest strength of AROS. This AROS experience and programming model, in the same way the Google's Android layers on top of Linux, or MacOS X layers on top of the Darwin/BSD kernel, as a first step * The graphics + layers subsystem could be implemented as a shim on top of a OpenGL ES implementation (ie on any modern Linux system, or the RaspberryPI's hardware, MacOS X, etc). - This also allows every window to be on its own 3D surface with backing store, allowing Wanderer (or a Commodity) rearrange/zoom/animate app windows without having to send a pile or refreshes to them * Use OpenAL as the sound backend * AROSTCP would be a thin layer over the native OS's TCP/IP stack * dos.library, poseidon.library, and input.device would be slim shims over the native APIs * If we move to loading all libraries' into the application's task space, instead of a single global instance of the library, this will allow SMP and MMU more easily. - Yes, it will require a lot of work in the libraries to make this transition - Yes, I do think it will be worth it in the end. * A 'fat binary' install format (or, maybe LLVM bytecode) that can be 'flattend' to the target architecture on installation. So, what would this 'AROS of the future' look like? * AmigaOS 3.x style API, with certain 'fundamental changes' to message passing * Uses the underlying OS' device drivers, so more AROS developer effort can go to user-visible features and bugfixes * Allows AROS applications to run side-by-side with the OS's native apps And why would anyone want to program on such a system? * AROS applications would run on any system that has the AROS Framework installed * AROS applications are pixel-for-pixel the same on all platforms. * Develop with the knowledge that you are guaranteed OpenGL and OpenAL, and the rest of the AROS Framework an option for mmake to dump its dependency of metatarget in a graphviz[*] input file. This should make it possible to visualize the dependencies and hopefully be inspiration for cleaning up some mess, circular or unneeded dependencies and so on. AmigaOS gcc 9 [https://franke.ms/amiga/gcc.wiki Old versions] able to create binaries for AmigaOS and [https://eab.abime.net/showthread.php?t=93813 Upgrading gcc versions] === AI === Please see discussion of the [https://arosworld.org/infusions/forum/viewthread.php?thread_id=1933&rowstart=0 Aros world thread] [https://opencode.ai/ opencode], [https://openrouter.ai/models?categories=programming new opencode models], [https://axrt.org/media/aros-ui-ai.mp4 AI ui], *DeepSeek V4 Flash - very good model, use it daily but a small monthly fee payable *Ring 2.6 - good model but pricing small Multimodal Context Prompt <--- Model <---> Agent ---> End user engine Gemini LMStudio Qwen Comfyui etc Recent, self hosting local models on laptops, mini pcs, laptops or desktops with '''quantization''' (compressed) so reducing memory to run on 8Gb VRAM (very low size models) but for better performance more VRAM is needed for text based tasks. For smaller models, very specific prompting and chatting (iterations) for very smaller sections of your overall application as lots of supervision needed for the code produced Ability increases by the amount of ram like the Pi5 8Gb, Macbook 48Gb unified (quality) and the memory bandwidth (how fast) Roughly... *DDR4 Pi5 about 17GB/s *DDR5 about 40Gb/s *DDR6 about 90Gb/s about Jetson Orin Nano level *Strix Halo about 210Gb/s *DGX Spark about 220Gb/s * MacBook M3 base 100GB/s Pro 150GB/s Max 200Gb/s unified memory * MacBook M4 base 120Gb/s Pro 170Gb/s Max 250Gb/s * MacBook M5 base 140Gb/s * MacBook M6 base 160Gb/s Pro 180Gb/s Max * [https://www.youtube.com/watch?v=jMnMrivvAWo Mac Studio] Max 400Gb/s to Ultra 800Gb/s Total VRAM should be greater than Model size (in Gbytes), context length (you set Gbytes taken) and KV cache - everything a trade off <pre> Small Lesser Mid Greater Bigger 1-2B 3B 7B 20B 30B model size Q2 Q2 Q4 Q6 Q8 compressing 4GB 8GB 16GB 32GB 64GB VRAM needed </pre> *[https://lmstudio.ai/download LMstudio single gpu], 128Gb *[ gpt-oss-120b] 70Gb model 64Gb *[HauHau 3.6 35B] *[ muse-glimmer] 32Gb Alibaba Cloud's [ Qwen] team series of large language models LLMs *[ Qwen-3.8-27B] *[ Qwen-3.6-27B] 16Gb *[ Qwen 3.8 27B GSQ ACO GGUF] 8Gb *[ glm-ocr] *[ medGemma] *[ qwen 3.5-4b] *[https://github.com/sipeed/picoclaw picoclaw claude] *[ DeepSeek R1] *[ Qwen 3.5 9B Q4] *[ Qwen 2.5 14b Coder] *[ gpt-oss-20b 4Q] *[ mini CPM5-2B] simple user interfaces for single file apps as long as robust explicit clear instruction given For the full experience #Training learning using 1+ high end GPUs at least 16GB VRAM per GPU card or 64Gb+ of unified, 16Core CPU with at least 64Gb of RAM system memory #Inference with custom asics or GPUs For ever bigger LLMs needs one of the below but with settings adjusting *[https://ollama.com/download Ollama single gpu] *[https://github.com/ggml-org/llama.cpp/releases llama.CPP multi gpus], *[ VLM multiple gpus], *[ MiniMax H3] for audio and video but gpu 8Gb+ *[https://github.com/ideogram-oss/ideogram4 ideogram4] *[https://github.com/calesthio/OpenMontage OpenMontage] *[https://github.com/jamiepine/voicebox voicebox] *[ Chatterbox] with neural watermark *[ Index-TTS] *[ Qwen3-TTS] *[ Omnivoice] *[ faster-qwen3] *[ dots.tts] Multimedia *[ Kimi K3], Refactor *[ Devstral-small-2 256K context] FIM - Fill in the middle Mistral Codestral-2 for 64Gb+ unified <pre> Text to Audio --\ Text to Video --/ Reference Video --> Video and Audio output </pre> Agent = Model + Harness Agentic Harnesses like [ Claude Code] [ Cursor] [ ] could help models. [https://github.com/deepseek-ai/deepseek-harness Deepseek] etc allows many models to reside inside but also everything is a plugin, including the model adapter, the tool registry, the session log, and the agent loop itself, so each is replaceable from configuration MoE mixture of experts model ==References== {{reflist}} {{status|50%}} {{BookCat}} m88wsf3mlmhukcrzaewew6i5lbdjy7l 4670159 4670157 2026-09-15T09:02:17Z Jeff1138 301139 4670159 wikitext text/x-wiki {{ArosNav}} ==A technical overview of AROS== Google translation [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Chinese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Russian], [http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Portuguese] {{Uncited}} AROS,<ref>[http://aros.sourceforge.net/download.php References and sources]</ref> like AmigaOS (TM), is a [[w:Message passing|message-passing]], [[w:Preemption (computing)|preemptive]] [[w:Multitasking|multitasking]] [[w:Operating system|OS]]. It uses [[w:Reentrant (subroutine)|re-entrant]] shared libraries to save memory space. AROS is based around an executive library kernel (Exec) and two other libraries: * Exec (the "kernel", which is not a kernel in the modern sense), * Intuition (graphics and GUI, integrated into the system) and * AmigaDOS (Disk Operating System, the Metacomco's Tripos modified to work with Exec). The design philosophies of AmigaDOS and Intuition are rather different, the former adopting a C-like API and the latter creating an [http://www.basden.demon.co.uk/amiga/amiga.oo.html object-oriented], message passing aware environment for the programmer. The system base is the only absolute address in AmigaOS (located at 0x00000004) this does differ with AROS as AROS SysBase is automatically provided (no $4) but everything else is dynamically loaded. The OS is well known for delivering high performance due to its close connections with the hardware, while simultaneously having the flexibility to support re-targetable graphics (Cybergraphics) and retargetable audio subsystems (AHI). : Diagram showing relationships of libraries to system needed Remember, AROS is a [http://en.wikibooks.org/wiki/Aros/Developer/ABIv1 research] operating system, and while all contributions to the base AROS code are welcome, please contact the dev list first for any core changes. Writing applications for AROS does not have this requirement. While AROS appears and feels almost feature complete, it is still [[Aros/Developer/IncompleteAPIs|missing a small number of functions]] from the Amiga API. [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1201 This thread provides] information for setup, [http://www.aros.org/documentation/developers/index.php documentation] and whether you are interested in core OS changes and/or writing/porting software apps *you compile directly under AROS, which can be running on either real hardware, virtual hardware *in hosted mode under linux/window, cross-compile from that host OS (save your files as ISO-8859-15 encoding instead of UTF-8) [https://github.com/BlitterStudio/aros-compiler-docker Docker images] '''The repository''' for 64bit and 32bit ABIv1 all hardware platforms is [https://github.com/aros-development-team/AROS current development version]. There are many forks of this so that developers can work on their own and forward changes at a later date as discussed on the dev forum 64bit PC is one of two hardware platform with another fork called [https://github.com/deadwood2/AROS abiv11] which is used for Aros One x64 PC 32bit PC is the other fork [https://github.com/deadw00d/AROS/tree/alt-abiv0 repository for current stable PC version ABIv0 with backported ABIv1 features is located which is used on AROS One and Icaros x86 32bit based distros] this is for historic reasons Any [https://github.com/aros-development-team/AROS/issues bugs / issues can be added for ABIv1 issues]. The two individual PC forks have their own issues tab on their github webpages We have a [https://arosdevteam.slack.com/archives/CUFV48U3H slack here], discord on [https://discord.gg/UKp9qdEBuQ Discord@AmigaDev], ==Software Development for AROS== ===Programming languages=== ====Common to all==== 'The Developer Environment', which primarily supports C/C++ code, there are other scripting programming languages available :[[Aros/User/DOS|DOS]] :[[Aros/Developer/Docs/LUA|LUA]] :REXX [[Aros/Developer/Docs/Rexx|Regina (AROS' ARexx)]] ====Needs to be compiled/ported==== ::[[Aros/Developer/Docs/LLVM|LLVM]] ::Python [ Info], [], ::[https://ae.arosworld.org/index.php?board=11.0 FreePascal FPC Aros-Exec thread], [https://archives.arosworld.org/index.php?function=browse&cat=development/language fpc arm here is very old and will not work], FreePascal for AROS has its own [http://fpcaroswiki.alb42.de/ Wikibook], ::[http://sourceforge.net/projects/xamos/ X-Amos Basic] ::[http://sdlbasic.sourceforge.net/ SDLBasic] ([https://archives.arosworld.org/index.php?function=browse&cat=development/language ]) ::[[Aros/Developer/Basic/Basic4SDL|Basic4SDL]] ([https://archives.arosworld.org/index.php?function=browse&cat=development/language ]) ::[http://alvyn.sourceforge.net/ Alvyn] ([http://www.dusabledanslherbe.eu/AROSPage/MISC.14.html download]) ::[http://www.airsoftsoftwair.com/ Hollywood when enough users warrant a port - paid one time fee language] ::[[Aros/Developer/Docs/E|AmigaE Portable E]] ====Hardware Restricted==== '''Basic''' :[http://amos.pspuae.com/AmosProManual/contents/c1.html '''Amos Pro'''] [http://amos.pspuae.com/index.php?action=forum#1 compatible] [http://www.amigacoding.com/index.php/Main_Page commands] (all incomplete) :'''Blitz Basic''' [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=46537#forumpost46537 none on AROS] :: [http://www.amiforce.de/main.php Amiblitz] on amiga(TM) emulator :'''Amiga Basic''' :: [ ACEBasic] '''Misc''' :Ruby [http://www.ruby-lang.org/en Info]/[https://archives.arosworld.org/index.php?function=browse&cat=development/language Ruby 32bit PC], ===Where to get the C/C++ Environment=== If you want to develop for AROS, its generally easier to be running linux hosted AROS development environment especially for C++, cross compiling the code. That's how most developers now are doing it. g++ is used to compile owb web browser as well as some other AROS software. If you were hoping for a rich set of C++ libraries or classes defined for the OS feature set, you might be disappointed. AROS Native compiling is possible, but you're much more likely to run into the odd bug(s) in the dev environment since it gets little testing and fixing by other developers. Is there a sftp software or scp over ssh available? Maybe. At least the security part would be handled by [https://github.com/jens-maus/amissl amissl] [https://archives.arosworld.org/index.php?function=browse&cat=network/misc port]. [https://github.com/BlitterStudio/dopus5 DOpus5] has recently added sftp support. See here for a [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1974&highlight=ssh&pid=12073#post_12073 ssh scp client] [https://arosdevteam.slack.com/join/shared_invite/enQtOTc4Mzg0NDIzNzQ0LWQ2NWZmNmMwNGIwNGEyNTgxNzU3MGFjMTk3ZThmOTQ1MTVjMzhmNTllYWQ0ZTUxMjBjMGE0Y2VjMDJmNTc5MzI#/shared-invite/email Slack Dev Forum] ====Cross compilers from Windows or Linux==== *Windows WSL2 walkthrough can be [https://arosnews.github.io/how-to-cross-compile-aros-hosted-wsl/ found here] you want to build AROS. No problem. Here are instructions for PC 64-bit: https://github.com/deadw00d/AROS/blob/master/INSTALL.md Here are instructions for PC 32-bit: https://github.com/deadw00d/AROS/blob/alt-abiv0/INSTALL.md And as always has been the case you can use the contrib archive to 'obtain' the development directory which contains the /native/ AROS gcc compiler and tools. That compiler is used to build AROS itself but can be used outside the AROS build process by providing --sysroot with indicated directory to cross compile for AROS. '''64 bit''' '''32 bit''' A good option for multiple OS is [https://axrt.org/index.php?tab=download-aros AxRuntime lets developers compile their Amiga API-based applications as Linux binaries being able to utilize modern development tools available on Linux, like IDEs, debuggers, profilers, etc] Older 32bit guides for Linux hosted compiler Please install these packages before moving to next step. Below is a reference list for Debian-based distributions. Reference build system was Ubuntu 18.04/20.04 amd64. subversion git-core gcc g++ make gawk bison flex bzip2 netpbm autoconf automake libx11-dev libxext-dev libc6-dev liblzo2-dev libxxf86vm-dev libpng-dev gcc-multilib libsdl1.2-dev byacc python-mako libxcursor-dev cmake zsh mingw64 Do all of these operations under home directory of your user or another directory where your user has write permissions. Specifically, in a section "Linux-i386", be sure first to build the cross-compiler (toolchain-alt-abiv0-i386) and only then AROS itself (alt-abiv0-linux-i386). Clone & build <pre> $ mkdir myrepo $ cd myrepo $ git clone https://github.com/deadw00d/AROS.git AROS $ cd AROS $ git checkout alt-abiv0 $ cd .. $ cp ./AROS/scripts/rebuild.sh . $ ./rebuild.sh </pre> Now to the build selection below - Linux-i386 Select toolchain-alt-abiv0-i386 - Select alt-abiv0-linux-i386 (DEBUG) Start AROS by: <pre> $ cd alt-abiv0-linux-i386/bin/linux-i386/AROS $ ./Arch/linux/AROSBootstrap </pre> Pc-i386 Select toolchain-alt-abiv0-i386 (if not built yet) - Select alt-abiv0-pc-i386 ISO image available in alt-abiv0-pc-i386/distfiles Now that we have linux-hosted build, we can resume native (option 2). Run ./rebuild.sh and selection option 2. Wait until it finished, then: <pre> $ cd alt-abiv0-pc-i386 $ make </pre> Now <pre> $ make bootiso </pre> Now, your compiler is located in toolchain-alt-abiv0-i386 directory and named i386-aros-gcc. Includes are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/include and libraries are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development.lib. This is how then can be passed to the compiler: /home/xxx/toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot /home/xxx/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development -L/home/xxx/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib ../toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot bin/linux-i386/AROS/Development local/helloworld/helloworld.c -o local/helloworld/helloworld Another method was using Debian like distros and download the [https://archives.arosworld.org/index.php?function=browse&cat=development/cross gimmearos.sh script] to setup the developer environment by downloading necessary packages ... The gimmearos script is a good start in that direction, building the cross compilers and hosted AROS environment, but gimmearos.sh might be out of date or not be completely compatible with any given linux distro. In order to do that, you have to compile AROS yourself. Download AROS source archive not contrib. Compile AROS by entering the main directory ./configure make ([http://http://developers.aros.org/documentation/compiling.html More on compiling AROS]). The result will be a basic AROS system without development tools. To compile C++ on Linux, type 'make gnu-contrib-crosstools', creating the cross-compilers in ./bin/linux-i386/tools/, named i386-aros-gcc, etc. '''Note''': Currently, to make the cross compilers usable copy 'collect-aros' from tools/ to tools/i386-aros/bin/. At the moment the cross compilers if used from the Linux command line will only find it when it's there. If you want to compile native compilers (the Developer Environment), type 'make contrib-gnu-gcc', creating native compilers in AROS' System:Development/bin directory. When the output needs to be stripped <code>--strip-unneeded --remove-section .comment</code> The Obj-C backend should build out of the box. Open contrib/gnu/gcc/mmakefile.src and search for the line which contains "--enable-languages" and add "objc" to the list of languages that follows it. --enable-languages=c,c++,objc Better make it—enable-languages=c,c++,objc,obj-c++ ObjC++ is broken as soon as you try to use exceptions, but that might change in future GCC versions and it does not hurt having it there already. Do you need a cross-compiler or a real compiler? In the first case you can get away with just downloading the proper gcc archive, apply the patch and proceed with the normal gcc build. In the case of a real cross-compiler then when downloading the contrib sources, also need to download the normal sources, place the contrib sources into a directory called contrib, need to install autoconf+automake+perl+python, call ./configure, cd into the subdirectory and type make. to rebuild GCC with host == build == target == i386-pc-aros. So just get the vanilla sources and apply the patches without bothering about the build system? [https://vmwaros.blogspot.com/2019/10/a-pre-configured-development-machine.html pre-configured VM environment vmware virtual machine to develop AROS and AROS software] ====Native compilers for AROS==== Namely gcc for C or g++ for C++ are supplied with the [[Aros/Developer/Docs#The Developer Environment|Developer Environment]], which is already '''setup''' and part of any current AROS distribution like AROS One or the nightlies * Current GCC 6.5 (32bit) though moving to 10.5 and 15.1 (64bit) * Older software components. GNU GCC 4.x GNU BinUtils, GNU Fileutils 4.x, GNU Textutils and others usually deprecated On single partition systems and the Boot ISO, the AROS Developer environment is installed under "SYS:Development/". Systems with multiple partitions - such as a Work: partition - tend to install it to there instead, however it can be installed manually to any location. Please remember, if moving, that you will need to correct the Development packages 'install location' env variable to point to the new locations root - look in SYS:S/startup-sequence. <pre> Assign Development: SYS:Development Assign C: Development:bin ADD </pre> In the aros build instructions. you need to check out contrib and/or ports into your AROS source directory, as subdirs. then, assuming you are building in an external build dir, as you should, you simply configure and "make contrib" for instance or whatever submodule you might want to build. ===Beginners Tutorials in C C++=== As AROS is [http://eab.abime.net/showthread.php?t=29856 C based] API compatible to AmigaOS 3.x, so most of the information on programming C on the Amiga applies to AROS as well. Please note that there is a lot of AmigaOS 1.3 (1985-1989) and [https://www.markround.com/amigaguide AmigaOS AOS 2.x (1990-1992)] information around but OS3.1 is recommended but limited in amount. Brief overview of what is required to write AROS Applications # Using [[Aros/Developer/Docs/Libraries/Intuition|Intuition]] for basic screens/windows # Using graphics within windows via 8bit [[Aros/Developer/Docs/Libraries/Graphics|graphics]] and so onto 15-16-24bit [[Aros/Developer/Docs/Libraries/CGFX|cybergraphx]] # Load and save work to [[Aros/Developer/Docs/Libraries/DOS|dos]] disk drives # Using the [[Aros/Developer/Zune|ZUNE GUI Environment]] Writing native games require this extra information # Using [[Aros/Developer/AHIDrivers|AHI audio hardware independent API]] # Using USB joystick/joypad with the Poseidon USB stack through [[Aros/Developer/Docs/Libraries/LowLevel|LowLevel]] library Additional features that could be added later # Adding additional [[Aros/Developer/Docs/Libraries/Locale|Locale]] language translations to your program # Adding a [[Aros/Developer/Docs/Rexx|AREXX/Regina]] port to your application # Executing Amiga(TM) [[Aros/User/DOS|DOS]] commands from your application # Using [[Aros/Developer/Docs/Libraries/Icon|icons]] (.info files) and icon tooltypes (stack, version, and program startup options) # Local couch or IP based SANA2 networking co-op multi player gaming support Most AmigaOS programming books are nowadays very much out of date as most are from the late 1980s and do not cover later amigaOS releases like 3.1 for example, Rob Peck's book "Programmer's Guide to the Amiga". The Amiga ROM Kernel manuals aka RKMs like Libraries (3rd edition), Devices (), the AmigaDOS manual (3rd edition) and the Style Guide may have their uses. There are some reference examples from AmigaMail and Devcon notes (available again on an Amiga developers CD 2.1). For Arexx then "The Amiga Programmer's Guide to ARexx" by Eric Giguere, which was published by Commodore is useful as well as an "Arexx Cookbook". * Beginners C Guide [http://www.iu.hio.no/~mark/CTutorial/CTutorial.html C Tutorial], * [http://www.pjhutchison.org/tutorial/amiga_c.html Amiga based but interesting] * [http://thecguru.com/ C for beginners], * [http://fresh2refresh.com/c/c-basic-program/ C programming basics] for students, * [https://www.edx.org/courses Free Online course] from American Universities * Reference Amiga [http://amigadev.elowar.com/ API reference]. * AROS based c source can be found [[Aros/Developer/Docs/Examples|here]] and lots of example code can be found inside [https://github.com/aros-development-team AROS sources] themselves and from the contrib section of the archives from [https://github.com/aros-development-team/contrib Aros site], and study the AROS applications source code, e.g. the test programs from the Tests drawer (folder/directory). Take a look at the code of some smaller AROS programs might be a better and more up to date When you upload your builds, please write the architecture (like i386-aros, x86_64-aros, aarch64-aros etc.) in the archive name and it is also advisable to write in the field "Requirements" the ABI (ABIv1 leave blank, for PC fork 64bit ABIv11 ends in v11, 32bit ends in , Arm Pi ends ) ===Compiling C/C++ Code=== Native, although we have a IDE Integrated Development Environment (Murks), it does lack a debugger. Whilst others use a combination of a text editor and shell to edit code. Most though use an AROS hosted on Linux to take advantage of the better GCC tools like GDB and various IDEs. Open shell - its a menu option at the top left of Wanderer (desktop). Or by using the right Win key and w (or F12 and w) within the directory with the source code. Type in sh to change the amiga shell into a unix shell. You can then type in ls (unix equivalent to amiga dir). Take a look [http://en.wikibooks.org/wiki/Linux_commands here] for more commands. For a single file program-name.c or program-name.cpp gcc -o program-name program-name.c or g++ -o program-name program-name.cpp or g++ -o test -Wall -g main.cc texturelib.cpp xmodelib.cc -lsdl -lgl To close the shell, click on the top left-hand corner to close (twice). Once to get back the aros shell and then again to close finally. Use [http://freshmeat.net/projects/cksfv/ cksfv] as a test. Some source code requires the addition of Amiga API libraries, like dos, which you can flag at the compile time as gcc -o julia.exe julia.c -ldos For DOS use -ldos as example and if you are compiling mui codes it will be -lmui or intuition -lintuition. Other missing symbols are due to linker libraries being necessary for linking in functions that aren't in the standard C libraries. For example some source code would need added -lz or -lm or -lpng or -larosc etc. use this in unix line command mode to search for 'search-item' in many .c files (*.cpp for c++, etc.) grep -l 'search-item' *.c If the program is not executable, try using parameter fno-common "Delete #?.o"? Or if you are using abcshell then "rm *.o" :''More information: [[Aros/Developer/Porting software]]'' === How to make Apps have AROS 64-bit specific support code === [http://www.aros.org/cs/documentation/developers/app-dev/portable.php Portable code] AROS64 already uses 64bit addressing, it just doesn't setup the MMU for more than 4GB physical memory currently. When porting software to AROS64 it is "mostly" a case of converting ULONG's that are used to store pointers, into IPTR's instead, etc. Another quirk, is making sure items on the stack are the correct size by using the STACKED attribute for them. * Use texteditor or some tool to replace all "ULONG" with "IPTR" and "LONG" with "SIPTR" in the sources. compiling mui stuff for aros setting -std=gnu99 is necessary, had -std=c99 usually A MUI application most likely needs only the HOOKPROTOxxx SDI macros. They are compatible with AROS, only the attributes (hook, object attribute) must be given in the right order. crash which suggest memory corruption. From my experience porting from 32-bit to 64-bit these kinds of errors can happen if a pointer is passed somewhere via ULONG variable. Then half of the pointer is cut. To generate this error, please run AROSBootstrap with -m 1024. This will allocate heap to 64-bit address space which will make these errors immediatelly visible. These types of crashes are hard to debug. Disabled as little code as possible to stop corruption from occurring and then try to read from the code where it can be broken Crashing in tslf_freevec is another symptom of memory corruption and these memory corruptions will manifest differently on different setups. ==Coding conventions== As the AROS core source is a shared developer experience, there are rules regarding structure and style. When it comes to your creating your own app and coding, the structure and style should be your own, i.e. you should enjoy what you do and do it so that you can understand what is going on. ===Layout=== <syntaxhighlight lang="c"> static void 1st_function() { program exit(0); } int main(void) { 1st_function(); 2nd_function(); 3rd_function(); return 0; } </syntaxhighlight> <syntaxhighlight lang="c"> struct Screen * openscreen(void); struct Window *openwindow(struct Screen *screen, const char *title, LONG x, LONG y, LONG w, LONG h); VOID 1st_function(); VOID 2nd_function(); int main(int argc, char **argv) { program return 0; } /* main */ VOID 1st_function() { } VOID 2nd_function() { } </syntaxhighlight> ===General style=== This code is used by many people and therefore you should keep some things in mind when you submit source code: * Keep things simple * Keep the source clean * Always know what you are doing, if not flag it and describe what needs to be done... * Explain clearly/simply what you are doing * Remember that you write code once but that it is read many times by many people ===Comments=== AROS uses some of the comments in the source to generate the documentation. Therefore it's necessary to keep a certain format so the tools can find their information. Other comments are ignored but they should explain what you thought when you wrote the code. If you really can't think of an explanation, then don't write the code a second time like this: <pre> /* This adds 1 to t */ t ++; </pre> What we think of is this: <pre> /* Go on with next element */ t ++; </pre> ===Formatting=== This is only '''IMPORTANT''' if you are going to work on the core AROS code or contrib but not applications which may reside outside like on AROS Archives or other websites. <syntaxhighlight lang="c"> { /* a */ struct RastPort * rp; int a; /* b */ rp = NULL; a = 1; /* c */ if (a == 1) printf ("Init worked\n"); /* d */ if ( !(rp = Get_a_pointer_to_the_RastPort ( some , long , arguments ) ) || a <= 0 ) { printf ("Something failed\n"); return FAIL; } /* e */ a = printf ("My RastPort is %p, a=%d\n" , rp , a ); return OK; } </syntaxhighlight> Looks ugly, eh ? :-) Ok, here are the rules: <pre> If several lines contain similar code, put similar things below each other (see a and b); Put spaces between operands and operators Put braces {}, brackets [] and parentheses () below each other (d) if there is much code between. Brackets and parentheses may be in one line if the code between is small (c) Indent by 4 Spaces. Two indent levels may be abbreviated by one tab. </pre> '''Before committing please normalize the indentation - if you have a mixture of tabs and spaced - please always use spaces, 1 tab = 4 spaces.''' The reasons for this are: # While some editors can use an arbitrary sizes for tabs, it's a bit complicated to tell another editor which tab size was used by the one used to write the code. # Most code in AROS was written this way and your code should look like the rest. # You can print this code on any printer without special tools to "fix" the tabs. # Most editors have smart tabs which do exactly this. If your editor doesn't, write a bug report. If you have a function with many arguments (d, e) you should put the parentheses in lines of their own and each argument in one line (d) or put the first argument behind the opening parentheses (e) and each following argument in a line of its own with the comma in front. The closing parentheses is in a line of its own and aligned with the beginning of the expression (i.e. the a and not the opening parentheses or the printf()). Use a single blank line to separate logical blocks. Large comments should have a blank line before and after them, small comments should be put before the code they explain with only one blank line before them. If you see any TABS in AROS core sources then the suggestion is to "detab the file and commit that separately" either before or afterwards from making functionality changes. Make two commits instead of one. This makes it easier for others to see the real changes instead of having to dig through multiple lines of irrelevant diffs. ===Eliminating Global Variables=== i.e. pass variables to functions (local scope) or classes making it easier to track and debug your code. Any time you find that you need a particular thing in 'a lot of different places', chances are that all those places are conceptually related, and so you can create a class, a namespace, a function, or some other higher-level organizational unit to represent that relationship. This makes the program easier to understand. Bad Designs * All variables are global. * There are no standalone functions, only sub-procedures which act on the global variables. * Every sub-procedure is at least 500 lines to several thousand * Every sub-procedure has more than one task to perform * Copy-paste is preferred to writing methods, AND subtle changes are made in the middle of the code Good Designs * structure program into functions (C or basic) - top-down procedural approach * put in class(es) (freepascal or C++) - the object is fixed and you use methods to access the object <pre>  class String_List  {  private:  list<string> m_List;  // member  public:  void read_strings() { /* read strings into m_List */ }  void print_strings() { /* write contents of m_List to stdout */ }  void sort_strings() { /* sort contents of m_List */ }  void sort_strings_reverse() { /* reverse-sort contents of m_List */ }  void unique_strings() { /* remove duplicate strings */ }  };  int main()  {  String_List myList;  // local  myList.read_strings();  myList.sort_strings();  myList.print_strings();  myList.sort_strings_reverse();  myList.print_strings();  myList.unique_strings();  myList.print_strings();  return 0;  } </pre> This way it is very easy to replace the list with new list for debugging purposes, or replacing the methods without replacing the list, when you want different results. You only have to replace the content of the local variables. So create the structure that matches your data (linked lists, trees, arrays, etc.) and what to do with them (sorting, searching, etc.) <pre> .h usually contain #define #include typedef enum struct extern screen and window definitions (data structures) .c should contains functions and algorithms </pre> One way to look at it is that menu headings act as the .c file and sub-menu headings as functions. When you start a project, you place a couple of declarations in the include file. As the project continues, you place more and more declarations in the include file, some of which refer to or contain previous declarations. Before you know it, you have a real mess on your hands. The majority of your source files have knowledge of the data structures and directly reference elements from the structures. Making changes in an environment where many data structures directly refer to other data structures becomes, at best, a headache. Consider what happens when you change a data structure. Use good variables names to help clarify code and only comment when you need to explain why a certain programming approach was made. You're Refactoring Legacy Code, you see a global, you want to get rid of it. How do you do this? Exactly what to do depends on how the global is used. The first step is to find all uses of the global throughout the code, and get a feel for what the significance of the variable is and how it relates to the rest of the program. Pay particular attention to the "lifetime" of the variable (when it gets initialized, when it is first used, when it is last used, how it gets cleaned up). Then, you will probably make the global a data member of a class (for OO languages), or you will write some get/set functions. Converting to the Singleton Pattern is common, but you may discover that it makes more sense for the data element to be a member of an existing singleton, or maybe even an instance variable. # Create a basic read method, either as a class or a global function. Replace all reads with the access method, but leave the variable defined as a global. # Review each of the writes to the method and extract action functions one at a time. Unless two operations are coded identically in the original code, extract each write access separately. # Change the variable scope from global to local. # Analyze similar action functions to determine if any can be merged, i.e., there are no functional differences in the results of the function, just differences in the implementation details. # Review the calls to the read method and see if a more complex functionality should be applied. Follow the approach for writes and unless implementations are identical, create separate access functions. # Analyze the access functions for duplication. As returning variables by "passing by value" are forgotten, so "passing by reference" is often used instead. The reference is a pointer to the variable so the value is remembered when returned. Alternatives * Hidden Globals * Singleton Pattern * Database or TupleSpace * Context Object * Dependency Injection * Stateful Procedures ==AROS/AmigaOS APIs and Docs== <pre> Library: - Private data structure - Many public access methods Device: - Private data structure - Two (BeginIO/AbortIO) access methods Resource: - Public data structure - *NO* access methods </pre> And, being Amiga OS-compatible, there are exceptions to all of these. ===System Libraries=== The [http://developers.aros.org/ AROS Guide To Libraries] can be used as a guide to individual commands and old Dev Docs are used in application programming. Amiga/Aros styles libraries are very different from windows and linux libs. Typical .so/dll libraries are foreign to most Amiga-like OS *[[Aros/Developer/Docs/Libraries/AROSC|arosc.library]] *[[Aros/Developer/Docs/Libraries/AmigaGuide|amigaguide.library]] *[[Aros/Developer/Docs/Libraries/ASL|asl.library]] *[[Aros/Developer/Docs/Libraries/Bullet|bullet.library]] *[[Aros/Developer/Docs/Libraries/BSDsocket|bsdsocket.library]] *[[Aros/Developer/Docs/Libraries/CAMD|camd.library]] *[[Aros/Developer/Docs/Libraries/Codesets|codesets.library]] *[[Aros/Developer/Docs/Libraries/CGFX|cybergraphics.library]] *[[Aros/Developer/Docs/Libraries/CGXVIDEO|cgxvideo.library]] *[[Aros/Developer/Docs/Libraries/Commodities|commodities.library]] *[[Aros/Developer/Docs/Libraries/DataTypes|datatypes.library]] *[[Aros/Developer/Docs/Libraries/DiskFont|diskfont.library]] *[[Aros/Developer/Docs/Libraries/DOS|dos.library]] *[[Aros/Developer/Docs/Libraries/Exec|exec.library]] *[[Aros/Developer/Docs/Libraries/Expansion|expansion.library]] *[[Aros/Developer/Docs/Libraries/FreeType2|freetype.library]] *[[Aros/Developer/Docs/Libraries/GadTools|gadtools.library]] *[[Aros/Developer/Docs/Libraries/Graphics|graphics.library]] *[[Aros/Developer/Docs/Libraries/Icon|icon.library]] *[[Aros/Developer/Docs/Libraries/Identify|identify.library]] *[[Aros/Developer/Docs/Libraries/IFFParse|iffparse.library]] *[[Aros/Developer/Docs/Libraries/Intuition|intuition.library]] *[[Aros/Developer/Docs/Libraries/Keymap|keymap.library]] *[[Aros/Developer/Docs/Libraries/Layers|layers.library]] *[[Aros/Developer/Docs/Libraries/Locale|locale.library]] *[[Aros/Developer/Docs/Libraries/LowLevel|lowlevel.library]] *[[Aros/Developer/Docs/Libraries/MathIEEESingBas|mathieeesingbas.library]] *[[Aros/Developer/Docs/Libraries/MathIEEEDoubBas|mathieeedoubbas.library]] *[[Aros/Developer/Docs/Libraries/MathIEEESingTrans|mathieeesingtrans.library]] *[[Aros/Developer/Docs/Libraries/MathIEEEDoubTrans|mathieeedoubtrans.library]] *[[Aros/Developer/Docs/Libraries/Mathtrans|mathtrans.library]] *[[Aros/Developer/Docs/Libraries/MUIMaster|muimaster.library]] *[[Aros/Developer/Docs/Libraries/Partition|partition.library]] *[[Aros/Developer/Docs/Libraries/PopUpMenu|popupmenu.library]] *[[Aros/Developer/Docs/Libraries/OOP|oop.library]] *[[Aros/Developer/Docs/Libraries/Regina|regina.library]] *[[Aros/Developer/Docs/Libraries/Reqtools|reqtools.library]] *[[Aros/Developer/Docs/Libraries/RexxSysLib|rexxsyslib.library]] *[[Aros/Developer/Docs/Libraries/ScreenNotify|screennotify.library]] *[[Aros/Developer/Docs/Libraries/TTEngine|ttengine.library]] *[[Aros/Developer/Docs/Libraries/Thread|thread.library]] *[[Aros/Developer/Docs/Libraries/Utility|utility.library]] *[[Aros/Developer/Docs/Libraries/Xadmaster|xadmaster.library]] *[[Aros/Developer/Docs/Libraries/Workbench|workbench.library]] *[https://github.com/aros-development-team/AROS/commit/c82e86b8480277998014cc327b56c7664023a52f ClassAct Reaction boopsi class] ===AROS Subsystems=== # [[Aros/Developer/Zune|Zune MUI compatible GUI]] # [[Aros/Developer/AROSAppPackages|AROS Application Packages]] # AHI Audio Drivers - [[Aros/Developer/AHIDrivers|Usage]]/[[Aros/Developer/AHIDriversDev|Development]] # AROSTCP Sana2 Network Interface Drivers - [[Aros/Developer/NICDrivers|Usage]]/[[Aros/Developer/NICDriversDev|Development]] # [[Aros/Developer/AmiSSL|AmiSSL]] # gfx.hidd/cybergraphics Video Drivers - [[Aros/Developer/GfxDrivers|Usage]]/[[Aros/Developer/GfxDriversDev|Development]] # IO Device Drivers - [[Aros/Developer/IODeviceDrivers|Usage]]/[[Aros/Developer/IODeviceDriversDev|Development]] # USB Device Drivers - [[Aros/Developer/USBDrivers|Usage]]/[[Aros/Developer/USBDriversDev|Development]] # PCI Device Drivers - [[Aros/Developer/PCIDrivers|Usage]]/[[Aros/Developer/PCIDriversDev|Development]] # [http://www.libsdl.org/ SDL] [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2013&pid=13333#post_13333 SDL2 coding usage], [https://github.com/search?q=repo%3Aaros-development-team%2Fcontrib%20SDL2&type=code SDL2 commits], [https://github.com/aros-development-team/contrib/commit/c62c3c425c35bac19dadc23be092b0b13a66c76c SDL3 initial commit], [] # [[w:Gallium3D|Gallium 3D]] [http://www.mesa3d.org/ openGL aka Mesa] - [[Aros/Developer/OpenGL|Usage]]/[[Aros/Developer/OpenGLDev|Development]] [http://www.swiftless.com/opengltuts.html Swfitless] # A small subset of GTK2 through [http://sourceforge.net/projects/gtk-mui/ MUI-GTK] # Cairo 2D Engine - [[Aros/Developer/Cairo|Usage]]/[[Aros/Developer/Cairo|Development]] # [[Aros/Developer/Scalos|Scalos desktop API and plugin modules]] # [[Aros/Developer/VHI|VHI video driver]] ====HIDDs==== *[[Aros/Developer/Docs/HIDD/HIDDClass|hiddclass.hidd]] *[[Aros/Developer/Docs/HIDD/Graphics|graphics.hidd]] *[[Aros/Developer/Docs/HIDD/VesaGfx|vesagfx.hidd]] *[[Aros/Developer/Docs/HIDD/ATI|radeon.hidd]] *[[Aros/Developer/Docs/HIDD/NVidia|nvidia.hidd]] *[[Aros/Developer/Docs/HIDD/Nouveau|nouveau.hidd]] *[[Aros/Developer/Docs/HIDD/Kbd|kbd.hidd]] *[[Aros/Developer/Docs/HIDD/Mouse|mouse.hidd]] *[[Aros/Developer/Docs/HIDD/i2c|i2c.hidd]] *[[Aros/Developer/Docs/HIDD/IRQ|irq.hidd (deprecated)]] *[[Aros/Developer/Docs/HIDD/PCI|pci.hidd]] *[[Aros/Developer/Docs/HIDD/PCIPC|pcipc.hidd]] *[[Aros/Developer/Docs/HIDD/Serial|serial.hidd]] *[[Aros/Developer/Docs/HIDD/Thunderbolt|thunderbolt.hidd]] https://github.com/aros-development-team/AROS/commit/4f02ea691799aff3a01f60cfa5f9182c82fc57a8 HIDD are used for device/peripheral low level hardware support drivers. The HIDD system is split up into a collection of classes with a strict inheritance hierarchy. A HIDD class implements a device driver for a single device or in rare cases a group of devices and provides an interface for other programs and devices to access. In order to maintain portability of interfaces across a wide range of hardware this interface will in general not present the raw interface to the underlying hardware. Instead it will present a generic interface that describes many different hardware implementations. This allows for the best reuse of both interfaces and code. HIDD API is heavyweight though. You need to open a HIDD library, open oop.library, instantiate an object (even if there's no object); and object calls are more costly compared to plain library calls. Basically your task is to implement a subclass of hidd.ata.bus for your hardware. just implementing the XXXATA__Hidd_ATABus__xxxxxx methods for the Amiga chipset - and appropriate versions of the interface_xxx.c file(s). pretty much everything in probe.c could be ignored - just write a replacement scan for relevant amiga devices and store whatever info you need in the bus data? only the "SUPPORT_LEGACY" blocks might be related. You do not need to depend on PCI API. PCI is just a way to discover the hardware on PCs, etc. <hidd/pci.h> includes (at some depth) <interface/HW.h>, which defines IID_HW. This comes from the 'generic' HIDD class in: rom/hidds/hidd/hiddclass.conf did not split up HIDD and HW because they are always used in pair. It's the same as hidd/pci.h bringing definition for: PCI, PCIDriver and PCIDevice. PCI is actually PCIHW, just the name was not changed for backwards compatibility reasons. HW is a 'hub' where HIDD instances plug in. ATA HIDD aoHidd_ATABus_Use32Bit value is completely ignored unless ata.device first detects correct command line parameter. Yes. Unfortunately I was unable to find any comment in code or svn history with explanations. Looked at Linux source, there 32-bit PIO is also controller driver's property. Some of them enable it, some don't. Actually, switching the default to ON should be safe. ata.device is fail-safe at this because during IDENTIFY command it validates upper 16 bits, and if they appear to be zeroes in all 128 longwords, then 32-bit mode is switched off. But, nevertheless, I know how tricky hardware can be, so I decided not to change original behavior. If you think it's wrong in some cases, then it's possible to add one more attribute like aHidd_ATABus_Default32Bit. If set to YES, then this means that 32-bit PIO is safe to use by default. ====Devices==== *[[Aros/Developer/Docs/Devices/ATA|ata.device]] *[[Aros/Developer/Docs/Devices/Console|console.device]] *[[Aros/Developer/Docs/Devices/Narrator|narrator.device]] *[[Aros/Developer/Docs/Devices/Printer|printer.device]] *[[Aros/Developer/Docs/Devices/Trackdisk|trackdisk.device]] *[[Aros/Developer/Docs/Devices/AmberRAM|amberram.device]] *[[Aros/Developer/Docs/Devices/Timer|timer.device]] *[[Aros/Developer/Docs/Devices/|.device]] The Amiga used [[Aros/Developer/Docs/Devices|Devices]] to communicate with [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=3475&viewmode=flat&order=ASC additional hardware]. AROS has replaced these hardware devices with hidd equivalents but some are still retained for backwards compatibility. Local libraries/devices/handlers,etc. are supposed to override the ones in ROM if their version is higher than the one in ROM. Here is the list of commands exec default: {| class="wikitable" | CMD_CLEAR | Purge the buffer of the device |---- | CMD_READ | Playback Control |---- | CMD_STOP | Stopped the activity of the device |---- | CMD_FLUSH | Empty the queue of commands |---- | CMD_RESET | Reset a device |---- | CMD_WRITE | Playback Control |---- | CMD_INVALID | Create an error |---- | CMD_UPDATE | Gets updated device |---- | CMD_START | Will restart the device |---- |} While most other "stuff you communicate with" in AmigaOS are devices <ref>AMIGA ROM Kernel Reference Manual: Devices, 3rd Edition. Commodore-Amiga, Inc. Addison-Wesley, 1991. {{ISBN|0-201-56775-X}}</ref> that share a [http://gega.homelinux.net/AmigaDevDocs/ common base interface]. [[Aros/Developer/Docs/Devices1.3|OS 1.3 Device Drivers]]. ====Handlers==== :[[Aros/Developer/Docs/Handlers/Pipe|pipe.handler]] :[[Aros/Developer/Docs/Handlers/Port|port.handler]] :[[Aros/Developer/Docs/Handlers/SFS|sfs.handler]] :[[Aros/Developer/Docs/Handlers/FAT|fat.handler]] :[[Aros/Developer/Docs/Handlers/PFS|pfs.handler]] :[[Aros/Developer/Docs/Handlers/NTFS|fuse.handler]] :[[Aros/Developer/Docs/Handlers/FFS|ffs.handler]] filesystem handlers have their own separate system consisting of completely differently structured messages that dos.library use to pass requests (for things like reading, writing, getting directory contents etc.) to them. AROS originally went with implementing filesystem handlers as devices, which might arguably be more consistent with the rest of the AmigaOS API but which is quite incompatible with AmigaOS itself. However, it made it far harder to port filesystems and the gains were comparatively small, and so there's been a long standing goal of fixing this incompatibility. It has now, June 2011, been reintroduced to all AROS flavors. are argstr and argsize valid for the handler startup environment? DOS/RunHandler() calls DOS/CreateNewProcTags(), and then CallEntry() (in rom/dos/exit.c) to start the handler, so yes, argstr and argsize are *present* in the call signature of the handler. Granted, argstr will be NULL and argsize 0, but those values *are* passed to the handler function using: <pre> AROS_UFC3(ULONG, entry, AROS_UFCA(STRPTR, argptr, A0), AROS_UFCA(ULONG, argsize, D0), AROS_UFCA(struct ExecBase *, SysBase, A6)); </pre> Creating your own [without the whole build tree http://pagesperso-orange.fr/franck.charlet/temp/radeon.zip] and then <pre> make stub make make install </pre> SFS has two Root blocks, one at the start and one at the end of the disk. The Root blocks both contain the same information. They hold various information about the disk structure and have the locations of some important blocks used by the filesystem. The Root ObjectContainer contains the Root directory Object. The name of this Object is the name of the volume. It is identical to a normal directory Object. The Bitmap is used to keep track of free space. Each bit in a bitmap represents a single block. A set bit indicates a free block and a cleared bit a used block. AdminSpaceContainers are used to keep track of space which has been reserved for storing administration blocks. Only the Bitmap, the Root blocks and the actual data stored in files aren't stored in administration space. Administration space is allocated in chunks of 32 blocks at a time. A single AdminSpaceContainer can hold information about a large number of such areas each of which has its own little bitmap of 32 bits. Extents are stored in a B-Tree. The Root block holds a pointer to the root of the Extent B-Tree. Extents keep track of space in use by a specific file. Each fragment a file consists of has its own Extent. Extents are in a double linked list. The list can be used to locate the next or previous fragment of a file. Below is the standard block header. This header is found before EVERY type of block used in the filesystem, except data blocks. The id field is used to check if the block is of the correct type when it is being referred to using a BLCK pointer. The checksum field is the SUM of all LONGs in a block plus one, and then negated. When applying a checksum the checksum field itself should be set to zero. The checking a checksum the checksum is okay if the result of the checksum equals zero. The ownblock BLCK pointer points to the block itself. This field is an extra safety check to ensure we are using a valid block. Field Type Description id ULONG The id field is used to identify the type of block we are dealing with. It is used to make sure that when referencing a block we got a block of the correct type. The id consist of 4 bytes and each blocktype has its own unique foure letter code. checksum ULONG This field contains the sum of all longs in this block, plus one and then negated. The checksum can be used to check if the block hasn't been corrupted in any way. ownblock BLCK Points to itself, or in other words, this field contains the block number of this block. This is yet another way to check whether or not a block is valid. <pre> struct fsBlockHeader { ULONG id; ULONG checksum; BLCK ownblock; }; </pre> The algorithm to calculate the checksum of a block: <pre> ULONG calcchecksum(struct fsBlockHeader *block, LONG blocksize} { ULONG *data=(ULONG *)block; ULONG checksum=1; block->checksum=0; while(blocksize>0) { checksum+=*data++; blocksize-=4; } return(-checksum); } </pre> A Root block contains very important information about the structure of a SFS disk. It has information on the location and size of the disk, the blocksize used, locations of various important blocks, version information and some filesystem specific settings. A SFS disk has two Root blocks; one located at the start of the partition and one at the end. On startup the filesystem will check both Roots to see if it is a valid SFS disk. If either one is missing SFS can still continue (although at the moment it won't). A Root block could be missing on purpose. For example, if you extend the partition at the end (adding a few MB's) then SFS can detect this with the information stored in the Root block located at the beginning (since only the end-offset has changed). Same goes for the other way around, as long as you don't change start and end point at the same time. When a Root block is missing because the partition has been made a bit larger, then SFS will in the future be able to resize itself without re-formatting the disk. Field Type Description bheader struct fsBlockHeader Standard block header. version UWORD The version of the filesystem block structure. You can check this field to identify what version of the filesystem your dealing with it and to see if you can handle this structure correctly. Don't try to interpret the disk's structure when this field contains an unknown version number! sequencenumber UWORD Used to identify which Root block was written last in case the sequencenumber on both Root blocks don't match. datecreated ULONG Creation date of this volume. This is the date when the disk was last formatted and will never be changed. bits UBYTE Various settings, see below. <pre> pad1 UBYTE Reserved, leave zero. pad2 UWORD Reserved, leave zero. reserved1 ULONG[2] Reserved, leave zero. firstbyteh ULONG High 32-bits of a 64-bit number. This is the first byte of our partition relative to the start of the disk. firstbyte ULONG Low 32-bits of a 64-bit number. lastbyteh ULONG High 32-bits of a 64-bit number. This is the last byte (exclusive) of our partition relative to the start of the disk. lastbyte ULONG Low 32-bits of a 64-bit number. totalblocks ULONG The total number of blocks this partition consists of. blocksize ULONG The size of a block of this partition. reserved2 ULONG[2] Reserved, leave zero. reserved3 ULONG[8] Reserved, leave zero. bitmapbase BLCK Block number of the start of the Bitmap. adminspacecontainer BLCK Block number of the first AdminSpaceContainer. rootobjectcontainer BLCK Block number of the ObjectContainer which contains the root of the disk (this is where the volume name is stored). extentbnoderoot BLCK Block number of the root of the Extent B-Tree. reserved4 ULONG[4] Reserved, leave zero. </pre> <pre> struct fsRootBlock { struct fsBlockHeader bheader; UWORD version; UWORD sequencenumber; ULONG datecreated; UBYTE bits; UBYTE pad1; UWORD pad2; ULONG reserved1[2]; ULONG firstbyteh; ULONG firstbyte; ULONG lastbyteh; ULONG lastbyte; BLCK totalblocks; ULONG blocksize; ULONG reserved2[2]; ULONG reserved3[8]; BLCK bitmapbase; BLCK adminspacecontainer; BLCK rootobjectcontainer; BLCK extentbnoderoot; ULONG reserved4[4]; }; </pre> AdminSpaceContainers are used to store the location and bitmap of each administration space. The AdminSpaceContainers are located in a double linked list and they contain an array of fsAdminSpace structures. There is one fsAdminSpace structure for every administration space on disk. Field Type Description bheader struct fsBlockHeader Standard block header. next BLCK The next AdminSpaceContainer, or zero if it is the last in the chain. previous BLCK The previous AdminSpaceContainer, or zero if it is the first AdminSpaceContainer. bits UBYTE The number of bits in each in the bits ULONG in the fsAdminSpace structure. pad1 UBYTE Reserved, leave zero. pad2 UWORD Reserved, leave zero. adminspace struct fsAdminSpace An array of fsAdminSpace structures. The size of the array is determined by the current blocksize. <pre> struct fsAdminSpaceContainer { struct fsBlockHeader bheader; BLCK next; BLCK previous; UBYTE bits; UBYTE pad1; UWORD pad2; struct fsAdminSpace adminspace[0]; }; </pre> Field Type Description space BLCK The first block of an administration space. bits ULONG A small bitmap which is used to determine which blocks in an administration space are already in use. The number of bits in this bitmap is determined by the bits field in the AdminSpaceContainer. <pre> struct fsAdminSpace { BLCK space; ULONG bits; }; </pre> The fsBitmap structure is used for Bitmap blocks. A bitmap block is used to keep track of which space is in use and which isn't for a particular area of a disk. All bitmap blocks together keep track of the free space for an entire disk. The location of the first bitmap block is known and all other bitmap blocks are stored in order after the first one. Field Type Description bheader struct fsBlockHeader Standard block header. bitmap ULONG An array of ULONG's. These hold the actual information on which blocks are in use and which aren't. <pre> struct fsBitmap { struct fsBlockHeader bheader; ULONG bitmap[0]; }; </pre> Each bit in a bitmap block (except for the block header) represents a single block. If the bit is set than the block is free, and if the bit is clear then it is full. The first ULONG in the bitmap area of the first bitmap block represents blocks 0 through 31 on the disk. Bit 31 of this ULONG is block 0, 30 is block 1, and so on. Bit 0 of the first ULONG represents block 31. Below is a table to clarify how bitmaps work even further. The first column is the bitmap block number, the second column is the number of the ULONG in the bitmap array. The third column is the bit number in this ULONG, and the last column is the block which this specific bit, in this specific bitmap block represents. We'll assume here that a bitmap block has room for 120 ULONG's (meaning there is room for storing 32 * 120 bits). <pre> Bitmap block ULONG number Bit number Block represented 1 (first) 0 31 0 1 0 30 1 ... ... ... ... 1 0 1 30 1 0 0 31 1 1 31 32 ... ... ... ... 1 2 31 64 1 2 30 65 ... ... ... ... 1 119 0 3839 2 0 31 3840 2 0 30 3841 ... ... ... ... </pre> The last bitmap block doesn't need to be completely used. The unused bits (which belong to blocks which do not exist) all have to be clear, to indicate that these blocks are in use. The fsObjectContainer structure is used to hold a variable number of fsObjects structures (Objects) which have the same parent directory. Each ObjectContainer must contain at least one Object. If there is space in the ObjectContainer not used by the variable number of Objects then that space is zero filled. Objects always start at 2-byte boundaries, which means sometimes a padding byte is inserted between two Objects. Field Type Description bheader struct fsBlockHeader Standard block header. parent NODE The node number of the parent Object, or 0 if this object has no parent (which is only the case for the Root directory). next BLCK The next ObjectContainer belonging to this directory, or zero if it is the last in the chain. previous BLCK The previous ObjectContainer belonging to this directory, or zero if it is the first ObjectContainer in this directory. object struct fsObject A variable number of fsObject structures. The number of structures depends on the individual sizes of each fsObject structure and the blocksize. These structures are located directly after each other with at most 1 byte of padding between them to get the structures aligned on a 2 byte boundary. <pre> struct fsObjectContainer { struct fsBlockHeader bheader; NODE parent; BLCK next; BLCK previous; struct fsObject object[0]; }; </pre> fsHashTable is the structure of a HashTable block. It functions much like the hash table found in FFS user directory blocks, except that it is stored in a separate block. This block contains a number of hash-chains (about 120 for a 512 byte block). Each hash-chain is a chain of Nodes. Each Node has a pointer to an Object and a pointer to the next entry in the hash-chain. Using such a hash-chain you can locate an object quickly by only knowing its name. Field Type Description bheader struct fsBlockHeader Standard block header. parent NODE The node number of the directory Object this HashTable block belongs to. hashentry NODE An array of Nodes. Each Node represents the start of a hash-chain (singly linked). A hash-value is calculated using the name of a file or directory, and this value determines in which chain the Object is linked. If there are no entries in a hash-chain then the hashentry value is zero. <pre> struct fsHashTable { struct fsBlockHeader bheader; NODE parent; NODE hashentry[0]; }; </pre> To calculate the hash-value using a name of an Object as input use these routines: <pre> UWORD calchash(UBYTE *name) { UWORD hash=0; /* Calculates a hash value over the passed in string. The end of the string can be either a NUL byte or a slash. The hash function is the same as the one used in FastFileSystem set to international mode. */ while(name[hash]!=0 && name[hash]!='/') { hash++; } while(*name!=0 && *name!='/') { hash=hash*13+upperchar(*name++); } return((UWORD)(hash % (UWORD)((blocksize-sizeof(struct fsHashTable))>>2))); } UBYTE upperchar(UBYTE c) { if((c>=224 && c<=254 && c!=247) || (c>='a' && c<='z')) { c-=32; } return(c); } </pre> The BNodeContainer is used to store B-Trees. Currently only one B-Tree is in use by this filesystem and it is used to store the location of file data. The fsBNodeContainer structure contains two other structures. The fsBlockHeader structure and the BTreeContainer structure. Field Type Description bheader struct fsBlockHeader Standard block header. btc struct BTreeContainer Contains information about the B-Tree and its nodes contained in this block. <pre> struct fsBNodeContainer { struct fsBlockHeader bheader; struct BTreeContainer btc; }; </pre> First try and locate the Root block. It should start with "ROOT". SFS has two of these, one at the start of the partition and one at the end. One of the fields contains the block size, which will be the size of all important SFS blocks. The root block has the root object container, which contains information about files and directories in the root directory. The object containers basically hold one or more smaller structures that represent files and directories. Scanning them all should give you a list of files and directories. The root block also has the root of the Extent B-Tree. This is a standard B-Tree structure (not a binary tree) that is used commonly in all kinds of system, you can read about how they work on Wikipedia if needed. The B-Tree holds the information about *where* all the data is located for your files. To recover your files, I'd do this: * Find one of the root blocks, if not present, then figure out the block size your disk was using, and scan every block in turn to see if it looks like an ObjectContainer (check the fsBlockHeader's ID, check if the ownblock number is equal to the block you are currently scanning, and check its checksum). So if you currently have block 12, and you see a block with the correct id, and ownblock = 12 and its checksum is good, then that's probably a valid ObjectContainer. * With all the ObjectContainers found, you can extract filenames and directory names from these, but also the number of their first data block (in the field data) and the file size. For small files (less than blocksize) this data block will be enough to recover the data. For larger files, you might be lucky and all the remaining blocks are found after the first one (if the file was defragmented). You can't be sure of that though so... * For larger files, you need to find all the BNodeContainers. You could scan these in the same way you found all the ObjectContainers (look for blocks with the correct id, ownblock number and checksum). * With all the BNodeContainers found, you can try looking up the first data block of a file in the B-Tree structure. This is a bit complicated -- the B-Tree consists of non-leaf nodes (blocks that only contain pointers to other B-Tree blocks), the isLeaf flag indicates this. Or it can be a B-Tree leaf block. The leaf blocks contain extra information per entry (see https://hjohn.home.xs4all.nl/SFS/extents.htm) <pre> struct fsExtentBNode { ULONG key; ULONG next; ULONG prev; UWORD blocks; }; </pre> The key should be a block of a file (the first of a range), that is 1 to 65535 block long (depending the "blocks" field). If the file is split up into more parts, then "next" will contain block number of the next range of blocks. You need to look this up again in the B-Tree structure to find out how large it is. You can for the most part ignore the other structures (bitmap, admin containers). The fsObjects and B-tree containers is what you'll need to recover the data. ====Resources==== <pre> rom/storage/mmakefile.src rom/storage/storage.conf rom/storage/storage_device.c rom/storage/storage_ids.c rom/storage/storage_init.c rom/storage/storage_intern.h rom/storage/storage_mount.c rom/storage/storage_unit.c </pre> <pre> rom/storage/includes/device.h rom/storage/includes/unit.h rom/storage/includes/volume.h rom/storage/storage_intern.h </pre> <pre> </pre> *[[Aros/Developer/Docs/Resources/ACPI|acpi.resource]] *[[Aros/Developer/Docs/Resources/Battclock|battclock.resource]] *[[Aros/Developer/Docs/Resources/Bootloader|bootloader.resource]] *[[Aros/Developer/Docs/Resources/Cia|cia.resource]] *[[Aros/Developer/Docs/Resources/Filesystem|FileSystem.resource]] *[[Aros/Developer/Docs/Resources/Hostlib|hostlib.resource]] *[[Aros/Developer/Docs/Resources/Kernel|kernel.resource]] *[[Aros/Developer/Docs/Resources/Misc|misc.resource]] *[[Aros/Developer/Docs/Resources/Processor|processor.resource]] ==Debugging Code== Please use the [http://sourceforge.net/tracker/?group_id=43586&atid=439463 AROS Bug Tracker] if any issues are found. GRUB Command line list <pre> sysdebug usbdebug - allows to see Poseidon's log in debug output </pre> How do I get debugging out of InitResident ? If running i386 hosted on linux sysdebug=initresident on command line. This way you can enable any of listed flags. sysdebug=all stands for "everything" Have an executable (crosscompiled C++ code) which has 6 MB size on disk, but after loading it in memory, 250 MB RAM is taken. Any software that would split AROS executable into ELF part which would show actual size values? readelf -S executable it will show you all sections in elf file, including sizes and requested alignment. objdump -h filename That's will give you a quick overview of the sections and sizes. Ignore all the .debug.* sections. Would hazard a guess that you have a large .bss section. That's pretty common in C++. Next step: nm—size-sort filename | grep ' [bB] ' The last few will be your biggest consumers. Would suggest -C to demangle the symbols... ;) Suggest profiling the program (just use some printf's in the main loop for time spent in each part), it usually is quite easy to spot slow parts in games or apps. If someone has '#define IPTR ULONG' somewhere. To see where that define is, redefine IPTR in the source code that fails, just above the line that fails, and the preprocessor will tell you where it was defined first. ===How to setup gdb with AROS/hosted=== Download AROS sources (AROS-xxxxxxxx-source.tar.bz2, where xxxxxxxx is the current date) and AROS contrib sources (AROS-xxxxxxxx-contrib-source) from Untar-bzip2 and cd to the unpacked archive directory. > tar -xvjf AROS-xxxxxxxx-source.tar.bz2 > cd AROS-xxxxxxxx-source Check the link to "contrib" (contrib-source) inside directory, e.g. correct like this: > rm contrib > ln -s ../AROS-xxxxxxxx-contrib-source.tar.bz2 contrib Make sure you have the correct locale setting, otherwise compilation will fail at some point. See [http://aros.sourceforge.net/documentation/developers/compiling.php#setting-the-locale-to-iso8859 here] (or link below) for more on that. You might have to enter this: > export LANG="en_US.ISO-8859-1" Now configure for a debug build - see "./configure --help" for more - here are two examples: > ./configure—enable-debug=stack,modules,symbols > ./configure—enable-debug=all You may "make" now, or choose a separate directory for your build (e.g. for easy removal), for example if compiling for i386 architecture you could create a directory like this: > mkdir linux-i386 > cd linux-i386 > ../AROS/configure—enable-debug=stack,symbols,modules When done configuring you're ready to go: > make Building AROS takes some time - minutes on fast machines (e.g. 2.5&nbsp;GHz quadcore), up to hours on slower machines. The result will be AROS Linux hosted with gdb debugging enabled. See aros.org documentation for more on compiling AROS, including more [http://aros.sourceforge.net/documentation/developers/compiling.php --enable-debug] options. When finished, enter bin/linux-i386/AROS directory (replace "linux-i386" with your compilation target platform, e.g. linux-x86_64, etc.) inside the unpacked archive directory. This directory contains the required .gdbinit file for properly running AROS inside gdb. > cd bin/linux-i386/AROS Run AROS (here: with 128MB of memory) from gdb: > gdb—args boot/aros-unix -m 128 or > gdb—args boot/arosboot -m 128 (gdb) r Watch the shell output - in case AROS complains about "LoadKeyCode2RawKeyTable: Loading "DEVS:Keymaps/X11/keycode2rawkey.table" failed!" you should also see some instructions on how to create a keymap table. (see link above "more on compiling", too.) Quit gdb, and try default keymap table: (gdb) q The program is running. Quit anyway (and kill it)? (y or n) y > cd ../../.. > make default-x11keymaptable Re-run AROS, as described above. Try e.g. RAros (= right windows key) + W to open a shell. If this doesn't work you have to create a keymap table yourself, quit gdb again, and make a new keytable: > make change-x11keymaptable A window will open. Watch the window's title bar, and follow the instructions. When done, re-run AROS. RAros + W should now open a shell. Next, compile your program with gdb support. When you start GDB is there a warning which says warning: File "<whatever>/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to ... If so start gdb with "-ix .gdbinit" <pre> Summary - In short: * build AROS with debugging support (i.e. ./configure --enable-debug=all) * build your application with debugging support (i.e. option -g) * run AROS in the GNU debugger (you may use the GUI frontend "ddd" which simplifies usage a bit) * start your application * use the commands "findaddr" and "add-symbol-file" as written in the debugging manual * if the debugger doesn't find the source code of your application use the "dir" command of the debugger. </pre> ===How to use gdb=== In AROS open a shell, then (in host shell) use CTRL-Z to go into gdb. Use "b Exec_CreatePool" (one of the functions used early on by startup code in programs) to add a breakpoint, then "cont" and gdb will interrupt somewhere early during startup of "program". Use "bt" to show backtrace and "loadseg" for "??" entries. One of them will be for "program". After that you can use "disassemble program". One thing you need to make sure is that .gdbinit you have in your build directory is the same as in source tree. It has been modified some time ago, but the build system does not refresh it - you need to copy it manually To recap, please read our debugging [http://aros.sourceforge.net/documentation/developers/debugging.php manual]: To detect segfaulting when loading, try... ./configure—enable-debug—with-optimization="-O2" Because crash or no crash may depend on optimization. For newer compilers maybe this helps... --with-optimization=-"-O2 -fno-strict-aliasing" One way to make crashes less random (more easily reproducible) is to activate the munging of free memory in rom/exec/freemem.c which is normally commented out: <pre> Index: freemem.c =================================================================== --- freemem.c (revision 34289) +++ freemem.c (working copy) @@ -154,11 +154,12 @@ * created with their TCB placed in the tc_MemEntry list. The workaround * is to avoid munging when FreeMem() is called with task switching disabled. */ + /* DOH! it doesn't work even this way. What's wrong??? - * - * if ((SysBase->TDNestCnt < 0) && (SysBase->IDNestCnt < 0)) - * MUNGE_BLOCK(memoryBlock, MEMFILL_FREE, byteSize); */ + + if ((SysBase->TDNestCnt < 0) && (SysBase->IDNestCnt < 0)) + MUNGE_BLOCK(memoryBlock, MEMFILL_FREE, byteSize); } </pre> Mungwall can be turned on at runtime. Currently this works in all hosted versions. Just specify "mungwall" on kernel command line and it works. It can work on native too. In order to enable it you need to parse kernel command line, and if "mungwall" is present, set EXECF_MungWall bit in IntExecBase.IntFlags. This needs to be done before the first AllocMem() for obvious reasons. And never reset back this flag! If you change it on a working system, you are doomed. Hosted ports do the processing in rom/exec/prepareexecbase.c --enable-debug=mungwall option in configure still works but is going obsolete. A kludge in rom/exec/allocmem.c is responsible for this and it needs to be removed when the transition is done. BTW, on i386-pc port it can be activated by "mungwall" argument on command line, you don't need to rebuild AROS. New mungwall affects not only AllocMem()/FreeMem(), but also pools. I also tested it with AllocAbs(), seems to work correctly. Runtime mungwall works on: * pc-i386 * pc-x86_64 * linux-i386 * linux-x86_64 * darwin-x86 * linux-ppc Works on all hosted ports, if the port itself is working. * amiga-m68k * Not on sam440-ppc and efika-chrp-ppc, even if they would be able to be built at moment. Does not work on (for now, need NVRAM support) When starting my freshly rebuilt i386-linux-aros which was compiled with full debugging support I get sometimes the error "Program exited with code 0377". Add the following to your .gdbinit: set follow-fork-mode child Here are some of the custom AROS gdb functions (defined in ".gdbinit" file) to resolve "in ?? ()" entries in backtrace: <pre> #0 0xb7ffd424 in __kernel_vsyscall () #1 0xb7e2a657 in sigsuspend () from /lib/libc.so.6 #2 0xb7c63900 in ?? () #3 0xb7c640e3 in ?? () #4 0xb7c641e0 in ?? () </pre> You can use loadseg 0xb7c63900 loadframe 2 or loadbt and some others. Use "help " for a little help text. If the commands do not work try "loadkick" first. Use "thistask", "taskready", "taskwait" to get list of AROS tasks. "bttask " shows backtrace of a task which is in ready or in wait queue and "loadseg" to resolve "??" entries in it's backtrace ("loadframe" would not work as it assume current running task). ===Native debugging tools for AROS=== to enable debugging at boot time entering the GRUB menu editing line (E key) and adding "debug=memory" to your boot line, then press Ctrl+X to complete booting. SYS:Tools/Debug/'''Bifteck''' Open a shell and enter the line below to run Biftek and grab the debug messages collected in RAM into a text file. tools/debug/bifteck > ram:debug.txt and certainly does not open a window. It is a shell tool and only dumps data located from the debug location. It is therefore important to 'catch' that debug data as soon as possible (before it gets overridden). You should invoke bifteck at the first opportunity before doing anything else. You can use the TO option to store bifteck output to a file or you can pipe it manually to a file. SYS:Tools/Debug/'''Sashimi''' - displays error messages One suggestion is to do a bug() debugging. Each time bug() is executed it will be output on sashimi. You include <aros/debug.h> and place bug("something\n"); in your source code at location though which control passes. To get the output - open an aros shell SYS:Tools/Debug/sashimi > RAM:out.txt '''Ctrl C''' to end the output to the RAM Disk. # open shell, and type # ram: (to switch to ram drive) # System:Tools/Debug/Sashimi > mylogfile.txt # open AHI prefs using wanderer (or use another opened shell) # play test sound # close AHI prefs # shell still open with Sashimi running: press ctrl-c to break Sashimi and return to prompt. # in shell: copy mylogfile.txt System: (or to your required location) SYS:Utilities/'''Snoopy''' - monitors OS function calls, run "Sashimi" to see Snoopy's output SYS:Tools/'''WiMP''' - the Window (and Screens) Manipulation Program You can use the -E option of gcc to find out how preprocessor macros are expanded. ===Errors=== crash in strcasecmp usually means that one of its arguments is NULL. empty space between these two names, prossibly some invisible character Old Amiga [http://www.amigacoding.com/index.php?title=Guru_codes&redirect=no Guru Codes] If the crash is in intuition. Sometimes, if it relates to text, a null pointer sets it off. an uninitialised pointer can have any address (this is a common fault). Compiling on 64bit, Many old code would not properly typecast when doing pointer-integer conversions and thus at least throw a warning. This can easily be located and fixed. [http://www.aros.org/cs/documentation/developers/app-dev/portable.php Portable code] * Use texteditor or some tool to replace all "ULONG" with "IPTR" and "LONG" with "SIPTR" in the sources. * Fix (change IPTR/SIPTR back to ULONG/LONG) the few places which really rely on ULONG/LONG being exactly 32 bit. That's for things like pixel (ARGB) buffers, structs written/read to disk, colormaps, but probably not much else. Then again, many current compilers also throw a warning when you try to assign a pointer value to an integer and the integer is possibly too small. This happens under .NET for example when a 64 bit pointer is assigned to something like an ULONG - so exactly the case which you described. === Example === <syntaxhighlight lang="c"> /* 1. Header for your name,date,purpose of program. 2. Pre-processor directives. This will include the #includes for files you want to add. 3. Includes for function prototypes if necessary. 4. Main() Create Pointers for Libraries and any Window you want to open. 5. Open necessary libraries. 6. Check if open exit program if fail. 7. Open a window exit program if fail. 8. Add your program 9. Close Window 10 Close Libraries. 11 End Program. */ /* standard os included headers <.h> */ #include <dos/dos.h> #include <dos/dosasl.h> #include <dos/dosextens.h> #include <dos/exall.h> #include <dos/rdargs.h> #include <exec/memory.h> #include <exec/types.h> #include <utility/utility.h> #include <intuition/intuition.h> /* define as unresolved external references (proto/xxx.h) and compiler will link to auto(matically) open library */ #include <proto/arossupport.h> #include <proto/dos.h> #include <proto/exec.h> #include <proto/intuition.h> #include <proto/graphics.h> #include <proto/cybergraphics.h> #include <proto/datatypes.h> #include <proto/icon.h> #include <workbench/workbench.h> #include <workbench/icon.h> #include <datatypes/pictureclass.h> #include <proto/muimaster.h> #include <libraries/mui.h> #include proto/bsdsocket.h #include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> /* my own headers ".h" */ #define CTRL_C (SetSignal(0L,0L) & SIGBREAKF_CTRL_C) #define isDir(fib) ((fib)->fib_DirEntryType >= 0) #define ARG_TEMPLATE "FILE/A,ALL/S,QUIET/S,W=WIDTH/N,H=HEIGHT/N,M=METHOD,DEFTOOL" int main(void) { return retval; } /* main */ </syntaxhighlight> <syntaxhighlight lang="c"> </syntaxhighlight> If you used c++, there is not yet c++ support in our shared library system. The easiest way to create / compile a shared library would be to use the AROS build system but the libraries can be created manually. You have to create a ROMTAG structure and some header files. A shared library is built with the %build_module macro with a line like this: %build_module mmake=MetaTarget modname=mylib modtype=library files=SourceFiles This macro can build different AROS module types, like devices, Zune classes, HIDDs, etc. <pre> ##begin config version 1.0 ##end config ##begin functionlist void func1(LONG a, LONG b) int func2(char *s, ULONG a) ##end functionlist </pre> Alternatively, <pre> #ifndef LIB_H #define LIB_H #define __NOLIBBASE__ #include <exec/libraries.h> #include <exec/semaphores.h> #include <dos/dos.h> #ifdef __AROS__ //#include <aros/debug.h> #define reg(x) #define __saveds #endif #define USESYSBASE struct ExecBase *SysBase = Base->My_SysBase; struct MyTestBase { struct Library My_Test_Lib; struct ExecBase *My_SysBase; APTR My_SegList; int testint; }; #endif </pre> <pre> /*--------------------------------------------------------------------------*/ /* Resident header written for mytest.library */ /*--------------------------------------------------------------------------*/ #define __NOLIBBASE__ #define VERSION 1 #define REVISION 0 #define LIBHEADNAME mytest #define LIBHEADNAMESTR "mytest" #define COMPDATE "04.10.2015" #define VERS "1.0" #define LIBBASETYPE struct MyTestBase #define LIBBASETYPEPTR LIBBASETYPE * #include <aros/debug.h> #include <exec/exec.h> #include <proto/exec.h> #include <exec/resident.h> #include <exec/nodes.h> #include <exec/libraries.h> #include <aros/symbolsets.h> #include "lib.h" const UBYTE lib_name[] = LIBHEADNAMESTR ".library"; const UBYTE lib_id[] = "$VER: " LIBHEADNAMESTR ".library " VERS " (" COMPDATE ") by ALB42\n"; extern const APTR FuncTable[]; AROS_UFP3 (LIBBASETYPEPTR, InitLib, AROS_UFPA(LIBBASETYPEPTR, Base, D0), AROS_UFPA(BPTR, seglist, A0), AROS_UFPA(struct ExecBase *, sysbase, A6) ); static struct LibInitStruct { IPTR LibSize; const APTR *FuncTable; const struct DataTable *DataTable; APTR InitFunc; } const LibInitStruct = { sizeof(LIBBASETYPE), FuncTable, NULL, (APTR)InitLib }; const struct Resident romtag = { RTC_MATCHWORD, /* match word */ (APTR)&romtag, /* back pointer */ (APTR)(&romtag + 1), /* skip pointer */ RTF_AUTOINIT | RTF_EXTENDED,/* flags */ VERSION, /* version */ NT_LIBRARY, /* type of module */ 0, /* init priority */ (STRPTR)lib_name, /* module name */ (STRPTR)lib_id + 6, (APTR)&LibInitStruct, REVISION, NULL }; AROS_UFH3 (LIBBASETYPEPTR, InitLib, AROS_UFHA(LIBBASETYPEPTR, Base, D0), AROS_UFHA(BPTR, seglist, A0), AROS_UFHA(struct ExecBase *, sysbase, A6) ) { AROS_USERFUNC_INIT Base->My_SegList = seglist; Base->My_SysBase = (APTR)sysbase; Base->testint = 0; USESYSBASE bug("InitLib\n"); if (!set_open_libraries()) { set_close_libraries(); return NULL; } return Base; AROS_USERFUNC_EXIT } AROS_LH1(LIBBASETYPEPTR, LibOpen, AROS_LHA (ULONG, version, D0), LIBBASETYPEPTR, Base, 1, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibOpen\n"); (void)version; Base->My_Test_Lib.lib_OpenCnt++; return Base; AROS_LIBFUNC_EXIT } __saveds APTR LibExpungeInternal(LIBBASETYPE *Base reg(a6)) { USESYSBASE APTR seglist; bug("LibExpungeInternal\n"); if (Base->My_Test_Lib.lib_OpenCnt) { return 0; } seglist = Base->My_SegList; Forbid(); Remove((struct Node*)Base); Permit(); FreeMem((APTR)Base - Base->My_Test_Lib.lib_NegSize, (LONG)Base->My_Test_Lib.lib_PosSize + (LONG)Base->My_Test_Lib.lib_NegSize); set_close_libraries(); return seglist; } AROS_LH0(BPTR, LibClose, LIBBASETYPEPTR, Base, 2, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibClose\n"); if (!(--Base->My_Test_Lib.lib_OpenCnt)) { return LibExpungeInternal(Base); } return 0; AROS_LIBFUNC_EXIT } AROS_LH1(BPTR, LibExpunge, AROS_LHA(LIBBASETYPEPTR, Base, D0), struct ExecBase *, sysBase, 3, LIBHEADNAME ) { AROS_LIBFUNC_INIT (void)sysBase; USESYSBASE bug("LibExpunge\n"); return LibExpungeInternal(Base); AROS_LIBFUNC_EXIT } AROS_LH0(LIBBASETYPEPTR, LibReserved, LIBBASETYPEPTR, Base, 4, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibReserved\n"); return 0; //return (APTR)LibReserved(); AROS_LIBFUNC_EXIT } // Space for your own functions // do not forget to update the FuncTable as well AROS_LH1(int, TestFunction, AROS_LHA(int, TestValue, D0), LIBBASETYPEPTR, Base, 5, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("TestFunction\n"); Base->testint = TestValue + Base->testint; return Base->testint; AROS_LIBFUNC_EXIT } // Functable -> Table of all functions in the Library, in right order - important! const APTR FuncTable[] = { &AROS_SLIB_ENTRY(LibOpen,LIBHEADNAME,1), &AROS_SLIB_ENTRY(LibClose,LIBHEADNAME,2), &AROS_SLIB_ENTRY(LibExpunge,LIBHEADNAME,3), &AROS_SLIB_ENTRY(LibReserved,LIBHEADNAME,4), &AROS_SLIB_ENTRY(TestFunction,LIBHEADNAME,5), (void *)-1 }; // AutoInit stuff void *__PROGRAM_ENTRIES__symbol_set_handler_missing; void *__LIBS__symbol_set_handler_missing; // end of AutoInitStuff </pre> Makefile <pre> VPATH = CFLAGS = -O2 -g -fomit-frame-pointer -W -Wall -Wno-parentheses CC = i386-aros-gcc LD = i386-aros-gcc LDFLAGS = -nostartfiles -Wl,-Map -Xlinker linkermap LIBS = -lautoinit -llibinit STRIP = i386-aros-strip --strip-unneeded --remove-section .comment OBJS = lib_header.o all: mytest.library mytest.library: $(OBJS) $(LD) $(LDFLAGS) $^ $(LIBS) -o $@ lib_header.o: lib_header.c lib.h clean: rm -f *.o *.library *.ppu testlibrary linkermap </pre> Porting UNIX library to AROS - dealing with static variables which would make it easy to port such libraries to AROS, keeping the benefits of sharing them on disk, but losing the benefit of actually sharing them in memory. Our problem arises by the fact we want to share the actual code (the .text section of the library) and constant data, but we need to have per-task .bss and .data sections. If we get rid of our intention to share the .text and .rodata sections, things get quite easy: just load and relocate the library whenever it's open, by whoever it's open. It's like statically linking the library into the executable, except that the final linking is done at runtime. In the V0 branch, in workbench/hidds/hidd.nouveau was committed pcimock.hidd. This is a pci driver that allows mocking real PCI devices under linux-hosted. The main idea is to be able to run the real hardware driver under linux-hosted with as little changes as possible (some changes will always be needed though unless someone wants to write complete device simulator) so that driver's code paths can be executed and debugged using gdb. This was a very helpful capability when porting nouveau. Now it is externalized from nouveau.hidd and can be used by other people porting drivers. The pcimock.hidd can currently mock 4 different nvidia cards, 1 AGP bridge and also mock irq.hidd. What's the difference between this driver and the pcilinux.hidd? I used that one to develop many different HW drivers for aros. As far as I understood the intention of pcilinux.hidd it is supposed to get access to real hardware that is running under linux. The pcimock.hidd goal is to mock the hardware. For example my dev box is a PCIE system, but I still would like to run the AGP codes paths in nouveau under linux-hosted to check if they don't seg fault. The other case would be to run codes paths for hardware that the developer does not have (Fermi cards in my case). In the case of pcimock.hidd, the AROS driver's code paths will execute as long as you add proper mocking (for example fill in PCI config area or values for registers in BARs). This is an advantage for ported drivers - the code should already work (since it worked on another system) but there might have been mistakes made during porting which can be detected easily with gdb. In case you are writing your driver from scratch, pcilinux.hidd hidd will give you more advantage, since you can actually access the real hardware from linux-hosted. == Misc == ===APL, MPL, BSD, GPL and LGPL Licences=== The majority of AROS sources in licensed under AROS Public License ([http://aros.sourceforge.net/license.html APL]) which (to a degree) protects us from someone taking AROS sources and not contributing improvements back (for example MorphOS took some AROS source and then contributed changes back) It is written to allow the use of AROS code in other open source or commercial projects without exception whilst providing a mechanism so that improvements/additions can find their way back to the original source in one form or another. There are "3rd" party applications used by AROS that do not fall under this license, which are an extra "Contrib" download for convenience. Anyone can port GPL-ed network and sound drivers as AROSTCP and AHI are GPLed. Direct using (porting) [http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs GPL]-ed code in other parts of AROS (gfx, sata, usb) is not possible because AROS license is not compatible with GPL. You need to utilize permissive licensed code like BSD or MIT/X11. BSD and MPL license are the closest to APL. APL however is not so compatible with LGPL/GPL. LGPL case - you cannot statically combine APL code with LGPL. You can, however thank to LGPL being "lesser" restrictive, use LGPL dynamically loaded libraries in APL codes. GPL case - you cannot combine APL code with GPL in any way if there is no explicit clause by GPLed code authors allowing that. If you do combine APL with GPL in "bad" ways described above - you have a problem (you violate GPL). This problem might result in everything in AROS becoming GPL or everything running or AROS becoming GPL (here I'm not sure really). The other scenario is that you are not allowed to legally distribute such code at all. To be honest I have grasped how to violate GPL, but I'm still no exactly sure what happens when you violate it (but I'm sure it's not anything nice) GPL software can run on top of non-GPL "system components" (see system components exception of GPL), but the other way around (non-GPL using GPL) leads to problems. This means applications like scout, or Quake III are ok (in the majority of cases). Theres no reason GPL drivers cannot be ported - but they cant be in AROS's ROM (requires linking APL code with GPL), nor can AROS depend on them (e.g. they must use existing apis). If they are launched (dynamically linked) by a user action that is allowed. It is also allowed to distribute such binaries together for convenience. GPL is not about statical or dynamic linking but is about executing process and function calls. These components - SFS, isapnp, Zune texteditor, AHi, network drivers, freetype, openuirl, BHFormat, Edit and (" dynamically loaded libraries") are LGPL, not GPL. Mesa/Nouveau stuff is MIT. Some user tools are GPL though. '''AROS (system)''' * system components (libraries/classes/devices/etc) cannot be GPL as they would propagate GPL to complete system as well as GPL is not compatible with MPL from which APL is based * system components can be LGPL v2 or a permissive license (MIT/BSD) * system applications can be anything you like (but still I would prefer APL or permissive so the code can be reused if needed) '''Contrib:''' * no rules - contrib does not impact AROS system since nothing in AROS system depends on contrib. About stealing code: The chances of this happening is exactly the same whether we are APL or GPL. If any closed-source option wanted to do it, there is no one that can validate otherwise. MorphOS has used some AROS codes, but contributed changes back. The rationale behind APL is that while it guarantees that the original developer will get the improvements back (to a certain degree - file based), the person who uses the codes does not have to open his original codes. BSD does not guarantee that the original developer gets improvements. GPL requires the person using the codes to open his codes as well. The copyright holders needs to stay - we just need information from them that the codes are available under APL (for example a checked-in file like in case of Poseidon). We don't do transfer of copyrights. ; Ultimately what can and cannot be done is up to the author(s) - not the licence. ===AROS source code tree=== * http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-trunk.txt * http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-contrib.txt Found this interesting (non-GPL) licensing 'anomaly' - to keep in mind for distributors. Programs that lose their license if sold ("non-profit only" licensed): contrib/aminet/comm/term/TinyTerminal contrib/aminet/dev/basic/bwBASIC contrib/aminet/text/edit/xdme contrib/fish/aroach contrib/fish/lotto contrib/fish/shuffle contrib/fish/touch + cdvdfs. Here is a list of all the GPL/GPLv2/GPLv3 licenses fossology found, what have explicit licenses in their comments. excluded LGPL, BSD/GPL dual licensed and programs (such as Prefs/Edit and BHFormat) <pre> AROS/rom/dbus/include/ AFL_v2.1 ,GPL_v2+ (supposedly AFL < 3 is GPL incompatible) AROS/workbench/classes/zune/betterstring/include/ GPL_v2+ AROS/workbench/classes/zune/texteditor/include/ GPL_v2+ AROS/workbench/classes/datatypes/gemimage/ GPL_v2+ GPL AROS/workbench/classes/datatypes/degas/ GPL_v2+ AROS/workbench/libs/openurl/README: GPL AROS/workbench/network/smbfs/documentation/ GPL_v2 AROS/workbench/network/smbfs/source_code/ GPL_v2+ AROS/workbench/network/stacks/AROSTCP/bsdsocket/kern/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/mmakefile.src conf.h GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/sys/ CMU ,GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/net/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/api/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/conf/conf.h: GPL_v2 AROS/workbench/network/stacks/AROSTCP/netinclude/net/radix.h: CMU ,GPL_v2 AROS/workbench/devs/AHI/AHI/ GPL_v2+ AROS/workbench/devs/AHI/AddAudioModes/ GPL_v2+ AROS/workbench/devs/AHI/AddAudioModes/COPYING: GPL AROS/workbench/devs/AHI/Docs/texinfo.tex: GPL_v2+ AROS/workbench/devs/AHI/COPYING: GPL AROS/workbench/devs/AHI/Drivers/EMU10kx/ GPL_v2+ AROS/workbench/devs/AHI/AHI-Handler/ GPL_v2+ AROS/workbench/devs/networks/rtl8029/ GPL GPL_v2+ AROS/workbench/devs/networks/pcnet32/ GPL GPL_v2+ AROS/workbench/devs/networks/ppp/LEGAL: GPL AROS/workbench/devs/networks/atheros5000/ GPL_v2+ AROS/workbench/devs/networks/rhine/ GPL_v2+ AROS/workbench/devs/networks/nForce/ GPL_v2+ GPL AROS/workbench/devs/networks/prism2/ GPL GPL_v2+ AROS/workbench/devs/networks/fec/LEGAL: GPL AROS/workbench/devs/networks/rtl8139/ GPL GPL_v2+ AROS/workbench/devs/networks/etherlink3/ GPL GPL_v2+ AROS/workbench/devs/networks/intelpro100/ GPL GPL_v2+ AROS/workbench/devs/networks/rtl8169/ GPL GPL_v2+ AROS/workbench/devs/networks/emac/ GPL GPL_v2+ AROS/workbench/devs/networks/rtl8168/ GPL GPL_v2+ AROS/workbench/devs/networks/realtek8180/ GPL_v2+ AROS/workbench/devs/networks/via-rhine/via-rhine.c: GPL_v2+ AROS/workbench/devs/networks/via-rhine/ GPL GPL_v2+ AROS/workbench/devs/networks/e1000/ GPL_v2 AROS/workbench/devs/networks/sis900/ GPL GPL_v2+ </pre> AHI: it has special provisions (COPYING.DRIVERS). The library is LGPL, preferences software is GPL and drivers can be anything without breaking GPL/LGPL. Network stack: well, we are long overdue for a new, IPv6 enabled network stack anyway, anyone interested? ;) Seriously though it seems like the glue code is GPL and as all the drivers. However some of the drivers are our own code, so they could be relicensed to LGPL. Same filter as the AROS trunk list. These should all be libraries or plugins - no programs. <pre> contrib/regina/utsname.h: GPL_v2+ contrib/mui/classes/nlist/include/default-align.h: GPL_v2+ contrib/mui/classes/nlist/include/amiga-align.h: GPL_v2+ contrib/mui/classes/BWins/include/MUI/BWin_mcc.h: GPL contrib/mui/classes/BWins/include/BWin_private_mcc.h: GPL contrib/mui/classes/BWins/COPYING: GPL_v2 contrib/mui/classes/BWins/MCC_BWins.readme: GPL_v2 contrib/mui/classes/thebar/include/default-align.h: GPL_v2+ contrib/mui/classes/thebar/include/amiga-align.h: GPL_v2+ contrib/gfx/libs/wazp3d/LEGAL: GPL contrib/gfx/libs/wazp3d/Wazp3D.readme: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d.c: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d_opengl.h: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d_opengl.c: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/Wazp3D.h: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/Wazp3D.c: GPL contrib/libs/mpega/ GPL_v2+ </pre> http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-contrib.txt ===Types=== On AROS following rules apply: <pre> 1. BYTE/UBYTE is 8bit, WORD/UWORD is 16bit, LONG/ULONG is 32bit, QUAD/UQUAD is 64bit, the types are comparable with stdint types (int8_t, int16_t, int32_t, int64_t) 2. IPTR/SIPTR are integer types large enough to fit pointer, that is sizeof(IPTR) = sizeof(APTR) = 4 on 32bit system, and = 8 on 64bit system 3. ti_Data in TagList is large enough to hold a IPTR/APTR type. 4. never store a pointer in integer of type LONG. It may work (if the pointer has upper 32bits clear), but does not have to. Compiler should warn you about that. 5. If you are unsure about point 4, allocate your memory with MEMF_31BIT flag set. But don't expect that AROS internals will do the same. </pre> point 4 is actually important. * UBYTE/BYTE for 8bit * UWORD/WORD for 16bit * ULONG/LONG for 32bit * UQUAD/QUAD for 64bit <pre> UBYTE Unsigned 8 bit integer variable (byte). BYTE Signed 8 bit integer variable (byte). UWORD Unsigned 16 bit integer variable (word). WORD Signed 16 bit integer variable (word). ULONG Unsigned 32 bit integer variable (longword). LONG Signed 32 bit integer variable (longword). FLOAT 32 bit IEEE floating point variable. UQUAD Unsigned 64 bit integer variable. QUAD Signed 64 bit integer variable. DOUBLE 64bit IEEE floating point variable. BOOL Boolean variable, TRUE and FALSE are also defined in exec/types.h. VOID Void. APTR A generic pointer for multiple purposes - Arrays. STRPTR A pointer to a null-terminated string. IPTR Really important in AROS, the only way to declare a field that can contain both: an integer or a pointer. </pre> if you want to write really portable app, you may be interested in standard datatypes defined in C99: int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, intptr_t, uintptr_t. They are all defined in inttypes.h include file. In exec/types.h the following short-cuts are typedef'd. They are used often in AROS, so you should nearly always include exec/types.h and soon only they will be removed from sys/_types.h include, all types are now defined in include files named aros/types/xxx.h. (Preparation for C library split; sys/xxx.h include will only be available there when compiling with POSIX C library) Compiler specific types, like int and long might change their size. In case of AROS, similar to linux, int remains 32 bit whereas long grows to 64 bits in size. If you use Amiga-like data types, i.e. BYTE/UBYTE, WORD/UWORD, LONG/ULONG and QUAD/UQUAD or the C99 standard types (uint8_t and so on, see stdint.h include) then you should have less issues to solve than by using types without size guarantee. Of course, all pointers grow to 64 bytes using 64bit cpu. Most of the code can be just recompiled and will work. In rare cases, where e.g. pointers are casted to integers, a special care must be taken. Especially in the cases, where pointer is casted to LONG/ULONG (this code will break on 64 bit AROS) e.g. '#define IPTR ULONG'. With compiler delint patches which the majority of them are simple casting issues to make the compiler happy. Notice some of the changes involve introducing double casts. In very recent versions of GCC. Yes, the bulk of the double casts are for converting 32 bit addresses (ie from a 32 bit PCI DMA address register) to a 64 bit pointer. First cast is to IPTR (to expand to 64 bits, and prevent sign extension if the address is above 0x7FFFFFFF), and then to APTR. ULONG != IPTR except on 32bit .. so if you need to store pointers make sure and use IPTR and not ULONG (which some old code does). For this reason things like Taglist elements are 64bit (since the tag data can be a pointer). If your passing items on the stack you should use the STACKED attribute to make sure they are correctly aligned (on 64bit all items on the stack are 64bit..) There is more issues like using "== 0L" causes problems. ===Endian=== *BE *LE Use the macros from <endian.h> instead making a guess based upon architecture defines <pre> #if _BYTE_ORDER == _BIG_ENDIAN #elif _BYTE_ORDER == _LITTLE_ENDIAN #else + #error <whatever.h> - Byte order for this architecture is unsupported! </pre> ===SVN and GIT=== If you want to help develop AROS OS itself, you can * view current GIT/SVN entries [http://aros.sourceforge.net/ Aros Org website] or [https://github.com/aros-development-team/AROS Github], [https://github.com/ezrec older ezrec mirror], [https://github.com/michalsc/AROS/ older mirror], [https://trac.aros.org/trac/timeline TRAC], [], * awaiting update [http://repo.or.cz/w/AROS.git git repo], [http://www.ohloh.net/p/aros/commits ohloh] or [https://svn.aros.org/svn/aros/trunk/ svn repo] and access [Git version git://repo.or.cz/AROS.git here], * deprecated [https://www.gitorious.org/aros/aros/commit/a7fda9e ARIX commits] or [https://gitorious.org/aros/aros GIT old] If you have SVN access (early 2015 introduced a new SVN server, create a new account at trac aros org) and/or have obtained the source [http://aros.sourceforge.net/download.php AROS site] - you can compile the current build tools/environment using: > make development and follow this [http://aros.sourceforge.net/documentation/developers/compiling.php#building procedure] or [https://github.com/apiraino/aros_guide Guide] https://trac.aros.org/trac#Developing If you plan on contributing back changes, please post information about such changes first on this [http://mail.aros.org/mailman/listinfo/aros-dev/ mailing list] for more experience developers can validate whether they are correct. Then there are the nightly build machines. They svn update before the build and run configure as one of the next steps. autoconf might be added to the nightly build scripts. Our build relies on packages downloaded from Internet (SDL for example) - it always worked this way. The minimal requirement (when just building core AROS) is binutils and gcc. If you build contrib as well, you need many more packages to be downloaded. https://gitorious.org/aros/aros/commits/crosstools-II git://gitorious.org/aros/aros.git Branch crosstools-II there is only one commit on top of ABI_V1 <pre> ../../aros-src/AROS/configure --enable-ccache --with-portssources=~/aros/Sources --target=pc-x86_64 --with-aros-toolchain-install=/home/weissms/media/data/aros/test/crosstools/pc-x86_64 </pre> and <pre> ../../aros-src/AROS/configure --enable-ccache --with-portssources=~/aros/Sources --target=pc-i386 --with-aros-toolchain-install=/home/weissms/media/data/aros/test/crosstools/pc-i386 </pre> build OK. :''More information: [[Aros/Developer/Maintainer|AROS Maintainer Docs]]'' ===SDI Calls=== Integrate the 'SDI'-headers to allow easier porting to all amiga-like platforms. <pre> PUTCHARPROTO( PutTheChar, char c, struct SPrintfStream *s ) { // REAL CODE } </pre> have "SDI_compiler.h" and "SDI_hook.h" included its more organized like #include SDI/SDI_hook.h than #include SDI_hook.h option 1 --- i also use when back porting from amiga's.. <pre> #ifdef __AROS__ #include SDI/SDI_hook.h #else #include SDI_hook.h #endif </pre> also you can add the -i include/sdi/ location if you do not want to add or edit any files. Defining HOOKPROTO to IPTR name(struct IClass * cl, Object * obj, Msg msg); solved the problem A MUI application most likely needs only the HOOKPROTOxxx SDI macros. They are compatible with AROS, only the attributes (hook, object attribute) must be given in the right order. examine compiler/include/aros/symbolsets.h (AROS_LIBREQ) compiling mui stuff for aros setting -std=gnu99 is necessary (i have had -std=c99 most of the time). ===Locale with Flexcat=== Most languages have a locale, but not every app is localized, the only thing needed is to translate the "catalog" files. It is a case of locating the correct catalog and saving the translated version. For every app that lacks of your language catalog and is localized anyway, you should find (in the sources) files related to locale: * file.cd = catalog descriptor, contains base msg, with internal language (usually english) * language.ct = catalog translation, contains every translated msg, indexed as in the file.cd. Compare with other localized apps... Then, "make my_app-catalogs" should create and install your translated catalogs. ex : for, saying, sys:prefs/wanderer: on root of AROS sources, type: "make workbench-prefs-wanderer-catalogs" then (if you changed the .cd file): "make workbench-prefs-wanderer" For apps not localized, you have to adapt their code to support it, if it is possible... noticed the original .cd file has many (//) strings at the end of any voice, so added them also to the .ct file. That (//) is only for cd files. I'm highly recommending to use FlexCat for updating ct files, e.g. like this: flexcat app.cd deutsch.ct newctfile deutsch.ct You'll get error checking and new entries are marked in the resulting ct file. When editing .ct files, only change those lines containing translation and perhaps version string, nothing else. The rest is up to the relevant tool, flexcat. In order to update your translation, type in the following in your shell: flexcat xyz.cd xyz.ct NEWCTFILE xyz_upd.ct COPYMSGNEW This way you will not only make sure you have correct translation file but flexcat also pre-fills newly added strings with "*** NEW *** text. Even better tool for checking cd/ct/catalog files is catcheck, but this one is sadly only available for AmigaOS/68k... Some languages have variations, like portugues from portugal and portugues from brasil differs... This is the way to go. I will have a look at language files, but basically if those two languages differ you have to do two separated set of translation files, yes. (you could create a brazilian slang language localization too) * At system level localization for one language is a dot language file. (ex: locale:languages/klingon.language) * At app level localization is a dot catalog file (ex: locale:catalogs/klingon/system/libs/dos.catalog) * At sources level, the dot ct file, and "$language" dot cd files and some building framework. (ex: catalogs/my_app.ct catalogs/klingon.cd catalogs/mmakefile.src support.c support.h) Please, use Flexcat to generate CT files: FlexCat wanderer.cd NEWCTFILE=deutsch.ct Then fill the first 2 lines with something useful: <pre> ## version $VER: wanderer.catalog 1.1 (9.2.2006) ## language deutsch </pre> You can even update the CT-File: (This adds the new strings) FlexCat wanderer.cd deutsch.ct NEWCTFILE=deutsch.ct To compile a catalog you only need the .cd file and your translation (.ct file): FlexCat multiview.cd deutsch.ct CATALOG=MultiView.catalog [http://murks-ide.svn.sourceforge.net/viewvc/murks-ide/trunk/src/Catalogs/flexcat_linux?revision=100 Linux version of FlexCat] : [http://aros.sourceforge.net/documentation/developers/app-dev/localization.php#localization-for-non-developers More information] A script which compares the required version (i.e. the version which an application/module etc. tries to open) with the version of the existing CT files. The result is in this table: https://github.com/aros-translation-team/translations/wiki/Progress The following cases are highlighted: n/a i.e. CT misses at all version in existing CT file is lower than the required version It might be a bit difficult to participate if you haven't worked with Git before but alternatively you can send your CT files to our Slack channel. When the ct file has been generated via flexcat (flexcat keyshow.cd NEWCTFILE=spanish.ct) it has the following header: --------------------------------------------------------------------------------------------------------------- ## version $VER: <name>.catalog <ver>.<rev> (04.01.2021) ## language nolanguage ## codeset 0 ; --------------------------------------------------------------------------------------------------------------- Those values <ver>.<rev> are the version and revision of the CT file for the languaje or are the values of the application being localized? The <ver> part must match with version which the application tries to open. You can find the value either in the column "Required Version" in the table which I've linked above, our you can look in the git repository. For keyshow it would be https://github.com/aros-translation-team/keyshow. You can find in the file "catalog_version.h" the right version number. The <rev> part starts for new CT files with 0 and should be increased every time the CT file is updated. Updated several files and created a few more that were missing on the spanish catalog. The catalogs are in Git repositories at https://github.com/aros-translation-team a) You tell me your Github user name. I'll invite you. You can work directly with the Git repositories. b) You create Github forks of the catalog repositories and create pull requests. c) You send the CT files to mrustler gmx de ===C Utils Misc=== The AROS source uses at several places the __DATE__ macro to fill the date entry of a $VER tag. Problem is that c:version doesn't understand that date format (e.g. "May 21, 2011"). As a result the output of e.g. > "version c:shell full" contains "(null)". Is extending the version command to understand the format of __DATE__ the right solution for that problem? AmigaOs compilers should use __AMIGADATE__ macro or similar form, if it isn't implemented it could be emulated in makefile: -D__AMIGADATE__=\"$(shell date "+%d.%m.%Y")\" BTW. I think DD.MM.YYYY is better format than "Month DD YYY" because "Month DD YYY" is not localized in any way. "strnicmp" shouldn't work with NULL pointers The Situation: compiled a linklib using c++ object files (using the c++ cross compiler). compiled a C stub that uses the linklib (using the c++ cross compiler). Try to link them together (using the c++ cross compiler) with C object files (using the normal target c compiler) that need to use -nostartup = cant do because using the c++ files pulls in arosc (for stdio etc.) - so wants to have the autoinit stuff present. What can I do about this?? If it is possible to manually open it then what do I need to do exactly? === ENV === The philosophy behind ENV: is that keeping configuration files there allows you to 'Use' preferences by keeping a copy in ENVARC: intact. However in some cases (like this one) it is not required. 99% of the time that statement is true (not required) for pretty much every file in ENV: or do people change their default icons - and prefs settings - every boot? There seem to be a bad habit of late with developers changing things to reflect their own personal preference when the change isn't actually necessary - It would be nice if people could refrain from doing that in the tree without at least discussing it on the dev-list first (and with good reasoning unless they committed said work in the first place..) We're not keen on the pollution of the "S:" dir: it's meant to be for scripts. What's wrong with "ENV:"? Only the fact that it takes up RAM. I understand that for PCs with several gigabytes of RAM this is irrelevant. But let's remember about other machines. The philosophy behind ENV: is that keeping configuration files there allows you to 'Use' preferences by keeping a copy in ENVARC: intact. However in some cases (like this one) it is not required. How about implementing in the style of HappyENV then? RAM-disk handler that falls through to reading from ENVARC: if there is no such file stored in it already. Removes RAM usage for unchanged files, removes the need to copy ENVARC to ENV in startup-sequence. Shouldn't be too hard to make from AmberRAM, or even just extend AmberRAM to provide this service. Is it feasable to build a special version of AmberRAM handling ENV: that will try and copy the requested file from ENVARC: if it isnt found in ENV: ? Additionaly it could mark closed "files" as untouched - and expunge them from ENV: after a period of time to free up additional RAM:, or when the system is running low on free memory? Silenty disappearing files may not be a good plan. Would be nice if the following would work: ASSIGN :ENV SYS:Prefs/Env-Arc ADD ASSIGN :ENV RAM:ENV ADD Where new files put in ENV: end up in RAM:ENV, and opening files looks in RAM:ENV first, then SYS:Prefs/Env-Arc Well - that's essentially what im proposing but without the assigns - or need for a RAM:ENV directory. Adding it as a feature of AmberRAM sounds like the most memory efficient way (one handler to load in RAM) but that's only if it is possible to make it handle ENV: additionally to RAM:, and if it is even possible to add the proposed functionality (...and how to make it enable it when accessing ENV:). ===(AS)MP support=== If one has to recompile software for SMP multi core, is there any thing special one has to do to get software to run? Use task.resource if you need to query information about what tasks are running, and clear msgports completely when they are allocated. Most code should not need Forbid. Use Semaphores, Messages etc. to sync your own code. Accessing system structures is a different thing. Use the proper API whenever possible. How single structures will be protected in the future is still a moving target, at least it is not documented. And you should never use undocumented stuff Ideas on for SMP multi-core Another suggestion is ... Forbid/Permit function calls are meant to halt multitasking so as no other task could intervene with what ever the calling task is doing, e.g. setting semaphores. Disable/Enable calls are meant to halt interrupts and as a side effect they also halt task switching. One option is to make it compulsory to protect shared resources with semaphores and forbid the use of simple Forbid() calls as to protect something. Setting semaphore should be done if possible with atomic instructions (check and alter in one instruction). Or make the second concurrent ObtainSemaphore call halt the second calling task and force if possible a task switch which ever gives better results. Semaphores could store the owning tasks task pointer instead of boolean to make things easier. As long as the CPU initiates the DMA transfers through the OS, and the OS ensures that the transferred memory is within the region accessible to the user initiating the transfer, everything is fine. The CPU is the conductor, and the CPU by that has the control of which DMA transfer is initiated and which is not. All you need to do is to write device drivers reasonable. Hint: CachePreDMA and CachePostDMA exist. All the Os has to do is to verify that the memory regions to be transferred are valid, and prohibit direct access to the DMA control registers from user space. None of these algorithms imply huge costs. The current OS design doesn't really allow virtual memory in first place, Forbid() is again the problem. [http://www.tbs-software.com/guide/index.php?guide=autodocs.doc%2Fmemory.doc&node=1 memory.library API] seem to low level. IMHO the programs should not know how the swapping is implemented. I would just go for one new memory flag MEMF_SWAPPABLE that indicates that a certain memory region or a whole memory pool won't be accessed during Forbid()/Permit() etc. It only solves part of the problem, it only implements virtual memory and not memory protection. For the latter you need to be able make certain memory inaccessible by other programs, some memory read-only for one task and read-write for other tasks, etc. And I think this should be done in the same Address Space in order to avoid you constantly need to swap between different address spaces. So to summarize, if there are programs using this API we may provide a wrapper layer to get them working but I am not convinced this API should be the reference API with whom to provide VM to AROS programs. === Variadic === variadic functions (i.e. functions with an arbitrary amount of arguments). <pre> #include <stdarg.h> [...] char * STDARGS GetKeyWord(int value, char *def, ...) { [...] va_list va; [...] va_start(va, def); [...] va_end (args); </pre> Please keep with using stdarg rather than having va casted to a LONG * type and varargs handled manually. Doing so, prevents tons of casting, where a simple va_arg can be used. So, string = *((char **) args) instead of string=va_arg(va, char *). <pre> #include <stdio.h> #include <stdarg.h> int printf (const char * format, ...) { int retval; va_list args; va_start (args, format); retval = vfprintf (stdout, format, args); va_end (args); fflush (stdout); return retval; } /* printf */ </pre> Couldn't find varargs.h or stdarg.h. and have no use for AROS_SLOWSTACKHOOKS or AROS_SLOWSTACKTAGS. GCC looks for stdarg.h in a different place: /bin/linux-i386/tools/lib/gcc/i386-aros/4.2.2/include/stdarg.h Here is a path for a "normal" header: bin/linux-i386/tools/lib/gcc/i386-aros/4.2.2/../../../../i386-aros/sys-include/aros/system.h The use of vararg.h isn't supported by newer gcc versions. If you want your code to run on architectures that pass part of variadic arguments in a number of registers you need to use AROS_SLOWSTACK macros. Otherwise your program will not work on powerpc and x86_64 ports. Of course the SLOWSTACK stuff is not needed in a function that can use va_list, va_start, va_arg and va_end. It's only needed if you want to write functions like DoMethod or similar. #include <stdarg.h> should be enough no matter if you do cross or native compiling. If it does not work, something is wrong and should be corrected. Stdarg.h is here, Development:lib/gcc/i386-aros/4.2.2/include/ ...which is part of the compiler's default include paths. In other words, #include <stdarg.h> works out of the box, indeed. (sorry, I should have just tried it before invoking "search" or "find"...) furthermore, myprintf() as shown above won't work, because... printf(format, args); ...is wrong - the second argument does not match printf() prototype, it expects a argument list, but args is of type va_list (obviously) - so one has to use... vfprintf(stdout, format, args); ...instead, just like in the original printf(), and add fflush(stdout). additionally, one could use... int myarg = va_arg(args, int); ...between va_start() and va_end() to access individual arguments, where each call to va_arg() returns an argument casted to the desired type (here: "int") from the list given (here: "args") and advances to the next one. wrapping up vfprintf() and modifying the format string now is a major speedup! no more backslash-n typing! this has been haunting me for years! On MOS and AmigaOS, the NewObject variadic function is kept in the static library. It takes most of the parameters on the stack - thanks to that the implementation of NewObject calls the NewObjectA function. Everything works perfect, and the typical MUI macros may be easily used. This, however, is not the case when you compile for AROS. Here, NewObject is a variadic macro, not a function. Thanks such approach we do not need any custom compiler in case of systems, where the arguments of variadic functions are passed partially through registers and partially through the stack (This is the case of PPC and x86_64, this is also the reason why both OS4 and MOS require specially patched compilers). Since NewObject is a macro, the gcc's preprocessor expects the list of macros arguments enclosed within parentheses. In MUI macros it is not the case. Imagine the following test code: <pre> #define foo(a,b) ((a)+(b)) int loosy_function(int a, int b) { return foo(a,b); } </pre> This will compile and work, but the following piece of code: <pre> #define foo(a,b) ((a)+(b)) #define END ) int loosy_function(int a, int b) { return foo(a,b END; } </pre> will fail with the error: unterminated argument list invoking macro "foo" There are two ways of fixing your issue. Either create your new objects outside this huge MUI constructions, and in there use just a pointer, or get rid of the "End" macro and exchange it with "TAG_DONE)". Badly written software is, for example, casting va_list to an APTR or even doing so as if va_list were a plain table of function arguments. Such code needs to be fixed because it has very few chances to work anywhere but on author's machine ;) The problem is nOt that they assume sizeof(APTR) == 4, its that they often do not use APTR, and use ULONG to store pointers exclusively. If the code used APTR/IPTR as it should - most of the "problems" wouldn't exist. It would also help if people would start using variadic arguments properly. Many coders do assumptions which shall never be made. Instead, they should consider using stdarg.h file and all the va_* functions :) ===ABI=== In the head of our SVN repository there are now only 3 directories: <pre> admin/ branches/ trunk/ </pre> We have added two extra dirs there: tags and imports As discussed when we branch ABI V0 and [[Aros/Developer/ABIv1|ABI V1]] it would also be good to introduce tags. Normally this is done in a directory in the repository called tags. Currently we don't have this directory there. (We do have branches/tags that is a hack I have done because one doesn't have write access in the top directory. I think this directory is not clean and should be removed). The second directory I would introduce is an imports directory for implementing vendor branches as discussed in the svn [http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html book]. Currently we use code from several different projects and that code is stored inside the AROS tree; we seem to have problems with keeping this code up to date and merge our changes upstream. Maintainers of up stream projects like the MUI classes etc. have complained about this (to put it lightly). Introducing these vendor branches would make it easier to see what changes we have made and make patches to be sent upstream and make it easier to import newer upstream versions of their code. Although can't "copy" the vendor branch into the main branch because it's already there, so start with a "merge". Yes, the first step to make the code already in the repository compatible with the vendor branches will be the most difficult. The best way to do it the following way: * first import the version on which the current AROS code is based into the vendor branch * then import the new version over it in the vendor branch * finally merge the difference between these two version in the AROS code present in the repository. For example, place NList directly under vendor and not in a subdirectory like "contrib/zune/classes". Actually after we have a stable [http://aros.sourceforge.net/documentation/developers/specifications/drafts/abiv1.php ABIv1 (2012 or later)]. We need to move away as much as possible from the contrib directory to some other repositories. The reasons are ... * The AROS repository should be for the core AROS code. * other contrib projects should be tried to be compiled for all Amiga-like OSes. * The release scheme for AROS and the other programs should not have to be aligned. * Binary versions should be provided on aros-archives and on aminet and/or OS4Depot to install them. (Some clever programs should maybe be provided to make the life of distribution developers easier). * avoid parallel forks of programs for AROS and the other amiga OSes. If there is really a need for a place for hosting AROS projects we may investigate setting up such a server but then including bug tracking, governance, maillist, etc. for each project separately. I personally think there are already enough places like sourceforge, google code, savannah, etc. where people can go for hosting such projects. ==Links== * http://amigadocs.hokstad.com * http://amigadocs.hokstad.com/doku.php?id=dev-links In the future...? *AROS 64bit - SMP, Vulkan with OpenGL compability layer *AROS 32bit - keep for historic reasons What would you like to see implemented in AROS? ABIv1 completed, SMP (x86_64), SendMsg()/GetMsg() to support memory protection between target and destination, in that order. Michal Schulz and Jason McMullan have been toying with the question "What are the minimal changes needed to the AmigaOS 3.1 API to support SMP"? The answer so far seems to be "few, but subtle". For example, SysBase->ThisTask is no longer meaningful on SMP, but FindTask(NULL) is. Disable() and Forbid() are shockingly bad on performance, but adding a spinlock semaphore mode to SignalSemaphore will help new code on SMP. Leveraging a 'common' OS with a lot of machine support (Linux, MacOS, Windows, QNX, etc.) is something that AROS has been doing for quite a long time, and it is the biggest strength of AROS. This AROS experience and programming model, in the same way the Google's Android layers on top of Linux, or MacOS X layers on top of the Darwin/BSD kernel, as a first step * The graphics + layers subsystem could be implemented as a shim on top of a OpenGL ES implementation (ie on any modern Linux system, or the RaspberryPI's hardware, MacOS X, etc). - This also allows every window to be on its own 3D surface with backing store, allowing Wanderer (or a Commodity) rearrange/zoom/animate app windows without having to send a pile or refreshes to them * Use OpenAL as the sound backend * AROSTCP would be a thin layer over the native OS's TCP/IP stack * dos.library, poseidon.library, and input.device would be slim shims over the native APIs * If we move to loading all libraries' into the application's task space, instead of a single global instance of the library, this will allow SMP and MMU more easily. - Yes, it will require a lot of work in the libraries to make this transition - Yes, I do think it will be worth it in the end. * A 'fat binary' install format (or, maybe LLVM bytecode) that can be 'flattend' to the target architecture on installation. So, what would this 'AROS of the future' look like? * AmigaOS 3.x style API, with certain 'fundamental changes' to message passing * Uses the underlying OS' device drivers, so more AROS developer effort can go to user-visible features and bugfixes * Allows AROS applications to run side-by-side with the OS's native apps And why would anyone want to program on such a system? * AROS applications would run on any system that has the AROS Framework installed * AROS applications are pixel-for-pixel the same on all platforms. * Develop with the knowledge that you are guaranteed OpenGL and OpenAL, and the rest of the AROS Framework an option for mmake to dump its dependency of metatarget in a graphviz[*] input file. This should make it possible to visualize the dependencies and hopefully be inspiration for cleaning up some mess, circular or unneeded dependencies and so on. AmigaOS gcc 9 [https://franke.ms/amiga/gcc.wiki Old versions] able to create binaries for AmigaOS and [https://eab.abime.net/showthread.php?t=93813 Upgrading gcc versions] === AI === Please see discussion of the [https://arosworld.org/infusions/forum/viewthread.php?thread_id=1933&rowstart=0 Aros world thread] [https://opencode.ai/ opencode], [https://openrouter.ai/models?categories=programming new opencode models], [https://axrt.org/media/aros-ui-ai.mp4 AI ui], *DeepSeek V4 Flash - very good model, use it daily but a small monthly fee payable *Ring 2.6 - good model but pricing small Multimodal Context Prompt <--- Model <---> Agent ---> End user engine Gemini LMStudio Qwen Comfyui etc Recent, self hosting local models on laptops, mini pcs, laptops or desktops with '''quantization''' (compressed) so reducing memory to run on 8Gb VRAM (very low size models) but for better performance more VRAM is needed for text based tasks. For smaller models, very specific prompting and chatting (iterations) for very smaller sections of your overall application as lots of supervision needed for the code produced Ability increases by the amount of ram like the Pi5 8Gb, Macbook 48Gb unified (quality) and the memory bandwidth (how fast) Roughly... *DDR4 Pi5 about 17GB/s *DDR5 about 40Gb/s *DDR6 about 90Gb/s about Jetson Orin Nano level *Strix Halo about 210Gb/s *DGX Spark about 220Gb/s * MacBook M3 base 100GB/s Pro 150GB/s Max 200Gb/s unified memory * MacBook M4 base 120Gb/s Pro 170Gb/s Max 250Gb/s * MacBook M5 base 140Gb/s * MacBook M6 base 160Gb/s Pro 180Gb/s Max * [https://www.youtube.com/watch?v=jMnMrivvAWo Mac Studio] Max 400Gb/s to Ultra 800Gb/s Total VRAM should be greater than Model size (in Gbytes), context length (you set Gbytes taken) and KV cache - everything a trade off <pre> Small Lesser Mid Greater Bigger 1-2B 3B 7B 20B 30B model size Q2 Q2 Q4 Q6 Q8 compressing 4GB 8GB 16GB 32GB 64GB VRAM needed </pre> *[https://lmstudio.ai/download LMstudio single gpu], 128Gb *[ gpt-oss-120b] 70Gb model 64Gb *[HauHau 3.6 35B] *[ muse-glimmer] 32Gb Alibaba Cloud's [ Qwen] team series of large language models LLMs *[ Qwen-3.8-27B] *[ Qwen-3.6-27B] 16Gb *[ Qwen 3.8 27B GSQ ACO GGUF] 8Gb *[ glm-ocr] *[ medGemma] *[ qwen 3.5-4b] *[https://github.com/sipeed/picoclaw picoclaw claude] *[ DeepSeek R1] *[ Qwen 3.5 9B Q4] *[ Qwen 2.5 14b Coder] *[ gpt-oss-20b 4Q] Simple laptop *[ mini CPM5-2B] for simple user interfaces of single c file apps as long as robust explicit clear instruction given For the full experience #Training learning using 1+ high end GPUs at least 16GB VRAM per GPU card or 64Gb+ of unified, 16Core CPU with at least 64Gb of RAM system memory #Inference with custom asics or GPUs For ever bigger LLMs needs one of the below but with settings adjusting *[https://ollama.com/download Ollama single gpu] *[https://github.com/ggml-org/llama.cpp/releases llama.CPP multi gpus], *[ VLM multiple gpus], *[ MiniMax H3] for audio and video but gpu 8Gb+ *[https://github.com/ideogram-oss/ideogram4 ideogram4] *[https://github.com/calesthio/OpenMontage OpenMontage] *[https://github.com/jamiepine/voicebox voicebox] *[ Chatterbox] with neural watermark *[ Index-TTS] *[ Qwen3-TTS] *[ Omnivoice] *[ faster-qwen3] *[ dots.tts] Multimedia *[ Kimi K3], Refactor *[ Devstral-small-2 256K context] FIM - Fill in the middle Mistral Codestral-2 for 64Gb+ unified <pre> Text to Audio --\ Text to Video --/ Reference Video --> Video and Audio output </pre> Agent = Model + Harness Agentic Harnesses like [ Claude Code] [ Cursor] [ ] could help models. [https://github.com/deepseek-ai/deepseek-harness Deepseek] etc allows many models to reside inside but also everything is a plugin, including the model adapter, the tool registry, the session log, and the agent loop itself, so each is replaceable from configuration MoE mixture of experts model ==References== {{reflist}} {{status|50%}} {{BookCat}} o9ko3phezcpth9nnpfrhqprw0xmed7m 4670162 4670159 2026-09-15T09:20:36Z Jeff1138 301139 4670162 wikitext text/x-wiki {{ArosNav}} ==A technical overview of AROS== Google translation [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Chinese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Russian], [http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Portuguese] {{Uncited}} AROS,<ref>[http://aros.sourceforge.net/download.php References and sources]</ref> like AmigaOS (TM), is a [[w:Message passing|message-passing]], [[w:Preemption (computing)|preemptive]] [[w:Multitasking|multitasking]] [[w:Operating system|OS]]. It uses [[w:Reentrant (subroutine)|re-entrant]] shared libraries to save memory space. AROS is based around an executive library kernel (Exec) and two other libraries: * Exec (the "kernel", which is not a kernel in the modern sense), * Intuition (graphics and GUI, integrated into the system) and * AmigaDOS (Disk Operating System, the Metacomco's Tripos modified to work with Exec). The design philosophies of AmigaDOS and Intuition are rather different, the former adopting a C-like API and the latter creating an [http://www.basden.demon.co.uk/amiga/amiga.oo.html object-oriented], message passing aware environment for the programmer. The system base is the only absolute address in AmigaOS (located at 0x00000004) this does differ with AROS as AROS SysBase is automatically provided (no $4) but everything else is dynamically loaded. The OS is well known for delivering high performance due to its close connections with the hardware, while simultaneously having the flexibility to support re-targetable graphics (Cybergraphics) and retargetable audio subsystems (AHI). : Diagram showing relationships of libraries to system needed Remember, AROS is a [http://en.wikibooks.org/wiki/Aros/Developer/ABIv1 research] operating system, and while all contributions to the base AROS code are welcome, please contact the dev list first for any core changes. Writing applications for AROS does not have this requirement. While AROS appears and feels almost feature complete, it is still [[Aros/Developer/IncompleteAPIs|missing a small number of functions]] from the Amiga API. [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1201 This thread provides] information for setup, [http://www.aros.org/documentation/developers/index.php documentation] and whether you are interested in core OS changes and/or writing/porting software apps *you compile directly under AROS, which can be running on either real hardware, virtual hardware *in hosted mode under linux/window, cross-compile from that host OS (save your files as ISO-8859-15 encoding instead of UTF-8) [https://github.com/BlitterStudio/aros-compiler-docker Docker images] '''The repository''' for 64bit and 32bit ABIv1 all hardware platforms is [https://github.com/aros-development-team/AROS current development version]. There are many forks of this so that developers can work on their own and forward changes at a later date as discussed on the dev forum 64bit PC is one of two hardware platform with another fork called [https://github.com/deadwood2/AROS abiv11] which is used for Aros One x64 PC 32bit PC is the other fork [https://github.com/deadw00d/AROS/tree/alt-abiv0 repository for current stable PC version ABIv0 with backported ABIv1 features is located which is used on AROS One and Icaros x86 32bit based distros] this is for historic reasons Any [https://github.com/aros-development-team/AROS/issues bugs / issues can be added for ABIv1 issues]. The two individual PC forks have their own issues tab on their github webpages We have a [https://arosdevteam.slack.com/archives/CUFV48U3H slack here], discord on [https://discord.gg/UKp9qdEBuQ Discord@AmigaDev], ==Software Development for AROS== ===Programming languages=== ====Common to all==== 'The Developer Environment', which primarily supports C/C++ code, there are other scripting programming languages available :[[Aros/User/DOS|DOS]] :[[Aros/Developer/Docs/LUA|LUA]] :REXX [[Aros/Developer/Docs/Rexx|Regina (AROS' ARexx)]] ====Needs to be compiled/ported==== ::[[Aros/Developer/Docs/LLVM|LLVM]] ::Python [ Info], [], ::[https://ae.arosworld.org/index.php?board=11.0 FreePascal FPC Aros-Exec thread], [https://archives.arosworld.org/index.php?function=browse&cat=development/language fpc arm here is very old and will not work], FreePascal for AROS has its own [http://fpcaroswiki.alb42.de/ Wikibook], ::[http://sourceforge.net/projects/xamos/ X-Amos Basic] ::[http://sdlbasic.sourceforge.net/ SDLBasic] ([https://archives.arosworld.org/index.php?function=browse&cat=development/language ]) ::[[Aros/Developer/Basic/Basic4SDL|Basic4SDL]] ([https://archives.arosworld.org/index.php?function=browse&cat=development/language ]) ::[http://alvyn.sourceforge.net/ Alvyn] ([http://www.dusabledanslherbe.eu/AROSPage/MISC.14.html download]) ::[http://www.airsoftsoftwair.com/ Hollywood when enough users warrant a port - paid one time fee language] ::[[Aros/Developer/Docs/E|AmigaE Portable E]] ====Hardware Restricted==== '''Basic''' :[http://amos.pspuae.com/AmosProManual/contents/c1.html '''Amos Pro'''] [http://amos.pspuae.com/index.php?action=forum#1 compatible] [http://www.amigacoding.com/index.php/Main_Page commands] (all incomplete) :'''Blitz Basic''' [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=46537#forumpost46537 none on AROS] :: [http://www.amiforce.de/main.php Amiblitz] on amiga(TM) emulator :'''Amiga Basic''' :: [ ACEBasic] '''Misc''' :Ruby [http://www.ruby-lang.org/en Info]/[https://archives.arosworld.org/index.php?function=browse&cat=development/language Ruby 32bit PC], ===Where to get the C/C++ Environment=== If you want to develop for AROS, its generally easier to be running linux hosted AROS development environment especially for C++, cross compiling the code. That's how most developers now are doing it. g++ is used to compile owb web browser as well as some other AROS software. If you were hoping for a rich set of C++ libraries or classes defined for the OS feature set, you might be disappointed. AROS Native compiling is possible, but you're much more likely to run into the odd bug(s) in the dev environment since it gets little testing and fixing by other developers. Is there a sftp software or scp over ssh available? Maybe. At least the security part would be handled by [https://github.com/jens-maus/amissl amissl] [https://archives.arosworld.org/index.php?function=browse&cat=network/misc port]. [https://github.com/BlitterStudio/dopus5 DOpus5] has recently added sftp support. See here for a [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1974&highlight=ssh&pid=12073#post_12073 ssh scp client] [https://arosdevteam.slack.com/join/shared_invite/enQtOTc4Mzg0NDIzNzQ0LWQ2NWZmNmMwNGIwNGEyNTgxNzU3MGFjMTk3ZThmOTQ1MTVjMzhmNTllYWQ0ZTUxMjBjMGE0Y2VjMDJmNTc5MzI#/shared-invite/email Slack Dev Forum] ====Cross compilers from Windows or Linux==== *Windows WSL2 walkthrough can be [https://arosnews.github.io/how-to-cross-compile-aros-hosted-wsl/ found here] you want to build AROS. No problem. Here are instructions for PC 64-bit: https://github.com/deadw00d/AROS/blob/master/INSTALL.md Here are instructions for PC 32-bit: https://github.com/deadw00d/AROS/blob/alt-abiv0/INSTALL.md And as always has been the case you can use the contrib archive to 'obtain' the development directory which contains the /native/ AROS gcc compiler and tools. That compiler is used to build AROS itself but can be used outside the AROS build process by providing --sysroot with indicated directory to cross compile for AROS. '''64 bit''' '''32 bit''' A good option for multiple OS is [https://axrt.org/index.php?tab=download-aros AxRuntime lets developers compile their Amiga API-based applications as Linux binaries being able to utilize modern development tools available on Linux, like IDEs, debuggers, profilers, etc] Older 32bit guides for Linux hosted compiler Please install these packages before moving to next step. Below is a reference list for Debian-based distributions. Reference build system was Ubuntu 18.04/20.04 amd64. subversion git-core gcc g++ make gawk bison flex bzip2 netpbm autoconf automake libx11-dev libxext-dev libc6-dev liblzo2-dev libxxf86vm-dev libpng-dev gcc-multilib libsdl1.2-dev byacc python-mako libxcursor-dev cmake zsh mingw64 Do all of these operations under home directory of your user or another directory where your user has write permissions. Specifically, in a section "Linux-i386", be sure first to build the cross-compiler (toolchain-alt-abiv0-i386) and only then AROS itself (alt-abiv0-linux-i386). Clone & build <pre> $ mkdir myrepo $ cd myrepo $ git clone https://github.com/deadw00d/AROS.git AROS $ cd AROS $ git checkout alt-abiv0 $ cd .. $ cp ./AROS/scripts/rebuild.sh . $ ./rebuild.sh </pre> Now to the build selection below - Linux-i386 Select toolchain-alt-abiv0-i386 - Select alt-abiv0-linux-i386 (DEBUG) Start AROS by: <pre> $ cd alt-abiv0-linux-i386/bin/linux-i386/AROS $ ./Arch/linux/AROSBootstrap </pre> Pc-i386 Select toolchain-alt-abiv0-i386 (if not built yet) - Select alt-abiv0-pc-i386 ISO image available in alt-abiv0-pc-i386/distfiles Now that we have linux-hosted build, we can resume native (option 2). Run ./rebuild.sh and selection option 2. Wait until it finished, then: <pre> $ cd alt-abiv0-pc-i386 $ make </pre> Now <pre> $ make bootiso </pre> Now, your compiler is located in toolchain-alt-abiv0-i386 directory and named i386-aros-gcc. Includes are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/include and libraries are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development.lib. This is how then can be passed to the compiler: /home/xxx/toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot /home/xxx/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development -L/home/xxx/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib ../toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot bin/linux-i386/AROS/Development local/helloworld/helloworld.c -o local/helloworld/helloworld Another method was using Debian like distros and download the [https://archives.arosworld.org/index.php?function=browse&cat=development/cross gimmearos.sh script] to setup the developer environment by downloading necessary packages ... The gimmearos script is a good start in that direction, building the cross compilers and hosted AROS environment, but gimmearos.sh might be out of date or not be completely compatible with any given linux distro. In order to do that, you have to compile AROS yourself. Download AROS source archive not contrib. Compile AROS by entering the main directory ./configure make ([http://http://developers.aros.org/documentation/compiling.html More on compiling AROS]). The result will be a basic AROS system without development tools. To compile C++ on Linux, type 'make gnu-contrib-crosstools', creating the cross-compilers in ./bin/linux-i386/tools/, named i386-aros-gcc, etc. '''Note''': Currently, to make the cross compilers usable copy 'collect-aros' from tools/ to tools/i386-aros/bin/. At the moment the cross compilers if used from the Linux command line will only find it when it's there. If you want to compile native compilers (the Developer Environment), type 'make contrib-gnu-gcc', creating native compilers in AROS' System:Development/bin directory. When the output needs to be stripped <code>--strip-unneeded --remove-section .comment</code> The Obj-C backend should build out of the box. Open contrib/gnu/gcc/mmakefile.src and search for the line which contains "--enable-languages" and add "objc" to the list of languages that follows it. --enable-languages=c,c++,objc Better make it—enable-languages=c,c++,objc,obj-c++ ObjC++ is broken as soon as you try to use exceptions, but that might change in future GCC versions and it does not hurt having it there already. Do you need a cross-compiler or a real compiler? In the first case you can get away with just downloading the proper gcc archive, apply the patch and proceed with the normal gcc build. In the case of a real cross-compiler then when downloading the contrib sources, also need to download the normal sources, place the contrib sources into a directory called contrib, need to install autoconf+automake+perl+python, call ./configure, cd into the subdirectory and type make. to rebuild GCC with host == build == target == i386-pc-aros. So just get the vanilla sources and apply the patches without bothering about the build system? [https://vmwaros.blogspot.com/2019/10/a-pre-configured-development-machine.html pre-configured VM environment vmware virtual machine to develop AROS and AROS software] ====Native compilers for AROS==== Namely gcc for C or g++ for C++ are supplied with the [[Aros/Developer/Docs#The Developer Environment|Developer Environment]], which is already '''setup''' and part of any current AROS distribution like AROS One or the nightlies * Current GCC 6.5 (32bit) though moving to 10.5 and 15.1 (64bit) * Older software components. GNU GCC 4.x GNU BinUtils, GNU Fileutils 4.x, GNU Textutils and others usually deprecated On single partition systems and the Boot ISO, the AROS Developer environment is installed under "SYS:Development/". Systems with multiple partitions - such as a Work: partition - tend to install it to there instead, however it can be installed manually to any location. Please remember, if moving, that you will need to correct the Development packages 'install location' env variable to point to the new locations root - look in SYS:S/startup-sequence. <pre> Assign Development: SYS:Development Assign C: Development:bin ADD </pre> In the aros build instructions. you need to check out contrib and/or ports into your AROS source directory, as subdirs. then, assuming you are building in an external build dir, as you should, you simply configure and "make contrib" for instance or whatever submodule you might want to build. ===Beginners Tutorials in C C++=== As AROS is [http://eab.abime.net/showthread.php?t=29856 C based] API compatible to AmigaOS 3.x, so most of the information on programming C on the Amiga applies to AROS as well. Please note that there is a lot of AmigaOS 1.3 (1985-1989) and [https://www.markround.com/amigaguide AmigaOS AOS 2.x (1990-1992)] information around but OS3.1 is recommended but limited in amount. Brief overview of what is required to write AROS Applications # Using [[Aros/Developer/Docs/Libraries/Intuition|Intuition]] for basic screens/windows # Using graphics within windows via 8bit [[Aros/Developer/Docs/Libraries/Graphics|graphics]] and so onto 15-16-24bit [[Aros/Developer/Docs/Libraries/CGFX|cybergraphx]] # Load and save work to [[Aros/Developer/Docs/Libraries/DOS|dos]] disk drives # Using the [[Aros/Developer/Zune|ZUNE GUI Environment]] Writing native games require this extra information # Using [[Aros/Developer/AHIDrivers|AHI audio hardware independent API]] # Using USB joystick/joypad with the Poseidon USB stack through [[Aros/Developer/Docs/Libraries/LowLevel|LowLevel]] library Additional features that could be added later # Adding additional [[Aros/Developer/Docs/Libraries/Locale|Locale]] language translations to your program # Adding a [[Aros/Developer/Docs/Rexx|AREXX/Regina]] port to your application # Executing Amiga(TM) [[Aros/User/DOS|DOS]] commands from your application # Using [[Aros/Developer/Docs/Libraries/Icon|icons]] (.info files) and icon tooltypes (stack, version, and program startup options) # Local couch or IP based SANA2 networking co-op multi player gaming support Most AmigaOS programming books are nowadays very much out of date as most are from the late 1980s and do not cover later amigaOS releases like 3.1 for example, Rob Peck's book "Programmer's Guide to the Amiga". The Amiga ROM Kernel manuals aka RKMs like Libraries (3rd edition), Devices (), the AmigaDOS manual (3rd edition) and the Style Guide may have their uses. There are some reference examples from AmigaMail and Devcon notes (available again on an Amiga developers CD 2.1). For Arexx then "The Amiga Programmer's Guide to ARexx" by Eric Giguere, which was published by Commodore is useful as well as an "Arexx Cookbook". * Beginners C Guide [http://www.iu.hio.no/~mark/CTutorial/CTutorial.html C Tutorial], * [http://www.pjhutchison.org/tutorial/amiga_c.html Amiga based but interesting] * [http://thecguru.com/ C for beginners], * [http://fresh2refresh.com/c/c-basic-program/ C programming basics] for students, * [https://www.edx.org/courses Free Online course] from American Universities * Reference Amiga [http://amigadev.elowar.com/ API reference]. * AROS based c source can be found [[Aros/Developer/Docs/Examples|here]] and lots of example code can be found inside [https://github.com/aros-development-team AROS sources] themselves and from the contrib section of the archives from [https://github.com/aros-development-team/contrib Aros site], and study the AROS applications source code, e.g. the test programs from the Tests drawer (folder/directory). Take a look at the code of some smaller AROS programs might be a better and more up to date When you upload your builds, please write the architecture (like i386-aros, x86_64-aros, aarch64-aros etc.) in the archive name and it is also advisable to write in the field "Requirements" the ABI (ABIv1 leave blank, for PC fork 64bit ABIv11 ends in v11, 32bit ends in , Arm Pi ends ) ===Compiling C/C++ Code=== Native, although we have a IDE Integrated Development Environment (Murks), it does lack a debugger. Whilst others use a combination of a text editor and shell to edit code. Most though use an AROS hosted on Linux to take advantage of the better GCC tools like GDB and various IDEs. Open shell - its a menu option at the top left of Wanderer (desktop). Or by using the right Win key and w (or F12 and w) within the directory with the source code. Type in sh to change the amiga shell into a unix shell. You can then type in ls (unix equivalent to amiga dir). Take a look [http://en.wikibooks.org/wiki/Linux_commands here] for more commands. For a single file program-name.c or program-name.cpp gcc -o program-name program-name.c or g++ -o program-name program-name.cpp or g++ -o test -Wall -g main.cc texturelib.cpp xmodelib.cc -lsdl -lgl To close the shell, click on the top left-hand corner to close (twice). Once to get back the aros shell and then again to close finally. Use [http://freshmeat.net/projects/cksfv/ cksfv] as a test. Some source code requires the addition of Amiga API libraries, like dos, which you can flag at the compile time as gcc -o julia.exe julia.c -ldos For DOS use -ldos as example and if you are compiling mui codes it will be -lmui or intuition -lintuition. Other missing symbols are due to linker libraries being necessary for linking in functions that aren't in the standard C libraries. For example some source code would need added -lz or -lm or -lpng or -larosc etc. use this in unix line command mode to search for 'search-item' in many .c files (*.cpp for c++, etc.) grep -l 'search-item' *.c If the program is not executable, try using parameter fno-common "Delete #?.o"? Or if you are using abcshell then "rm *.o" :''More information: [[Aros/Developer/Porting software]]'' === How to make Apps have AROS 64-bit specific support code === [http://www.aros.org/cs/documentation/developers/app-dev/portable.php Portable code] AROS64 already uses 64bit addressing, it just doesn't setup the MMU for more than 4GB physical memory currently. When porting software to AROS64 it is "mostly" a case of converting ULONG's that are used to store pointers, into IPTR's instead, etc. Another quirk, is making sure items on the stack are the correct size by using the STACKED attribute for them. * Use texteditor or some tool to replace all "ULONG" with "IPTR" and "LONG" with "SIPTR" in the sources. compiling mui stuff for aros setting -std=gnu99 is necessary, had -std=c99 usually A MUI application most likely needs only the HOOKPROTOxxx SDI macros. They are compatible with AROS, only the attributes (hook, object attribute) must be given in the right order. crash which suggest memory corruption. From my experience porting from 32-bit to 64-bit these kinds of errors can happen if a pointer is passed somewhere via ULONG variable. Then half of the pointer is cut. To generate this error, please run AROSBootstrap with -m 1024. This will allocate heap to 64-bit address space which will make these errors immediatelly visible. These types of crashes are hard to debug. Disabled as little code as possible to stop corruption from occurring and then try to read from the code where it can be broken Crashing in tslf_freevec is another symptom of memory corruption and these memory corruptions will manifest differently on different setups. ==Coding conventions== As the AROS core source is a shared developer experience, there are rules regarding structure and style. When it comes to your creating your own app and coding, the structure and style should be your own, i.e. you should enjoy what you do and do it so that you can understand what is going on. ===Layout=== <syntaxhighlight lang="c"> static void 1st_function() { program exit(0); } int main(void) { 1st_function(); 2nd_function(); 3rd_function(); return 0; } </syntaxhighlight> <syntaxhighlight lang="c"> struct Screen * openscreen(void); struct Window *openwindow(struct Screen *screen, const char *title, LONG x, LONG y, LONG w, LONG h); VOID 1st_function(); VOID 2nd_function(); int main(int argc, char **argv) { program return 0; } /* main */ VOID 1st_function() { } VOID 2nd_function() { } </syntaxhighlight> ===General style=== This code is used by many people and therefore you should keep some things in mind when you submit source code: * Keep things simple * Keep the source clean * Always know what you are doing, if not flag it and describe what needs to be done... * Explain clearly/simply what you are doing * Remember that you write code once but that it is read many times by many people ===Comments=== AROS uses some of the comments in the source to generate the documentation. Therefore it's necessary to keep a certain format so the tools can find their information. Other comments are ignored but they should explain what you thought when you wrote the code. If you really can't think of an explanation, then don't write the code a second time like this: <pre> /* This adds 1 to t */ t ++; </pre> What we think of is this: <pre> /* Go on with next element */ t ++; </pre> ===Formatting=== This is only '''IMPORTANT''' if you are going to work on the core AROS code or contrib but not applications which may reside outside like on AROS Archives or other websites. <syntaxhighlight lang="c"> { /* a */ struct RastPort * rp; int a; /* b */ rp = NULL; a = 1; /* c */ if (a == 1) printf ("Init worked\n"); /* d */ if ( !(rp = Get_a_pointer_to_the_RastPort ( some , long , arguments ) ) || a <= 0 ) { printf ("Something failed\n"); return FAIL; } /* e */ a = printf ("My RastPort is %p, a=%d\n" , rp , a ); return OK; } </syntaxhighlight> Looks ugly, eh ? :-) Ok, here are the rules: <pre> If several lines contain similar code, put similar things below each other (see a and b); Put spaces between operands and operators Put braces {}, brackets [] and parentheses () below each other (d) if there is much code between. Brackets and parentheses may be in one line if the code between is small (c) Indent by 4 Spaces. Two indent levels may be abbreviated by one tab. </pre> '''Before committing please normalize the indentation - if you have a mixture of tabs and spaced - please always use spaces, 1 tab = 4 spaces.''' The reasons for this are: # While some editors can use an arbitrary sizes for tabs, it's a bit complicated to tell another editor which tab size was used by the one used to write the code. # Most code in AROS was written this way and your code should look like the rest. # You can print this code on any printer without special tools to "fix" the tabs. # Most editors have smart tabs which do exactly this. If your editor doesn't, write a bug report. If you have a function with many arguments (d, e) you should put the parentheses in lines of their own and each argument in one line (d) or put the first argument behind the opening parentheses (e) and each following argument in a line of its own with the comma in front. The closing parentheses is in a line of its own and aligned with the beginning of the expression (i.e. the a and not the opening parentheses or the printf()). Use a single blank line to separate logical blocks. Large comments should have a blank line before and after them, small comments should be put before the code they explain with only one blank line before them. If you see any TABS in AROS core sources then the suggestion is to "detab the file and commit that separately" either before or afterwards from making functionality changes. Make two commits instead of one. This makes it easier for others to see the real changes instead of having to dig through multiple lines of irrelevant diffs. ===Eliminating Global Variables=== i.e. pass variables to functions (local scope) or classes making it easier to track and debug your code. Any time you find that you need a particular thing in 'a lot of different places', chances are that all those places are conceptually related, and so you can create a class, a namespace, a function, or some other higher-level organizational unit to represent that relationship. This makes the program easier to understand. Bad Designs * All variables are global. * There are no standalone functions, only sub-procedures which act on the global variables. * Every sub-procedure is at least 500 lines to several thousand * Every sub-procedure has more than one task to perform * Copy-paste is preferred to writing methods, AND subtle changes are made in the middle of the code Good Designs * structure program into functions (C or basic) - top-down procedural approach * put in class(es) (freepascal or C++) - the object is fixed and you use methods to access the object <pre>  class String_List  {  private:  list<string> m_List;  // member  public:  void read_strings() { /* read strings into m_List */ }  void print_strings() { /* write contents of m_List to stdout */ }  void sort_strings() { /* sort contents of m_List */ }  void sort_strings_reverse() { /* reverse-sort contents of m_List */ }  void unique_strings() { /* remove duplicate strings */ }  };  int main()  {  String_List myList;  // local  myList.read_strings();  myList.sort_strings();  myList.print_strings();  myList.sort_strings_reverse();  myList.print_strings();  myList.unique_strings();  myList.print_strings();  return 0;  } </pre> This way it is very easy to replace the list with new list for debugging purposes, or replacing the methods without replacing the list, when you want different results. You only have to replace the content of the local variables. So create the structure that matches your data (linked lists, trees, arrays, etc.) and what to do with them (sorting, searching, etc.) <pre> .h usually contain #define #include typedef enum struct extern screen and window definitions (data structures) .c should contains functions and algorithms </pre> One way to look at it is that menu headings act as the .c file and sub-menu headings as functions. When you start a project, you place a couple of declarations in the include file. As the project continues, you place more and more declarations in the include file, some of which refer to or contain previous declarations. Before you know it, you have a real mess on your hands. The majority of your source files have knowledge of the data structures and directly reference elements from the structures. Making changes in an environment where many data structures directly refer to other data structures becomes, at best, a headache. Consider what happens when you change a data structure. Use good variables names to help clarify code and only comment when you need to explain why a certain programming approach was made. You're Refactoring Legacy Code, you see a global, you want to get rid of it. How do you do this? Exactly what to do depends on how the global is used. The first step is to find all uses of the global throughout the code, and get a feel for what the significance of the variable is and how it relates to the rest of the program. Pay particular attention to the "lifetime" of the variable (when it gets initialized, when it is first used, when it is last used, how it gets cleaned up). Then, you will probably make the global a data member of a class (for OO languages), or you will write some get/set functions. Converting to the Singleton Pattern is common, but you may discover that it makes more sense for the data element to be a member of an existing singleton, or maybe even an instance variable. # Create a basic read method, either as a class or a global function. Replace all reads with the access method, but leave the variable defined as a global. # Review each of the writes to the method and extract action functions one at a time. Unless two operations are coded identically in the original code, extract each write access separately. # Change the variable scope from global to local. # Analyze similar action functions to determine if any can be merged, i.e., there are no functional differences in the results of the function, just differences in the implementation details. # Review the calls to the read method and see if a more complex functionality should be applied. Follow the approach for writes and unless implementations are identical, create separate access functions. # Analyze the access functions for duplication. As returning variables by "passing by value" are forgotten, so "passing by reference" is often used instead. The reference is a pointer to the variable so the value is remembered when returned. Alternatives * Hidden Globals * Singleton Pattern * Database or TupleSpace * Context Object * Dependency Injection * Stateful Procedures ==AROS/AmigaOS APIs and Docs== <pre> Library: - Private data structure - Many public access methods Device: - Private data structure - Two (BeginIO/AbortIO) access methods Resource: - Public data structure - *NO* access methods </pre> And, being Amiga OS-compatible, there are exceptions to all of these. ===System Libraries=== The [http://developers.aros.org/ AROS Guide To Libraries] can be used as a guide to individual commands and old Dev Docs are used in application programming. Amiga/Aros styles libraries are very different from windows and linux libs. Typical .so/dll libraries are foreign to most Amiga-like OS *[[Aros/Developer/Docs/Libraries/AROSC|arosc.library]] *[[Aros/Developer/Docs/Libraries/AmigaGuide|amigaguide.library]] *[[Aros/Developer/Docs/Libraries/ASL|asl.library]] *[[Aros/Developer/Docs/Libraries/Bullet|bullet.library]] *[[Aros/Developer/Docs/Libraries/BSDsocket|bsdsocket.library]] *[[Aros/Developer/Docs/Libraries/CAMD|camd.library]] *[[Aros/Developer/Docs/Libraries/Codesets|codesets.library]] *[[Aros/Developer/Docs/Libraries/CGFX|cybergraphics.library]] *[[Aros/Developer/Docs/Libraries/CGXVIDEO|cgxvideo.library]] *[[Aros/Developer/Docs/Libraries/Commodities|commodities.library]] *[[Aros/Developer/Docs/Libraries/DataTypes|datatypes.library]] *[[Aros/Developer/Docs/Libraries/DiskFont|diskfont.library]] *[[Aros/Developer/Docs/Libraries/DOS|dos.library]] *[[Aros/Developer/Docs/Libraries/Exec|exec.library]] *[[Aros/Developer/Docs/Libraries/Expansion|expansion.library]] *[[Aros/Developer/Docs/Libraries/FreeType2|freetype.library]] *[[Aros/Developer/Docs/Libraries/GadTools|gadtools.library]] *[[Aros/Developer/Docs/Libraries/Graphics|graphics.library]] *[[Aros/Developer/Docs/Libraries/Icon|icon.library]] *[[Aros/Developer/Docs/Libraries/Identify|identify.library]] *[[Aros/Developer/Docs/Libraries/IFFParse|iffparse.library]] *[[Aros/Developer/Docs/Libraries/Intuition|intuition.library]] *[[Aros/Developer/Docs/Libraries/Keymap|keymap.library]] *[[Aros/Developer/Docs/Libraries/Layers|layers.library]] *[[Aros/Developer/Docs/Libraries/Locale|locale.library]] *[[Aros/Developer/Docs/Libraries/LowLevel|lowlevel.library]] *[[Aros/Developer/Docs/Libraries/MathIEEESingBas|mathieeesingbas.library]] *[[Aros/Developer/Docs/Libraries/MathIEEEDoubBas|mathieeedoubbas.library]] *[[Aros/Developer/Docs/Libraries/MathIEEESingTrans|mathieeesingtrans.library]] *[[Aros/Developer/Docs/Libraries/MathIEEEDoubTrans|mathieeedoubtrans.library]] *[[Aros/Developer/Docs/Libraries/Mathtrans|mathtrans.library]] *[[Aros/Developer/Docs/Libraries/MUIMaster|muimaster.library]] *[[Aros/Developer/Docs/Libraries/Partition|partition.library]] *[[Aros/Developer/Docs/Libraries/PopUpMenu|popupmenu.library]] *[[Aros/Developer/Docs/Libraries/OOP|oop.library]] *[[Aros/Developer/Docs/Libraries/Regina|regina.library]] *[[Aros/Developer/Docs/Libraries/Reqtools|reqtools.library]] *[[Aros/Developer/Docs/Libraries/RexxSysLib|rexxsyslib.library]] *[[Aros/Developer/Docs/Libraries/ScreenNotify|screennotify.library]] *[[Aros/Developer/Docs/Libraries/TTEngine|ttengine.library]] *[[Aros/Developer/Docs/Libraries/Thread|thread.library]] *[[Aros/Developer/Docs/Libraries/Utility|utility.library]] *[[Aros/Developer/Docs/Libraries/Xadmaster|xadmaster.library]] *[[Aros/Developer/Docs/Libraries/Workbench|workbench.library]] *[https://github.com/aros-development-team/AROS/commit/c82e86b8480277998014cc327b56c7664023a52f ClassAct Reaction boopsi class] ===AROS Subsystems=== # [[Aros/Developer/Zune|Zune MUI compatible GUI]] # [[Aros/Developer/AROSAppPackages|AROS Application Packages]] # AHI Audio Drivers - [[Aros/Developer/AHIDrivers|Usage]]/[[Aros/Developer/AHIDriversDev|Development]] # AROSTCP Sana2 Network Interface Drivers - [[Aros/Developer/NICDrivers|Usage]]/[[Aros/Developer/NICDriversDev|Development]] # [[Aros/Developer/AmiSSL|AmiSSL]] # gfx.hidd/cybergraphics Video Drivers - [[Aros/Developer/GfxDrivers|Usage]]/[[Aros/Developer/GfxDriversDev|Development]] # IO Device Drivers - [[Aros/Developer/IODeviceDrivers|Usage]]/[[Aros/Developer/IODeviceDriversDev|Development]] # USB Device Drivers - [[Aros/Developer/USBDrivers|Usage]]/[[Aros/Developer/USBDriversDev|Development]] # PCI Device Drivers - [[Aros/Developer/PCIDrivers|Usage]]/[[Aros/Developer/PCIDriversDev|Development]] # [http://www.libsdl.org/ SDL] [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2013&pid=13333#post_13333 SDL2 coding usage], [https://github.com/search?q=repo%3Aaros-development-team%2Fcontrib%20SDL2&type=code SDL2 commits], [https://github.com/aros-development-team/contrib/commit/c62c3c425c35bac19dadc23be092b0b13a66c76c SDL3 initial commit], [] # [[w:Gallium3D|Gallium 3D]] [http://www.mesa3d.org/ openGL aka Mesa] - [[Aros/Developer/OpenGL|Usage]]/[[Aros/Developer/OpenGLDev|Development]] [http://www.swiftless.com/opengltuts.html Swfitless] # A small subset of GTK2 through [http://sourceforge.net/projects/gtk-mui/ MUI-GTK] # Cairo 2D Engine - [[Aros/Developer/Cairo|Usage]]/[[Aros/Developer/Cairo|Development]] # [[Aros/Developer/Scalos|Scalos desktop API and plugin modules]] # [[Aros/Developer/VHI|VHI video driver]] ====HIDDs==== *[[Aros/Developer/Docs/HIDD/HIDDClass|hiddclass.hidd]] *[[Aros/Developer/Docs/HIDD/Graphics|graphics.hidd]] *[[Aros/Developer/Docs/HIDD/VesaGfx|vesagfx.hidd]] *[[Aros/Developer/Docs/HIDD/ATI|radeon.hidd]] *[[Aros/Developer/Docs/HIDD/NVidia|nvidia.hidd]] *[[Aros/Developer/Docs/HIDD/Nouveau|nouveau.hidd]] *[[Aros/Developer/Docs/HIDD/Kbd|kbd.hidd]] *[[Aros/Developer/Docs/HIDD/Mouse|mouse.hidd]] *[[Aros/Developer/Docs/HIDD/i2c|i2c.hidd]] *[[Aros/Developer/Docs/HIDD/IRQ|irq.hidd (deprecated)]] *[[Aros/Developer/Docs/HIDD/PCI|pci.hidd]] *[[Aros/Developer/Docs/HIDD/PCIPC|pcipc.hidd]] *[[Aros/Developer/Docs/HIDD/Serial|serial.hidd]] *[[Aros/Developer/Docs/HIDD/Thunderbolt|thunderbolt.hidd]] https://github.com/aros-development-team/AROS/commit/4f02ea691799aff3a01f60cfa5f9182c82fc57a8 HIDD are used for device/peripheral low level hardware support drivers. The HIDD system is split up into a collection of classes with a strict inheritance hierarchy. A HIDD class implements a device driver for a single device or in rare cases a group of devices and provides an interface for other programs and devices to access. In order to maintain portability of interfaces across a wide range of hardware this interface will in general not present the raw interface to the underlying hardware. Instead it will present a generic interface that describes many different hardware implementations. This allows for the best reuse of both interfaces and code. HIDD API is heavyweight though. You need to open a HIDD library, open oop.library, instantiate an object (even if there's no object); and object calls are more costly compared to plain library calls. Basically your task is to implement a subclass of hidd.ata.bus for your hardware. just implementing the XXXATA__Hidd_ATABus__xxxxxx methods for the Amiga chipset - and appropriate versions of the interface_xxx.c file(s). pretty much everything in probe.c could be ignored - just write a replacement scan for relevant amiga devices and store whatever info you need in the bus data? only the "SUPPORT_LEGACY" blocks might be related. You do not need to depend on PCI API. PCI is just a way to discover the hardware on PCs, etc. <hidd/pci.h> includes (at some depth) <interface/HW.h>, which defines IID_HW. This comes from the 'generic' HIDD class in: rom/hidds/hidd/hiddclass.conf did not split up HIDD and HW because they are always used in pair. It's the same as hidd/pci.h bringing definition for: PCI, PCIDriver and PCIDevice. PCI is actually PCIHW, just the name was not changed for backwards compatibility reasons. HW is a 'hub' where HIDD instances plug in. ATA HIDD aoHidd_ATABus_Use32Bit value is completely ignored unless ata.device first detects correct command line parameter. Yes. Unfortunately I was unable to find any comment in code or svn history with explanations. Looked at Linux source, there 32-bit PIO is also controller driver's property. Some of them enable it, some don't. Actually, switching the default to ON should be safe. ata.device is fail-safe at this because during IDENTIFY command it validates upper 16 bits, and if they appear to be zeroes in all 128 longwords, then 32-bit mode is switched off. But, nevertheless, I know how tricky hardware can be, so I decided not to change original behavior. If you think it's wrong in some cases, then it's possible to add one more attribute like aHidd_ATABus_Default32Bit. If set to YES, then this means that 32-bit PIO is safe to use by default. ====Devices==== *[[Aros/Developer/Docs/Devices/ATA|ata.device]] *[[Aros/Developer/Docs/Devices/Console|console.device]] *[[Aros/Developer/Docs/Devices/Narrator|narrator.device]] *[[Aros/Developer/Docs/Devices/Printer|printer.device]] *[[Aros/Developer/Docs/Devices/Trackdisk|trackdisk.device]] *[[Aros/Developer/Docs/Devices/AmberRAM|amberram.device]] *[[Aros/Developer/Docs/Devices/Timer|timer.device]] *[[Aros/Developer/Docs/Devices/|.device]] The Amiga used [[Aros/Developer/Docs/Devices|Devices]] to communicate with [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=3475&viewmode=flat&order=ASC additional hardware]. AROS has replaced these hardware devices with hidd equivalents but some are still retained for backwards compatibility. Local libraries/devices/handlers,etc. are supposed to override the ones in ROM if their version is higher than the one in ROM. Here is the list of commands exec default: {| class="wikitable" | CMD_CLEAR | Purge the buffer of the device |---- | CMD_READ | Playback Control |---- | CMD_STOP | Stopped the activity of the device |---- | CMD_FLUSH | Empty the queue of commands |---- | CMD_RESET | Reset a device |---- | CMD_WRITE | Playback Control |---- | CMD_INVALID | Create an error |---- | CMD_UPDATE | Gets updated device |---- | CMD_START | Will restart the device |---- |} While most other "stuff you communicate with" in AmigaOS are devices <ref>AMIGA ROM Kernel Reference Manual: Devices, 3rd Edition. Commodore-Amiga, Inc. Addison-Wesley, 1991. {{ISBN|0-201-56775-X}}</ref> that share a [http://gega.homelinux.net/AmigaDevDocs/ common base interface]. [[Aros/Developer/Docs/Devices1.3|OS 1.3 Device Drivers]]. ====Handlers==== :[[Aros/Developer/Docs/Handlers/Pipe|pipe.handler]] :[[Aros/Developer/Docs/Handlers/Port|port.handler]] :[[Aros/Developer/Docs/Handlers/SFS|sfs.handler]] :[[Aros/Developer/Docs/Handlers/FAT|fat.handler]] :[[Aros/Developer/Docs/Handlers/PFS|pfs.handler]] :[[Aros/Developer/Docs/Handlers/NTFS|fuse.handler]] :[[Aros/Developer/Docs/Handlers/FFS|ffs.handler]] filesystem handlers have their own separate system consisting of completely differently structured messages that dos.library use to pass requests (for things like reading, writing, getting directory contents etc.) to them. AROS originally went with implementing filesystem handlers as devices, which might arguably be more consistent with the rest of the AmigaOS API but which is quite incompatible with AmigaOS itself. However, it made it far harder to port filesystems and the gains were comparatively small, and so there's been a long standing goal of fixing this incompatibility. It has now, June 2011, been reintroduced to all AROS flavors. are argstr and argsize valid for the handler startup environment? DOS/RunHandler() calls DOS/CreateNewProcTags(), and then CallEntry() (in rom/dos/exit.c) to start the handler, so yes, argstr and argsize are *present* in the call signature of the handler. Granted, argstr will be NULL and argsize 0, but those values *are* passed to the handler function using: <pre> AROS_UFC3(ULONG, entry, AROS_UFCA(STRPTR, argptr, A0), AROS_UFCA(ULONG, argsize, D0), AROS_UFCA(struct ExecBase *, SysBase, A6)); </pre> Creating your own [without the whole build tree http://pagesperso-orange.fr/franck.charlet/temp/radeon.zip] and then <pre> make stub make make install </pre> SFS has two Root blocks, one at the start and one at the end of the disk. The Root blocks both contain the same information. They hold various information about the disk structure and have the locations of some important blocks used by the filesystem. The Root ObjectContainer contains the Root directory Object. The name of this Object is the name of the volume. It is identical to a normal directory Object. The Bitmap is used to keep track of free space. Each bit in a bitmap represents a single block. A set bit indicates a free block and a cleared bit a used block. AdminSpaceContainers are used to keep track of space which has been reserved for storing administration blocks. Only the Bitmap, the Root blocks and the actual data stored in files aren't stored in administration space. Administration space is allocated in chunks of 32 blocks at a time. A single AdminSpaceContainer can hold information about a large number of such areas each of which has its own little bitmap of 32 bits. Extents are stored in a B-Tree. The Root block holds a pointer to the root of the Extent B-Tree. Extents keep track of space in use by a specific file. Each fragment a file consists of has its own Extent. Extents are in a double linked list. The list can be used to locate the next or previous fragment of a file. Below is the standard block header. This header is found before EVERY type of block used in the filesystem, except data blocks. The id field is used to check if the block is of the correct type when it is being referred to using a BLCK pointer. The checksum field is the SUM of all LONGs in a block plus one, and then negated. When applying a checksum the checksum field itself should be set to zero. The checking a checksum the checksum is okay if the result of the checksum equals zero. The ownblock BLCK pointer points to the block itself. This field is an extra safety check to ensure we are using a valid block. Field Type Description id ULONG The id field is used to identify the type of block we are dealing with. It is used to make sure that when referencing a block we got a block of the correct type. The id consist of 4 bytes and each blocktype has its own unique foure letter code. checksum ULONG This field contains the sum of all longs in this block, plus one and then negated. The checksum can be used to check if the block hasn't been corrupted in any way. ownblock BLCK Points to itself, or in other words, this field contains the block number of this block. This is yet another way to check whether or not a block is valid. <pre> struct fsBlockHeader { ULONG id; ULONG checksum; BLCK ownblock; }; </pre> The algorithm to calculate the checksum of a block: <pre> ULONG calcchecksum(struct fsBlockHeader *block, LONG blocksize} { ULONG *data=(ULONG *)block; ULONG checksum=1; block->checksum=0; while(blocksize>0) { checksum+=*data++; blocksize-=4; } return(-checksum); } </pre> A Root block contains very important information about the structure of a SFS disk. It has information on the location and size of the disk, the blocksize used, locations of various important blocks, version information and some filesystem specific settings. A SFS disk has two Root blocks; one located at the start of the partition and one at the end. On startup the filesystem will check both Roots to see if it is a valid SFS disk. If either one is missing SFS can still continue (although at the moment it won't). A Root block could be missing on purpose. For example, if you extend the partition at the end (adding a few MB's) then SFS can detect this with the information stored in the Root block located at the beginning (since only the end-offset has changed). Same goes for the other way around, as long as you don't change start and end point at the same time. When a Root block is missing because the partition has been made a bit larger, then SFS will in the future be able to resize itself without re-formatting the disk. Field Type Description bheader struct fsBlockHeader Standard block header. version UWORD The version of the filesystem block structure. You can check this field to identify what version of the filesystem your dealing with it and to see if you can handle this structure correctly. Don't try to interpret the disk's structure when this field contains an unknown version number! sequencenumber UWORD Used to identify which Root block was written last in case the sequencenumber on both Root blocks don't match. datecreated ULONG Creation date of this volume. This is the date when the disk was last formatted and will never be changed. bits UBYTE Various settings, see below. <pre> pad1 UBYTE Reserved, leave zero. pad2 UWORD Reserved, leave zero. reserved1 ULONG[2] Reserved, leave zero. firstbyteh ULONG High 32-bits of a 64-bit number. This is the first byte of our partition relative to the start of the disk. firstbyte ULONG Low 32-bits of a 64-bit number. lastbyteh ULONG High 32-bits of a 64-bit number. This is the last byte (exclusive) of our partition relative to the start of the disk. lastbyte ULONG Low 32-bits of a 64-bit number. totalblocks ULONG The total number of blocks this partition consists of. blocksize ULONG The size of a block of this partition. reserved2 ULONG[2] Reserved, leave zero. reserved3 ULONG[8] Reserved, leave zero. bitmapbase BLCK Block number of the start of the Bitmap. adminspacecontainer BLCK Block number of the first AdminSpaceContainer. rootobjectcontainer BLCK Block number of the ObjectContainer which contains the root of the disk (this is where the volume name is stored). extentbnoderoot BLCK Block number of the root of the Extent B-Tree. reserved4 ULONG[4] Reserved, leave zero. </pre> <pre> struct fsRootBlock { struct fsBlockHeader bheader; UWORD version; UWORD sequencenumber; ULONG datecreated; UBYTE bits; UBYTE pad1; UWORD pad2; ULONG reserved1[2]; ULONG firstbyteh; ULONG firstbyte; ULONG lastbyteh; ULONG lastbyte; BLCK totalblocks; ULONG blocksize; ULONG reserved2[2]; ULONG reserved3[8]; BLCK bitmapbase; BLCK adminspacecontainer; BLCK rootobjectcontainer; BLCK extentbnoderoot; ULONG reserved4[4]; }; </pre> AdminSpaceContainers are used to store the location and bitmap of each administration space. The AdminSpaceContainers are located in a double linked list and they contain an array of fsAdminSpace structures. There is one fsAdminSpace structure for every administration space on disk. Field Type Description bheader struct fsBlockHeader Standard block header. next BLCK The next AdminSpaceContainer, or zero if it is the last in the chain. previous BLCK The previous AdminSpaceContainer, or zero if it is the first AdminSpaceContainer. bits UBYTE The number of bits in each in the bits ULONG in the fsAdminSpace structure. pad1 UBYTE Reserved, leave zero. pad2 UWORD Reserved, leave zero. adminspace struct fsAdminSpace An array of fsAdminSpace structures. The size of the array is determined by the current blocksize. <pre> struct fsAdminSpaceContainer { struct fsBlockHeader bheader; BLCK next; BLCK previous; UBYTE bits; UBYTE pad1; UWORD pad2; struct fsAdminSpace adminspace[0]; }; </pre> Field Type Description space BLCK The first block of an administration space. bits ULONG A small bitmap which is used to determine which blocks in an administration space are already in use. The number of bits in this bitmap is determined by the bits field in the AdminSpaceContainer. <pre> struct fsAdminSpace { BLCK space; ULONG bits; }; </pre> The fsBitmap structure is used for Bitmap blocks. A bitmap block is used to keep track of which space is in use and which isn't for a particular area of a disk. All bitmap blocks together keep track of the free space for an entire disk. The location of the first bitmap block is known and all other bitmap blocks are stored in order after the first one. Field Type Description bheader struct fsBlockHeader Standard block header. bitmap ULONG An array of ULONG's. These hold the actual information on which blocks are in use and which aren't. <pre> struct fsBitmap { struct fsBlockHeader bheader; ULONG bitmap[0]; }; </pre> Each bit in a bitmap block (except for the block header) represents a single block. If the bit is set than the block is free, and if the bit is clear then it is full. The first ULONG in the bitmap area of the first bitmap block represents blocks 0 through 31 on the disk. Bit 31 of this ULONG is block 0, 30 is block 1, and so on. Bit 0 of the first ULONG represents block 31. Below is a table to clarify how bitmaps work even further. The first column is the bitmap block number, the second column is the number of the ULONG in the bitmap array. The third column is the bit number in this ULONG, and the last column is the block which this specific bit, in this specific bitmap block represents. We'll assume here that a bitmap block has room for 120 ULONG's (meaning there is room for storing 32 * 120 bits). <pre> Bitmap block ULONG number Bit number Block represented 1 (first) 0 31 0 1 0 30 1 ... ... ... ... 1 0 1 30 1 0 0 31 1 1 31 32 ... ... ... ... 1 2 31 64 1 2 30 65 ... ... ... ... 1 119 0 3839 2 0 31 3840 2 0 30 3841 ... ... ... ... </pre> The last bitmap block doesn't need to be completely used. The unused bits (which belong to blocks which do not exist) all have to be clear, to indicate that these blocks are in use. The fsObjectContainer structure is used to hold a variable number of fsObjects structures (Objects) which have the same parent directory. Each ObjectContainer must contain at least one Object. If there is space in the ObjectContainer not used by the variable number of Objects then that space is zero filled. Objects always start at 2-byte boundaries, which means sometimes a padding byte is inserted between two Objects. Field Type Description bheader struct fsBlockHeader Standard block header. parent NODE The node number of the parent Object, or 0 if this object has no parent (which is only the case for the Root directory). next BLCK The next ObjectContainer belonging to this directory, or zero if it is the last in the chain. previous BLCK The previous ObjectContainer belonging to this directory, or zero if it is the first ObjectContainer in this directory. object struct fsObject A variable number of fsObject structures. The number of structures depends on the individual sizes of each fsObject structure and the blocksize. These structures are located directly after each other with at most 1 byte of padding between them to get the structures aligned on a 2 byte boundary. <pre> struct fsObjectContainer { struct fsBlockHeader bheader; NODE parent; BLCK next; BLCK previous; struct fsObject object[0]; }; </pre> fsHashTable is the structure of a HashTable block. It functions much like the hash table found in FFS user directory blocks, except that it is stored in a separate block. This block contains a number of hash-chains (about 120 for a 512 byte block). Each hash-chain is a chain of Nodes. Each Node has a pointer to an Object and a pointer to the next entry in the hash-chain. Using such a hash-chain you can locate an object quickly by only knowing its name. Field Type Description bheader struct fsBlockHeader Standard block header. parent NODE The node number of the directory Object this HashTable block belongs to. hashentry NODE An array of Nodes. Each Node represents the start of a hash-chain (singly linked). A hash-value is calculated using the name of a file or directory, and this value determines in which chain the Object is linked. If there are no entries in a hash-chain then the hashentry value is zero. <pre> struct fsHashTable { struct fsBlockHeader bheader; NODE parent; NODE hashentry[0]; }; </pre> To calculate the hash-value using a name of an Object as input use these routines: <pre> UWORD calchash(UBYTE *name) { UWORD hash=0; /* Calculates a hash value over the passed in string. The end of the string can be either a NUL byte or a slash. The hash function is the same as the one used in FastFileSystem set to international mode. */ while(name[hash]!=0 && name[hash]!='/') { hash++; } while(*name!=0 && *name!='/') { hash=hash*13+upperchar(*name++); } return((UWORD)(hash % (UWORD)((blocksize-sizeof(struct fsHashTable))>>2))); } UBYTE upperchar(UBYTE c) { if((c>=224 && c<=254 && c!=247) || (c>='a' && c<='z')) { c-=32; } return(c); } </pre> The BNodeContainer is used to store B-Trees. Currently only one B-Tree is in use by this filesystem and it is used to store the location of file data. The fsBNodeContainer structure contains two other structures. The fsBlockHeader structure and the BTreeContainer structure. Field Type Description bheader struct fsBlockHeader Standard block header. btc struct BTreeContainer Contains information about the B-Tree and its nodes contained in this block. <pre> struct fsBNodeContainer { struct fsBlockHeader bheader; struct BTreeContainer btc; }; </pre> First try and locate the Root block. It should start with "ROOT". SFS has two of these, one at the start of the partition and one at the end. One of the fields contains the block size, which will be the size of all important SFS blocks. The root block has the root object container, which contains information about files and directories in the root directory. The object containers basically hold one or more smaller structures that represent files and directories. Scanning them all should give you a list of files and directories. The root block also has the root of the Extent B-Tree. This is a standard B-Tree structure (not a binary tree) that is used commonly in all kinds of system, you can read about how they work on Wikipedia if needed. The B-Tree holds the information about *where* all the data is located for your files. To recover your files, I'd do this: * Find one of the root blocks, if not present, then figure out the block size your disk was using, and scan every block in turn to see if it looks like an ObjectContainer (check the fsBlockHeader's ID, check if the ownblock number is equal to the block you are currently scanning, and check its checksum). So if you currently have block 12, and you see a block with the correct id, and ownblock = 12 and its checksum is good, then that's probably a valid ObjectContainer. * With all the ObjectContainers found, you can extract filenames and directory names from these, but also the number of their first data block (in the field data) and the file size. For small files (less than blocksize) this data block will be enough to recover the data. For larger files, you might be lucky and all the remaining blocks are found after the first one (if the file was defragmented). You can't be sure of that though so... * For larger files, you need to find all the BNodeContainers. You could scan these in the same way you found all the ObjectContainers (look for blocks with the correct id, ownblock number and checksum). * With all the BNodeContainers found, you can try looking up the first data block of a file in the B-Tree structure. This is a bit complicated -- the B-Tree consists of non-leaf nodes (blocks that only contain pointers to other B-Tree blocks), the isLeaf flag indicates this. Or it can be a B-Tree leaf block. The leaf blocks contain extra information per entry (see https://hjohn.home.xs4all.nl/SFS/extents.htm) <pre> struct fsExtentBNode { ULONG key; ULONG next; ULONG prev; UWORD blocks; }; </pre> The key should be a block of a file (the first of a range), that is 1 to 65535 block long (depending the "blocks" field). If the file is split up into more parts, then "next" will contain block number of the next range of blocks. You need to look this up again in the B-Tree structure to find out how large it is. You can for the most part ignore the other structures (bitmap, admin containers). The fsObjects and B-tree containers is what you'll need to recover the data. ====Resources==== <pre> rom/storage/mmakefile.src rom/storage/storage.conf rom/storage/storage_device.c rom/storage/storage_ids.c rom/storage/storage_init.c rom/storage/storage_intern.h rom/storage/storage_mount.c rom/storage/storage_unit.c </pre> <pre> rom/storage/includes/device.h rom/storage/includes/unit.h rom/storage/includes/volume.h rom/storage/storage_intern.h </pre> <pre> </pre> *[[Aros/Developer/Docs/Resources/ACPI|acpi.resource]] *[[Aros/Developer/Docs/Resources/Battclock|battclock.resource]] *[[Aros/Developer/Docs/Resources/Bootloader|bootloader.resource]] *[[Aros/Developer/Docs/Resources/Cia|cia.resource]] *[[Aros/Developer/Docs/Resources/Filesystem|FileSystem.resource]] *[[Aros/Developer/Docs/Resources/Hostlib|hostlib.resource]] *[[Aros/Developer/Docs/Resources/Kernel|kernel.resource]] *[[Aros/Developer/Docs/Resources/Misc|misc.resource]] *[[Aros/Developer/Docs/Resources/Processor|processor.resource]] ==Debugging Code== Please use the [http://sourceforge.net/tracker/?group_id=43586&atid=439463 AROS Bug Tracker] if any issues are found. GRUB Command line list <pre> sysdebug usbdebug - allows to see Poseidon's log in debug output </pre> How do I get debugging out of InitResident ? If running i386 hosted on linux sysdebug=initresident on command line. This way you can enable any of listed flags. sysdebug=all stands for "everything" Have an executable (crosscompiled C++ code) which has 6 MB size on disk, but after loading it in memory, 250 MB RAM is taken. Any software that would split AROS executable into ELF part which would show actual size values? readelf -S executable it will show you all sections in elf file, including sizes and requested alignment. objdump -h filename That's will give you a quick overview of the sections and sizes. Ignore all the .debug.* sections. Would hazard a guess that you have a large .bss section. That's pretty common in C++. Next step: nm—size-sort filename | grep ' [bB] ' The last few will be your biggest consumers. Would suggest -C to demangle the symbols... ;) Suggest profiling the program (just use some printf's in the main loop for time spent in each part), it usually is quite easy to spot slow parts in games or apps. If someone has '#define IPTR ULONG' somewhere. To see where that define is, redefine IPTR in the source code that fails, just above the line that fails, and the preprocessor will tell you where it was defined first. ===How to setup gdb with AROS/hosted=== Download AROS sources (AROS-xxxxxxxx-source.tar.bz2, where xxxxxxxx is the current date) and AROS contrib sources (AROS-xxxxxxxx-contrib-source) from Untar-bzip2 and cd to the unpacked archive directory. > tar -xvjf AROS-xxxxxxxx-source.tar.bz2 > cd AROS-xxxxxxxx-source Check the link to "contrib" (contrib-source) inside directory, e.g. correct like this: > rm contrib > ln -s ../AROS-xxxxxxxx-contrib-source.tar.bz2 contrib Make sure you have the correct locale setting, otherwise compilation will fail at some point. See [http://aros.sourceforge.net/documentation/developers/compiling.php#setting-the-locale-to-iso8859 here] (or link below) for more on that. You might have to enter this: > export LANG="en_US.ISO-8859-1" Now configure for a debug build - see "./configure --help" for more - here are two examples: > ./configure—enable-debug=stack,modules,symbols > ./configure—enable-debug=all You may "make" now, or choose a separate directory for your build (e.g. for easy removal), for example if compiling for i386 architecture you could create a directory like this: > mkdir linux-i386 > cd linux-i386 > ../AROS/configure—enable-debug=stack,symbols,modules When done configuring you're ready to go: > make Building AROS takes some time - minutes on fast machines (e.g. 2.5&nbsp;GHz quadcore), up to hours on slower machines. The result will be AROS Linux hosted with gdb debugging enabled. See aros.org documentation for more on compiling AROS, including more [http://aros.sourceforge.net/documentation/developers/compiling.php --enable-debug] options. When finished, enter bin/linux-i386/AROS directory (replace "linux-i386" with your compilation target platform, e.g. linux-x86_64, etc.) inside the unpacked archive directory. This directory contains the required .gdbinit file for properly running AROS inside gdb. > cd bin/linux-i386/AROS Run AROS (here: with 128MB of memory) from gdb: > gdb—args boot/aros-unix -m 128 or > gdb—args boot/arosboot -m 128 (gdb) r Watch the shell output - in case AROS complains about "LoadKeyCode2RawKeyTable: Loading "DEVS:Keymaps/X11/keycode2rawkey.table" failed!" you should also see some instructions on how to create a keymap table. (see link above "more on compiling", too.) Quit gdb, and try default keymap table: (gdb) q The program is running. Quit anyway (and kill it)? (y or n) y > cd ../../.. > make default-x11keymaptable Re-run AROS, as described above. Try e.g. RAros (= right windows key) + W to open a shell. If this doesn't work you have to create a keymap table yourself, quit gdb again, and make a new keytable: > make change-x11keymaptable A window will open. Watch the window's title bar, and follow the instructions. When done, re-run AROS. RAros + W should now open a shell. Next, compile your program with gdb support. When you start GDB is there a warning which says warning: File "<whatever>/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to ... If so start gdb with "-ix .gdbinit" <pre> Summary - In short: * build AROS with debugging support (i.e. ./configure --enable-debug=all) * build your application with debugging support (i.e. option -g) * run AROS in the GNU debugger (you may use the GUI frontend "ddd" which simplifies usage a bit) * start your application * use the commands "findaddr" and "add-symbol-file" as written in the debugging manual * if the debugger doesn't find the source code of your application use the "dir" command of the debugger. </pre> ===How to use gdb=== In AROS open a shell, then (in host shell) use CTRL-Z to go into gdb. Use "b Exec_CreatePool" (one of the functions used early on by startup code in programs) to add a breakpoint, then "cont" and gdb will interrupt somewhere early during startup of "program". Use "bt" to show backtrace and "loadseg" for "??" entries. One of them will be for "program". After that you can use "disassemble program". One thing you need to make sure is that .gdbinit you have in your build directory is the same as in source tree. It has been modified some time ago, but the build system does not refresh it - you need to copy it manually To recap, please read our debugging [http://aros.sourceforge.net/documentation/developers/debugging.php manual]: To detect segfaulting when loading, try... ./configure—enable-debug—with-optimization="-O2" Because crash or no crash may depend on optimization. For newer compilers maybe this helps... --with-optimization=-"-O2 -fno-strict-aliasing" One way to make crashes less random (more easily reproducible) is to activate the munging of free memory in rom/exec/freemem.c which is normally commented out: <pre> Index: freemem.c =================================================================== --- freemem.c (revision 34289) +++ freemem.c (working copy) @@ -154,11 +154,12 @@ * created with their TCB placed in the tc_MemEntry list. The workaround * is to avoid munging when FreeMem() is called with task switching disabled. */ + /* DOH! it doesn't work even this way. What's wrong??? - * - * if ((SysBase->TDNestCnt < 0) && (SysBase->IDNestCnt < 0)) - * MUNGE_BLOCK(memoryBlock, MEMFILL_FREE, byteSize); */ + + if ((SysBase->TDNestCnt < 0) && (SysBase->IDNestCnt < 0)) + MUNGE_BLOCK(memoryBlock, MEMFILL_FREE, byteSize); } </pre> Mungwall can be turned on at runtime. Currently this works in all hosted versions. Just specify "mungwall" on kernel command line and it works. It can work on native too. In order to enable it you need to parse kernel command line, and if "mungwall" is present, set EXECF_MungWall bit in IntExecBase.IntFlags. This needs to be done before the first AllocMem() for obvious reasons. And never reset back this flag! If you change it on a working system, you are doomed. Hosted ports do the processing in rom/exec/prepareexecbase.c --enable-debug=mungwall option in configure still works but is going obsolete. A kludge in rom/exec/allocmem.c is responsible for this and it needs to be removed when the transition is done. BTW, on i386-pc port it can be activated by "mungwall" argument on command line, you don't need to rebuild AROS. New mungwall affects not only AllocMem()/FreeMem(), but also pools. I also tested it with AllocAbs(), seems to work correctly. Runtime mungwall works on: * pc-i386 * pc-x86_64 * linux-i386 * linux-x86_64 * darwin-x86 * linux-ppc Works on all hosted ports, if the port itself is working. * amiga-m68k * Not on sam440-ppc and efika-chrp-ppc, even if they would be able to be built at moment. Does not work on (for now, need NVRAM support) When starting my freshly rebuilt i386-linux-aros which was compiled with full debugging support I get sometimes the error "Program exited with code 0377". Add the following to your .gdbinit: set follow-fork-mode child Here are some of the custom AROS gdb functions (defined in ".gdbinit" file) to resolve "in ?? ()" entries in backtrace: <pre> #0 0xb7ffd424 in __kernel_vsyscall () #1 0xb7e2a657 in sigsuspend () from /lib/libc.so.6 #2 0xb7c63900 in ?? () #3 0xb7c640e3 in ?? () #4 0xb7c641e0 in ?? () </pre> You can use loadseg 0xb7c63900 loadframe 2 or loadbt and some others. Use "help " for a little help text. If the commands do not work try "loadkick" first. Use "thistask", "taskready", "taskwait" to get list of AROS tasks. "bttask " shows backtrace of a task which is in ready or in wait queue and "loadseg" to resolve "??" entries in it's backtrace ("loadframe" would not work as it assume current running task). ===Native debugging tools for AROS=== to enable debugging at boot time entering the GRUB menu editing line (E key) and adding "debug=memory" to your boot line, then press Ctrl+X to complete booting. SYS:Tools/Debug/'''Bifteck''' Open a shell and enter the line below to run Biftek and grab the debug messages collected in RAM into a text file. tools/debug/bifteck > ram:debug.txt and certainly does not open a window. It is a shell tool and only dumps data located from the debug location. It is therefore important to 'catch' that debug data as soon as possible (before it gets overridden). You should invoke bifteck at the first opportunity before doing anything else. You can use the TO option to store bifteck output to a file or you can pipe it manually to a file. SYS:Tools/Debug/'''Sashimi''' - displays error messages One suggestion is to do a bug() debugging. Each time bug() is executed it will be output on sashimi. You include <aros/debug.h> and place bug("something\n"); in your source code at location though which control passes. To get the output - open an aros shell SYS:Tools/Debug/sashimi > RAM:out.txt '''Ctrl C''' to end the output to the RAM Disk. # open shell, and type # ram: (to switch to ram drive) # System:Tools/Debug/Sashimi > mylogfile.txt # open AHI prefs using wanderer (or use another opened shell) # play test sound # close AHI prefs # shell still open with Sashimi running: press ctrl-c to break Sashimi and return to prompt. # in shell: copy mylogfile.txt System: (or to your required location) SYS:Utilities/'''Snoopy''' - monitors OS function calls, run "Sashimi" to see Snoopy's output SYS:Tools/'''WiMP''' - the Window (and Screens) Manipulation Program You can use the -E option of gcc to find out how preprocessor macros are expanded. ===Errors=== crash in strcasecmp usually means that one of its arguments is NULL. empty space between these two names, prossibly some invisible character Old Amiga [http://www.amigacoding.com/index.php?title=Guru_codes&redirect=no Guru Codes] If the crash is in intuition. Sometimes, if it relates to text, a null pointer sets it off. an uninitialised pointer can have any address (this is a common fault). Compiling on 64bit, Many old code would not properly typecast when doing pointer-integer conversions and thus at least throw a warning. This can easily be located and fixed. [http://www.aros.org/cs/documentation/developers/app-dev/portable.php Portable code] * Use texteditor or some tool to replace all "ULONG" with "IPTR" and "LONG" with "SIPTR" in the sources. * Fix (change IPTR/SIPTR back to ULONG/LONG) the few places which really rely on ULONG/LONG being exactly 32 bit. That's for things like pixel (ARGB) buffers, structs written/read to disk, colormaps, but probably not much else. Then again, many current compilers also throw a warning when you try to assign a pointer value to an integer and the integer is possibly too small. This happens under .NET for example when a 64 bit pointer is assigned to something like an ULONG - so exactly the case which you described. === Example === <syntaxhighlight lang="c"> /* 1. Header for your name,date,purpose of program. 2. Pre-processor directives. This will include the #includes for files you want to add. 3. Includes for function prototypes if necessary. 4. Main() Create Pointers for Libraries and any Window you want to open. 5. Open necessary libraries. 6. Check if open exit program if fail. 7. Open a window exit program if fail. 8. Add your program 9. Close Window 10 Close Libraries. 11 End Program. */ /* standard os included headers <.h> */ #include <dos/dos.h> #include <dos/dosasl.h> #include <dos/dosextens.h> #include <dos/exall.h> #include <dos/rdargs.h> #include <exec/memory.h> #include <exec/types.h> #include <utility/utility.h> #include <intuition/intuition.h> /* define as unresolved external references (proto/xxx.h) and compiler will link to auto(matically) open library */ #include <proto/arossupport.h> #include <proto/dos.h> #include <proto/exec.h> #include <proto/intuition.h> #include <proto/graphics.h> #include <proto/cybergraphics.h> #include <proto/datatypes.h> #include <proto/icon.h> #include <workbench/workbench.h> #include <workbench/icon.h> #include <datatypes/pictureclass.h> #include <proto/muimaster.h> #include <libraries/mui.h> #include proto/bsdsocket.h #include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> /* my own headers ".h" */ #define CTRL_C (SetSignal(0L,0L) & SIGBREAKF_CTRL_C) #define isDir(fib) ((fib)->fib_DirEntryType >= 0) #define ARG_TEMPLATE "FILE/A,ALL/S,QUIET/S,W=WIDTH/N,H=HEIGHT/N,M=METHOD,DEFTOOL" int main(void) { return retval; } /* main */ </syntaxhighlight> <syntaxhighlight lang="c"> </syntaxhighlight> If you used c++, there is not yet c++ support in our shared library system. The easiest way to create / compile a shared library would be to use the AROS build system but the libraries can be created manually. You have to create a ROMTAG structure and some header files. A shared library is built with the %build_module macro with a line like this: %build_module mmake=MetaTarget modname=mylib modtype=library files=SourceFiles This macro can build different AROS module types, like devices, Zune classes, HIDDs, etc. <pre> ##begin config version 1.0 ##end config ##begin functionlist void func1(LONG a, LONG b) int func2(char *s, ULONG a) ##end functionlist </pre> Alternatively, <pre> #ifndef LIB_H #define LIB_H #define __NOLIBBASE__ #include <exec/libraries.h> #include <exec/semaphores.h> #include <dos/dos.h> #ifdef __AROS__ //#include <aros/debug.h> #define reg(x) #define __saveds #endif #define USESYSBASE struct ExecBase *SysBase = Base->My_SysBase; struct MyTestBase { struct Library My_Test_Lib; struct ExecBase *My_SysBase; APTR My_SegList; int testint; }; #endif </pre> <pre> /*--------------------------------------------------------------------------*/ /* Resident header written for mytest.library */ /*--------------------------------------------------------------------------*/ #define __NOLIBBASE__ #define VERSION 1 #define REVISION 0 #define LIBHEADNAME mytest #define LIBHEADNAMESTR "mytest" #define COMPDATE "04.10.2015" #define VERS "1.0" #define LIBBASETYPE struct MyTestBase #define LIBBASETYPEPTR LIBBASETYPE * #include <aros/debug.h> #include <exec/exec.h> #include <proto/exec.h> #include <exec/resident.h> #include <exec/nodes.h> #include <exec/libraries.h> #include <aros/symbolsets.h> #include "lib.h" const UBYTE lib_name[] = LIBHEADNAMESTR ".library"; const UBYTE lib_id[] = "$VER: " LIBHEADNAMESTR ".library " VERS " (" COMPDATE ") by ALB42\n"; extern const APTR FuncTable[]; AROS_UFP3 (LIBBASETYPEPTR, InitLib, AROS_UFPA(LIBBASETYPEPTR, Base, D0), AROS_UFPA(BPTR, seglist, A0), AROS_UFPA(struct ExecBase *, sysbase, A6) ); static struct LibInitStruct { IPTR LibSize; const APTR *FuncTable; const struct DataTable *DataTable; APTR InitFunc; } const LibInitStruct = { sizeof(LIBBASETYPE), FuncTable, NULL, (APTR)InitLib }; const struct Resident romtag = { RTC_MATCHWORD, /* match word */ (APTR)&romtag, /* back pointer */ (APTR)(&romtag + 1), /* skip pointer */ RTF_AUTOINIT | RTF_EXTENDED,/* flags */ VERSION, /* version */ NT_LIBRARY, /* type of module */ 0, /* init priority */ (STRPTR)lib_name, /* module name */ (STRPTR)lib_id + 6, (APTR)&LibInitStruct, REVISION, NULL }; AROS_UFH3 (LIBBASETYPEPTR, InitLib, AROS_UFHA(LIBBASETYPEPTR, Base, D0), AROS_UFHA(BPTR, seglist, A0), AROS_UFHA(struct ExecBase *, sysbase, A6) ) { AROS_USERFUNC_INIT Base->My_SegList = seglist; Base->My_SysBase = (APTR)sysbase; Base->testint = 0; USESYSBASE bug("InitLib\n"); if (!set_open_libraries()) { set_close_libraries(); return NULL; } return Base; AROS_USERFUNC_EXIT } AROS_LH1(LIBBASETYPEPTR, LibOpen, AROS_LHA (ULONG, version, D0), LIBBASETYPEPTR, Base, 1, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibOpen\n"); (void)version; Base->My_Test_Lib.lib_OpenCnt++; return Base; AROS_LIBFUNC_EXIT } __saveds APTR LibExpungeInternal(LIBBASETYPE *Base reg(a6)) { USESYSBASE APTR seglist; bug("LibExpungeInternal\n"); if (Base->My_Test_Lib.lib_OpenCnt) { return 0; } seglist = Base->My_SegList; Forbid(); Remove((struct Node*)Base); Permit(); FreeMem((APTR)Base - Base->My_Test_Lib.lib_NegSize, (LONG)Base->My_Test_Lib.lib_PosSize + (LONG)Base->My_Test_Lib.lib_NegSize); set_close_libraries(); return seglist; } AROS_LH0(BPTR, LibClose, LIBBASETYPEPTR, Base, 2, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibClose\n"); if (!(--Base->My_Test_Lib.lib_OpenCnt)) { return LibExpungeInternal(Base); } return 0; AROS_LIBFUNC_EXIT } AROS_LH1(BPTR, LibExpunge, AROS_LHA(LIBBASETYPEPTR, Base, D0), struct ExecBase *, sysBase, 3, LIBHEADNAME ) { AROS_LIBFUNC_INIT (void)sysBase; USESYSBASE bug("LibExpunge\n"); return LibExpungeInternal(Base); AROS_LIBFUNC_EXIT } AROS_LH0(LIBBASETYPEPTR, LibReserved, LIBBASETYPEPTR, Base, 4, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibReserved\n"); return 0; //return (APTR)LibReserved(); AROS_LIBFUNC_EXIT } // Space for your own functions // do not forget to update the FuncTable as well AROS_LH1(int, TestFunction, AROS_LHA(int, TestValue, D0), LIBBASETYPEPTR, Base, 5, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("TestFunction\n"); Base->testint = TestValue + Base->testint; return Base->testint; AROS_LIBFUNC_EXIT } // Functable -> Table of all functions in the Library, in right order - important! const APTR FuncTable[] = { &AROS_SLIB_ENTRY(LibOpen,LIBHEADNAME,1), &AROS_SLIB_ENTRY(LibClose,LIBHEADNAME,2), &AROS_SLIB_ENTRY(LibExpunge,LIBHEADNAME,3), &AROS_SLIB_ENTRY(LibReserved,LIBHEADNAME,4), &AROS_SLIB_ENTRY(TestFunction,LIBHEADNAME,5), (void *)-1 }; // AutoInit stuff void *__PROGRAM_ENTRIES__symbol_set_handler_missing; void *__LIBS__symbol_set_handler_missing; // end of AutoInitStuff </pre> Makefile <pre> VPATH = CFLAGS = -O2 -g -fomit-frame-pointer -W -Wall -Wno-parentheses CC = i386-aros-gcc LD = i386-aros-gcc LDFLAGS = -nostartfiles -Wl,-Map -Xlinker linkermap LIBS = -lautoinit -llibinit STRIP = i386-aros-strip --strip-unneeded --remove-section .comment OBJS = lib_header.o all: mytest.library mytest.library: $(OBJS) $(LD) $(LDFLAGS) $^ $(LIBS) -o $@ lib_header.o: lib_header.c lib.h clean: rm -f *.o *.library *.ppu testlibrary linkermap </pre> Porting UNIX library to AROS - dealing with static variables which would make it easy to port such libraries to AROS, keeping the benefits of sharing them on disk, but losing the benefit of actually sharing them in memory. Our problem arises by the fact we want to share the actual code (the .text section of the library) and constant data, but we need to have per-task .bss and .data sections. If we get rid of our intention to share the .text and .rodata sections, things get quite easy: just load and relocate the library whenever it's open, by whoever it's open. It's like statically linking the library into the executable, except that the final linking is done at runtime. In the V0 branch, in workbench/hidds/hidd.nouveau was committed pcimock.hidd. This is a pci driver that allows mocking real PCI devices under linux-hosted. The main idea is to be able to run the real hardware driver under linux-hosted with as little changes as possible (some changes will always be needed though unless someone wants to write complete device simulator) so that driver's code paths can be executed and debugged using gdb. This was a very helpful capability when porting nouveau. Now it is externalized from nouveau.hidd and can be used by other people porting drivers. The pcimock.hidd can currently mock 4 different nvidia cards, 1 AGP bridge and also mock irq.hidd. What's the difference between this driver and the pcilinux.hidd? I used that one to develop many different HW drivers for aros. As far as I understood the intention of pcilinux.hidd it is supposed to get access to real hardware that is running under linux. The pcimock.hidd goal is to mock the hardware. For example my dev box is a PCIE system, but I still would like to run the AGP codes paths in nouveau under linux-hosted to check if they don't seg fault. The other case would be to run codes paths for hardware that the developer does not have (Fermi cards in my case). In the case of pcimock.hidd, the AROS driver's code paths will execute as long as you add proper mocking (for example fill in PCI config area or values for registers in BARs). This is an advantage for ported drivers - the code should already work (since it worked on another system) but there might have been mistakes made during porting which can be detected easily with gdb. In case you are writing your driver from scratch, pcilinux.hidd hidd will give you more advantage, since you can actually access the real hardware from linux-hosted. == Misc == ===APL, MPL, BSD, GPL and LGPL Licences=== The majority of AROS sources in licensed under AROS Public License ([http://aros.sourceforge.net/license.html APL]) which (to a degree) protects us from someone taking AROS sources and not contributing improvements back (for example MorphOS took some AROS source and then contributed changes back) It is written to allow the use of AROS code in other open source or commercial projects without exception whilst providing a mechanism so that improvements/additions can find their way back to the original source in one form or another. There are "3rd" party applications used by AROS that do not fall under this license, which are an extra "Contrib" download for convenience. Anyone can port GPL-ed network and sound drivers as AROSTCP and AHI are GPLed. Direct using (porting) [http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs GPL]-ed code in other parts of AROS (gfx, sata, usb) is not possible because AROS license is not compatible with GPL. You need to utilize permissive licensed code like BSD or MIT/X11. BSD and MPL license are the closest to APL. APL however is not so compatible with LGPL/GPL. LGPL case - you cannot statically combine APL code with LGPL. You can, however thank to LGPL being "lesser" restrictive, use LGPL dynamically loaded libraries in APL codes. GPL case - you cannot combine APL code with GPL in any way if there is no explicit clause by GPLed code authors allowing that. If you do combine APL with GPL in "bad" ways described above - you have a problem (you violate GPL). This problem might result in everything in AROS becoming GPL or everything running or AROS becoming GPL (here I'm not sure really). The other scenario is that you are not allowed to legally distribute such code at all. To be honest I have grasped how to violate GPL, but I'm still no exactly sure what happens when you violate it (but I'm sure it's not anything nice) GPL software can run on top of non-GPL "system components" (see system components exception of GPL), but the other way around (non-GPL using GPL) leads to problems. This means applications like scout, or Quake III are ok (in the majority of cases). Theres no reason GPL drivers cannot be ported - but they cant be in AROS's ROM (requires linking APL code with GPL), nor can AROS depend on them (e.g. they must use existing apis). If they are launched (dynamically linked) by a user action that is allowed. It is also allowed to distribute such binaries together for convenience. GPL is not about statical or dynamic linking but is about executing process and function calls. These components - SFS, isapnp, Zune texteditor, AHi, network drivers, freetype, openuirl, BHFormat, Edit and (" dynamically loaded libraries") are LGPL, not GPL. Mesa/Nouveau stuff is MIT. Some user tools are GPL though. '''AROS (system)''' * system components (libraries/classes/devices/etc) cannot be GPL as they would propagate GPL to complete system as well as GPL is not compatible with MPL from which APL is based * system components can be LGPL v2 or a permissive license (MIT/BSD) * system applications can be anything you like (but still I would prefer APL or permissive so the code can be reused if needed) '''Contrib:''' * no rules - contrib does not impact AROS system since nothing in AROS system depends on contrib. About stealing code: The chances of this happening is exactly the same whether we are APL or GPL. If any closed-source option wanted to do it, there is no one that can validate otherwise. MorphOS has used some AROS codes, but contributed changes back. The rationale behind APL is that while it guarantees that the original developer will get the improvements back (to a certain degree - file based), the person who uses the codes does not have to open his original codes. BSD does not guarantee that the original developer gets improvements. GPL requires the person using the codes to open his codes as well. The copyright holders needs to stay - we just need information from them that the codes are available under APL (for example a checked-in file like in case of Poseidon). We don't do transfer of copyrights. ; Ultimately what can and cannot be done is up to the author(s) - not the licence. ===AROS source code tree=== * http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-trunk.txt * http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-contrib.txt Found this interesting (non-GPL) licensing 'anomaly' - to keep in mind for distributors. Programs that lose their license if sold ("non-profit only" licensed): contrib/aminet/comm/term/TinyTerminal contrib/aminet/dev/basic/bwBASIC contrib/aminet/text/edit/xdme contrib/fish/aroach contrib/fish/lotto contrib/fish/shuffle contrib/fish/touch + cdvdfs. Here is a list of all the GPL/GPLv2/GPLv3 licenses fossology found, what have explicit licenses in their comments. excluded LGPL, BSD/GPL dual licensed and programs (such as Prefs/Edit and BHFormat) <pre> AROS/rom/dbus/include/ AFL_v2.1 ,GPL_v2+ (supposedly AFL < 3 is GPL incompatible) AROS/workbench/classes/zune/betterstring/include/ GPL_v2+ AROS/workbench/classes/zune/texteditor/include/ GPL_v2+ AROS/workbench/classes/datatypes/gemimage/ GPL_v2+ GPL AROS/workbench/classes/datatypes/degas/ GPL_v2+ AROS/workbench/libs/openurl/README: GPL AROS/workbench/network/smbfs/documentation/ GPL_v2 AROS/workbench/network/smbfs/source_code/ GPL_v2+ AROS/workbench/network/stacks/AROSTCP/bsdsocket/kern/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/mmakefile.src conf.h GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/sys/ CMU ,GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/net/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/api/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/conf/conf.h: GPL_v2 AROS/workbench/network/stacks/AROSTCP/netinclude/net/radix.h: CMU ,GPL_v2 AROS/workbench/devs/AHI/AHI/ GPL_v2+ AROS/workbench/devs/AHI/AddAudioModes/ GPL_v2+ AROS/workbench/devs/AHI/AddAudioModes/COPYING: GPL AROS/workbench/devs/AHI/Docs/texinfo.tex: GPL_v2+ AROS/workbench/devs/AHI/COPYING: GPL AROS/workbench/devs/AHI/Drivers/EMU10kx/ GPL_v2+ AROS/workbench/devs/AHI/AHI-Handler/ GPL_v2+ AROS/workbench/devs/networks/rtl8029/ GPL GPL_v2+ AROS/workbench/devs/networks/pcnet32/ GPL GPL_v2+ AROS/workbench/devs/networks/ppp/LEGAL: GPL AROS/workbench/devs/networks/atheros5000/ GPL_v2+ AROS/workbench/devs/networks/rhine/ GPL_v2+ AROS/workbench/devs/networks/nForce/ GPL_v2+ GPL AROS/workbench/devs/networks/prism2/ GPL GPL_v2+ AROS/workbench/devs/networks/fec/LEGAL: GPL AROS/workbench/devs/networks/rtl8139/ GPL GPL_v2+ AROS/workbench/devs/networks/etherlink3/ GPL GPL_v2+ AROS/workbench/devs/networks/intelpro100/ GPL GPL_v2+ AROS/workbench/devs/networks/rtl8169/ GPL GPL_v2+ AROS/workbench/devs/networks/emac/ GPL GPL_v2+ AROS/workbench/devs/networks/rtl8168/ GPL GPL_v2+ AROS/workbench/devs/networks/realtek8180/ GPL_v2+ AROS/workbench/devs/networks/via-rhine/via-rhine.c: GPL_v2+ AROS/workbench/devs/networks/via-rhine/ GPL GPL_v2+ AROS/workbench/devs/networks/e1000/ GPL_v2 AROS/workbench/devs/networks/sis900/ GPL GPL_v2+ </pre> AHI: it has special provisions (COPYING.DRIVERS). The library is LGPL, preferences software is GPL and drivers can be anything without breaking GPL/LGPL. Network stack: well, we are long overdue for a new, IPv6 enabled network stack anyway, anyone interested? ;) Seriously though it seems like the glue code is GPL and as all the drivers. However some of the drivers are our own code, so they could be relicensed to LGPL. Same filter as the AROS trunk list. These should all be libraries or plugins - no programs. <pre> contrib/regina/utsname.h: GPL_v2+ contrib/mui/classes/nlist/include/default-align.h: GPL_v2+ contrib/mui/classes/nlist/include/amiga-align.h: GPL_v2+ contrib/mui/classes/BWins/include/MUI/BWin_mcc.h: GPL contrib/mui/classes/BWins/include/BWin_private_mcc.h: GPL contrib/mui/classes/BWins/COPYING: GPL_v2 contrib/mui/classes/BWins/MCC_BWins.readme: GPL_v2 contrib/mui/classes/thebar/include/default-align.h: GPL_v2+ contrib/mui/classes/thebar/include/amiga-align.h: GPL_v2+ contrib/gfx/libs/wazp3d/LEGAL: GPL contrib/gfx/libs/wazp3d/Wazp3D.readme: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d.c: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d_opengl.h: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d_opengl.c: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/Wazp3D.h: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/Wazp3D.c: GPL contrib/libs/mpega/ GPL_v2+ </pre> http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-contrib.txt ===Types=== On AROS following rules apply: <pre> 1. BYTE/UBYTE is 8bit, WORD/UWORD is 16bit, LONG/ULONG is 32bit, QUAD/UQUAD is 64bit, the types are comparable with stdint types (int8_t, int16_t, int32_t, int64_t) 2. IPTR/SIPTR are integer types large enough to fit pointer, that is sizeof(IPTR) = sizeof(APTR) = 4 on 32bit system, and = 8 on 64bit system 3. ti_Data in TagList is large enough to hold a IPTR/APTR type. 4. never store a pointer in integer of type LONG. It may work (if the pointer has upper 32bits clear), but does not have to. Compiler should warn you about that. 5. If you are unsure about point 4, allocate your memory with MEMF_31BIT flag set. But don't expect that AROS internals will do the same. </pre> point 4 is actually important. * UBYTE/BYTE for 8bit * UWORD/WORD for 16bit * ULONG/LONG for 32bit * UQUAD/QUAD for 64bit <pre> UBYTE Unsigned 8 bit integer variable (byte). BYTE Signed 8 bit integer variable (byte). UWORD Unsigned 16 bit integer variable (word). WORD Signed 16 bit integer variable (word). ULONG Unsigned 32 bit integer variable (longword). LONG Signed 32 bit integer variable (longword). FLOAT 32 bit IEEE floating point variable. UQUAD Unsigned 64 bit integer variable. QUAD Signed 64 bit integer variable. DOUBLE 64bit IEEE floating point variable. BOOL Boolean variable, TRUE and FALSE are also defined in exec/types.h. VOID Void. APTR A generic pointer for multiple purposes - Arrays. STRPTR A pointer to a null-terminated string. IPTR Really important in AROS, the only way to declare a field that can contain both: an integer or a pointer. </pre> if you want to write really portable app, you may be interested in standard datatypes defined in C99: int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, intptr_t, uintptr_t. They are all defined in inttypes.h include file. In exec/types.h the following short-cuts are typedef'd. They are used often in AROS, so you should nearly always include exec/types.h and soon only they will be removed from sys/_types.h include, all types are now defined in include files named aros/types/xxx.h. (Preparation for C library split; sys/xxx.h include will only be available there when compiling with POSIX C library) Compiler specific types, like int and long might change their size. In case of AROS, similar to linux, int remains 32 bit whereas long grows to 64 bits in size. If you use Amiga-like data types, i.e. BYTE/UBYTE, WORD/UWORD, LONG/ULONG and QUAD/UQUAD or the C99 standard types (uint8_t and so on, see stdint.h include) then you should have less issues to solve than by using types without size guarantee. Of course, all pointers grow to 64 bytes using 64bit cpu. Most of the code can be just recompiled and will work. In rare cases, where e.g. pointers are casted to integers, a special care must be taken. Especially in the cases, where pointer is casted to LONG/ULONG (this code will break on 64 bit AROS) e.g. '#define IPTR ULONG'. With compiler delint patches which the majority of them are simple casting issues to make the compiler happy. Notice some of the changes involve introducing double casts. In very recent versions of GCC. Yes, the bulk of the double casts are for converting 32 bit addresses (ie from a 32 bit PCI DMA address register) to a 64 bit pointer. First cast is to IPTR (to expand to 64 bits, and prevent sign extension if the address is above 0x7FFFFFFF), and then to APTR. ULONG != IPTR except on 32bit .. so if you need to store pointers make sure and use IPTR and not ULONG (which some old code does). For this reason things like Taglist elements are 64bit (since the tag data can be a pointer). If your passing items on the stack you should use the STACKED attribute to make sure they are correctly aligned (on 64bit all items on the stack are 64bit..) There is more issues like using "== 0L" causes problems. ===Endian=== *BE *LE Use the macros from <endian.h> instead making a guess based upon architecture defines <pre> #if _BYTE_ORDER == _BIG_ENDIAN #elif _BYTE_ORDER == _LITTLE_ENDIAN #else + #error <whatever.h> - Byte order for this architecture is unsupported! </pre> ===SVN and GIT=== If you want to help develop AROS OS itself, you can * view current GIT/SVN entries [http://aros.sourceforge.net/ Aros Org website] or [https://github.com/aros-development-team/AROS Github], [https://github.com/ezrec older ezrec mirror], [https://github.com/michalsc/AROS/ older mirror], [https://trac.aros.org/trac/timeline TRAC], [], * awaiting update [http://repo.or.cz/w/AROS.git git repo], [http://www.ohloh.net/p/aros/commits ohloh] or [https://svn.aros.org/svn/aros/trunk/ svn repo] and access [Git version git://repo.or.cz/AROS.git here], * deprecated [https://www.gitorious.org/aros/aros/commit/a7fda9e ARIX commits] or [https://gitorious.org/aros/aros GIT old] If you have SVN access (early 2015 introduced a new SVN server, create a new account at trac aros org) and/or have obtained the source [http://aros.sourceforge.net/download.php AROS site] - you can compile the current build tools/environment using: > make development and follow this [http://aros.sourceforge.net/documentation/developers/compiling.php#building procedure] or [https://github.com/apiraino/aros_guide Guide] https://trac.aros.org/trac#Developing If you plan on contributing back changes, please post information about such changes first on this [http://mail.aros.org/mailman/listinfo/aros-dev/ mailing list] for more experience developers can validate whether they are correct. Then there are the nightly build machines. They svn update before the build and run configure as one of the next steps. autoconf might be added to the nightly build scripts. Our build relies on packages downloaded from Internet (SDL for example) - it always worked this way. The minimal requirement (when just building core AROS) is binutils and gcc. If you build contrib as well, you need many more packages to be downloaded. https://gitorious.org/aros/aros/commits/crosstools-II git://gitorious.org/aros/aros.git Branch crosstools-II there is only one commit on top of ABI_V1 <pre> ../../aros-src/AROS/configure --enable-ccache --with-portssources=~/aros/Sources --target=pc-x86_64 --with-aros-toolchain-install=/home/weissms/media/data/aros/test/crosstools/pc-x86_64 </pre> and <pre> ../../aros-src/AROS/configure --enable-ccache --with-portssources=~/aros/Sources --target=pc-i386 --with-aros-toolchain-install=/home/weissms/media/data/aros/test/crosstools/pc-i386 </pre> build OK. :''More information: [[Aros/Developer/Maintainer|AROS Maintainer Docs]]'' ===SDI Calls=== Integrate the 'SDI'-headers to allow easier porting to all amiga-like platforms. <pre> PUTCHARPROTO( PutTheChar, char c, struct SPrintfStream *s ) { // REAL CODE } </pre> have "SDI_compiler.h" and "SDI_hook.h" included its more organized like #include SDI/SDI_hook.h than #include SDI_hook.h option 1 --- i also use when back porting from amiga's.. <pre> #ifdef __AROS__ #include SDI/SDI_hook.h #else #include SDI_hook.h #endif </pre> also you can add the -i include/sdi/ location if you do not want to add or edit any files. Defining HOOKPROTO to IPTR name(struct IClass * cl, Object * obj, Msg msg); solved the problem A MUI application most likely needs only the HOOKPROTOxxx SDI macros. They are compatible with AROS, only the attributes (hook, object attribute) must be given in the right order. examine compiler/include/aros/symbolsets.h (AROS_LIBREQ) compiling mui stuff for aros setting -std=gnu99 is necessary (i have had -std=c99 most of the time). ===Locale with Flexcat=== Most languages have a locale, but not every app is localized, the only thing needed is to translate the "catalog" files. It is a case of locating the correct catalog and saving the translated version. For every app that lacks of your language catalog and is localized anyway, you should find (in the sources) files related to locale: * file.cd = catalog descriptor, contains base msg, with internal language (usually english) * language.ct = catalog translation, contains every translated msg, indexed as in the file.cd. Compare with other localized apps... Then, "make my_app-catalogs" should create and install your translated catalogs. ex : for, saying, sys:prefs/wanderer: on root of AROS sources, type: "make workbench-prefs-wanderer-catalogs" then (if you changed the .cd file): "make workbench-prefs-wanderer" For apps not localized, you have to adapt their code to support it, if it is possible... noticed the original .cd file has many (//) strings at the end of any voice, so added them also to the .ct file. That (//) is only for cd files. I'm highly recommending to use FlexCat for updating ct files, e.g. like this: flexcat app.cd deutsch.ct newctfile deutsch.ct You'll get error checking and new entries are marked in the resulting ct file. When editing .ct files, only change those lines containing translation and perhaps version string, nothing else. The rest is up to the relevant tool, flexcat. In order to update your translation, type in the following in your shell: flexcat xyz.cd xyz.ct NEWCTFILE xyz_upd.ct COPYMSGNEW This way you will not only make sure you have correct translation file but flexcat also pre-fills newly added strings with "*** NEW *** text. Even better tool for checking cd/ct/catalog files is catcheck, but this one is sadly only available for AmigaOS/68k... Some languages have variations, like portugues from portugal and portugues from brasil differs... This is the way to go. I will have a look at language files, but basically if those two languages differ you have to do two separated set of translation files, yes. (you could create a brazilian slang language localization too) * At system level localization for one language is a dot language file. (ex: locale:languages/klingon.language) * At app level localization is a dot catalog file (ex: locale:catalogs/klingon/system/libs/dos.catalog) * At sources level, the dot ct file, and "$language" dot cd files and some building framework. (ex: catalogs/my_app.ct catalogs/klingon.cd catalogs/mmakefile.src support.c support.h) Please, use Flexcat to generate CT files: FlexCat wanderer.cd NEWCTFILE=deutsch.ct Then fill the first 2 lines with something useful: <pre> ## version $VER: wanderer.catalog 1.1 (9.2.2006) ## language deutsch </pre> You can even update the CT-File: (This adds the new strings) FlexCat wanderer.cd deutsch.ct NEWCTFILE=deutsch.ct To compile a catalog you only need the .cd file and your translation (.ct file): FlexCat multiview.cd deutsch.ct CATALOG=MultiView.catalog [http://murks-ide.svn.sourceforge.net/viewvc/murks-ide/trunk/src/Catalogs/flexcat_linux?revision=100 Linux version of FlexCat] : [http://aros.sourceforge.net/documentation/developers/app-dev/localization.php#localization-for-non-developers More information] A script which compares the required version (i.e. the version which an application/module etc. tries to open) with the version of the existing CT files. The result is in this table: https://github.com/aros-translation-team/translations/wiki/Progress The following cases are highlighted: n/a i.e. CT misses at all version in existing CT file is lower than the required version It might be a bit difficult to participate if you haven't worked with Git before but alternatively you can send your CT files to our Slack channel. When the ct file has been generated via flexcat (flexcat keyshow.cd NEWCTFILE=spanish.ct) it has the following header: --------------------------------------------------------------------------------------------------------------- ## version $VER: <name>.catalog <ver>.<rev> (04.01.2021) ## language nolanguage ## codeset 0 ; --------------------------------------------------------------------------------------------------------------- Those values <ver>.<rev> are the version and revision of the CT file for the languaje or are the values of the application being localized? The <ver> part must match with version which the application tries to open. You can find the value either in the column "Required Version" in the table which I've linked above, our you can look in the git repository. For keyshow it would be https://github.com/aros-translation-team/keyshow. You can find in the file "catalog_version.h" the right version number. The <rev> part starts for new CT files with 0 and should be increased every time the CT file is updated. Updated several files and created a few more that were missing on the spanish catalog. The catalogs are in Git repositories at https://github.com/aros-translation-team a) You tell me your Github user name. I'll invite you. You can work directly with the Git repositories. b) You create Github forks of the catalog repositories and create pull requests. c) You send the CT files to mrustler gmx de ===C Utils Misc=== The AROS source uses at several places the __DATE__ macro to fill the date entry of a $VER tag. Problem is that c:version doesn't understand that date format (e.g. "May 21, 2011"). As a result the output of e.g. > "version c:shell full" contains "(null)". Is extending the version command to understand the format of __DATE__ the right solution for that problem? AmigaOs compilers should use __AMIGADATE__ macro or similar form, if it isn't implemented it could be emulated in makefile: -D__AMIGADATE__=\"$(shell date "+%d.%m.%Y")\" BTW. I think DD.MM.YYYY is better format than "Month DD YYY" because "Month DD YYY" is not localized in any way. "strnicmp" shouldn't work with NULL pointers The Situation: compiled a linklib using c++ object files (using the c++ cross compiler). compiled a C stub that uses the linklib (using the c++ cross compiler). Try to link them together (using the c++ cross compiler) with C object files (using the normal target c compiler) that need to use -nostartup = cant do because using the c++ files pulls in arosc (for stdio etc.) - so wants to have the autoinit stuff present. What can I do about this?? If it is possible to manually open it then what do I need to do exactly? === ENV === The philosophy behind ENV: is that keeping configuration files there allows you to 'Use' preferences by keeping a copy in ENVARC: intact. However in some cases (like this one) it is not required. 99% of the time that statement is true (not required) for pretty much every file in ENV: or do people change their default icons - and prefs settings - every boot? There seem to be a bad habit of late with developers changing things to reflect their own personal preference when the change isn't actually necessary - It would be nice if people could refrain from doing that in the tree without at least discussing it on the dev-list first (and with good reasoning unless they committed said work in the first place..) We're not keen on the pollution of the "S:" dir: it's meant to be for scripts. What's wrong with "ENV:"? Only the fact that it takes up RAM. I understand that for PCs with several gigabytes of RAM this is irrelevant. But let's remember about other machines. The philosophy behind ENV: is that keeping configuration files there allows you to 'Use' preferences by keeping a copy in ENVARC: intact. However in some cases (like this one) it is not required. How about implementing in the style of HappyENV then? RAM-disk handler that falls through to reading from ENVARC: if there is no such file stored in it already. Removes RAM usage for unchanged files, removes the need to copy ENVARC to ENV in startup-sequence. Shouldn't be too hard to make from AmberRAM, or even just extend AmberRAM to provide this service. Is it feasable to build a special version of AmberRAM handling ENV: that will try and copy the requested file from ENVARC: if it isnt found in ENV: ? Additionaly it could mark closed "files" as untouched - and expunge them from ENV: after a period of time to free up additional RAM:, or when the system is running low on free memory? Silenty disappearing files may not be a good plan. Would be nice if the following would work: ASSIGN :ENV SYS:Prefs/Env-Arc ADD ASSIGN :ENV RAM:ENV ADD Where new files put in ENV: end up in RAM:ENV, and opening files looks in RAM:ENV first, then SYS:Prefs/Env-Arc Well - that's essentially what im proposing but without the assigns - or need for a RAM:ENV directory. Adding it as a feature of AmberRAM sounds like the most memory efficient way (one handler to load in RAM) but that's only if it is possible to make it handle ENV: additionally to RAM:, and if it is even possible to add the proposed functionality (...and how to make it enable it when accessing ENV:). ===(AS)MP support=== If one has to recompile software for SMP multi core, is there any thing special one has to do to get software to run? Use task.resource if you need to query information about what tasks are running, and clear msgports completely when they are allocated. Most code should not need Forbid. Use Semaphores, Messages etc. to sync your own code. Accessing system structures is a different thing. Use the proper API whenever possible. How single structures will be protected in the future is still a moving target, at least it is not documented. And you should never use undocumented stuff Ideas on for SMP multi-core Another suggestion is ... Forbid/Permit function calls are meant to halt multitasking so as no other task could intervene with what ever the calling task is doing, e.g. setting semaphores. Disable/Enable calls are meant to halt interrupts and as a side effect they also halt task switching. One option is to make it compulsory to protect shared resources with semaphores and forbid the use of simple Forbid() calls as to protect something. Setting semaphore should be done if possible with atomic instructions (check and alter in one instruction). Or make the second concurrent ObtainSemaphore call halt the second calling task and force if possible a task switch which ever gives better results. Semaphores could store the owning tasks task pointer instead of boolean to make things easier. As long as the CPU initiates the DMA transfers through the OS, and the OS ensures that the transferred memory is within the region accessible to the user initiating the transfer, everything is fine. The CPU is the conductor, and the CPU by that has the control of which DMA transfer is initiated and which is not. All you need to do is to write device drivers reasonable. Hint: CachePreDMA and CachePostDMA exist. All the Os has to do is to verify that the memory regions to be transferred are valid, and prohibit direct access to the DMA control registers from user space. None of these algorithms imply huge costs. The current OS design doesn't really allow virtual memory in first place, Forbid() is again the problem. [http://www.tbs-software.com/guide/index.php?guide=autodocs.doc%2Fmemory.doc&node=1 memory.library API] seem to low level. IMHO the programs should not know how the swapping is implemented. I would just go for one new memory flag MEMF_SWAPPABLE that indicates that a certain memory region or a whole memory pool won't be accessed during Forbid()/Permit() etc. It only solves part of the problem, it only implements virtual memory and not memory protection. For the latter you need to be able make certain memory inaccessible by other programs, some memory read-only for one task and read-write for other tasks, etc. And I think this should be done in the same Address Space in order to avoid you constantly need to swap between different address spaces. So to summarize, if there are programs using this API we may provide a wrapper layer to get them working but I am not convinced this API should be the reference API with whom to provide VM to AROS programs. === Variadic === variadic functions (i.e. functions with an arbitrary amount of arguments). <pre> #include <stdarg.h> [...] char * STDARGS GetKeyWord(int value, char *def, ...) { [...] va_list va; [...] va_start(va, def); [...] va_end (args); </pre> Please keep with using stdarg rather than having va casted to a LONG * type and varargs handled manually. Doing so, prevents tons of casting, where a simple va_arg can be used. So, string = *((char **) args) instead of string=va_arg(va, char *). <pre> #include <stdio.h> #include <stdarg.h> int printf (const char * format, ...) { int retval; va_list args; va_start (args, format); retval = vfprintf (stdout, format, args); va_end (args); fflush (stdout); return retval; } /* printf */ </pre> Couldn't find varargs.h or stdarg.h. and have no use for AROS_SLOWSTACKHOOKS or AROS_SLOWSTACKTAGS. GCC looks for stdarg.h in a different place: /bin/linux-i386/tools/lib/gcc/i386-aros/4.2.2/include/stdarg.h Here is a path for a "normal" header: bin/linux-i386/tools/lib/gcc/i386-aros/4.2.2/../../../../i386-aros/sys-include/aros/system.h The use of vararg.h isn't supported by newer gcc versions. If you want your code to run on architectures that pass part of variadic arguments in a number of registers you need to use AROS_SLOWSTACK macros. Otherwise your program will not work on powerpc and x86_64 ports. Of course the SLOWSTACK stuff is not needed in a function that can use va_list, va_start, va_arg and va_end. It's only needed if you want to write functions like DoMethod or similar. #include <stdarg.h> should be enough no matter if you do cross or native compiling. If it does not work, something is wrong and should be corrected. Stdarg.h is here, Development:lib/gcc/i386-aros/4.2.2/include/ ...which is part of the compiler's default include paths. In other words, #include <stdarg.h> works out of the box, indeed. (sorry, I should have just tried it before invoking "search" or "find"...) furthermore, myprintf() as shown above won't work, because... printf(format, args); ...is wrong - the second argument does not match printf() prototype, it expects a argument list, but args is of type va_list (obviously) - so one has to use... vfprintf(stdout, format, args); ...instead, just like in the original printf(), and add fflush(stdout). additionally, one could use... int myarg = va_arg(args, int); ...between va_start() and va_end() to access individual arguments, where each call to va_arg() returns an argument casted to the desired type (here: "int") from the list given (here: "args") and advances to the next one. wrapping up vfprintf() and modifying the format string now is a major speedup! no more backslash-n typing! this has been haunting me for years! On MOS and AmigaOS, the NewObject variadic function is kept in the static library. It takes most of the parameters on the stack - thanks to that the implementation of NewObject calls the NewObjectA function. Everything works perfect, and the typical MUI macros may be easily used. This, however, is not the case when you compile for AROS. Here, NewObject is a variadic macro, not a function. Thanks such approach we do not need any custom compiler in case of systems, where the arguments of variadic functions are passed partially through registers and partially through the stack (This is the case of PPC and x86_64, this is also the reason why both OS4 and MOS require specially patched compilers). Since NewObject is a macro, the gcc's preprocessor expects the list of macros arguments enclosed within parentheses. In MUI macros it is not the case. Imagine the following test code: <pre> #define foo(a,b) ((a)+(b)) int loosy_function(int a, int b) { return foo(a,b); } </pre> This will compile and work, but the following piece of code: <pre> #define foo(a,b) ((a)+(b)) #define END ) int loosy_function(int a, int b) { return foo(a,b END; } </pre> will fail with the error: unterminated argument list invoking macro "foo" There are two ways of fixing your issue. Either create your new objects outside this huge MUI constructions, and in there use just a pointer, or get rid of the "End" macro and exchange it with "TAG_DONE)". Badly written software is, for example, casting va_list to an APTR or even doing so as if va_list were a plain table of function arguments. Such code needs to be fixed because it has very few chances to work anywhere but on author's machine ;) The problem is nOt that they assume sizeof(APTR) == 4, its that they often do not use APTR, and use ULONG to store pointers exclusively. If the code used APTR/IPTR as it should - most of the "problems" wouldn't exist. It would also help if people would start using variadic arguments properly. Many coders do assumptions which shall never be made. Instead, they should consider using stdarg.h file and all the va_* functions :) ===ABI=== In the head of our SVN repository there are now only 3 directories: <pre> admin/ branches/ trunk/ </pre> We have added two extra dirs there: tags and imports As discussed when we branch ABI V0 and [[Aros/Developer/ABIv1|ABI V1]] it would also be good to introduce tags. Normally this is done in a directory in the repository called tags. Currently we don't have this directory there. (We do have branches/tags that is a hack I have done because one doesn't have write access in the top directory. I think this directory is not clean and should be removed). The second directory I would introduce is an imports directory for implementing vendor branches as discussed in the svn [http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html book]. Currently we use code from several different projects and that code is stored inside the AROS tree; we seem to have problems with keeping this code up to date and merge our changes upstream. Maintainers of up stream projects like the MUI classes etc. have complained about this (to put it lightly). Introducing these vendor branches would make it easier to see what changes we have made and make patches to be sent upstream and make it easier to import newer upstream versions of their code. Although can't "copy" the vendor branch into the main branch because it's already there, so start with a "merge". Yes, the first step to make the code already in the repository compatible with the vendor branches will be the most difficult. The best way to do it the following way: * first import the version on which the current AROS code is based into the vendor branch * then import the new version over it in the vendor branch * finally merge the difference between these two version in the AROS code present in the repository. For example, place NList directly under vendor and not in a subdirectory like "contrib/zune/classes". Actually after we have a stable [http://aros.sourceforge.net/documentation/developers/specifications/drafts/abiv1.php ABIv1 (2012 or later)]. We need to move away as much as possible from the contrib directory to some other repositories. The reasons are ... * The AROS repository should be for the core AROS code. * other contrib projects should be tried to be compiled for all Amiga-like OSes. * The release scheme for AROS and the other programs should not have to be aligned. * Binary versions should be provided on aros-archives and on aminet and/or OS4Depot to install them. (Some clever programs should maybe be provided to make the life of distribution developers easier). * avoid parallel forks of programs for AROS and the other amiga OSes. If there is really a need for a place for hosting AROS projects we may investigate setting up such a server but then including bug tracking, governance, maillist, etc. for each project separately. I personally think there are already enough places like sourceforge, google code, savannah, etc. where people can go for hosting such projects. ==Links== * http://amigadocs.hokstad.com * http://amigadocs.hokstad.com/doku.php?id=dev-links In the future...? *AROS 64bit - SMP, Vulkan with OpenGL compability layer *AROS 32bit - keep for historic reasons What would you like to see implemented in AROS? ABIv1 completed, SMP (x86_64), SendMsg()/GetMsg() to support memory protection between target and destination, in that order. Michal Schulz and Jason McMullan have been toying with the question "What are the minimal changes needed to the AmigaOS 3.1 API to support SMP"? The answer so far seems to be "few, but subtle". For example, SysBase->ThisTask is no longer meaningful on SMP, but FindTask(NULL) is. Disable() and Forbid() are shockingly bad on performance, but adding a spinlock semaphore mode to SignalSemaphore will help new code on SMP. Leveraging a 'common' OS with a lot of machine support (Linux, MacOS, Windows, QNX, etc.) is something that AROS has been doing for quite a long time, and it is the biggest strength of AROS. This AROS experience and programming model, in the same way the Google's Android layers on top of Linux, or MacOS X layers on top of the Darwin/BSD kernel, as a first step * The graphics + layers subsystem could be implemented as a shim on top of a OpenGL ES implementation (ie on any modern Linux system, or the RaspberryPI's hardware, MacOS X, etc). - This also allows every window to be on its own 3D surface with backing store, allowing Wanderer (or a Commodity) rearrange/zoom/animate app windows without having to send a pile or refreshes to them * Use OpenAL as the sound backend * AROSTCP would be a thin layer over the native OS's TCP/IP stack * dos.library, poseidon.library, and input.device would be slim shims over the native APIs * If we move to loading all libraries' into the application's task space, instead of a single global instance of the library, this will allow SMP and MMU more easily. - Yes, it will require a lot of work in the libraries to make this transition - Yes, I do think it will be worth it in the end. * A 'fat binary' install format (or, maybe LLVM bytecode) that can be 'flattend' to the target architecture on installation. So, what would this 'AROS of the future' look like? * AmigaOS 3.x style API, with certain 'fundamental changes' to message passing * Uses the underlying OS' device drivers, so more AROS developer effort can go to user-visible features and bugfixes * Allows AROS applications to run side-by-side with the OS's native apps And why would anyone want to program on such a system? * AROS applications would run on any system that has the AROS Framework installed * AROS applications are pixel-for-pixel the same on all platforms. * Develop with the knowledge that you are guaranteed OpenGL and OpenAL, and the rest of the AROS Framework an option for mmake to dump its dependency of metatarget in a graphviz[*] input file. This should make it possible to visualize the dependencies and hopefully be inspiration for cleaning up some mess, circular or unneeded dependencies and so on. AmigaOS gcc 9 [https://franke.ms/amiga/gcc.wiki Old versions] able to create binaries for AmigaOS and [https://eab.abime.net/showthread.php?t=93813 Upgrading gcc versions] === AI === Please see discussion of the [https://arosworld.org/infusions/forum/viewthread.php?thread_id=1933&rowstart=0 Aros world thread] [https://opencode.ai/ opencode], [https://openrouter.ai/models?categories=programming new opencode models], [https://axrt.org/media/aros-ui-ai.mp4 AI ui], *DeepSeek V4 Flash - very good model, use it daily but a small monthly fee payable *Ring 2.6 - good model but pricing small Multimodal Context Prompt <--- Model <---> Agent ---> End user engine Gemini LMStudio Qwen Comfyui etc Recent, self hosting local models on laptops, mini pcs, laptops or desktops with '''quantization''' (compressed) so reducing memory to run on 8Gb VRAM (very low size models) but for better performance more VRAM is needed for text based tasks. For smaller models, very specific prompting and chatting (iterations) for very smaller sections of your overall application as lots of supervision needed for the code produced Ability increases by the amount of ram (more for better quality) and the memory bandwidth (how fast) but Total VRAM should be greater than Model size (in Gbytes), context length (you set Gbytes taken) and KV cache - everything a trade off <pre> Small Limited Okay Better Bigger Best 1-2B 3B 7B 20B 30B model size Q2 Q2 Q4 Q6 Q8 compressing 4GB 8GB 16GB 32GB 64GB VRAM needed </pre> Roughly... *DDR4 Pi5 about 17GB/s *DDR5 about 40Gb/s *DDR6 about 90Gb/s about Jetson Orin Nano level *Strix Halo about 210Gb/s *DGX Spark about 220Gb/s * MacBook M3 base 100GB/s Pro 150GB/s Max 200Gb/s unified memory * MacBook M4 base 120Gb/s Pro 170Gb/s Max 250Gb/s * MacBook M5 base 140Gb/s * MacBook M6 base 160Gb/s Pro 180Gb/s Max * [https://www.youtube.com/watch?v=jMnMrivvAWo Mac Studio] Max 400Gb/s to Ultra 800Gb/s *[https://lmstudio.ai/download LMstudio single gpu], 128Gb *[ gpt-oss-120b] 70Gb model 64Gb *[HauHau 3.6 35B] *[ muse-glimmer] 32Gb Alibaba Cloud's [ Qwen] team series of large language models LLMs *[ Qwen-3.8-27B] *[ Qwen-3.6-27B] 16Gb *[ Qwen 3.8 27B GSQ ACO GGUF] 8Gb *[ glm-ocr] *[ medGemma] *[ qwen 3.5-4b] *[https://github.com/sipeed/picoclaw picoclaw claude] *[ DeepSeek R1] *[ Qwen 3.5 9B Q4] *[ Qwen 2.5 14b Coder] *[ gpt-oss-20b 4Q] Simple laptop *[ mini CPM5-2B] for simple user interfaces of single c file apps as long as robust explicit clear instruction given For the full experience #Training learning using 1+ high end GPUs at least 16GB VRAM per GPU card or 64Gb+ of unified, 16Core CPU with at least 64Gb of RAM system memory #Inference with custom asics or GPUs For ever bigger LLMs needs one of the below but with settings adjusting *[https://ollama.com/download Ollama single gpu] *[https://github.com/ggml-org/llama.cpp/releases llama.CPP multi gpus], *[ VLM multiple gpus], *[ MiniMax H3] for audio and video but gpu 8Gb+ *[https://github.com/ideogram-oss/ideogram4 ideogram4] *[https://github.com/calesthio/OpenMontage OpenMontage] *[https://github.com/jamiepine/voicebox voicebox] *[ Chatterbox] with neural watermark *[ Index-TTS] *[ Qwen3-TTS] *[ Omnivoice] *[ faster-qwen3] *[ dots.tts] Multimedia *[ Kimi K3], Refactor *[ Devstral-small-2 256K context] FIM - Fill in the middle Mistral Codestral-2 for 64Gb+ unified <pre> Text to Audio --\ Text to Video --/ Reference Video --> Video and Audio output </pre> Agent = Model + Harness Agentic Harnesses like [ Claude Code] [ Cursor] [ ] could help models. [https://github.com/deepseek-ai/deepseek-harness Deepseek] etc allows many models to reside inside but also everything is a plugin, including the model adapter, the tool registry, the session log, and the agent loop itself, so each is replaceable from configuration MoE mixture of experts model ==References== {{reflist}} {{status|50%}} {{BookCat}} rsw21gydld4llueteplt3nk647qbusa 4670163 4670162 2026-09-15T09:25:15Z Jeff1138 301139 4670163 wikitext text/x-wiki {{ArosNav}} ==A technical overview of AROS== Google translation [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAros%2FDeveloper%2FDocs Chinese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Russian], [http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FDeveloper%2FDocs Portuguese] {{Uncited}} AROS,<ref>[http://aros.sourceforge.net/download.php References and sources]</ref> like AmigaOS (TM), is a [[w:Message passing|message-passing]], [[w:Preemption (computing)|preemptive]] [[w:Multitasking|multitasking]] [[w:Operating system|OS]]. It uses [[w:Reentrant (subroutine)|re-entrant]] shared libraries to save memory space. AROS is based around an executive library kernel (Exec) and two other libraries: * Exec (the "kernel", which is not a kernel in the modern sense), * Intuition (graphics and GUI, integrated into the system) and * AmigaDOS (Disk Operating System, the Metacomco's Tripos modified to work with Exec). The design philosophies of AmigaDOS and Intuition are rather different, the former adopting a C-like API and the latter creating an [http://www.basden.demon.co.uk/amiga/amiga.oo.html object-oriented], message passing aware environment for the programmer. The system base is the only absolute address in AmigaOS (located at 0x00000004) this does differ with AROS as AROS SysBase is automatically provided (no $4) but everything else is dynamically loaded. The OS is well known for delivering high performance due to its close connections with the hardware, while simultaneously having the flexibility to support re-targetable graphics (Cybergraphics) and retargetable audio subsystems (AHI). : Diagram showing relationships of libraries to system needed Remember, AROS is a [http://en.wikibooks.org/wiki/Aros/Developer/ABIv1 research] operating system, and while all contributions to the base AROS code are welcome, please contact the dev list first for any core changes. Writing applications for AROS does not have this requirement. While AROS appears and feels almost feature complete, it is still [[Aros/Developer/IncompleteAPIs|missing a small number of functions]] from the Amiga API. [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1201 This thread provides] information for setup, [http://www.aros.org/documentation/developers/index.php documentation] and whether you are interested in core OS changes and/or writing/porting software apps *you compile directly under AROS, which can be running on either real hardware, virtual hardware *in hosted mode under linux/window, cross-compile from that host OS (save your files as ISO-8859-15 encoding instead of UTF-8) [https://github.com/BlitterStudio/aros-compiler-docker Docker images] '''The repository''' for 64bit and 32bit ABIv1 all hardware platforms is [https://github.com/aros-development-team/AROS current development version]. There are many forks of this so that developers can work on their own and forward changes at a later date as discussed on the dev forum 64bit PC is one of two hardware platform with another fork called [https://github.com/deadwood2/AROS abiv11] which is used for Aros One x64 PC 32bit PC is the other fork [https://github.com/deadw00d/AROS/tree/alt-abiv0 repository for current stable PC version ABIv0 with backported ABIv1 features is located which is used on AROS One and Icaros x86 32bit based distros] this is for historic reasons Any [https://github.com/aros-development-team/AROS/issues bugs / issues can be added for ABIv1 issues]. The two individual PC forks have their own issues tab on their github webpages We have a [https://arosdevteam.slack.com/archives/CUFV48U3H slack here], discord on [https://discord.gg/UKp9qdEBuQ Discord@AmigaDev], ==Software Development for AROS== ===Programming languages=== ====Common to all==== 'The Developer Environment', which primarily supports C/C++ code, there are other scripting programming languages available :[[Aros/User/DOS|DOS]] :[[Aros/Developer/Docs/LUA|LUA]] :REXX [[Aros/Developer/Docs/Rexx|Regina (AROS' ARexx)]] ====Needs to be compiled/ported==== ::[[Aros/Developer/Docs/LLVM|LLVM]] ::Python [ Info], [], ::[https://ae.arosworld.org/index.php?board=11.0 FreePascal FPC Aros-Exec thread], [https://archives.arosworld.org/index.php?function=browse&cat=development/language fpc arm here is very old and will not work], FreePascal for AROS has its own [http://fpcaroswiki.alb42.de/ Wikibook], ::[http://sourceforge.net/projects/xamos/ X-Amos Basic] ::[http://sdlbasic.sourceforge.net/ SDLBasic] ([https://archives.arosworld.org/index.php?function=browse&cat=development/language ]) ::[[Aros/Developer/Basic/Basic4SDL|Basic4SDL]] ([https://archives.arosworld.org/index.php?function=browse&cat=development/language ]) ::[http://alvyn.sourceforge.net/ Alvyn] ([http://www.dusabledanslherbe.eu/AROSPage/MISC.14.html download]) ::[http://www.airsoftsoftwair.com/ Hollywood when enough users warrant a port - paid one time fee language] ::[[Aros/Developer/Docs/E|AmigaE Portable E]] ====Hardware Restricted==== '''Basic''' :[http://amos.pspuae.com/AmosProManual/contents/c1.html '''Amos Pro'''] [http://amos.pspuae.com/index.php?action=forum#1 compatible] [http://www.amigacoding.com/index.php/Main_Page commands] (all incomplete) :'''Blitz Basic''' [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=46537#forumpost46537 none on AROS] :: [http://www.amiforce.de/main.php Amiblitz] on amiga(TM) emulator :'''Amiga Basic''' :: [ ACEBasic] '''Misc''' :Ruby [http://www.ruby-lang.org/en Info]/[https://archives.arosworld.org/index.php?function=browse&cat=development/language Ruby 32bit PC], ===Where to get the C/C++ Environment=== If you want to develop for AROS, its generally easier to be running linux hosted AROS development environment especially for C++, cross compiling the code. That's how most developers now are doing it. g++ is used to compile owb web browser as well as some other AROS software. If you were hoping for a rich set of C++ libraries or classes defined for the OS feature set, you might be disappointed. AROS Native compiling is possible, but you're much more likely to run into the odd bug(s) in the dev environment since it gets little testing and fixing by other developers. Is there a sftp software or scp over ssh available? Maybe. At least the security part would be handled by [https://github.com/jens-maus/amissl amissl] [https://archives.arosworld.org/index.php?function=browse&cat=network/misc port]. [https://github.com/BlitterStudio/dopus5 DOpus5] has recently added sftp support. See here for a [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1974&highlight=ssh&pid=12073#post_12073 ssh scp client] [https://arosdevteam.slack.com/join/shared_invite/enQtOTc4Mzg0NDIzNzQ0LWQ2NWZmNmMwNGIwNGEyNTgxNzU3MGFjMTk3ZThmOTQ1MTVjMzhmNTllYWQ0ZTUxMjBjMGE0Y2VjMDJmNTc5MzI#/shared-invite/email Slack Dev Forum] ====Cross compilers from Windows or Linux==== *Windows WSL2 walkthrough can be [https://arosnews.github.io/how-to-cross-compile-aros-hosted-wsl/ found here] you want to build AROS. No problem. Here are instructions for PC 64-bit: https://github.com/deadw00d/AROS/blob/master/INSTALL.md Here are instructions for PC 32-bit: https://github.com/deadw00d/AROS/blob/alt-abiv0/INSTALL.md And as always has been the case you can use the contrib archive to 'obtain' the development directory which contains the /native/ AROS gcc compiler and tools. That compiler is used to build AROS itself but can be used outside the AROS build process by providing --sysroot with indicated directory to cross compile for AROS. '''64 bit''' '''32 bit''' A good option for multiple OS is [https://axrt.org/index.php?tab=download-aros AxRuntime lets developers compile their Amiga API-based applications as Linux binaries being able to utilize modern development tools available on Linux, like IDEs, debuggers, profilers, etc] Older 32bit guides for Linux hosted compiler Please install these packages before moving to next step. Below is a reference list for Debian-based distributions. Reference build system was Ubuntu 18.04/20.04 amd64. subversion git-core gcc g++ make gawk bison flex bzip2 netpbm autoconf automake libx11-dev libxext-dev libc6-dev liblzo2-dev libxxf86vm-dev libpng-dev gcc-multilib libsdl1.2-dev byacc python-mako libxcursor-dev cmake zsh mingw64 Do all of these operations under home directory of your user or another directory where your user has write permissions. Specifically, in a section "Linux-i386", be sure first to build the cross-compiler (toolchain-alt-abiv0-i386) and only then AROS itself (alt-abiv0-linux-i386). Clone & build <pre> $ mkdir myrepo $ cd myrepo $ git clone https://github.com/deadw00d/AROS.git AROS $ cd AROS $ git checkout alt-abiv0 $ cd .. $ cp ./AROS/scripts/rebuild.sh . $ ./rebuild.sh </pre> Now to the build selection below - Linux-i386 Select toolchain-alt-abiv0-i386 - Select alt-abiv0-linux-i386 (DEBUG) Start AROS by: <pre> $ cd alt-abiv0-linux-i386/bin/linux-i386/AROS $ ./Arch/linux/AROSBootstrap </pre> Pc-i386 Select toolchain-alt-abiv0-i386 (if not built yet) - Select alt-abiv0-pc-i386 ISO image available in alt-abiv0-pc-i386/distfiles Now that we have linux-hosted build, we can resume native (option 2). Run ./rebuild.sh and selection option 2. Wait until it finished, then: <pre> $ cd alt-abiv0-pc-i386 $ make </pre> Now <pre> $ make bootiso </pre> Now, your compiler is located in toolchain-alt-abiv0-i386 directory and named i386-aros-gcc. Includes are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/include and libraries are in alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development.lib. This is how then can be passed to the compiler: /home/xxx/toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot /home/xxx/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development -L/home/xxx/alt-abiv0-linux-i386-d/bin/linux-i386/AROS/Development/lib ../toolchain-alt-abiv0-i386/i386-aros-gcc --sysroot bin/linux-i386/AROS/Development local/helloworld/helloworld.c -o local/helloworld/helloworld Another method was using Debian like distros and download the [https://archives.arosworld.org/index.php?function=browse&cat=development/cross gimmearos.sh script] to setup the developer environment by downloading necessary packages ... The gimmearos script is a good start in that direction, building the cross compilers and hosted AROS environment, but gimmearos.sh might be out of date or not be completely compatible with any given linux distro. In order to do that, you have to compile AROS yourself. Download AROS source archive not contrib. Compile AROS by entering the main directory ./configure make ([http://http://developers.aros.org/documentation/compiling.html More on compiling AROS]). The result will be a basic AROS system without development tools. To compile C++ on Linux, type 'make gnu-contrib-crosstools', creating the cross-compilers in ./bin/linux-i386/tools/, named i386-aros-gcc, etc. '''Note''': Currently, to make the cross compilers usable copy 'collect-aros' from tools/ to tools/i386-aros/bin/. At the moment the cross compilers if used from the Linux command line will only find it when it's there. If you want to compile native compilers (the Developer Environment), type 'make contrib-gnu-gcc', creating native compilers in AROS' System:Development/bin directory. When the output needs to be stripped <code>--strip-unneeded --remove-section .comment</code> The Obj-C backend should build out of the box. Open contrib/gnu/gcc/mmakefile.src and search for the line which contains "--enable-languages" and add "objc" to the list of languages that follows it. --enable-languages=c,c++,objc Better make it—enable-languages=c,c++,objc,obj-c++ ObjC++ is broken as soon as you try to use exceptions, but that might change in future GCC versions and it does not hurt having it there already. Do you need a cross-compiler or a real compiler? In the first case you can get away with just downloading the proper gcc archive, apply the patch and proceed with the normal gcc build. In the case of a real cross-compiler then when downloading the contrib sources, also need to download the normal sources, place the contrib sources into a directory called contrib, need to install autoconf+automake+perl+python, call ./configure, cd into the subdirectory and type make. to rebuild GCC with host == build == target == i386-pc-aros. So just get the vanilla sources and apply the patches without bothering about the build system? [https://vmwaros.blogspot.com/2019/10/a-pre-configured-development-machine.html pre-configured VM environment vmware virtual machine to develop AROS and AROS software] ====Native compilers for AROS==== Namely gcc for C or g++ for C++ are supplied with the [[Aros/Developer/Docs#The Developer Environment|Developer Environment]], which is already '''setup''' and part of any current AROS distribution like AROS One or the nightlies * Current GCC 6.5 (32bit) though moving to 10.5 and 15.1 (64bit) * Older software components. GNU GCC 4.x GNU BinUtils, GNU Fileutils 4.x, GNU Textutils and others usually deprecated On single partition systems and the Boot ISO, the AROS Developer environment is installed under "SYS:Development/". Systems with multiple partitions - such as a Work: partition - tend to install it to there instead, however it can be installed manually to any location. Please remember, if moving, that you will need to correct the Development packages 'install location' env variable to point to the new locations root - look in SYS:S/startup-sequence. <pre> Assign Development: SYS:Development Assign C: Development:bin ADD </pre> In the aros build instructions. you need to check out contrib and/or ports into your AROS source directory, as subdirs. then, assuming you are building in an external build dir, as you should, you simply configure and "make contrib" for instance or whatever submodule you might want to build. ===Beginners Tutorials in C C++=== As AROS is [http://eab.abime.net/showthread.php?t=29856 C based] API compatible to AmigaOS 3.x, so most of the information on programming C on the Amiga applies to AROS as well. Please note that there is a lot of AmigaOS 1.3 (1985-1989) and [https://www.markround.com/amigaguide AmigaOS AOS 2.x (1990-1992)] information around but OS3.1 is recommended but limited in amount. Brief overview of what is required to write AROS Applications # Using [[Aros/Developer/Docs/Libraries/Intuition|Intuition]] for basic screens/windows # Using graphics within windows via 8bit [[Aros/Developer/Docs/Libraries/Graphics|graphics]] and so onto 15-16-24bit [[Aros/Developer/Docs/Libraries/CGFX|cybergraphx]] # Load and save work to [[Aros/Developer/Docs/Libraries/DOS|dos]] disk drives # Using the [[Aros/Developer/Zune|ZUNE GUI Environment]] Writing native games require this extra information # Using [[Aros/Developer/AHIDrivers|AHI audio hardware independent API]] # Using USB joystick/joypad with the Poseidon USB stack through [[Aros/Developer/Docs/Libraries/LowLevel|LowLevel]] library Additional features that could be added later # Adding additional [[Aros/Developer/Docs/Libraries/Locale|Locale]] language translations to your program # Adding a [[Aros/Developer/Docs/Rexx|AREXX/Regina]] port to your application # Executing Amiga(TM) [[Aros/User/DOS|DOS]] commands from your application # Using [[Aros/Developer/Docs/Libraries/Icon|icons]] (.info files) and icon tooltypes (stack, version, and program startup options) # Local couch or IP based SANA2 networking co-op multi player gaming support Most AmigaOS programming books are nowadays very much out of date as most are from the late 1980s and do not cover later amigaOS releases like 3.1 for example, Rob Peck's book "Programmer's Guide to the Amiga". The Amiga ROM Kernel manuals aka RKMs like Libraries (3rd edition), Devices (), the AmigaDOS manual (3rd edition) and the Style Guide may have their uses. There are some reference examples from AmigaMail and Devcon notes (available again on an Amiga developers CD 2.1). For Arexx then "The Amiga Programmer's Guide to ARexx" by Eric Giguere, which was published by Commodore is useful as well as an "Arexx Cookbook". * Beginners C Guide [http://www.iu.hio.no/~mark/CTutorial/CTutorial.html C Tutorial], * [http://www.pjhutchison.org/tutorial/amiga_c.html Amiga based but interesting] * [http://thecguru.com/ C for beginners], * [http://fresh2refresh.com/c/c-basic-program/ C programming basics] for students, * [https://www.edx.org/courses Free Online course] from American Universities * Reference Amiga [http://amigadev.elowar.com/ API reference]. * AROS based c source can be found [[Aros/Developer/Docs/Examples|here]] and lots of example code can be found inside [https://github.com/aros-development-team AROS sources] themselves and from the contrib section of the archives from [https://github.com/aros-development-team/contrib Aros site], and study the AROS applications source code, e.g. the test programs from the Tests drawer (folder/directory). Take a look at the code of some smaller AROS programs might be a better and more up to date When you upload your builds, please write the architecture (like i386-aros, x86_64-aros, aarch64-aros etc.) in the archive name and it is also advisable to write in the field "Requirements" the ABI (ABIv1 leave blank, for PC fork 64bit ABIv11 ends in v11, 32bit ends in , Arm Pi ends ) ===Compiling C/C++ Code=== Native, although we have a IDE Integrated Development Environment (Murks), it does lack a debugger. Whilst others use a combination of a text editor and shell to edit code. Most though use an AROS hosted on Linux to take advantage of the better GCC tools like GDB and various IDEs. Open shell - its a menu option at the top left of Wanderer (desktop). Or by using the right Win key and w (or F12 and w) within the directory with the source code. Type in sh to change the amiga shell into a unix shell. You can then type in ls (unix equivalent to amiga dir). Take a look [http://en.wikibooks.org/wiki/Linux_commands here] for more commands. For a single file program-name.c or program-name.cpp gcc -o program-name program-name.c or g++ -o program-name program-name.cpp or g++ -o test -Wall -g main.cc texturelib.cpp xmodelib.cc -lsdl -lgl To close the shell, click on the top left-hand corner to close (twice). Once to get back the aros shell and then again to close finally. Use [http://freshmeat.net/projects/cksfv/ cksfv] as a test. Some source code requires the addition of Amiga API libraries, like dos, which you can flag at the compile time as gcc -o julia.exe julia.c -ldos For DOS use -ldos as example and if you are compiling mui codes it will be -lmui or intuition -lintuition. Other missing symbols are due to linker libraries being necessary for linking in functions that aren't in the standard C libraries. For example some source code would need added -lz or -lm or -lpng or -larosc etc. use this in unix line command mode to search for 'search-item' in many .c files (*.cpp for c++, etc.) grep -l 'search-item' *.c If the program is not executable, try using parameter fno-common "Delete #?.o"? Or if you are using abcshell then "rm *.o" :''More information: [[Aros/Developer/Porting software]]'' === How to make Apps have AROS 64-bit specific support code === [http://www.aros.org/cs/documentation/developers/app-dev/portable.php Portable code] AROS64 already uses 64bit addressing, it just doesn't setup the MMU for more than 4GB physical memory currently. When porting software to AROS64 it is "mostly" a case of converting ULONG's that are used to store pointers, into IPTR's instead, etc. Another quirk, is making sure items on the stack are the correct size by using the STACKED attribute for them. * Use texteditor or some tool to replace all "ULONG" with "IPTR" and "LONG" with "SIPTR" in the sources. compiling mui stuff for aros setting -std=gnu99 is necessary, had -std=c99 usually A MUI application most likely needs only the HOOKPROTOxxx SDI macros. They are compatible with AROS, only the attributes (hook, object attribute) must be given in the right order. crash which suggest memory corruption. From my experience porting from 32-bit to 64-bit these kinds of errors can happen if a pointer is passed somewhere via ULONG variable. Then half of the pointer is cut. To generate this error, please run AROSBootstrap with -m 1024. This will allocate heap to 64-bit address space which will make these errors immediatelly visible. These types of crashes are hard to debug. Disabled as little code as possible to stop corruption from occurring and then try to read from the code where it can be broken Crashing in tslf_freevec is another symptom of memory corruption and these memory corruptions will manifest differently on different setups. ==Coding conventions== As the AROS core source is a shared developer experience, there are rules regarding structure and style. When it comes to your creating your own app and coding, the structure and style should be your own, i.e. you should enjoy what you do and do it so that you can understand what is going on. ===Layout=== <syntaxhighlight lang="c"> static void 1st_function() { program exit(0); } int main(void) { 1st_function(); 2nd_function(); 3rd_function(); return 0; } </syntaxhighlight> <syntaxhighlight lang="c"> struct Screen * openscreen(void); struct Window *openwindow(struct Screen *screen, const char *title, LONG x, LONG y, LONG w, LONG h); VOID 1st_function(); VOID 2nd_function(); int main(int argc, char **argv) { program return 0; } /* main */ VOID 1st_function() { } VOID 2nd_function() { } </syntaxhighlight> ===General style=== This code is used by many people and therefore you should keep some things in mind when you submit source code: * Keep things simple * Keep the source clean * Always know what you are doing, if not flag it and describe what needs to be done... * Explain clearly/simply what you are doing * Remember that you write code once but that it is read many times by many people ===Comments=== AROS uses some of the comments in the source to generate the documentation. Therefore it's necessary to keep a certain format so the tools can find their information. Other comments are ignored but they should explain what you thought when you wrote the code. If you really can't think of an explanation, then don't write the code a second time like this: <pre> /* This adds 1 to t */ t ++; </pre> What we think of is this: <pre> /* Go on with next element */ t ++; </pre> ===Formatting=== This is only '''IMPORTANT''' if you are going to work on the core AROS code or contrib but not applications which may reside outside like on AROS Archives or other websites. <syntaxhighlight lang="c"> { /* a */ struct RastPort * rp; int a; /* b */ rp = NULL; a = 1; /* c */ if (a == 1) printf ("Init worked\n"); /* d */ if ( !(rp = Get_a_pointer_to_the_RastPort ( some , long , arguments ) ) || a <= 0 ) { printf ("Something failed\n"); return FAIL; } /* e */ a = printf ("My RastPort is %p, a=%d\n" , rp , a ); return OK; } </syntaxhighlight> Looks ugly, eh ? :-) Ok, here are the rules: <pre> If several lines contain similar code, put similar things below each other (see a and b); Put spaces between operands and operators Put braces {}, brackets [] and parentheses () below each other (d) if there is much code between. Brackets and parentheses may be in one line if the code between is small (c) Indent by 4 Spaces. Two indent levels may be abbreviated by one tab. </pre> '''Before committing please normalize the indentation - if you have a mixture of tabs and spaced - please always use spaces, 1 tab = 4 spaces.''' The reasons for this are: # While some editors can use an arbitrary sizes for tabs, it's a bit complicated to tell another editor which tab size was used by the one used to write the code. # Most code in AROS was written this way and your code should look like the rest. # You can print this code on any printer without special tools to "fix" the tabs. # Most editors have smart tabs which do exactly this. If your editor doesn't, write a bug report. If you have a function with many arguments (d, e) you should put the parentheses in lines of their own and each argument in one line (d) or put the first argument behind the opening parentheses (e) and each following argument in a line of its own with the comma in front. The closing parentheses is in a line of its own and aligned with the beginning of the expression (i.e. the a and not the opening parentheses or the printf()). Use a single blank line to separate logical blocks. Large comments should have a blank line before and after them, small comments should be put before the code they explain with only one blank line before them. If you see any TABS in AROS core sources then the suggestion is to "detab the file and commit that separately" either before or afterwards from making functionality changes. Make two commits instead of one. This makes it easier for others to see the real changes instead of having to dig through multiple lines of irrelevant diffs. ===Eliminating Global Variables=== i.e. pass variables to functions (local scope) or classes making it easier to track and debug your code. Any time you find that you need a particular thing in 'a lot of different places', chances are that all those places are conceptually related, and so you can create a class, a namespace, a function, or some other higher-level organizational unit to represent that relationship. This makes the program easier to understand. Bad Designs * All variables are global. * There are no standalone functions, only sub-procedures which act on the global variables. * Every sub-procedure is at least 500 lines to several thousand * Every sub-procedure has more than one task to perform * Copy-paste is preferred to writing methods, AND subtle changes are made in the middle of the code Good Designs * structure program into functions (C or basic) - top-down procedural approach * put in class(es) (freepascal or C++) - the object is fixed and you use methods to access the object <pre>  class String_List  {  private:  list<string> m_List;  // member  public:  void read_strings() { /* read strings into m_List */ }  void print_strings() { /* write contents of m_List to stdout */ }  void sort_strings() { /* sort contents of m_List */ }  void sort_strings_reverse() { /* reverse-sort contents of m_List */ }  void unique_strings() { /* remove duplicate strings */ }  };  int main()  {  String_List myList;  // local  myList.read_strings();  myList.sort_strings();  myList.print_strings();  myList.sort_strings_reverse();  myList.print_strings();  myList.unique_strings();  myList.print_strings();  return 0;  } </pre> This way it is very easy to replace the list with new list for debugging purposes, or replacing the methods without replacing the list, when you want different results. You only have to replace the content of the local variables. So create the structure that matches your data (linked lists, trees, arrays, etc.) and what to do with them (sorting, searching, etc.) <pre> .h usually contain #define #include typedef enum struct extern screen and window definitions (data structures) .c should contains functions and algorithms </pre> One way to look at it is that menu headings act as the .c file and sub-menu headings as functions. When you start a project, you place a couple of declarations in the include file. As the project continues, you place more and more declarations in the include file, some of which refer to or contain previous declarations. Before you know it, you have a real mess on your hands. The majority of your source files have knowledge of the data structures and directly reference elements from the structures. Making changes in an environment where many data structures directly refer to other data structures becomes, at best, a headache. Consider what happens when you change a data structure. Use good variables names to help clarify code and only comment when you need to explain why a certain programming approach was made. You're Refactoring Legacy Code, you see a global, you want to get rid of it. How do you do this? Exactly what to do depends on how the global is used. The first step is to find all uses of the global throughout the code, and get a feel for what the significance of the variable is and how it relates to the rest of the program. Pay particular attention to the "lifetime" of the variable (when it gets initialized, when it is first used, when it is last used, how it gets cleaned up). Then, you will probably make the global a data member of a class (for OO languages), or you will write some get/set functions. Converting to the Singleton Pattern is common, but you may discover that it makes more sense for the data element to be a member of an existing singleton, or maybe even an instance variable. # Create a basic read method, either as a class or a global function. Replace all reads with the access method, but leave the variable defined as a global. # Review each of the writes to the method and extract action functions one at a time. Unless two operations are coded identically in the original code, extract each write access separately. # Change the variable scope from global to local. # Analyze similar action functions to determine if any can be merged, i.e., there are no functional differences in the results of the function, just differences in the implementation details. # Review the calls to the read method and see if a more complex functionality should be applied. Follow the approach for writes and unless implementations are identical, create separate access functions. # Analyze the access functions for duplication. As returning variables by "passing by value" are forgotten, so "passing by reference" is often used instead. The reference is a pointer to the variable so the value is remembered when returned. Alternatives * Hidden Globals * Singleton Pattern * Database or TupleSpace * Context Object * Dependency Injection * Stateful Procedures ==AROS/AmigaOS APIs and Docs== <pre> Library: - Private data structure - Many public access methods Device: - Private data structure - Two (BeginIO/AbortIO) access methods Resource: - Public data structure - *NO* access methods </pre> And, being Amiga OS-compatible, there are exceptions to all of these. ===System Libraries=== The [http://developers.aros.org/ AROS Guide To Libraries] can be used as a guide to individual commands and old Dev Docs are used in application programming. Amiga/Aros styles libraries are very different from windows and linux libs. Typical .so/dll libraries are foreign to most Amiga-like OS *[[Aros/Developer/Docs/Libraries/AROSC|arosc.library]] *[[Aros/Developer/Docs/Libraries/AmigaGuide|amigaguide.library]] *[[Aros/Developer/Docs/Libraries/ASL|asl.library]] *[[Aros/Developer/Docs/Libraries/Bullet|bullet.library]] *[[Aros/Developer/Docs/Libraries/BSDsocket|bsdsocket.library]] *[[Aros/Developer/Docs/Libraries/CAMD|camd.library]] *[[Aros/Developer/Docs/Libraries/Codesets|codesets.library]] *[[Aros/Developer/Docs/Libraries/CGFX|cybergraphics.library]] *[[Aros/Developer/Docs/Libraries/CGXVIDEO|cgxvideo.library]] *[[Aros/Developer/Docs/Libraries/Commodities|commodities.library]] *[[Aros/Developer/Docs/Libraries/DataTypes|datatypes.library]] *[[Aros/Developer/Docs/Libraries/DiskFont|diskfont.library]] *[[Aros/Developer/Docs/Libraries/DOS|dos.library]] *[[Aros/Developer/Docs/Libraries/Exec|exec.library]] *[[Aros/Developer/Docs/Libraries/Expansion|expansion.library]] *[[Aros/Developer/Docs/Libraries/FreeType2|freetype.library]] *[[Aros/Developer/Docs/Libraries/GadTools|gadtools.library]] *[[Aros/Developer/Docs/Libraries/Graphics|graphics.library]] *[[Aros/Developer/Docs/Libraries/Icon|icon.library]] *[[Aros/Developer/Docs/Libraries/Identify|identify.library]] *[[Aros/Developer/Docs/Libraries/IFFParse|iffparse.library]] *[[Aros/Developer/Docs/Libraries/Intuition|intuition.library]] *[[Aros/Developer/Docs/Libraries/Keymap|keymap.library]] *[[Aros/Developer/Docs/Libraries/Layers|layers.library]] *[[Aros/Developer/Docs/Libraries/Locale|locale.library]] *[[Aros/Developer/Docs/Libraries/LowLevel|lowlevel.library]] *[[Aros/Developer/Docs/Libraries/MathIEEESingBas|mathieeesingbas.library]] *[[Aros/Developer/Docs/Libraries/MathIEEEDoubBas|mathieeedoubbas.library]] *[[Aros/Developer/Docs/Libraries/MathIEEESingTrans|mathieeesingtrans.library]] *[[Aros/Developer/Docs/Libraries/MathIEEEDoubTrans|mathieeedoubtrans.library]] *[[Aros/Developer/Docs/Libraries/Mathtrans|mathtrans.library]] *[[Aros/Developer/Docs/Libraries/MUIMaster|muimaster.library]] *[[Aros/Developer/Docs/Libraries/Partition|partition.library]] *[[Aros/Developer/Docs/Libraries/PopUpMenu|popupmenu.library]] *[[Aros/Developer/Docs/Libraries/OOP|oop.library]] *[[Aros/Developer/Docs/Libraries/Regina|regina.library]] *[[Aros/Developer/Docs/Libraries/Reqtools|reqtools.library]] *[[Aros/Developer/Docs/Libraries/RexxSysLib|rexxsyslib.library]] *[[Aros/Developer/Docs/Libraries/ScreenNotify|screennotify.library]] *[[Aros/Developer/Docs/Libraries/TTEngine|ttengine.library]] *[[Aros/Developer/Docs/Libraries/Thread|thread.library]] *[[Aros/Developer/Docs/Libraries/Utility|utility.library]] *[[Aros/Developer/Docs/Libraries/Xadmaster|xadmaster.library]] *[[Aros/Developer/Docs/Libraries/Workbench|workbench.library]] *[https://github.com/aros-development-team/AROS/commit/c82e86b8480277998014cc327b56c7664023a52f ClassAct Reaction boopsi class] ===AROS Subsystems=== # [[Aros/Developer/Zune|Zune MUI compatible GUI]] # [[Aros/Developer/AROSAppPackages|AROS Application Packages]] # AHI Audio Drivers - [[Aros/Developer/AHIDrivers|Usage]]/[[Aros/Developer/AHIDriversDev|Development]] # AROSTCP Sana2 Network Interface Drivers - [[Aros/Developer/NICDrivers|Usage]]/[[Aros/Developer/NICDriversDev|Development]] # [[Aros/Developer/AmiSSL|AmiSSL]] # gfx.hidd/cybergraphics Video Drivers - [[Aros/Developer/GfxDrivers|Usage]]/[[Aros/Developer/GfxDriversDev|Development]] # IO Device Drivers - [[Aros/Developer/IODeviceDrivers|Usage]]/[[Aros/Developer/IODeviceDriversDev|Development]] # USB Device Drivers - [[Aros/Developer/USBDrivers|Usage]]/[[Aros/Developer/USBDriversDev|Development]] # PCI Device Drivers - [[Aros/Developer/PCIDrivers|Usage]]/[[Aros/Developer/PCIDriversDev|Development]] # [http://www.libsdl.org/ SDL] [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2013&pid=13333#post_13333 SDL2 coding usage], [https://github.com/search?q=repo%3Aaros-development-team%2Fcontrib%20SDL2&type=code SDL2 commits], [https://github.com/aros-development-team/contrib/commit/c62c3c425c35bac19dadc23be092b0b13a66c76c SDL3 initial commit], [] # [[w:Gallium3D|Gallium 3D]] [http://www.mesa3d.org/ openGL aka Mesa] - [[Aros/Developer/OpenGL|Usage]]/[[Aros/Developer/OpenGLDev|Development]] [http://www.swiftless.com/opengltuts.html Swfitless] # A small subset of GTK2 through [http://sourceforge.net/projects/gtk-mui/ MUI-GTK] # Cairo 2D Engine - [[Aros/Developer/Cairo|Usage]]/[[Aros/Developer/Cairo|Development]] # [[Aros/Developer/Scalos|Scalos desktop API and plugin modules]] # [[Aros/Developer/VHI|VHI video driver]] ====HIDDs==== *[[Aros/Developer/Docs/HIDD/HIDDClass|hiddclass.hidd]] *[[Aros/Developer/Docs/HIDD/Graphics|graphics.hidd]] *[[Aros/Developer/Docs/HIDD/VesaGfx|vesagfx.hidd]] *[[Aros/Developer/Docs/HIDD/ATI|radeon.hidd]] *[[Aros/Developer/Docs/HIDD/NVidia|nvidia.hidd]] *[[Aros/Developer/Docs/HIDD/Nouveau|nouveau.hidd]] *[[Aros/Developer/Docs/HIDD/Kbd|kbd.hidd]] *[[Aros/Developer/Docs/HIDD/Mouse|mouse.hidd]] *[[Aros/Developer/Docs/HIDD/i2c|i2c.hidd]] *[[Aros/Developer/Docs/HIDD/IRQ|irq.hidd (deprecated)]] *[[Aros/Developer/Docs/HIDD/PCI|pci.hidd]] *[[Aros/Developer/Docs/HIDD/PCIPC|pcipc.hidd]] *[[Aros/Developer/Docs/HIDD/Serial|serial.hidd]] *[[Aros/Developer/Docs/HIDD/Thunderbolt|thunderbolt.hidd]] https://github.com/aros-development-team/AROS/commit/4f02ea691799aff3a01f60cfa5f9182c82fc57a8 HIDD are used for device/peripheral low level hardware support drivers. The HIDD system is split up into a collection of classes with a strict inheritance hierarchy. A HIDD class implements a device driver for a single device or in rare cases a group of devices and provides an interface for other programs and devices to access. In order to maintain portability of interfaces across a wide range of hardware this interface will in general not present the raw interface to the underlying hardware. Instead it will present a generic interface that describes many different hardware implementations. This allows for the best reuse of both interfaces and code. HIDD API is heavyweight though. You need to open a HIDD library, open oop.library, instantiate an object (even if there's no object); and object calls are more costly compared to plain library calls. Basically your task is to implement a subclass of hidd.ata.bus for your hardware. just implementing the XXXATA__Hidd_ATABus__xxxxxx methods for the Amiga chipset - and appropriate versions of the interface_xxx.c file(s). pretty much everything in probe.c could be ignored - just write a replacement scan for relevant amiga devices and store whatever info you need in the bus data? only the "SUPPORT_LEGACY" blocks might be related. You do not need to depend on PCI API. PCI is just a way to discover the hardware on PCs, etc. <hidd/pci.h> includes (at some depth) <interface/HW.h>, which defines IID_HW. This comes from the 'generic' HIDD class in: rom/hidds/hidd/hiddclass.conf did not split up HIDD and HW because they are always used in pair. It's the same as hidd/pci.h bringing definition for: PCI, PCIDriver and PCIDevice. PCI is actually PCIHW, just the name was not changed for backwards compatibility reasons. HW is a 'hub' where HIDD instances plug in. ATA HIDD aoHidd_ATABus_Use32Bit value is completely ignored unless ata.device first detects correct command line parameter. Yes. Unfortunately I was unable to find any comment in code or svn history with explanations. Looked at Linux source, there 32-bit PIO is also controller driver's property. Some of them enable it, some don't. Actually, switching the default to ON should be safe. ata.device is fail-safe at this because during IDENTIFY command it validates upper 16 bits, and if they appear to be zeroes in all 128 longwords, then 32-bit mode is switched off. But, nevertheless, I know how tricky hardware can be, so I decided not to change original behavior. If you think it's wrong in some cases, then it's possible to add one more attribute like aHidd_ATABus_Default32Bit. If set to YES, then this means that 32-bit PIO is safe to use by default. ====Devices==== *[[Aros/Developer/Docs/Devices/ATA|ata.device]] *[[Aros/Developer/Docs/Devices/Console|console.device]] *[[Aros/Developer/Docs/Devices/Narrator|narrator.device]] *[[Aros/Developer/Docs/Devices/Printer|printer.device]] *[[Aros/Developer/Docs/Devices/Trackdisk|trackdisk.device]] *[[Aros/Developer/Docs/Devices/AmberRAM|amberram.device]] *[[Aros/Developer/Docs/Devices/Timer|timer.device]] *[[Aros/Developer/Docs/Devices/|.device]] The Amiga used [[Aros/Developer/Docs/Devices|Devices]] to communicate with [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=3475&viewmode=flat&order=ASC additional hardware]. AROS has replaced these hardware devices with hidd equivalents but some are still retained for backwards compatibility. Local libraries/devices/handlers,etc. are supposed to override the ones in ROM if their version is higher than the one in ROM. Here is the list of commands exec default: {| class="wikitable" | CMD_CLEAR | Purge the buffer of the device |---- | CMD_READ | Playback Control |---- | CMD_STOP | Stopped the activity of the device |---- | CMD_FLUSH | Empty the queue of commands |---- | CMD_RESET | Reset a device |---- | CMD_WRITE | Playback Control |---- | CMD_INVALID | Create an error |---- | CMD_UPDATE | Gets updated device |---- | CMD_START | Will restart the device |---- |} While most other "stuff you communicate with" in AmigaOS are devices <ref>AMIGA ROM Kernel Reference Manual: Devices, 3rd Edition. Commodore-Amiga, Inc. Addison-Wesley, 1991. {{ISBN|0-201-56775-X}}</ref> that share a [http://gega.homelinux.net/AmigaDevDocs/ common base interface]. [[Aros/Developer/Docs/Devices1.3|OS 1.3 Device Drivers]]. ====Handlers==== :[[Aros/Developer/Docs/Handlers/Pipe|pipe.handler]] :[[Aros/Developer/Docs/Handlers/Port|port.handler]] :[[Aros/Developer/Docs/Handlers/SFS|sfs.handler]] :[[Aros/Developer/Docs/Handlers/FAT|fat.handler]] :[[Aros/Developer/Docs/Handlers/PFS|pfs.handler]] :[[Aros/Developer/Docs/Handlers/NTFS|fuse.handler]] :[[Aros/Developer/Docs/Handlers/FFS|ffs.handler]] filesystem handlers have their own separate system consisting of completely differently structured messages that dos.library use to pass requests (for things like reading, writing, getting directory contents etc.) to them. AROS originally went with implementing filesystem handlers as devices, which might arguably be more consistent with the rest of the AmigaOS API but which is quite incompatible with AmigaOS itself. However, it made it far harder to port filesystems and the gains were comparatively small, and so there's been a long standing goal of fixing this incompatibility. It has now, June 2011, been reintroduced to all AROS flavors. are argstr and argsize valid for the handler startup environment? DOS/RunHandler() calls DOS/CreateNewProcTags(), and then CallEntry() (in rom/dos/exit.c) to start the handler, so yes, argstr and argsize are *present* in the call signature of the handler. Granted, argstr will be NULL and argsize 0, but those values *are* passed to the handler function using: <pre> AROS_UFC3(ULONG, entry, AROS_UFCA(STRPTR, argptr, A0), AROS_UFCA(ULONG, argsize, D0), AROS_UFCA(struct ExecBase *, SysBase, A6)); </pre> Creating your own [without the whole build tree http://pagesperso-orange.fr/franck.charlet/temp/radeon.zip] and then <pre> make stub make make install </pre> SFS has two Root blocks, one at the start and one at the end of the disk. The Root blocks both contain the same information. They hold various information about the disk structure and have the locations of some important blocks used by the filesystem. The Root ObjectContainer contains the Root directory Object. The name of this Object is the name of the volume. It is identical to a normal directory Object. The Bitmap is used to keep track of free space. Each bit in a bitmap represents a single block. A set bit indicates a free block and a cleared bit a used block. AdminSpaceContainers are used to keep track of space which has been reserved for storing administration blocks. Only the Bitmap, the Root blocks and the actual data stored in files aren't stored in administration space. Administration space is allocated in chunks of 32 blocks at a time. A single AdminSpaceContainer can hold information about a large number of such areas each of which has its own little bitmap of 32 bits. Extents are stored in a B-Tree. The Root block holds a pointer to the root of the Extent B-Tree. Extents keep track of space in use by a specific file. Each fragment a file consists of has its own Extent. Extents are in a double linked list. The list can be used to locate the next or previous fragment of a file. Below is the standard block header. This header is found before EVERY type of block used in the filesystem, except data blocks. The id field is used to check if the block is of the correct type when it is being referred to using a BLCK pointer. The checksum field is the SUM of all LONGs in a block plus one, and then negated. When applying a checksum the checksum field itself should be set to zero. The checking a checksum the checksum is okay if the result of the checksum equals zero. The ownblock BLCK pointer points to the block itself. This field is an extra safety check to ensure we are using a valid block. Field Type Description id ULONG The id field is used to identify the type of block we are dealing with. It is used to make sure that when referencing a block we got a block of the correct type. The id consist of 4 bytes and each blocktype has its own unique foure letter code. checksum ULONG This field contains the sum of all longs in this block, plus one and then negated. The checksum can be used to check if the block hasn't been corrupted in any way. ownblock BLCK Points to itself, or in other words, this field contains the block number of this block. This is yet another way to check whether or not a block is valid. <pre> struct fsBlockHeader { ULONG id; ULONG checksum; BLCK ownblock; }; </pre> The algorithm to calculate the checksum of a block: <pre> ULONG calcchecksum(struct fsBlockHeader *block, LONG blocksize} { ULONG *data=(ULONG *)block; ULONG checksum=1; block->checksum=0; while(blocksize>0) { checksum+=*data++; blocksize-=4; } return(-checksum); } </pre> A Root block contains very important information about the structure of a SFS disk. It has information on the location and size of the disk, the blocksize used, locations of various important blocks, version information and some filesystem specific settings. A SFS disk has two Root blocks; one located at the start of the partition and one at the end. On startup the filesystem will check both Roots to see if it is a valid SFS disk. If either one is missing SFS can still continue (although at the moment it won't). A Root block could be missing on purpose. For example, if you extend the partition at the end (adding a few MB's) then SFS can detect this with the information stored in the Root block located at the beginning (since only the end-offset has changed). Same goes for the other way around, as long as you don't change start and end point at the same time. When a Root block is missing because the partition has been made a bit larger, then SFS will in the future be able to resize itself without re-formatting the disk. Field Type Description bheader struct fsBlockHeader Standard block header. version UWORD The version of the filesystem block structure. You can check this field to identify what version of the filesystem your dealing with it and to see if you can handle this structure correctly. Don't try to interpret the disk's structure when this field contains an unknown version number! sequencenumber UWORD Used to identify which Root block was written last in case the sequencenumber on both Root blocks don't match. datecreated ULONG Creation date of this volume. This is the date when the disk was last formatted and will never be changed. bits UBYTE Various settings, see below. <pre> pad1 UBYTE Reserved, leave zero. pad2 UWORD Reserved, leave zero. reserved1 ULONG[2] Reserved, leave zero. firstbyteh ULONG High 32-bits of a 64-bit number. This is the first byte of our partition relative to the start of the disk. firstbyte ULONG Low 32-bits of a 64-bit number. lastbyteh ULONG High 32-bits of a 64-bit number. This is the last byte (exclusive) of our partition relative to the start of the disk. lastbyte ULONG Low 32-bits of a 64-bit number. totalblocks ULONG The total number of blocks this partition consists of. blocksize ULONG The size of a block of this partition. reserved2 ULONG[2] Reserved, leave zero. reserved3 ULONG[8] Reserved, leave zero. bitmapbase BLCK Block number of the start of the Bitmap. adminspacecontainer BLCK Block number of the first AdminSpaceContainer. rootobjectcontainer BLCK Block number of the ObjectContainer which contains the root of the disk (this is where the volume name is stored). extentbnoderoot BLCK Block number of the root of the Extent B-Tree. reserved4 ULONG[4] Reserved, leave zero. </pre> <pre> struct fsRootBlock { struct fsBlockHeader bheader; UWORD version; UWORD sequencenumber; ULONG datecreated; UBYTE bits; UBYTE pad1; UWORD pad2; ULONG reserved1[2]; ULONG firstbyteh; ULONG firstbyte; ULONG lastbyteh; ULONG lastbyte; BLCK totalblocks; ULONG blocksize; ULONG reserved2[2]; ULONG reserved3[8]; BLCK bitmapbase; BLCK adminspacecontainer; BLCK rootobjectcontainer; BLCK extentbnoderoot; ULONG reserved4[4]; }; </pre> AdminSpaceContainers are used to store the location and bitmap of each administration space. The AdminSpaceContainers are located in a double linked list and they contain an array of fsAdminSpace structures. There is one fsAdminSpace structure for every administration space on disk. Field Type Description bheader struct fsBlockHeader Standard block header. next BLCK The next AdminSpaceContainer, or zero if it is the last in the chain. previous BLCK The previous AdminSpaceContainer, or zero if it is the first AdminSpaceContainer. bits UBYTE The number of bits in each in the bits ULONG in the fsAdminSpace structure. pad1 UBYTE Reserved, leave zero. pad2 UWORD Reserved, leave zero. adminspace struct fsAdminSpace An array of fsAdminSpace structures. The size of the array is determined by the current blocksize. <pre> struct fsAdminSpaceContainer { struct fsBlockHeader bheader; BLCK next; BLCK previous; UBYTE bits; UBYTE pad1; UWORD pad2; struct fsAdminSpace adminspace[0]; }; </pre> Field Type Description space BLCK The first block of an administration space. bits ULONG A small bitmap which is used to determine which blocks in an administration space are already in use. The number of bits in this bitmap is determined by the bits field in the AdminSpaceContainer. <pre> struct fsAdminSpace { BLCK space; ULONG bits; }; </pre> The fsBitmap structure is used for Bitmap blocks. A bitmap block is used to keep track of which space is in use and which isn't for a particular area of a disk. All bitmap blocks together keep track of the free space for an entire disk. The location of the first bitmap block is known and all other bitmap blocks are stored in order after the first one. Field Type Description bheader struct fsBlockHeader Standard block header. bitmap ULONG An array of ULONG's. These hold the actual information on which blocks are in use and which aren't. <pre> struct fsBitmap { struct fsBlockHeader bheader; ULONG bitmap[0]; }; </pre> Each bit in a bitmap block (except for the block header) represents a single block. If the bit is set than the block is free, and if the bit is clear then it is full. The first ULONG in the bitmap area of the first bitmap block represents blocks 0 through 31 on the disk. Bit 31 of this ULONG is block 0, 30 is block 1, and so on. Bit 0 of the first ULONG represents block 31. Below is a table to clarify how bitmaps work even further. The first column is the bitmap block number, the second column is the number of the ULONG in the bitmap array. The third column is the bit number in this ULONG, and the last column is the block which this specific bit, in this specific bitmap block represents. We'll assume here that a bitmap block has room for 120 ULONG's (meaning there is room for storing 32 * 120 bits). <pre> Bitmap block ULONG number Bit number Block represented 1 (first) 0 31 0 1 0 30 1 ... ... ... ... 1 0 1 30 1 0 0 31 1 1 31 32 ... ... ... ... 1 2 31 64 1 2 30 65 ... ... ... ... 1 119 0 3839 2 0 31 3840 2 0 30 3841 ... ... ... ... </pre> The last bitmap block doesn't need to be completely used. The unused bits (which belong to blocks which do not exist) all have to be clear, to indicate that these blocks are in use. The fsObjectContainer structure is used to hold a variable number of fsObjects structures (Objects) which have the same parent directory. Each ObjectContainer must contain at least one Object. If there is space in the ObjectContainer not used by the variable number of Objects then that space is zero filled. Objects always start at 2-byte boundaries, which means sometimes a padding byte is inserted between two Objects. Field Type Description bheader struct fsBlockHeader Standard block header. parent NODE The node number of the parent Object, or 0 if this object has no parent (which is only the case for the Root directory). next BLCK The next ObjectContainer belonging to this directory, or zero if it is the last in the chain. previous BLCK The previous ObjectContainer belonging to this directory, or zero if it is the first ObjectContainer in this directory. object struct fsObject A variable number of fsObject structures. The number of structures depends on the individual sizes of each fsObject structure and the blocksize. These structures are located directly after each other with at most 1 byte of padding between them to get the structures aligned on a 2 byte boundary. <pre> struct fsObjectContainer { struct fsBlockHeader bheader; NODE parent; BLCK next; BLCK previous; struct fsObject object[0]; }; </pre> fsHashTable is the structure of a HashTable block. It functions much like the hash table found in FFS user directory blocks, except that it is stored in a separate block. This block contains a number of hash-chains (about 120 for a 512 byte block). Each hash-chain is a chain of Nodes. Each Node has a pointer to an Object and a pointer to the next entry in the hash-chain. Using such a hash-chain you can locate an object quickly by only knowing its name. Field Type Description bheader struct fsBlockHeader Standard block header. parent NODE The node number of the directory Object this HashTable block belongs to. hashentry NODE An array of Nodes. Each Node represents the start of a hash-chain (singly linked). A hash-value is calculated using the name of a file or directory, and this value determines in which chain the Object is linked. If there are no entries in a hash-chain then the hashentry value is zero. <pre> struct fsHashTable { struct fsBlockHeader bheader; NODE parent; NODE hashentry[0]; }; </pre> To calculate the hash-value using a name of an Object as input use these routines: <pre> UWORD calchash(UBYTE *name) { UWORD hash=0; /* Calculates a hash value over the passed in string. The end of the string can be either a NUL byte or a slash. The hash function is the same as the one used in FastFileSystem set to international mode. */ while(name[hash]!=0 && name[hash]!='/') { hash++; } while(*name!=0 && *name!='/') { hash=hash*13+upperchar(*name++); } return((UWORD)(hash % (UWORD)((blocksize-sizeof(struct fsHashTable))>>2))); } UBYTE upperchar(UBYTE c) { if((c>=224 && c<=254 && c!=247) || (c>='a' && c<='z')) { c-=32; } return(c); } </pre> The BNodeContainer is used to store B-Trees. Currently only one B-Tree is in use by this filesystem and it is used to store the location of file data. The fsBNodeContainer structure contains two other structures. The fsBlockHeader structure and the BTreeContainer structure. Field Type Description bheader struct fsBlockHeader Standard block header. btc struct BTreeContainer Contains information about the B-Tree and its nodes contained in this block. <pre> struct fsBNodeContainer { struct fsBlockHeader bheader; struct BTreeContainer btc; }; </pre> First try and locate the Root block. It should start with "ROOT". SFS has two of these, one at the start of the partition and one at the end. One of the fields contains the block size, which will be the size of all important SFS blocks. The root block has the root object container, which contains information about files and directories in the root directory. The object containers basically hold one or more smaller structures that represent files and directories. Scanning them all should give you a list of files and directories. The root block also has the root of the Extent B-Tree. This is a standard B-Tree structure (not a binary tree) that is used commonly in all kinds of system, you can read about how they work on Wikipedia if needed. The B-Tree holds the information about *where* all the data is located for your files. To recover your files, I'd do this: * Find one of the root blocks, if not present, then figure out the block size your disk was using, and scan every block in turn to see if it looks like an ObjectContainer (check the fsBlockHeader's ID, check if the ownblock number is equal to the block you are currently scanning, and check its checksum). So if you currently have block 12, and you see a block with the correct id, and ownblock = 12 and its checksum is good, then that's probably a valid ObjectContainer. * With all the ObjectContainers found, you can extract filenames and directory names from these, but also the number of their first data block (in the field data) and the file size. For small files (less than blocksize) this data block will be enough to recover the data. For larger files, you might be lucky and all the remaining blocks are found after the first one (if the file was defragmented). You can't be sure of that though so... * For larger files, you need to find all the BNodeContainers. You could scan these in the same way you found all the ObjectContainers (look for blocks with the correct id, ownblock number and checksum). * With all the BNodeContainers found, you can try looking up the first data block of a file in the B-Tree structure. This is a bit complicated -- the B-Tree consists of non-leaf nodes (blocks that only contain pointers to other B-Tree blocks), the isLeaf flag indicates this. Or it can be a B-Tree leaf block. The leaf blocks contain extra information per entry (see https://hjohn.home.xs4all.nl/SFS/extents.htm) <pre> struct fsExtentBNode { ULONG key; ULONG next; ULONG prev; UWORD blocks; }; </pre> The key should be a block of a file (the first of a range), that is 1 to 65535 block long (depending the "blocks" field). If the file is split up into more parts, then "next" will contain block number of the next range of blocks. You need to look this up again in the B-Tree structure to find out how large it is. You can for the most part ignore the other structures (bitmap, admin containers). The fsObjects and B-tree containers is what you'll need to recover the data. ====Resources==== <pre> rom/storage/mmakefile.src rom/storage/storage.conf rom/storage/storage_device.c rom/storage/storage_ids.c rom/storage/storage_init.c rom/storage/storage_intern.h rom/storage/storage_mount.c rom/storage/storage_unit.c </pre> <pre> rom/storage/includes/device.h rom/storage/includes/unit.h rom/storage/includes/volume.h rom/storage/storage_intern.h </pre> <pre> </pre> *[[Aros/Developer/Docs/Resources/ACPI|acpi.resource]] *[[Aros/Developer/Docs/Resources/Battclock|battclock.resource]] *[[Aros/Developer/Docs/Resources/Bootloader|bootloader.resource]] *[[Aros/Developer/Docs/Resources/Cia|cia.resource]] *[[Aros/Developer/Docs/Resources/Filesystem|FileSystem.resource]] *[[Aros/Developer/Docs/Resources/Hostlib|hostlib.resource]] *[[Aros/Developer/Docs/Resources/Kernel|kernel.resource]] *[[Aros/Developer/Docs/Resources/Misc|misc.resource]] *[[Aros/Developer/Docs/Resources/Processor|processor.resource]] ==Debugging Code== Please use the [http://sourceforge.net/tracker/?group_id=43586&atid=439463 AROS Bug Tracker] if any issues are found. GRUB Command line list <pre> sysdebug usbdebug - allows to see Poseidon's log in debug output </pre> How do I get debugging out of InitResident ? If running i386 hosted on linux sysdebug=initresident on command line. This way you can enable any of listed flags. sysdebug=all stands for "everything" Have an executable (crosscompiled C++ code) which has 6 MB size on disk, but after loading it in memory, 250 MB RAM is taken. Any software that would split AROS executable into ELF part which would show actual size values? readelf -S executable it will show you all sections in elf file, including sizes and requested alignment. objdump -h filename That's will give you a quick overview of the sections and sizes. Ignore all the .debug.* sections. Would hazard a guess that you have a large .bss section. That's pretty common in C++. Next step: nm—size-sort filename | grep ' [bB] ' The last few will be your biggest consumers. Would suggest -C to demangle the symbols... ;) Suggest profiling the program (just use some printf's in the main loop for time spent in each part), it usually is quite easy to spot slow parts in games or apps. If someone has '#define IPTR ULONG' somewhere. To see where that define is, redefine IPTR in the source code that fails, just above the line that fails, and the preprocessor will tell you where it was defined first. ===How to setup gdb with AROS/hosted=== Download AROS sources (AROS-xxxxxxxx-source.tar.bz2, where xxxxxxxx is the current date) and AROS contrib sources (AROS-xxxxxxxx-contrib-source) from Untar-bzip2 and cd to the unpacked archive directory. > tar -xvjf AROS-xxxxxxxx-source.tar.bz2 > cd AROS-xxxxxxxx-source Check the link to "contrib" (contrib-source) inside directory, e.g. correct like this: > rm contrib > ln -s ../AROS-xxxxxxxx-contrib-source.tar.bz2 contrib Make sure you have the correct locale setting, otherwise compilation will fail at some point. See [http://aros.sourceforge.net/documentation/developers/compiling.php#setting-the-locale-to-iso8859 here] (or link below) for more on that. You might have to enter this: > export LANG="en_US.ISO-8859-1" Now configure for a debug build - see "./configure --help" for more - here are two examples: > ./configure—enable-debug=stack,modules,symbols > ./configure—enable-debug=all You may "make" now, or choose a separate directory for your build (e.g. for easy removal), for example if compiling for i386 architecture you could create a directory like this: > mkdir linux-i386 > cd linux-i386 > ../AROS/configure—enable-debug=stack,symbols,modules When done configuring you're ready to go: > make Building AROS takes some time - minutes on fast machines (e.g. 2.5&nbsp;GHz quadcore), up to hours on slower machines. The result will be AROS Linux hosted with gdb debugging enabled. See aros.org documentation for more on compiling AROS, including more [http://aros.sourceforge.net/documentation/developers/compiling.php --enable-debug] options. When finished, enter bin/linux-i386/AROS directory (replace "linux-i386" with your compilation target platform, e.g. linux-x86_64, etc.) inside the unpacked archive directory. This directory contains the required .gdbinit file for properly running AROS inside gdb. > cd bin/linux-i386/AROS Run AROS (here: with 128MB of memory) from gdb: > gdb—args boot/aros-unix -m 128 or > gdb—args boot/arosboot -m 128 (gdb) r Watch the shell output - in case AROS complains about "LoadKeyCode2RawKeyTable: Loading "DEVS:Keymaps/X11/keycode2rawkey.table" failed!" you should also see some instructions on how to create a keymap table. (see link above "more on compiling", too.) Quit gdb, and try default keymap table: (gdb) q The program is running. Quit anyway (and kill it)? (y or n) y > cd ../../.. > make default-x11keymaptable Re-run AROS, as described above. Try e.g. RAros (= right windows key) + W to open a shell. If this doesn't work you have to create a keymap table yourself, quit gdb again, and make a new keytable: > make change-x11keymaptable A window will open. Watch the window's title bar, and follow the instructions. When done, re-run AROS. RAros + W should now open a shell. Next, compile your program with gdb support. When you start GDB is there a warning which says warning: File "<whatever>/.gdbinit" auto-loading has been declined by your `auto-load safe-path' set to ... If so start gdb with "-ix .gdbinit" <pre> Summary - In short: * build AROS with debugging support (i.e. ./configure --enable-debug=all) * build your application with debugging support (i.e. option -g) * run AROS in the GNU debugger (you may use the GUI frontend "ddd" which simplifies usage a bit) * start your application * use the commands "findaddr" and "add-symbol-file" as written in the debugging manual * if the debugger doesn't find the source code of your application use the "dir" command of the debugger. </pre> ===How to use gdb=== In AROS open a shell, then (in host shell) use CTRL-Z to go into gdb. Use "b Exec_CreatePool" (one of the functions used early on by startup code in programs) to add a breakpoint, then "cont" and gdb will interrupt somewhere early during startup of "program". Use "bt" to show backtrace and "loadseg" for "??" entries. One of them will be for "program". After that you can use "disassemble program". One thing you need to make sure is that .gdbinit you have in your build directory is the same as in source tree. It has been modified some time ago, but the build system does not refresh it - you need to copy it manually To recap, please read our debugging [http://aros.sourceforge.net/documentation/developers/debugging.php manual]: To detect segfaulting when loading, try... ./configure—enable-debug—with-optimization="-O2" Because crash or no crash may depend on optimization. For newer compilers maybe this helps... --with-optimization=-"-O2 -fno-strict-aliasing" One way to make crashes less random (more easily reproducible) is to activate the munging of free memory in rom/exec/freemem.c which is normally commented out: <pre> Index: freemem.c =================================================================== --- freemem.c (revision 34289) +++ freemem.c (working copy) @@ -154,11 +154,12 @@ * created with their TCB placed in the tc_MemEntry list. The workaround * is to avoid munging when FreeMem() is called with task switching disabled. */ + /* DOH! it doesn't work even this way. What's wrong??? - * - * if ((SysBase->TDNestCnt < 0) && (SysBase->IDNestCnt < 0)) - * MUNGE_BLOCK(memoryBlock, MEMFILL_FREE, byteSize); */ + + if ((SysBase->TDNestCnt < 0) && (SysBase->IDNestCnt < 0)) + MUNGE_BLOCK(memoryBlock, MEMFILL_FREE, byteSize); } </pre> Mungwall can be turned on at runtime. Currently this works in all hosted versions. Just specify "mungwall" on kernel command line and it works. It can work on native too. In order to enable it you need to parse kernel command line, and if "mungwall" is present, set EXECF_MungWall bit in IntExecBase.IntFlags. This needs to be done before the first AllocMem() for obvious reasons. And never reset back this flag! If you change it on a working system, you are doomed. Hosted ports do the processing in rom/exec/prepareexecbase.c --enable-debug=mungwall option in configure still works but is going obsolete. A kludge in rom/exec/allocmem.c is responsible for this and it needs to be removed when the transition is done. BTW, on i386-pc port it can be activated by "mungwall" argument on command line, you don't need to rebuild AROS. New mungwall affects not only AllocMem()/FreeMem(), but also pools. I also tested it with AllocAbs(), seems to work correctly. Runtime mungwall works on: * pc-i386 * pc-x86_64 * linux-i386 * linux-x86_64 * darwin-x86 * linux-ppc Works on all hosted ports, if the port itself is working. * amiga-m68k * Not on sam440-ppc and efika-chrp-ppc, even if they would be able to be built at moment. Does not work on (for now, need NVRAM support) When starting my freshly rebuilt i386-linux-aros which was compiled with full debugging support I get sometimes the error "Program exited with code 0377". Add the following to your .gdbinit: set follow-fork-mode child Here are some of the custom AROS gdb functions (defined in ".gdbinit" file) to resolve "in ?? ()" entries in backtrace: <pre> #0 0xb7ffd424 in __kernel_vsyscall () #1 0xb7e2a657 in sigsuspend () from /lib/libc.so.6 #2 0xb7c63900 in ?? () #3 0xb7c640e3 in ?? () #4 0xb7c641e0 in ?? () </pre> You can use loadseg 0xb7c63900 loadframe 2 or loadbt and some others. Use "help " for a little help text. If the commands do not work try "loadkick" first. Use "thistask", "taskready", "taskwait" to get list of AROS tasks. "bttask " shows backtrace of a task which is in ready or in wait queue and "loadseg" to resolve "??" entries in it's backtrace ("loadframe" would not work as it assume current running task). ===Native debugging tools for AROS=== to enable debugging at boot time entering the GRUB menu editing line (E key) and adding "debug=memory" to your boot line, then press Ctrl+X to complete booting. SYS:Tools/Debug/'''Bifteck''' Open a shell and enter the line below to run Biftek and grab the debug messages collected in RAM into a text file. tools/debug/bifteck > ram:debug.txt and certainly does not open a window. It is a shell tool and only dumps data located from the debug location. It is therefore important to 'catch' that debug data as soon as possible (before it gets overridden). You should invoke bifteck at the first opportunity before doing anything else. You can use the TO option to store bifteck output to a file or you can pipe it manually to a file. SYS:Tools/Debug/'''Sashimi''' - displays error messages One suggestion is to do a bug() debugging. Each time bug() is executed it will be output on sashimi. You include <aros/debug.h> and place bug("something\n"); in your source code at location though which control passes. To get the output - open an aros shell SYS:Tools/Debug/sashimi > RAM:out.txt '''Ctrl C''' to end the output to the RAM Disk. # open shell, and type # ram: (to switch to ram drive) # System:Tools/Debug/Sashimi > mylogfile.txt # open AHI prefs using wanderer (or use another opened shell) # play test sound # close AHI prefs # shell still open with Sashimi running: press ctrl-c to break Sashimi and return to prompt. # in shell: copy mylogfile.txt System: (or to your required location) SYS:Utilities/'''Snoopy''' - monitors OS function calls, run "Sashimi" to see Snoopy's output SYS:Tools/'''WiMP''' - the Window (and Screens) Manipulation Program You can use the -E option of gcc to find out how preprocessor macros are expanded. ===Errors=== crash in strcasecmp usually means that one of its arguments is NULL. empty space between these two names, prossibly some invisible character Old Amiga [http://www.amigacoding.com/index.php?title=Guru_codes&redirect=no Guru Codes] If the crash is in intuition. Sometimes, if it relates to text, a null pointer sets it off. an uninitialised pointer can have any address (this is a common fault). Compiling on 64bit, Many old code would not properly typecast when doing pointer-integer conversions and thus at least throw a warning. This can easily be located and fixed. [http://www.aros.org/cs/documentation/developers/app-dev/portable.php Portable code] * Use texteditor or some tool to replace all "ULONG" with "IPTR" and "LONG" with "SIPTR" in the sources. * Fix (change IPTR/SIPTR back to ULONG/LONG) the few places which really rely on ULONG/LONG being exactly 32 bit. That's for things like pixel (ARGB) buffers, structs written/read to disk, colormaps, but probably not much else. Then again, many current compilers also throw a warning when you try to assign a pointer value to an integer and the integer is possibly too small. This happens under .NET for example when a 64 bit pointer is assigned to something like an ULONG - so exactly the case which you described. === Example === <syntaxhighlight lang="c"> /* 1. Header for your name,date,purpose of program. 2. Pre-processor directives. This will include the #includes for files you want to add. 3. Includes for function prototypes if necessary. 4. Main() Create Pointers for Libraries and any Window you want to open. 5. Open necessary libraries. 6. Check if open exit program if fail. 7. Open a window exit program if fail. 8. Add your program 9. Close Window 10 Close Libraries. 11 End Program. */ /* standard os included headers <.h> */ #include <dos/dos.h> #include <dos/dosasl.h> #include <dos/dosextens.h> #include <dos/exall.h> #include <dos/rdargs.h> #include <exec/memory.h> #include <exec/types.h> #include <utility/utility.h> #include <intuition/intuition.h> /* define as unresolved external references (proto/xxx.h) and compiler will link to auto(matically) open library */ #include <proto/arossupport.h> #include <proto/dos.h> #include <proto/exec.h> #include <proto/intuition.h> #include <proto/graphics.h> #include <proto/cybergraphics.h> #include <proto/datatypes.h> #include <proto/icon.h> #include <workbench/workbench.h> #include <workbench/icon.h> #include <datatypes/pictureclass.h> #include <proto/muimaster.h> #include <libraries/mui.h> #include proto/bsdsocket.h #include <ctype.h> #include <stdio.h> #include <stdlib.h> #include <string.h> /* my own headers ".h" */ #define CTRL_C (SetSignal(0L,0L) & SIGBREAKF_CTRL_C) #define isDir(fib) ((fib)->fib_DirEntryType >= 0) #define ARG_TEMPLATE "FILE/A,ALL/S,QUIET/S,W=WIDTH/N,H=HEIGHT/N,M=METHOD,DEFTOOL" int main(void) { return retval; } /* main */ </syntaxhighlight> <syntaxhighlight lang="c"> </syntaxhighlight> If you used c++, there is not yet c++ support in our shared library system. The easiest way to create / compile a shared library would be to use the AROS build system but the libraries can be created manually. You have to create a ROMTAG structure and some header files. A shared library is built with the %build_module macro with a line like this: %build_module mmake=MetaTarget modname=mylib modtype=library files=SourceFiles This macro can build different AROS module types, like devices, Zune classes, HIDDs, etc. <pre> ##begin config version 1.0 ##end config ##begin functionlist void func1(LONG a, LONG b) int func2(char *s, ULONG a) ##end functionlist </pre> Alternatively, <pre> #ifndef LIB_H #define LIB_H #define __NOLIBBASE__ #include <exec/libraries.h> #include <exec/semaphores.h> #include <dos/dos.h> #ifdef __AROS__ //#include <aros/debug.h> #define reg(x) #define __saveds #endif #define USESYSBASE struct ExecBase *SysBase = Base->My_SysBase; struct MyTestBase { struct Library My_Test_Lib; struct ExecBase *My_SysBase; APTR My_SegList; int testint; }; #endif </pre> <pre> /*--------------------------------------------------------------------------*/ /* Resident header written for mytest.library */ /*--------------------------------------------------------------------------*/ #define __NOLIBBASE__ #define VERSION 1 #define REVISION 0 #define LIBHEADNAME mytest #define LIBHEADNAMESTR "mytest" #define COMPDATE "04.10.2015" #define VERS "1.0" #define LIBBASETYPE struct MyTestBase #define LIBBASETYPEPTR LIBBASETYPE * #include <aros/debug.h> #include <exec/exec.h> #include <proto/exec.h> #include <exec/resident.h> #include <exec/nodes.h> #include <exec/libraries.h> #include <aros/symbolsets.h> #include "lib.h" const UBYTE lib_name[] = LIBHEADNAMESTR ".library"; const UBYTE lib_id[] = "$VER: " LIBHEADNAMESTR ".library " VERS " (" COMPDATE ") by ALB42\n"; extern const APTR FuncTable[]; AROS_UFP3 (LIBBASETYPEPTR, InitLib, AROS_UFPA(LIBBASETYPEPTR, Base, D0), AROS_UFPA(BPTR, seglist, A0), AROS_UFPA(struct ExecBase *, sysbase, A6) ); static struct LibInitStruct { IPTR LibSize; const APTR *FuncTable; const struct DataTable *DataTable; APTR InitFunc; } const LibInitStruct = { sizeof(LIBBASETYPE), FuncTable, NULL, (APTR)InitLib }; const struct Resident romtag = { RTC_MATCHWORD, /* match word */ (APTR)&romtag, /* back pointer */ (APTR)(&romtag + 1), /* skip pointer */ RTF_AUTOINIT | RTF_EXTENDED,/* flags */ VERSION, /* version */ NT_LIBRARY, /* type of module */ 0, /* init priority */ (STRPTR)lib_name, /* module name */ (STRPTR)lib_id + 6, (APTR)&LibInitStruct, REVISION, NULL }; AROS_UFH3 (LIBBASETYPEPTR, InitLib, AROS_UFHA(LIBBASETYPEPTR, Base, D0), AROS_UFHA(BPTR, seglist, A0), AROS_UFHA(struct ExecBase *, sysbase, A6) ) { AROS_USERFUNC_INIT Base->My_SegList = seglist; Base->My_SysBase = (APTR)sysbase; Base->testint = 0; USESYSBASE bug("InitLib\n"); if (!set_open_libraries()) { set_close_libraries(); return NULL; } return Base; AROS_USERFUNC_EXIT } AROS_LH1(LIBBASETYPEPTR, LibOpen, AROS_LHA (ULONG, version, D0), LIBBASETYPEPTR, Base, 1, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibOpen\n"); (void)version; Base->My_Test_Lib.lib_OpenCnt++; return Base; AROS_LIBFUNC_EXIT } __saveds APTR LibExpungeInternal(LIBBASETYPE *Base reg(a6)) { USESYSBASE APTR seglist; bug("LibExpungeInternal\n"); if (Base->My_Test_Lib.lib_OpenCnt) { return 0; } seglist = Base->My_SegList; Forbid(); Remove((struct Node*)Base); Permit(); FreeMem((APTR)Base - Base->My_Test_Lib.lib_NegSize, (LONG)Base->My_Test_Lib.lib_PosSize + (LONG)Base->My_Test_Lib.lib_NegSize); set_close_libraries(); return seglist; } AROS_LH0(BPTR, LibClose, LIBBASETYPEPTR, Base, 2, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibClose\n"); if (!(--Base->My_Test_Lib.lib_OpenCnt)) { return LibExpungeInternal(Base); } return 0; AROS_LIBFUNC_EXIT } AROS_LH1(BPTR, LibExpunge, AROS_LHA(LIBBASETYPEPTR, Base, D0), struct ExecBase *, sysBase, 3, LIBHEADNAME ) { AROS_LIBFUNC_INIT (void)sysBase; USESYSBASE bug("LibExpunge\n"); return LibExpungeInternal(Base); AROS_LIBFUNC_EXIT } AROS_LH0(LIBBASETYPEPTR, LibReserved, LIBBASETYPEPTR, Base, 4, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("LibReserved\n"); return 0; //return (APTR)LibReserved(); AROS_LIBFUNC_EXIT } // Space for your own functions // do not forget to update the FuncTable as well AROS_LH1(int, TestFunction, AROS_LHA(int, TestValue, D0), LIBBASETYPEPTR, Base, 5, LIBHEADNAME ) { AROS_LIBFUNC_INIT USESYSBASE bug("TestFunction\n"); Base->testint = TestValue + Base->testint; return Base->testint; AROS_LIBFUNC_EXIT } // Functable -> Table of all functions in the Library, in right order - important! const APTR FuncTable[] = { &AROS_SLIB_ENTRY(LibOpen,LIBHEADNAME,1), &AROS_SLIB_ENTRY(LibClose,LIBHEADNAME,2), &AROS_SLIB_ENTRY(LibExpunge,LIBHEADNAME,3), &AROS_SLIB_ENTRY(LibReserved,LIBHEADNAME,4), &AROS_SLIB_ENTRY(TestFunction,LIBHEADNAME,5), (void *)-1 }; // AutoInit stuff void *__PROGRAM_ENTRIES__symbol_set_handler_missing; void *__LIBS__symbol_set_handler_missing; // end of AutoInitStuff </pre> Makefile <pre> VPATH = CFLAGS = -O2 -g -fomit-frame-pointer -W -Wall -Wno-parentheses CC = i386-aros-gcc LD = i386-aros-gcc LDFLAGS = -nostartfiles -Wl,-Map -Xlinker linkermap LIBS = -lautoinit -llibinit STRIP = i386-aros-strip --strip-unneeded --remove-section .comment OBJS = lib_header.o all: mytest.library mytest.library: $(OBJS) $(LD) $(LDFLAGS) $^ $(LIBS) -o $@ lib_header.o: lib_header.c lib.h clean: rm -f *.o *.library *.ppu testlibrary linkermap </pre> Porting UNIX library to AROS - dealing with static variables which would make it easy to port such libraries to AROS, keeping the benefits of sharing them on disk, but losing the benefit of actually sharing them in memory. Our problem arises by the fact we want to share the actual code (the .text section of the library) and constant data, but we need to have per-task .bss and .data sections. If we get rid of our intention to share the .text and .rodata sections, things get quite easy: just load and relocate the library whenever it's open, by whoever it's open. It's like statically linking the library into the executable, except that the final linking is done at runtime. In the V0 branch, in workbench/hidds/hidd.nouveau was committed pcimock.hidd. This is a pci driver that allows mocking real PCI devices under linux-hosted. The main idea is to be able to run the real hardware driver under linux-hosted with as little changes as possible (some changes will always be needed though unless someone wants to write complete device simulator) so that driver's code paths can be executed and debugged using gdb. This was a very helpful capability when porting nouveau. Now it is externalized from nouveau.hidd and can be used by other people porting drivers. The pcimock.hidd can currently mock 4 different nvidia cards, 1 AGP bridge and also mock irq.hidd. What's the difference between this driver and the pcilinux.hidd? I used that one to develop many different HW drivers for aros. As far as I understood the intention of pcilinux.hidd it is supposed to get access to real hardware that is running under linux. The pcimock.hidd goal is to mock the hardware. For example my dev box is a PCIE system, but I still would like to run the AGP codes paths in nouveau under linux-hosted to check if they don't seg fault. The other case would be to run codes paths for hardware that the developer does not have (Fermi cards in my case). In the case of pcimock.hidd, the AROS driver's code paths will execute as long as you add proper mocking (for example fill in PCI config area or values for registers in BARs). This is an advantage for ported drivers - the code should already work (since it worked on another system) but there might have been mistakes made during porting which can be detected easily with gdb. In case you are writing your driver from scratch, pcilinux.hidd hidd will give you more advantage, since you can actually access the real hardware from linux-hosted. == Misc == ===APL, MPL, BSD, GPL and LGPL Licences=== The majority of AROS sources in licensed under AROS Public License ([http://aros.sourceforge.net/license.html APL]) which (to a degree) protects us from someone taking AROS sources and not contributing improvements back (for example MorphOS took some AROS source and then contributed changes back) It is written to allow the use of AROS code in other open source or commercial projects without exception whilst providing a mechanism so that improvements/additions can find their way back to the original source in one form or another. There are "3rd" party applications used by AROS that do not fall under this license, which are an extra "Contrib" download for convenience. Anyone can port GPL-ed network and sound drivers as AROSTCP and AHI are GPLed. Direct using (porting) [http://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs GPL]-ed code in other parts of AROS (gfx, sata, usb) is not possible because AROS license is not compatible with GPL. You need to utilize permissive licensed code like BSD or MIT/X11. BSD and MPL license are the closest to APL. APL however is not so compatible with LGPL/GPL. LGPL case - you cannot statically combine APL code with LGPL. You can, however thank to LGPL being "lesser" restrictive, use LGPL dynamically loaded libraries in APL codes. GPL case - you cannot combine APL code with GPL in any way if there is no explicit clause by GPLed code authors allowing that. If you do combine APL with GPL in "bad" ways described above - you have a problem (you violate GPL). This problem might result in everything in AROS becoming GPL or everything running or AROS becoming GPL (here I'm not sure really). The other scenario is that you are not allowed to legally distribute such code at all. To be honest I have grasped how to violate GPL, but I'm still no exactly sure what happens when you violate it (but I'm sure it's not anything nice) GPL software can run on top of non-GPL "system components" (see system components exception of GPL), but the other way around (non-GPL using GPL) leads to problems. This means applications like scout, or Quake III are ok (in the majority of cases). Theres no reason GPL drivers cannot be ported - but they cant be in AROS's ROM (requires linking APL code with GPL), nor can AROS depend on them (e.g. they must use existing apis). If they are launched (dynamically linked) by a user action that is allowed. It is also allowed to distribute such binaries together for convenience. GPL is not about statical or dynamic linking but is about executing process and function calls. These components - SFS, isapnp, Zune texteditor, AHi, network drivers, freetype, openuirl, BHFormat, Edit and (" dynamically loaded libraries") are LGPL, not GPL. Mesa/Nouveau stuff is MIT. Some user tools are GPL though. '''AROS (system)''' * system components (libraries/classes/devices/etc) cannot be GPL as they would propagate GPL to complete system as well as GPL is not compatible with MPL from which APL is based * system components can be LGPL v2 or a permissive license (MIT/BSD) * system applications can be anything you like (but still I would prefer APL or permissive so the code can be reused if needed) '''Contrib:''' * no rules - contrib does not impact AROS system since nothing in AROS system depends on contrib. About stealing code: The chances of this happening is exactly the same whether we are APL or GPL. If any closed-source option wanted to do it, there is no one that can validate otherwise. MorphOS has used some AROS codes, but contributed changes back. The rationale behind APL is that while it guarantees that the original developer will get the improvements back (to a certain degree - file based), the person who uses the codes does not have to open his original codes. BSD does not guarantee that the original developer gets improvements. GPL requires the person using the codes to open his codes as well. The copyright holders needs to stay - we just need information from them that the codes are available under APL (for example a checked-in file like in case of Poseidon). We don't do transfer of copyrights. ; Ultimately what can and cannot be done is up to the author(s) - not the licence. ===AROS source code tree=== * http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-trunk.txt * http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-contrib.txt Found this interesting (non-GPL) licensing 'anomaly' - to keep in mind for distributors. Programs that lose their license if sold ("non-profit only" licensed): contrib/aminet/comm/term/TinyTerminal contrib/aminet/dev/basic/bwBASIC contrib/aminet/text/edit/xdme contrib/fish/aroach contrib/fish/lotto contrib/fish/shuffle contrib/fish/touch + cdvdfs. Here is a list of all the GPL/GPLv2/GPLv3 licenses fossology found, what have explicit licenses in their comments. excluded LGPL, BSD/GPL dual licensed and programs (such as Prefs/Edit and BHFormat) <pre> AROS/rom/dbus/include/ AFL_v2.1 ,GPL_v2+ (supposedly AFL < 3 is GPL incompatible) AROS/workbench/classes/zune/betterstring/include/ GPL_v2+ AROS/workbench/classes/zune/texteditor/include/ GPL_v2+ AROS/workbench/classes/datatypes/gemimage/ GPL_v2+ GPL AROS/workbench/classes/datatypes/degas/ GPL_v2+ AROS/workbench/libs/openurl/README: GPL AROS/workbench/network/smbfs/documentation/ GPL_v2 AROS/workbench/network/smbfs/source_code/ GPL_v2+ AROS/workbench/network/stacks/AROSTCP/bsdsocket/kern/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/mmakefile.src conf.h GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/sys/ CMU ,GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/net/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/api/ GPL_v2 AROS/workbench/network/stacks/AROSTCP/bsdsocket/conf/conf.h: GPL_v2 AROS/workbench/network/stacks/AROSTCP/netinclude/net/radix.h: CMU ,GPL_v2 AROS/workbench/devs/AHI/AHI/ GPL_v2+ AROS/workbench/devs/AHI/AddAudioModes/ GPL_v2+ AROS/workbench/devs/AHI/AddAudioModes/COPYING: GPL AROS/workbench/devs/AHI/Docs/texinfo.tex: GPL_v2+ AROS/workbench/devs/AHI/COPYING: GPL AROS/workbench/devs/AHI/Drivers/EMU10kx/ GPL_v2+ AROS/workbench/devs/AHI/AHI-Handler/ GPL_v2+ AROS/workbench/devs/networks/rtl8029/ GPL GPL_v2+ AROS/workbench/devs/networks/pcnet32/ GPL GPL_v2+ AROS/workbench/devs/networks/ppp/LEGAL: GPL AROS/workbench/devs/networks/atheros5000/ GPL_v2+ AROS/workbench/devs/networks/rhine/ GPL_v2+ AROS/workbench/devs/networks/nForce/ GPL_v2+ GPL AROS/workbench/devs/networks/prism2/ GPL GPL_v2+ AROS/workbench/devs/networks/fec/LEGAL: GPL AROS/workbench/devs/networks/rtl8139/ GPL GPL_v2+ AROS/workbench/devs/networks/etherlink3/ GPL GPL_v2+ AROS/workbench/devs/networks/intelpro100/ GPL GPL_v2+ AROS/workbench/devs/networks/rtl8169/ GPL GPL_v2+ AROS/workbench/devs/networks/emac/ GPL GPL_v2+ AROS/workbench/devs/networks/rtl8168/ GPL GPL_v2+ AROS/workbench/devs/networks/realtek8180/ GPL_v2+ AROS/workbench/devs/networks/via-rhine/via-rhine.c: GPL_v2+ AROS/workbench/devs/networks/via-rhine/ GPL GPL_v2+ AROS/workbench/devs/networks/e1000/ GPL_v2 AROS/workbench/devs/networks/sis900/ GPL GPL_v2+ </pre> AHI: it has special provisions (COPYING.DRIVERS). The library is LGPL, preferences software is GPL and drivers can be anything without breaking GPL/LGPL. Network stack: well, we are long overdue for a new, IPv6 enabled network stack anyway, anyone interested? ;) Seriously though it seems like the glue code is GPL and as all the drivers. However some of the drivers are our own code, so they could be relicensed to LGPL. Same filter as the AROS trunk list. These should all be libraries or plugins - no programs. <pre> contrib/regina/utsname.h: GPL_v2+ contrib/mui/classes/nlist/include/default-align.h: GPL_v2+ contrib/mui/classes/nlist/include/amiga-align.h: GPL_v2+ contrib/mui/classes/BWins/include/MUI/BWin_mcc.h: GPL contrib/mui/classes/BWins/include/BWin_private_mcc.h: GPL contrib/mui/classes/BWins/COPYING: GPL_v2 contrib/mui/classes/BWins/MCC_BWins.readme: GPL_v2 contrib/mui/classes/thebar/include/default-align.h: GPL_v2+ contrib/mui/classes/thebar/include/amiga-align.h: GPL_v2+ contrib/gfx/libs/wazp3d/LEGAL: GPL contrib/gfx/libs/wazp3d/Wazp3D.readme: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d.c: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d_opengl.h: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/soft3d_opengl.c: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/Wazp3D.h: GPL contrib/gfx/libs/wazp3d/Wazp3D-src/Wazp3D.c: GPL contrib/libs/mpega/ GPL_v2+ </pre> http://www.evillabs.net/AROS/Audit-2012-03-14/AROS-contrib.txt ===Types=== On AROS following rules apply: <pre> 1. BYTE/UBYTE is 8bit, WORD/UWORD is 16bit, LONG/ULONG is 32bit, QUAD/UQUAD is 64bit, the types are comparable with stdint types (int8_t, int16_t, int32_t, int64_t) 2. IPTR/SIPTR are integer types large enough to fit pointer, that is sizeof(IPTR) = sizeof(APTR) = 4 on 32bit system, and = 8 on 64bit system 3. ti_Data in TagList is large enough to hold a IPTR/APTR type. 4. never store a pointer in integer of type LONG. It may work (if the pointer has upper 32bits clear), but does not have to. Compiler should warn you about that. 5. If you are unsure about point 4, allocate your memory with MEMF_31BIT flag set. But don't expect that AROS internals will do the same. </pre> point 4 is actually important. * UBYTE/BYTE for 8bit * UWORD/WORD for 16bit * ULONG/LONG for 32bit * UQUAD/QUAD for 64bit <pre> UBYTE Unsigned 8 bit integer variable (byte). BYTE Signed 8 bit integer variable (byte). UWORD Unsigned 16 bit integer variable (word). WORD Signed 16 bit integer variable (word). ULONG Unsigned 32 bit integer variable (longword). LONG Signed 32 bit integer variable (longword). FLOAT 32 bit IEEE floating point variable. UQUAD Unsigned 64 bit integer variable. QUAD Signed 64 bit integer variable. DOUBLE 64bit IEEE floating point variable. BOOL Boolean variable, TRUE and FALSE are also defined in exec/types.h. VOID Void. APTR A generic pointer for multiple purposes - Arrays. STRPTR A pointer to a null-terminated string. IPTR Really important in AROS, the only way to declare a field that can contain both: an integer or a pointer. </pre> if you want to write really portable app, you may be interested in standard datatypes defined in C99: int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, intptr_t, uintptr_t. They are all defined in inttypes.h include file. In exec/types.h the following short-cuts are typedef'd. They are used often in AROS, so you should nearly always include exec/types.h and soon only they will be removed from sys/_types.h include, all types are now defined in include files named aros/types/xxx.h. (Preparation for C library split; sys/xxx.h include will only be available there when compiling with POSIX C library) Compiler specific types, like int and long might change their size. In case of AROS, similar to linux, int remains 32 bit whereas long grows to 64 bits in size. If you use Amiga-like data types, i.e. BYTE/UBYTE, WORD/UWORD, LONG/ULONG and QUAD/UQUAD or the C99 standard types (uint8_t and so on, see stdint.h include) then you should have less issues to solve than by using types without size guarantee. Of course, all pointers grow to 64 bytes using 64bit cpu. Most of the code can be just recompiled and will work. In rare cases, where e.g. pointers are casted to integers, a special care must be taken. Especially in the cases, where pointer is casted to LONG/ULONG (this code will break on 64 bit AROS) e.g. '#define IPTR ULONG'. With compiler delint patches which the majority of them are simple casting issues to make the compiler happy. Notice some of the changes involve introducing double casts. In very recent versions of GCC. Yes, the bulk of the double casts are for converting 32 bit addresses (ie from a 32 bit PCI DMA address register) to a 64 bit pointer. First cast is to IPTR (to expand to 64 bits, and prevent sign extension if the address is above 0x7FFFFFFF), and then to APTR. ULONG != IPTR except on 32bit .. so if you need to store pointers make sure and use IPTR and not ULONG (which some old code does). For this reason things like Taglist elements are 64bit (since the tag data can be a pointer). If your passing items on the stack you should use the STACKED attribute to make sure they are correctly aligned (on 64bit all items on the stack are 64bit..) There is more issues like using "== 0L" causes problems. ===Endian=== *BE *LE Use the macros from <endian.h> instead making a guess based upon architecture defines <pre> #if _BYTE_ORDER == _BIG_ENDIAN #elif _BYTE_ORDER == _LITTLE_ENDIAN #else + #error <whatever.h> - Byte order for this architecture is unsupported! </pre> ===SVN and GIT=== If you want to help develop AROS OS itself, you can * view current GIT/SVN entries [http://aros.sourceforge.net/ Aros Org website] or [https://github.com/aros-development-team/AROS Github], [https://github.com/ezrec older ezrec mirror], [https://github.com/michalsc/AROS/ older mirror], [https://trac.aros.org/trac/timeline TRAC], [], * awaiting update [http://repo.or.cz/w/AROS.git git repo], [http://www.ohloh.net/p/aros/commits ohloh] or [https://svn.aros.org/svn/aros/trunk/ svn repo] and access [Git version git://repo.or.cz/AROS.git here], * deprecated [https://www.gitorious.org/aros/aros/commit/a7fda9e ARIX commits] or [https://gitorious.org/aros/aros GIT old] If you have SVN access (early 2015 introduced a new SVN server, create a new account at trac aros org) and/or have obtained the source [http://aros.sourceforge.net/download.php AROS site] - you can compile the current build tools/environment using: > make development and follow this [http://aros.sourceforge.net/documentation/developers/compiling.php#building procedure] or [https://github.com/apiraino/aros_guide Guide] https://trac.aros.org/trac#Developing If you plan on contributing back changes, please post information about such changes first on this [http://mail.aros.org/mailman/listinfo/aros-dev/ mailing list] for more experience developers can validate whether they are correct. Then there are the nightly build machines. They svn update before the build and run configure as one of the next steps. autoconf might be added to the nightly build scripts. Our build relies on packages downloaded from Internet (SDL for example) - it always worked this way. The minimal requirement (when just building core AROS) is binutils and gcc. If you build contrib as well, you need many more packages to be downloaded. https://gitorious.org/aros/aros/commits/crosstools-II git://gitorious.org/aros/aros.git Branch crosstools-II there is only one commit on top of ABI_V1 <pre> ../../aros-src/AROS/configure --enable-ccache --with-portssources=~/aros/Sources --target=pc-x86_64 --with-aros-toolchain-install=/home/weissms/media/data/aros/test/crosstools/pc-x86_64 </pre> and <pre> ../../aros-src/AROS/configure --enable-ccache --with-portssources=~/aros/Sources --target=pc-i386 --with-aros-toolchain-install=/home/weissms/media/data/aros/test/crosstools/pc-i386 </pre> build OK. :''More information: [[Aros/Developer/Maintainer|AROS Maintainer Docs]]'' ===SDI Calls=== Integrate the 'SDI'-headers to allow easier porting to all amiga-like platforms. <pre> PUTCHARPROTO( PutTheChar, char c, struct SPrintfStream *s ) { // REAL CODE } </pre> have "SDI_compiler.h" and "SDI_hook.h" included its more organized like #include SDI/SDI_hook.h than #include SDI_hook.h option 1 --- i also use when back porting from amiga's.. <pre> #ifdef __AROS__ #include SDI/SDI_hook.h #else #include SDI_hook.h #endif </pre> also you can add the -i include/sdi/ location if you do not want to add or edit any files. Defining HOOKPROTO to IPTR name(struct IClass * cl, Object * obj, Msg msg); solved the problem A MUI application most likely needs only the HOOKPROTOxxx SDI macros. They are compatible with AROS, only the attributes (hook, object attribute) must be given in the right order. examine compiler/include/aros/symbolsets.h (AROS_LIBREQ) compiling mui stuff for aros setting -std=gnu99 is necessary (i have had -std=c99 most of the time). ===Locale with Flexcat=== Most languages have a locale, but not every app is localized, the only thing needed is to translate the "catalog" files. It is a case of locating the correct catalog and saving the translated version. For every app that lacks of your language catalog and is localized anyway, you should find (in the sources) files related to locale: * file.cd = catalog descriptor, contains base msg, with internal language (usually english) * language.ct = catalog translation, contains every translated msg, indexed as in the file.cd. Compare with other localized apps... Then, "make my_app-catalogs" should create and install your translated catalogs. ex : for, saying, sys:prefs/wanderer: on root of AROS sources, type: "make workbench-prefs-wanderer-catalogs" then (if you changed the .cd file): "make workbench-prefs-wanderer" For apps not localized, you have to adapt their code to support it, if it is possible... noticed the original .cd file has many (//) strings at the end of any voice, so added them also to the .ct file. That (//) is only for cd files. I'm highly recommending to use FlexCat for updating ct files, e.g. like this: flexcat app.cd deutsch.ct newctfile deutsch.ct You'll get error checking and new entries are marked in the resulting ct file. When editing .ct files, only change those lines containing translation and perhaps version string, nothing else. The rest is up to the relevant tool, flexcat. In order to update your translation, type in the following in your shell: flexcat xyz.cd xyz.ct NEWCTFILE xyz_upd.ct COPYMSGNEW This way you will not only make sure you have correct translation file but flexcat also pre-fills newly added strings with "*** NEW *** text. Even better tool for checking cd/ct/catalog files is catcheck, but this one is sadly only available for AmigaOS/68k... Some languages have variations, like portugues from portugal and portugues from brasil differs... This is the way to go. I will have a look at language files, but basically if those two languages differ you have to do two separated set of translation files, yes. (you could create a brazilian slang language localization too) * At system level localization for one language is a dot language file. (ex: locale:languages/klingon.language) * At app level localization is a dot catalog file (ex: locale:catalogs/klingon/system/libs/dos.catalog) * At sources level, the dot ct file, and "$language" dot cd files and some building framework. (ex: catalogs/my_app.ct catalogs/klingon.cd catalogs/mmakefile.src support.c support.h) Please, use Flexcat to generate CT files: FlexCat wanderer.cd NEWCTFILE=deutsch.ct Then fill the first 2 lines with something useful: <pre> ## version $VER: wanderer.catalog 1.1 (9.2.2006) ## language deutsch </pre> You can even update the CT-File: (This adds the new strings) FlexCat wanderer.cd deutsch.ct NEWCTFILE=deutsch.ct To compile a catalog you only need the .cd file and your translation (.ct file): FlexCat multiview.cd deutsch.ct CATALOG=MultiView.catalog [http://murks-ide.svn.sourceforge.net/viewvc/murks-ide/trunk/src/Catalogs/flexcat_linux?revision=100 Linux version of FlexCat] : [http://aros.sourceforge.net/documentation/developers/app-dev/localization.php#localization-for-non-developers More information] A script which compares the required version (i.e. the version which an application/module etc. tries to open) with the version of the existing CT files. The result is in this table: https://github.com/aros-translation-team/translations/wiki/Progress The following cases are highlighted: n/a i.e. CT misses at all version in existing CT file is lower than the required version It might be a bit difficult to participate if you haven't worked with Git before but alternatively you can send your CT files to our Slack channel. When the ct file has been generated via flexcat (flexcat keyshow.cd NEWCTFILE=spanish.ct) it has the following header: --------------------------------------------------------------------------------------------------------------- ## version $VER: <name>.catalog <ver>.<rev> (04.01.2021) ## language nolanguage ## codeset 0 ; --------------------------------------------------------------------------------------------------------------- Those values <ver>.<rev> are the version and revision of the CT file for the languaje or are the values of the application being localized? The <ver> part must match with version which the application tries to open. You can find the value either in the column "Required Version" in the table which I've linked above, our you can look in the git repository. For keyshow it would be https://github.com/aros-translation-team/keyshow. You can find in the file "catalog_version.h" the right version number. The <rev> part starts for new CT files with 0 and should be increased every time the CT file is updated. Updated several files and created a few more that were missing on the spanish catalog. The catalogs are in Git repositories at https://github.com/aros-translation-team a) You tell me your Github user name. I'll invite you. You can work directly with the Git repositories. b) You create Github forks of the catalog repositories and create pull requests. c) You send the CT files to mrustler gmx de ===C Utils Misc=== The AROS source uses at several places the __DATE__ macro to fill the date entry of a $VER tag. Problem is that c:version doesn't understand that date format (e.g. "May 21, 2011"). As a result the output of e.g. > "version c:shell full" contains "(null)". Is extending the version command to understand the format of __DATE__ the right solution for that problem? AmigaOs compilers should use __AMIGADATE__ macro or similar form, if it isn't implemented it could be emulated in makefile: -D__AMIGADATE__=\"$(shell date "+%d.%m.%Y")\" BTW. I think DD.MM.YYYY is better format than "Month DD YYY" because "Month DD YYY" is not localized in any way. "strnicmp" shouldn't work with NULL pointers The Situation: compiled a linklib using c++ object files (using the c++ cross compiler). compiled a C stub that uses the linklib (using the c++ cross compiler). Try to link them together (using the c++ cross compiler) with C object files (using the normal target c compiler) that need to use -nostartup = cant do because using the c++ files pulls in arosc (for stdio etc.) - so wants to have the autoinit stuff present. What can I do about this?? If it is possible to manually open it then what do I need to do exactly? === ENV === The philosophy behind ENV: is that keeping configuration files there allows you to 'Use' preferences by keeping a copy in ENVARC: intact. However in some cases (like this one) it is not required. 99% of the time that statement is true (not required) for pretty much every file in ENV: or do people change their default icons - and prefs settings - every boot? There seem to be a bad habit of late with developers changing things to reflect their own personal preference when the change isn't actually necessary - It would be nice if people could refrain from doing that in the tree without at least discussing it on the dev-list first (and with good reasoning unless they committed said work in the first place..) We're not keen on the pollution of the "S:" dir: it's meant to be for scripts. What's wrong with "ENV:"? Only the fact that it takes up RAM. I understand that for PCs with several gigabytes of RAM this is irrelevant. But let's remember about other machines. The philosophy behind ENV: is that keeping configuration files there allows you to 'Use' preferences by keeping a copy in ENVARC: intact. However in some cases (like this one) it is not required. How about implementing in the style of HappyENV then? RAM-disk handler that falls through to reading from ENVARC: if there is no such file stored in it already. Removes RAM usage for unchanged files, removes the need to copy ENVARC to ENV in startup-sequence. Shouldn't be too hard to make from AmberRAM, or even just extend AmberRAM to provide this service. Is it feasable to build a special version of AmberRAM handling ENV: that will try and copy the requested file from ENVARC: if it isnt found in ENV: ? Additionaly it could mark closed "files" as untouched - and expunge them from ENV: after a period of time to free up additional RAM:, or when the system is running low on free memory? Silenty disappearing files may not be a good plan. Would be nice if the following would work: ASSIGN :ENV SYS:Prefs/Env-Arc ADD ASSIGN :ENV RAM:ENV ADD Where new files put in ENV: end up in RAM:ENV, and opening files looks in RAM:ENV first, then SYS:Prefs/Env-Arc Well - that's essentially what im proposing but without the assigns - or need for a RAM:ENV directory. Adding it as a feature of AmberRAM sounds like the most memory efficient way (one handler to load in RAM) but that's only if it is possible to make it handle ENV: additionally to RAM:, and if it is even possible to add the proposed functionality (...and how to make it enable it when accessing ENV:). ===(AS)MP support=== If one has to recompile software for SMP multi core, is there any thing special one has to do to get software to run? Use task.resource if you need to query information about what tasks are running, and clear msgports completely when they are allocated. Most code should not need Forbid. Use Semaphores, Messages etc. to sync your own code. Accessing system structures is a different thing. Use the proper API whenever possible. How single structures will be protected in the future is still a moving target, at least it is not documented. And you should never use undocumented stuff Ideas on for SMP multi-core Another suggestion is ... Forbid/Permit function calls are meant to halt multitasking so as no other task could intervene with what ever the calling task is doing, e.g. setting semaphores. Disable/Enable calls are meant to halt interrupts and as a side effect they also halt task switching. One option is to make it compulsory to protect shared resources with semaphores and forbid the use of simple Forbid() calls as to protect something. Setting semaphore should be done if possible with atomic instructions (check and alter in one instruction). Or make the second concurrent ObtainSemaphore call halt the second calling task and force if possible a task switch which ever gives better results. Semaphores could store the owning tasks task pointer instead of boolean to make things easier. As long as the CPU initiates the DMA transfers through the OS, and the OS ensures that the transferred memory is within the region accessible to the user initiating the transfer, everything is fine. The CPU is the conductor, and the CPU by that has the control of which DMA transfer is initiated and which is not. All you need to do is to write device drivers reasonable. Hint: CachePreDMA and CachePostDMA exist. All the Os has to do is to verify that the memory regions to be transferred are valid, and prohibit direct access to the DMA control registers from user space. None of these algorithms imply huge costs. The current OS design doesn't really allow virtual memory in first place, Forbid() is again the problem. [http://www.tbs-software.com/guide/index.php?guide=autodocs.doc%2Fmemory.doc&node=1 memory.library API] seem to low level. IMHO the programs should not know how the swapping is implemented. I would just go for one new memory flag MEMF_SWAPPABLE that indicates that a certain memory region or a whole memory pool won't be accessed during Forbid()/Permit() etc. It only solves part of the problem, it only implements virtual memory and not memory protection. For the latter you need to be able make certain memory inaccessible by other programs, some memory read-only for one task and read-write for other tasks, etc. And I think this should be done in the same Address Space in order to avoid you constantly need to swap between different address spaces. So to summarize, if there are programs using this API we may provide a wrapper layer to get them working but I am not convinced this API should be the reference API with whom to provide VM to AROS programs. === Variadic === variadic functions (i.e. functions with an arbitrary amount of arguments). <pre> #include <stdarg.h> [...] char * STDARGS GetKeyWord(int value, char *def, ...) { [...] va_list va; [...] va_start(va, def); [...] va_end (args); </pre> Please keep with using stdarg rather than having va casted to a LONG * type and varargs handled manually. Doing so, prevents tons of casting, where a simple va_arg can be used. So, string = *((char **) args) instead of string=va_arg(va, char *). <pre> #include <stdio.h> #include <stdarg.h> int printf (const char * format, ...) { int retval; va_list args; va_start (args, format); retval = vfprintf (stdout, format, args); va_end (args); fflush (stdout); return retval; } /* printf */ </pre> Couldn't find varargs.h or stdarg.h. and have no use for AROS_SLOWSTACKHOOKS or AROS_SLOWSTACKTAGS. GCC looks for stdarg.h in a different place: /bin/linux-i386/tools/lib/gcc/i386-aros/4.2.2/include/stdarg.h Here is a path for a "normal" header: bin/linux-i386/tools/lib/gcc/i386-aros/4.2.2/../../../../i386-aros/sys-include/aros/system.h The use of vararg.h isn't supported by newer gcc versions. If you want your code to run on architectures that pass part of variadic arguments in a number of registers you need to use AROS_SLOWSTACK macros. Otherwise your program will not work on powerpc and x86_64 ports. Of course the SLOWSTACK stuff is not needed in a function that can use va_list, va_start, va_arg and va_end. It's only needed if you want to write functions like DoMethod or similar. #include <stdarg.h> should be enough no matter if you do cross or native compiling. If it does not work, something is wrong and should be corrected. Stdarg.h is here, Development:lib/gcc/i386-aros/4.2.2/include/ ...which is part of the compiler's default include paths. In other words, #include <stdarg.h> works out of the box, indeed. (sorry, I should have just tried it before invoking "search" or "find"...) furthermore, myprintf() as shown above won't work, because... printf(format, args); ...is wrong - the second argument does not match printf() prototype, it expects a argument list, but args is of type va_list (obviously) - so one has to use... vfprintf(stdout, format, args); ...instead, just like in the original printf(), and add fflush(stdout). additionally, one could use... int myarg = va_arg(args, int); ...between va_start() and va_end() to access individual arguments, where each call to va_arg() returns an argument casted to the desired type (here: "int") from the list given (here: "args") and advances to the next one. wrapping up vfprintf() and modifying the format string now is a major speedup! no more backslash-n typing! this has been haunting me for years! On MOS and AmigaOS, the NewObject variadic function is kept in the static library. It takes most of the parameters on the stack - thanks to that the implementation of NewObject calls the NewObjectA function. Everything works perfect, and the typical MUI macros may be easily used. This, however, is not the case when you compile for AROS. Here, NewObject is a variadic macro, not a function. Thanks such approach we do not need any custom compiler in case of systems, where the arguments of variadic functions are passed partially through registers and partially through the stack (This is the case of PPC and x86_64, this is also the reason why both OS4 and MOS require specially patched compilers). Since NewObject is a macro, the gcc's preprocessor expects the list of macros arguments enclosed within parentheses. In MUI macros it is not the case. Imagine the following test code: <pre> #define foo(a,b) ((a)+(b)) int loosy_function(int a, int b) { return foo(a,b); } </pre> This will compile and work, but the following piece of code: <pre> #define foo(a,b) ((a)+(b)) #define END ) int loosy_function(int a, int b) { return foo(a,b END; } </pre> will fail with the error: unterminated argument list invoking macro "foo" There are two ways of fixing your issue. Either create your new objects outside this huge MUI constructions, and in there use just a pointer, or get rid of the "End" macro and exchange it with "TAG_DONE)". Badly written software is, for example, casting va_list to an APTR or even doing so as if va_list were a plain table of function arguments. Such code needs to be fixed because it has very few chances to work anywhere but on author's machine ;) The problem is nOt that they assume sizeof(APTR) == 4, its that they often do not use APTR, and use ULONG to store pointers exclusively. If the code used APTR/IPTR as it should - most of the "problems" wouldn't exist. It would also help if people would start using variadic arguments properly. Many coders do assumptions which shall never be made. Instead, they should consider using stdarg.h file and all the va_* functions :) ===ABI=== In the head of our SVN repository there are now only 3 directories: <pre> admin/ branches/ trunk/ </pre> We have added two extra dirs there: tags and imports As discussed when we branch ABI V0 and [[Aros/Developer/ABIv1|ABI V1]] it would also be good to introduce tags. Normally this is done in a directory in the repository called tags. Currently we don't have this directory there. (We do have branches/tags that is a hack I have done because one doesn't have write access in the top directory. I think this directory is not clean and should be removed). The second directory I would introduce is an imports directory for implementing vendor branches as discussed in the svn [http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html book]. Currently we use code from several different projects and that code is stored inside the AROS tree; we seem to have problems with keeping this code up to date and merge our changes upstream. Maintainers of up stream projects like the MUI classes etc. have complained about this (to put it lightly). Introducing these vendor branches would make it easier to see what changes we have made and make patches to be sent upstream and make it easier to import newer upstream versions of their code. Although can't "copy" the vendor branch into the main branch because it's already there, so start with a "merge". Yes, the first step to make the code already in the repository compatible with the vendor branches will be the most difficult. The best way to do it the following way: * first import the version on which the current AROS code is based into the vendor branch * then import the new version over it in the vendor branch * finally merge the difference between these two version in the AROS code present in the repository. For example, place NList directly under vendor and not in a subdirectory like "contrib/zune/classes". Actually after we have a stable [http://aros.sourceforge.net/documentation/developers/specifications/drafts/abiv1.php ABIv1 (2012 or later)]. We need to move away as much as possible from the contrib directory to some other repositories. The reasons are ... * The AROS repository should be for the core AROS code. * other contrib projects should be tried to be compiled for all Amiga-like OSes. * The release scheme for AROS and the other programs should not have to be aligned. * Binary versions should be provided on aros-archives and on aminet and/or OS4Depot to install them. (Some clever programs should maybe be provided to make the life of distribution developers easier). * avoid parallel forks of programs for AROS and the other amiga OSes. If there is really a need for a place for hosting AROS projects we may investigate setting up such a server but then including bug tracking, governance, maillist, etc. for each project separately. I personally think there are already enough places like sourceforge, google code, savannah, etc. where people can go for hosting such projects. ==Links== * http://amigadocs.hokstad.com * http://amigadocs.hokstad.com/doku.php?id=dev-links In the future...? *AROS 64bit - SMP, Vulkan with OpenGL compability layer *AROS 32bit - keep for historic reasons What would you like to see implemented in AROS? ABIv1 completed, SMP (x86_64), SendMsg()/GetMsg() to support memory protection between target and destination, in that order. Michal Schulz and Jason McMullan have been toying with the question "What are the minimal changes needed to the AmigaOS 3.1 API to support SMP"? The answer so far seems to be "few, but subtle". For example, SysBase->ThisTask is no longer meaningful on SMP, but FindTask(NULL) is. Disable() and Forbid() are shockingly bad on performance, but adding a spinlock semaphore mode to SignalSemaphore will help new code on SMP. Leveraging a 'common' OS with a lot of machine support (Linux, MacOS, Windows, QNX, etc.) is something that AROS has been doing for quite a long time, and it is the biggest strength of AROS. This AROS experience and programming model, in the same way the Google's Android layers on top of Linux, or MacOS X layers on top of the Darwin/BSD kernel, as a first step * The graphics + layers subsystem could be implemented as a shim on top of a OpenGL ES implementation (ie on any modern Linux system, or the RaspberryPI's hardware, MacOS X, etc). - This also allows every window to be on its own 3D surface with backing store, allowing Wanderer (or a Commodity) rearrange/zoom/animate app windows without having to send a pile or refreshes to them * Use OpenAL as the sound backend * AROSTCP would be a thin layer over the native OS's TCP/IP stack * dos.library, poseidon.library, and input.device would be slim shims over the native APIs * If we move to loading all libraries' into the application's task space, instead of a single global instance of the library, this will allow SMP and MMU more easily. - Yes, it will require a lot of work in the libraries to make this transition - Yes, I do think it will be worth it in the end. * A 'fat binary' install format (or, maybe LLVM bytecode) that can be 'flattend' to the target architecture on installation. So, what would this 'AROS of the future' look like? * AmigaOS 3.x style API, with certain 'fundamental changes' to message passing * Uses the underlying OS' device drivers, so more AROS developer effort can go to user-visible features and bugfixes * Allows AROS applications to run side-by-side with the OS's native apps And why would anyone want to program on such a system? * AROS applications would run on any system that has the AROS Framework installed * AROS applications are pixel-for-pixel the same on all platforms. * Develop with the knowledge that you are guaranteed OpenGL and OpenAL, and the rest of the AROS Framework an option for mmake to dump its dependency of metatarget in a graphviz[*] input file. This should make it possible to visualize the dependencies and hopefully be inspiration for cleaning up some mess, circular or unneeded dependencies and so on. AmigaOS gcc 9 [https://franke.ms/amiga/gcc.wiki Old versions] able to create binaries for AmigaOS and [https://eab.abime.net/showthread.php?t=93813 Upgrading gcc versions] === AI === Please see discussion of the [https://arosworld.org/infusions/forum/viewthread.php?thread_id=1933&rowstart=0 Aros world thread] [https://opencode.ai/ opencode], [https://openrouter.ai/models?categories=programming new opencode models], [https://axrt.org/media/aros-ui-ai.mp4 AI ui], *DeepSeek V4 Flash - very good model, use it daily but prehaps a small monthly fee payable *Ring 2.6 - good model but pricing small Multimodal Context Prompt <--- Model <---> Agent ---> End user engine Gemini LMStudio Qwen Comfyui etc Recent, self hosting local models on laptops, mini pcs, laptops or desktops with [https://www.youtube.com/watch?v=oqvZJf5Vz7U quantization] (compressed) so reducing memory to run on 8Gb VRAM (very low size models) but for better performance more VRAM is needed for text based tasks. For smaller models, very specific prompting and chatting (iterations) for very smaller sections of your overall application as lots of supervision needed for the code produced Ability increases by the amount of ram (more for better quality) and the memory bandwidth (how fast) but Total VRAM should be greater than Model size (in Gbytes), context length (you set Gbytes taken) and KV cache - everything a trade off <pre> Small Limited Okay Better Bigger Best 1-2B 3B 7B 20B 30B model size Q2 Q2 Q4 Q6 Q8 compressing 4GB 8GB 16GB 32GB 64GB VRAM needed </pre> Roughly... *DDR4 Pi5 about 17GB/s *DDR5 about 40Gb/s *DDR6 about 90Gb/s about Jetson Orin Nano level *Strix Halo about 210Gb/s *DGX Spark about 220Gb/s * MacBook M3 base 100GB/s Pro 150GB/s Max 200Gb/s unified memory * MacBook M4 base 120Gb/s Pro 170Gb/s Max 250Gb/s * MacBook M5 base 140Gb/s * MacBook M6 base 160Gb/s Pro 180Gb/s Max * [https://www.youtube.com/watch?v=jMnMrivvAWo Mac Studio] Max 400Gb/s to Ultra 800Gb/s *[https://lmstudio.ai/download LMstudio single gpu], 128Gb *[ gpt-oss-120b] 70Gb model 64Gb *[HauHau 3.6 35B] *[ muse-glimmer] 32Gb Alibaba Cloud's [ Qwen] team series of large language models LLMs *[ Qwen-3.8-27B] *[ Qwen-3.6-27B] 16Gb *[ Qwen 3.8 27B GSQ ACO GGUF] 8Gb *[ glm-ocr] *[ medGemma] *[ qwen 3.5-4b] *[https://github.com/sipeed/picoclaw picoclaw claude] *[ DeepSeek R1] *[ Qwen 3.5 9B Q4] *[ Qwen 2.5 14b Coder] *[ gpt-oss-20b 4Q] Simple laptop *[ mini CPM5-2B] for simple user interfaces of single c file apps as long as robust explicit clear instruction given For the full experience #Training learning using 1+ high end GPUs at least 16GB VRAM per GPU card or 64Gb+ of unified, 16Core CPU with at least 64Gb of RAM system memory #Inference with custom asics or GPUs For ever bigger LLMs needs one of the below but with settings adjusting *[https://ollama.com/download Ollama single gpu] *[https://github.com/ggml-org/llama.cpp/releases llama.CPP multi gpus], *[ VLM multiple gpus], *[ MiniMax H3] for audio and video but gpu 8Gb+ *[https://github.com/ideogram-oss/ideogram4 ideogram4] *[https://github.com/calesthio/OpenMontage OpenMontage] *[https://github.com/jamiepine/voicebox voicebox] *[ Chatterbox] with neural watermark *[ Index-TTS] *[ Qwen3-TTS] *[ Omnivoice] *[ faster-qwen3] *[ dots.tts] Multimedia *[ Kimi K3], Refactor *[ Devstral-small-2 256K context] FIM - Fill in the middle Mistral Codestral-2 for 64Gb+ unified <pre> Text to Audio --\ Text to Video --/ Reference Video --> Video and Audio output </pre> Agent = Model + Harness Agentic Harnesses like [ Claude Code] [ Cursor] [ ] could help models. [https://github.com/deepseek-ai/deepseek-harness Deepseek] etc allows many models to reside inside but also everything is a plugin, including the model adapter, the tool registry, the session log, and the agent loop itself, so each is replaceable from configuration MoE mixture of experts model ==References== {{reflist}} {{status|50%}} {{BookCat}} 8obj7zosofg2pzq4z8tuqsgs4i8xry8 Mirad 0 23909 4670087 4662051 2026-09-14T19:11:15Z Tyoyafud 6233 Redirected page to [[Mirad Grammar]] 4670087 wikitext text/x-wiki #REDIRECT [[Mirad Grammar]] {{Info|This book is out of date. For the most current version, go to [[Mirad Grammar|Mirad Grammar]].}} <noinclude>{{PDF_version}}{{Print_version}}</noinclude> {| align="center" style="background: yellow;{{Text default color}};" border="1" | '''Glojo mir ebdao ácana dadè.''' ''(accented version)'' |} {| align="center" style="background: yellow;{{Text default color}};" border="1" | '''Glojo mir ebdao yacana dadey.''' ''(unaccented version)'' |} {| align="center" style="background: yellow;{{Text default color}};" border="1" | ''Soon the world will converse through a common tongue.'' |} :'''Mirad''' ( aka '''Unilingua''' ) is an artificially constructed auxiliary language ([http://www.quetzal.com/conlang.html conlang]) developed and published by Paris-based author Noubar Agopoff as a serious medium for easy and logical international communication. Mirad is categorized by constructed language aficionados as ''philosophical'' because its vocabulary is mapped letter-by-letter to a semantic ontology or thesaurus. Also, the wordstock of Mirad is considered ''a priori'', that is, there is no deliberate association with words or roots in existing natural languages. The vocabulary is "from scratch", yet based on internal lexical and semantic rules that help the learner to construct and deconstruct derivations logically, mnemonically, and consistently. {|style="margin-left:1.6em" |- |style="background:#efefef;{{Text default color}};"|For some odd reason, the author of this language called it the Latinesque name "Unilingua." In this revision of the language, the name will be the more internally consistent '''Mirad''' (pronounced ''mee-RAHD''), which means ''world language'' ('''mira''' = ''world's'' + '''d''' = ''speech''.) The proximity to the Russian word for 'world' (мир) is pure coincidence; the vocabulary of Mirad, as stated above, is not based on or related to any existing human language. |} <noinclude> :The author claims in his book ''Unilingua -- Langue universelle auxiliaire'' that this language is well-suited for universal, logical communication because it is based on principles already exploited globally by sciences like mathematics and chemistry where symbolic formulas are constructed in accordance with strict rules and a limited sequence of symbols understood by all practitioners. :'''Mirad''' is constructed on the following principles: ::* Every vowel has numeric, vectorial, scalar, or semantic value. ::* Every consonant is semantically taxonomic. ::* Word derivation is systematic, consistent, analogical, and mnemonic. ::* Words are as ontologically unambiguous as possible. ::* Words are as short and as easy to pronounce as possible. ::* Inflection and derivation of words is regular and predictable. {|style="margin-left:1.6em" |- |style="background:#efefef;{{Text default color}};"|Conlang aficionados, note: Mirad is not strictly a ''logical'' language in the Sapir-Whorf sense. It is meant to be more practical, natural, and humanly usable. Mirad is logical in the more usual sense that it is systematic, regular, and predictable. |} == Contents == {{Wikipedia|Mirad}} * [[/Orthography and Pronunciation/]] * [[/Word-building/]] * [[/Word Families/]] * [[/Grammar/]] * [[/Conversation Lessons|Lessons in Mirad Conversation]] * [[/Sample Texts/]] {{alphabetical|M}} {{status|25%}} </noinclude> {{Shelves|Mirad}} 1m0tvon3oi2l8p45o1hxf07nrim8xt4 Wikibooks:Collaboration of the Month/June 2006 4 78096 4670137 4658283 2026-09-15T06:08:05Z ForeverFlying 3515198 using SVG 4670137 wikitext text/x-wiki {| style="background-color:transparent;color:inherit;" |[[File:Noia 64 apps help index.svg|64x64px|link=Help]] |{{center|'''[[Wikibooks:Collaboration of the Month|Collaboration of the Month]]'''<br>''June 2006'' - '''[[Help]]'''}} Are you a seasoned Wikibooks veteran? If so, help us make a more complete, easy to navigate [[help]] page. <div style="text-align: right;">[[Wikibooks:Collaboration of the Month/July 2006 voting|Vote]] - [[Wikibooks:Collaboration of the Month|More >>]]</div> |} 5rujejjo03txd9z2noegadzeeahy1q9 Wikibooks:Reading room/Administrative Assistance 4 140081 4670015 4669855 2026-09-14T12:37:12Z MathXplore 3097823 Reporting Happyherbal26 4670015 wikitext text/x-wiki __NEWSECTIONLINK__ {{Discussion Rooms}} {{shortcut|WB:AN|WB:AA}} {{TOC left}} {{User:MiszaBot/config |archive = Wikibooks:Reading room/Administrative Assistance/Archives/%(year)d/%(monthname)s |algo = old(14d) |counter = 1 |minthreadstoarchive = 1 |minthreadsleft = 1 }} {{ombox|type=content|text='''To request a rename or usurpation''', go to the global request page at Meta [[meta:SRUC|here]].<br />''Please do not post those requests here!''}} {{Clear}} Welcome to the '''Administrative Assistance reading room'''. You can request assistance from [[WB:ADMIN|administrators]] for handling a variety of problems here and alert them about problems which may require special actions not normally used during regular content editing. Please be patient as administrators are often quite busy with either their own projects or trying to perform general maintenance and cleanup. You can deal with most vandalism yourself: [[Wikibooks:Dealing with vandalism|fix it]], then [[Wikibooks:Templates/User_notices|warn the user]]. If there is repeated vandalism by one user, lots of vandalism on a single page, or vandalism from many users, tell an admin here, or in [irc://irc.freenode.net/wikibooks #wikibooks] (say <code>!admin</code> to get attention). For more general questions and assistance that doesn't require an administrator, please use the [[WB:HELP|Assistance Reading Room]]. {{clear}} [[Category:Reading room]] == Gloriagulshan reported by MathXplore == * {{userlinks|Gloriagulshan}} [[:w:Wikipedia:Sockpuppet investigations/Kagoz]] ([[Special:Contributions/Tikapara]], [[Wikibooks:Reading_room/Administrative_Assistance/Archives/2025/September#Tikapara_reported_by_MathXplore]]), created page [[Introduction to Filmmaking]] Contributed by Ali Zulfikar Zahedi ([[:w:Ali Zulfikar Zahedi]], [[:w:simple:Ali Zulfikar Zahedi]]) <!-- USERREPORTED:/Gloriagulshan/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 03:56, 29 August 2026 (UTC) :I believe this page is intended as instructional material for learning filmmaking rather than as an encyclopedic article. I will revise the page to focus on practical filmmaking concepts, methods, and processes in accordance with the purpose of Wikibooks. [[User:Gloriagulshan|Gloriagulshan]] ([[User talk:Gloriagulshan|discuss]] • [[Special:Contributions/Gloriagulshan|contribs]]) 04:20, 29 August 2026 (UTC) : Cc: {{ping|SHB2000|MarcGarver}} [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 04:41, 29 August 2026 (UTC) ::I see the account is glocked, and there are no sleepers that aren't already locked, so nothing more to do. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 11:18, 3 September 2026 (UTC) == Abir077 reported by MathXplore == * {{userlinks|Abir077}} Link spam, [[Special:AbuseLog/315272]] <!-- USERREPORTED:/Abir077/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:07, 31 August 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 12:46, 31 August 2026 (UTC) == Jeevandan26 reported by MathXplore == * {{userlinks|Jeevandan26}} Link spam, [[Special:AbuseLog/315288]] <!-- USERREPORTED:/Jeevandan26/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:14, 1 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:20, 1 September 2026 (UTC) == Mohansai00116 reported by MathXplore == * {{userlinks|Mohansai00116}} Link spam, [[Special:AbuseLog/315335]] <!-- USERREPORTED:/Mohansai00116/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:09, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:04, 3 September 2026 (UTC) == Fatemai6 reported by MathXplore == * {{userlinks|Fatemai6}} Link spam, [[Special:AbuseLog/315329]] <!-- USERREPORTED:/Fatemai6/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:10, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Kamrulhasan147 reported by MathXplore == * {{userlinks|Kamrulhasan147}} Link spam, [[Special:AbuseLog/315327]], [[Special:Contributions/Kamrulhasan142]] <!-- USERREPORTED:/Kamrulhasan147/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:12, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Kamrulhasan142 reported by MathXplore == * {{userlinks|Kamrulhasan142}} Link spam, [[Special:AbuseLog/315295]], [[Special:Contributions/Kamrulhasan147]] <!-- USERREPORTED:/Kamrulhasan142/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:13, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Twenty7incgs reported by MathXplore == * {{userlinks|Twenty7incgs}} Link spam, [[Special:AbuseLog/315323]] <!-- USERREPORTED:/Twenty7incgs/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:14, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Tailleash reported by MathXplore == * {{userlinks|Tailleash}} Link spam, [[Special:AbuseLog/315318]] <!-- USERREPORTED:/Tailleash/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:15, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Md Akash Mia12 reported by MathXplore == * {{userlinks|Md Akash Mia12}} Link spam, [[Special:AbuseLog/315299]], [[Special:AbuseLog/315298]] <!-- USERREPORTED:/Md Akash Mia12/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:17, 2 September 2026 (UTC) : {{done|Page deleted}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:03, 3 September 2026 (UTC) == Vapesitefiftybar reported by MathXplore == * {{userlinks|Vapesitefiftybar}} Link spam, [[Special:AbuseLog/315338]] <!-- USERREPORTED:/Vapesitefiftybar/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:40, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Myteethtime1 reported by MathXplore == * {{userlinks|Myteethtime1}} Spam <!-- USERREPORTED:/Myteethtime1/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:54, 4 September 2026 (UTC) : {{Done}} by MarcGarver. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 19:28, 4 September 2026 (UTC) == Rajstartupservices reported by MathXplore == * {{userlinks|Rajstartupservices}} Link spam, [[Special:AbuseLog/315363]] <!-- USERREPORTED:/Rajstartupservices/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 14:33, 4 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 19:28, 4 September 2026 (UTC) == Reazulkarim545456 reported by MathXplore == * {{userlinks|Reazulkarim545456}} Link spam, [[Special:AbuseLog/315377]] <!-- USERREPORTED:/Reazulkarim545456/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:39, 6 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:19, 6 September 2026 (UTC) == Fahmidafy reported by MathXplore == * {{userlinks|Fahmidafy}} Link spam, [[Special:AbuseLog/315378]] <!-- USERREPORTED:/Fahmidafy/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:40, 6 September 2026 (UTC) : The filter stopped them three times, no action taken. Please re-report if they continue spamming. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:20, 6 September 2026 (UTC) == Grow spark digital reported by MathXplore == * {{userlinks|Grow spark digital}} Link spam, [[Special:AbuseLog/315381]] <!-- USERREPORTED:/Grow spark digital/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:42, 6 September 2026 (UTC) : Only one filter hit, seems stale. Please re-report if they continue to spam. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:49, 6 September 2026 (UTC) == Korigosnacks reported by MathXplore == * {{userlinks|Korigosnacks}} Link spam, [[Special:AbuseLog/315383]] <!-- USERREPORTED:/Korigosnacks/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:32, 6 September 2026 (UTC) : Stale after only two filter hits and no edits. Please re-report if they spam later. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:56, 6 September 2026 (UTC) == Athoyislam reported by MathXplore == * {{userlinks|Athoyislam}} Spam <!-- USERREPORTED:/Athoyislam/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:47, 7 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 11:31, 7 September 2026 (UTC) == Jamal123lll reported by MathXplore == * {{userlinks|Jamal123lll}} Link spam, [[Special:AbuseLog/315402]] <!-- USERREPORTED:/Jamal123lll/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:48, 7 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 11:32, 7 September 2026 (UTC) == Idontknowidkh reported by MathXplore == * {{userlinks|Idontknowidkh}} online shopping spam, [[Special:AbuseLog/315400]] <!-- USERREPORTED:/Idontknowidkh/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:49, 7 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 11:33, 7 September 2026 (UTC) == Ridhisharma1999 reported by MathXplore == * {{userlinks|Ridhisharma1999}} Link spam, [[Special:AbuseLog/315435]] <!-- USERREPORTED:/Ridhisharma1999/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:01, 9 September 2026 (UTC) :{{Done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 12:02, 9 September 2026 (UTC) == Thenaoriudaipur reported by MathXplore == * {{userlinks|Thenaoriudaipur}} Link spam, [[Special:AbuseLog/315473]] <!-- USERREPORTED:/Thenaoriudaipur/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:47, 10 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:49, 10 September 2026 (UTC) == Networkkingss reported by MathXplore == * {{userlinks|Networkkingss}} Link spam, [[Special:AbuseLog/315458]] <!-- USERREPORTED:/Networkkingss/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:50, 10 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:49, 10 September 2026 (UTC) == ~2026-49226-92 reported by MathXplore == * {{anonlinks|~2026-49226-92}} Vandalism <!-- USERREPORTED:/~2026-49226-92/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:57, 10 September 2026 (UTC) : {{done}}. I also nuked all pages created by this user and their connected temporary accounts based on their associated IP(s). [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:48, 10 September 2026 (UTC) == ~2026-49632-08 reported by MathXplore == * {{anonlinks|~2026-49632-08}} Spam <!-- USERREPORTED:/~2026-49632-08/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 04:08, 13 September 2026 (UTC) :{{done}} [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 06:39, 13 September 2026 (UTC) == Happyherbal26 reported by MathXplore == * {{userlinks|Happyherbal26}} Link spam, [[Special:AbuseLog/315518]] <!-- USERREPORTED:/Happyherbal26/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:37, 14 September 2026 (UTC) c7x5qna8mk14b7fyjfop02jae53ln6a 4670017 4670015 2026-09-14T12:37:58Z MathXplore 3097823 Reporting Shahadotdl 4670017 wikitext text/x-wiki __NEWSECTIONLINK__ {{Discussion Rooms}} {{shortcut|WB:AN|WB:AA}} {{TOC left}} {{User:MiszaBot/config |archive = Wikibooks:Reading room/Administrative Assistance/Archives/%(year)d/%(monthname)s |algo = old(14d) |counter = 1 |minthreadstoarchive = 1 |minthreadsleft = 1 }} {{ombox|type=content|text='''To request a rename or usurpation''', go to the global request page at Meta [[meta:SRUC|here]].<br />''Please do not post those requests here!''}} {{Clear}} Welcome to the '''Administrative Assistance reading room'''. You can request assistance from [[WB:ADMIN|administrators]] for handling a variety of problems here and alert them about problems which may require special actions not normally used during regular content editing. Please be patient as administrators are often quite busy with either their own projects or trying to perform general maintenance and cleanup. You can deal with most vandalism yourself: [[Wikibooks:Dealing with vandalism|fix it]], then [[Wikibooks:Templates/User_notices|warn the user]]. If there is repeated vandalism by one user, lots of vandalism on a single page, or vandalism from many users, tell an admin here, or in [irc://irc.freenode.net/wikibooks #wikibooks] (say <code>!admin</code> to get attention). For more general questions and assistance that doesn't require an administrator, please use the [[WB:HELP|Assistance Reading Room]]. {{clear}} [[Category:Reading room]] == Gloriagulshan reported by MathXplore == * {{userlinks|Gloriagulshan}} [[:w:Wikipedia:Sockpuppet investigations/Kagoz]] ([[Special:Contributions/Tikapara]], [[Wikibooks:Reading_room/Administrative_Assistance/Archives/2025/September#Tikapara_reported_by_MathXplore]]), created page [[Introduction to Filmmaking]] Contributed by Ali Zulfikar Zahedi ([[:w:Ali Zulfikar Zahedi]], [[:w:simple:Ali Zulfikar Zahedi]]) <!-- USERREPORTED:/Gloriagulshan/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 03:56, 29 August 2026 (UTC) :I believe this page is intended as instructional material for learning filmmaking rather than as an encyclopedic article. I will revise the page to focus on practical filmmaking concepts, methods, and processes in accordance with the purpose of Wikibooks. [[User:Gloriagulshan|Gloriagulshan]] ([[User talk:Gloriagulshan|discuss]] • [[Special:Contributions/Gloriagulshan|contribs]]) 04:20, 29 August 2026 (UTC) : Cc: {{ping|SHB2000|MarcGarver}} [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 04:41, 29 August 2026 (UTC) ::I see the account is glocked, and there are no sleepers that aren't already locked, so nothing more to do. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 11:18, 3 September 2026 (UTC) == Abir077 reported by MathXplore == * {{userlinks|Abir077}} Link spam, [[Special:AbuseLog/315272]] <!-- USERREPORTED:/Abir077/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:07, 31 August 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 12:46, 31 August 2026 (UTC) == Jeevandan26 reported by MathXplore == * {{userlinks|Jeevandan26}} Link spam, [[Special:AbuseLog/315288]] <!-- USERREPORTED:/Jeevandan26/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:14, 1 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:20, 1 September 2026 (UTC) == Mohansai00116 reported by MathXplore == * {{userlinks|Mohansai00116}} Link spam, [[Special:AbuseLog/315335]] <!-- USERREPORTED:/Mohansai00116/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:09, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:04, 3 September 2026 (UTC) == Fatemai6 reported by MathXplore == * {{userlinks|Fatemai6}} Link spam, [[Special:AbuseLog/315329]] <!-- USERREPORTED:/Fatemai6/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:10, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Kamrulhasan147 reported by MathXplore == * {{userlinks|Kamrulhasan147}} Link spam, [[Special:AbuseLog/315327]], [[Special:Contributions/Kamrulhasan142]] <!-- USERREPORTED:/Kamrulhasan147/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:12, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Kamrulhasan142 reported by MathXplore == * {{userlinks|Kamrulhasan142}} Link spam, [[Special:AbuseLog/315295]], [[Special:Contributions/Kamrulhasan147]] <!-- USERREPORTED:/Kamrulhasan142/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:13, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Twenty7incgs reported by MathXplore == * {{userlinks|Twenty7incgs}} Link spam, [[Special:AbuseLog/315323]] <!-- USERREPORTED:/Twenty7incgs/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:14, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Tailleash reported by MathXplore == * {{userlinks|Tailleash}} Link spam, [[Special:AbuseLog/315318]] <!-- USERREPORTED:/Tailleash/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:15, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Md Akash Mia12 reported by MathXplore == * {{userlinks|Md Akash Mia12}} Link spam, [[Special:AbuseLog/315299]], [[Special:AbuseLog/315298]] <!-- USERREPORTED:/Md Akash Mia12/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:17, 2 September 2026 (UTC) : {{done|Page deleted}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:03, 3 September 2026 (UTC) == Vapesitefiftybar reported by MathXplore == * {{userlinks|Vapesitefiftybar}} Link spam, [[Special:AbuseLog/315338]] <!-- USERREPORTED:/Vapesitefiftybar/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:40, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Myteethtime1 reported by MathXplore == * {{userlinks|Myteethtime1}} Spam <!-- USERREPORTED:/Myteethtime1/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:54, 4 September 2026 (UTC) : {{Done}} by MarcGarver. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 19:28, 4 September 2026 (UTC) == Rajstartupservices reported by MathXplore == * {{userlinks|Rajstartupservices}} Link spam, [[Special:AbuseLog/315363]] <!-- USERREPORTED:/Rajstartupservices/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 14:33, 4 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 19:28, 4 September 2026 (UTC) == Reazulkarim545456 reported by MathXplore == * {{userlinks|Reazulkarim545456}} Link spam, [[Special:AbuseLog/315377]] <!-- USERREPORTED:/Reazulkarim545456/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:39, 6 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:19, 6 September 2026 (UTC) == Fahmidafy reported by MathXplore == * {{userlinks|Fahmidafy}} Link spam, [[Special:AbuseLog/315378]] <!-- USERREPORTED:/Fahmidafy/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:40, 6 September 2026 (UTC) : The filter stopped them three times, no action taken. Please re-report if they continue spamming. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:20, 6 September 2026 (UTC) == Grow spark digital reported by MathXplore == * {{userlinks|Grow spark digital}} Link spam, [[Special:AbuseLog/315381]] <!-- USERREPORTED:/Grow spark digital/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:42, 6 September 2026 (UTC) : Only one filter hit, seems stale. Please re-report if they continue to spam. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:49, 6 September 2026 (UTC) == Korigosnacks reported by MathXplore == * {{userlinks|Korigosnacks}} Link spam, [[Special:AbuseLog/315383]] <!-- USERREPORTED:/Korigosnacks/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:32, 6 September 2026 (UTC) : Stale after only two filter hits and no edits. Please re-report if they spam later. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:56, 6 September 2026 (UTC) == Athoyislam reported by MathXplore == * {{userlinks|Athoyislam}} Spam <!-- USERREPORTED:/Athoyislam/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:47, 7 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 11:31, 7 September 2026 (UTC) == Jamal123lll reported by MathXplore == * {{userlinks|Jamal123lll}} Link spam, [[Special:AbuseLog/315402]] <!-- USERREPORTED:/Jamal123lll/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:48, 7 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 11:32, 7 September 2026 (UTC) == Idontknowidkh reported by MathXplore == * {{userlinks|Idontknowidkh}} online shopping spam, [[Special:AbuseLog/315400]] <!-- USERREPORTED:/Idontknowidkh/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:49, 7 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 11:33, 7 September 2026 (UTC) == Ridhisharma1999 reported by MathXplore == * {{userlinks|Ridhisharma1999}} Link spam, [[Special:AbuseLog/315435]] <!-- USERREPORTED:/Ridhisharma1999/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:01, 9 September 2026 (UTC) :{{Done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 12:02, 9 September 2026 (UTC) == Thenaoriudaipur reported by MathXplore == * {{userlinks|Thenaoriudaipur}} Link spam, [[Special:AbuseLog/315473]] <!-- USERREPORTED:/Thenaoriudaipur/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:47, 10 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:49, 10 September 2026 (UTC) == Networkkingss reported by MathXplore == * {{userlinks|Networkkingss}} Link spam, [[Special:AbuseLog/315458]] <!-- USERREPORTED:/Networkkingss/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:50, 10 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:49, 10 September 2026 (UTC) == ~2026-49226-92 reported by MathXplore == * {{anonlinks|~2026-49226-92}} Vandalism <!-- USERREPORTED:/~2026-49226-92/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:57, 10 September 2026 (UTC) : {{done}}. I also nuked all pages created by this user and their connected temporary accounts based on their associated IP(s). [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:48, 10 September 2026 (UTC) == ~2026-49632-08 reported by MathXplore == * {{anonlinks|~2026-49632-08}} Spam <!-- USERREPORTED:/~2026-49632-08/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 04:08, 13 September 2026 (UTC) :{{done}} [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 06:39, 13 September 2026 (UTC) == Happyherbal26 reported by MathXplore == * {{userlinks|Happyherbal26}} Link spam, [[Special:AbuseLog/315518]] <!-- USERREPORTED:/Happyherbal26/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:37, 14 September 2026 (UTC) == Shahadotdl reported by MathXplore == * {{userlinks|Shahadotdl}} Link spam, [[Special:AbuseLog/315516]] <!-- USERREPORTED:/Shahadotdl/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:37, 14 September 2026 (UTC) 9oh5gxkpssr62y4ouqywufleqlh0zew 4670043 4670017 2026-09-14T14:02:46Z Koavf 16549 /* Happyherbal26 reported by MathXplore */ Reply 4670043 wikitext text/x-wiki __NEWSECTIONLINK__ {{Discussion Rooms}} {{shortcut|WB:AN|WB:AA}} {{TOC left}} {{User:MiszaBot/config |archive = Wikibooks:Reading room/Administrative Assistance/Archives/%(year)d/%(monthname)s |algo = old(14d) |counter = 1 |minthreadstoarchive = 1 |minthreadsleft = 1 }} {{ombox|type=content|text='''To request a rename or usurpation''', go to the global request page at Meta [[meta:SRUC|here]].<br />''Please do not post those requests here!''}} {{Clear}} Welcome to the '''Administrative Assistance reading room'''. You can request assistance from [[WB:ADMIN|administrators]] for handling a variety of problems here and alert them about problems which may require special actions not normally used during regular content editing. Please be patient as administrators are often quite busy with either their own projects or trying to perform general maintenance and cleanup. You can deal with most vandalism yourself: [[Wikibooks:Dealing with vandalism|fix it]], then [[Wikibooks:Templates/User_notices|warn the user]]. If there is repeated vandalism by one user, lots of vandalism on a single page, or vandalism from many users, tell an admin here, or in [irc://irc.freenode.net/wikibooks #wikibooks] (say <code>!admin</code> to get attention). For more general questions and assistance that doesn't require an administrator, please use the [[WB:HELP|Assistance Reading Room]]. {{clear}} [[Category:Reading room]] == Gloriagulshan reported by MathXplore == * {{userlinks|Gloriagulshan}} [[:w:Wikipedia:Sockpuppet investigations/Kagoz]] ([[Special:Contributions/Tikapara]], [[Wikibooks:Reading_room/Administrative_Assistance/Archives/2025/September#Tikapara_reported_by_MathXplore]]), created page [[Introduction to Filmmaking]] Contributed by Ali Zulfikar Zahedi ([[:w:Ali Zulfikar Zahedi]], [[:w:simple:Ali Zulfikar Zahedi]]) <!-- USERREPORTED:/Gloriagulshan/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 03:56, 29 August 2026 (UTC) :I believe this page is intended as instructional material for learning filmmaking rather than as an encyclopedic article. I will revise the page to focus on practical filmmaking concepts, methods, and processes in accordance with the purpose of Wikibooks. [[User:Gloriagulshan|Gloriagulshan]] ([[User talk:Gloriagulshan|discuss]] • [[Special:Contributions/Gloriagulshan|contribs]]) 04:20, 29 August 2026 (UTC) : Cc: {{ping|SHB2000|MarcGarver}} [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 04:41, 29 August 2026 (UTC) ::I see the account is glocked, and there are no sleepers that aren't already locked, so nothing more to do. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 11:18, 3 September 2026 (UTC) == Abir077 reported by MathXplore == * {{userlinks|Abir077}} Link spam, [[Special:AbuseLog/315272]] <!-- USERREPORTED:/Abir077/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:07, 31 August 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 12:46, 31 August 2026 (UTC) == Jeevandan26 reported by MathXplore == * {{userlinks|Jeevandan26}} Link spam, [[Special:AbuseLog/315288]] <!-- USERREPORTED:/Jeevandan26/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:14, 1 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:20, 1 September 2026 (UTC) == Mohansai00116 reported by MathXplore == * {{userlinks|Mohansai00116}} Link spam, [[Special:AbuseLog/315335]] <!-- USERREPORTED:/Mohansai00116/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:09, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:04, 3 September 2026 (UTC) == Fatemai6 reported by MathXplore == * {{userlinks|Fatemai6}} Link spam, [[Special:AbuseLog/315329]] <!-- USERREPORTED:/Fatemai6/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:10, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Kamrulhasan147 reported by MathXplore == * {{userlinks|Kamrulhasan147}} Link spam, [[Special:AbuseLog/315327]], [[Special:Contributions/Kamrulhasan142]] <!-- USERREPORTED:/Kamrulhasan147/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:12, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Kamrulhasan142 reported by MathXplore == * {{userlinks|Kamrulhasan142}} Link spam, [[Special:AbuseLog/315295]], [[Special:Contributions/Kamrulhasan147]] <!-- USERREPORTED:/Kamrulhasan142/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:13, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Twenty7incgs reported by MathXplore == * {{userlinks|Twenty7incgs}} Link spam, [[Special:AbuseLog/315323]] <!-- USERREPORTED:/Twenty7incgs/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:14, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Tailleash reported by MathXplore == * {{userlinks|Tailleash}} Link spam, [[Special:AbuseLog/315318]] <!-- USERREPORTED:/Tailleash/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:15, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Md Akash Mia12 reported by MathXplore == * {{userlinks|Md Akash Mia12}} Link spam, [[Special:AbuseLog/315299]], [[Special:AbuseLog/315298]] <!-- USERREPORTED:/Md Akash Mia12/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:17, 2 September 2026 (UTC) : {{done|Page deleted}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:03, 3 September 2026 (UTC) == Vapesitefiftybar reported by MathXplore == * {{userlinks|Vapesitefiftybar}} Link spam, [[Special:AbuseLog/315338]] <!-- USERREPORTED:/Vapesitefiftybar/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:40, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Myteethtime1 reported by MathXplore == * {{userlinks|Myteethtime1}} Spam <!-- USERREPORTED:/Myteethtime1/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:54, 4 September 2026 (UTC) : {{Done}} by MarcGarver. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 19:28, 4 September 2026 (UTC) == Rajstartupservices reported by MathXplore == * {{userlinks|Rajstartupservices}} Link spam, [[Special:AbuseLog/315363]] <!-- USERREPORTED:/Rajstartupservices/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 14:33, 4 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 19:28, 4 September 2026 (UTC) == Reazulkarim545456 reported by MathXplore == * {{userlinks|Reazulkarim545456}} Link spam, [[Special:AbuseLog/315377]] <!-- USERREPORTED:/Reazulkarim545456/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:39, 6 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:19, 6 September 2026 (UTC) == Fahmidafy reported by MathXplore == * {{userlinks|Fahmidafy}} Link spam, [[Special:AbuseLog/315378]] <!-- USERREPORTED:/Fahmidafy/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:40, 6 September 2026 (UTC) : The filter stopped them three times, no action taken. Please re-report if they continue spamming. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:20, 6 September 2026 (UTC) == Grow spark digital reported by MathXplore == * {{userlinks|Grow spark digital}} Link spam, [[Special:AbuseLog/315381]] <!-- USERREPORTED:/Grow spark digital/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:42, 6 September 2026 (UTC) : Only one filter hit, seems stale. Please re-report if they continue to spam. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:49, 6 September 2026 (UTC) == Korigosnacks reported by MathXplore == * {{userlinks|Korigosnacks}} Link spam, [[Special:AbuseLog/315383]] <!-- USERREPORTED:/Korigosnacks/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:32, 6 September 2026 (UTC) : Stale after only two filter hits and no edits. Please re-report if they spam later. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:56, 6 September 2026 (UTC) == Athoyislam reported by MathXplore == * {{userlinks|Athoyislam}} Spam <!-- USERREPORTED:/Athoyislam/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:47, 7 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 11:31, 7 September 2026 (UTC) == Jamal123lll reported by MathXplore == * {{userlinks|Jamal123lll}} Link spam, [[Special:AbuseLog/315402]] <!-- USERREPORTED:/Jamal123lll/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:48, 7 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 11:32, 7 September 2026 (UTC) == Idontknowidkh reported by MathXplore == * {{userlinks|Idontknowidkh}} online shopping spam, [[Special:AbuseLog/315400]] <!-- USERREPORTED:/Idontknowidkh/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:49, 7 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 11:33, 7 September 2026 (UTC) == Ridhisharma1999 reported by MathXplore == * {{userlinks|Ridhisharma1999}} Link spam, [[Special:AbuseLog/315435]] <!-- USERREPORTED:/Ridhisharma1999/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:01, 9 September 2026 (UTC) :{{Done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 12:02, 9 September 2026 (UTC) == Thenaoriudaipur reported by MathXplore == * {{userlinks|Thenaoriudaipur}} Link spam, [[Special:AbuseLog/315473]] <!-- USERREPORTED:/Thenaoriudaipur/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:47, 10 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:49, 10 September 2026 (UTC) == Networkkingss reported by MathXplore == * {{userlinks|Networkkingss}} Link spam, [[Special:AbuseLog/315458]] <!-- USERREPORTED:/Networkkingss/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:50, 10 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:49, 10 September 2026 (UTC) == ~2026-49226-92 reported by MathXplore == * {{anonlinks|~2026-49226-92}} Vandalism <!-- USERREPORTED:/~2026-49226-92/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:57, 10 September 2026 (UTC) : {{done}}. I also nuked all pages created by this user and their connected temporary accounts based on their associated IP(s). [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:48, 10 September 2026 (UTC) == ~2026-49632-08 reported by MathXplore == * {{anonlinks|~2026-49632-08}} Spam <!-- USERREPORTED:/~2026-49632-08/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 04:08, 13 September 2026 (UTC) :{{done}} [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 06:39, 13 September 2026 (UTC) == Happyherbal26 reported by MathXplore == * {{userlinks|Happyherbal26}} Link spam, [[Special:AbuseLog/315518]] <!-- USERREPORTED:/Happyherbal26/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:37, 14 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 14:02, 14 September 2026 (UTC) == Shahadotdl reported by MathXplore == * {{userlinks|Shahadotdl}} Link spam, [[Special:AbuseLog/315516]] <!-- USERREPORTED:/Shahadotdl/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:37, 14 September 2026 (UTC) 38ojl2dngfbi7j45i3j5zj6p6q1lekz 4670044 4670043 2026-09-14T14:02:50Z Koavf 16549 /* Shahadotdl reported by MathXplore */ Reply 4670044 wikitext text/x-wiki __NEWSECTIONLINK__ {{Discussion Rooms}} {{shortcut|WB:AN|WB:AA}} {{TOC left}} {{User:MiszaBot/config |archive = Wikibooks:Reading room/Administrative Assistance/Archives/%(year)d/%(monthname)s |algo = old(14d) |counter = 1 |minthreadstoarchive = 1 |minthreadsleft = 1 }} {{ombox|type=content|text='''To request a rename or usurpation''', go to the global request page at Meta [[meta:SRUC|here]].<br />''Please do not post those requests here!''}} {{Clear}} Welcome to the '''Administrative Assistance reading room'''. You can request assistance from [[WB:ADMIN|administrators]] for handling a variety of problems here and alert them about problems which may require special actions not normally used during regular content editing. Please be patient as administrators are often quite busy with either their own projects or trying to perform general maintenance and cleanup. You can deal with most vandalism yourself: [[Wikibooks:Dealing with vandalism|fix it]], then [[Wikibooks:Templates/User_notices|warn the user]]. If there is repeated vandalism by one user, lots of vandalism on a single page, or vandalism from many users, tell an admin here, or in [irc://irc.freenode.net/wikibooks #wikibooks] (say <code>!admin</code> to get attention). For more general questions and assistance that doesn't require an administrator, please use the [[WB:HELP|Assistance Reading Room]]. {{clear}} [[Category:Reading room]] == Gloriagulshan reported by MathXplore == * {{userlinks|Gloriagulshan}} [[:w:Wikipedia:Sockpuppet investigations/Kagoz]] ([[Special:Contributions/Tikapara]], [[Wikibooks:Reading_room/Administrative_Assistance/Archives/2025/September#Tikapara_reported_by_MathXplore]]), created page [[Introduction to Filmmaking]] Contributed by Ali Zulfikar Zahedi ([[:w:Ali Zulfikar Zahedi]], [[:w:simple:Ali Zulfikar Zahedi]]) <!-- USERREPORTED:/Gloriagulshan/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 03:56, 29 August 2026 (UTC) :I believe this page is intended as instructional material for learning filmmaking rather than as an encyclopedic article. I will revise the page to focus on practical filmmaking concepts, methods, and processes in accordance with the purpose of Wikibooks. [[User:Gloriagulshan|Gloriagulshan]] ([[User talk:Gloriagulshan|discuss]] • [[Special:Contributions/Gloriagulshan|contribs]]) 04:20, 29 August 2026 (UTC) : Cc: {{ping|SHB2000|MarcGarver}} [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 04:41, 29 August 2026 (UTC) ::I see the account is glocked, and there are no sleepers that aren't already locked, so nothing more to do. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 11:18, 3 September 2026 (UTC) == Abir077 reported by MathXplore == * {{userlinks|Abir077}} Link spam, [[Special:AbuseLog/315272]] <!-- USERREPORTED:/Abir077/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:07, 31 August 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 12:46, 31 August 2026 (UTC) == Jeevandan26 reported by MathXplore == * {{userlinks|Jeevandan26}} Link spam, [[Special:AbuseLog/315288]] <!-- USERREPORTED:/Jeevandan26/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:14, 1 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:20, 1 September 2026 (UTC) == Mohansai00116 reported by MathXplore == * {{userlinks|Mohansai00116}} Link spam, [[Special:AbuseLog/315335]] <!-- USERREPORTED:/Mohansai00116/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:09, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:04, 3 September 2026 (UTC) == Fatemai6 reported by MathXplore == * {{userlinks|Fatemai6}} Link spam, [[Special:AbuseLog/315329]] <!-- USERREPORTED:/Fatemai6/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:10, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Kamrulhasan147 reported by MathXplore == * {{userlinks|Kamrulhasan147}} Link spam, [[Special:AbuseLog/315327]], [[Special:Contributions/Kamrulhasan142]] <!-- USERREPORTED:/Kamrulhasan147/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:12, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Kamrulhasan142 reported by MathXplore == * {{userlinks|Kamrulhasan142}} Link spam, [[Special:AbuseLog/315295]], [[Special:Contributions/Kamrulhasan147]] <!-- USERREPORTED:/Kamrulhasan142/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:13, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Twenty7incgs reported by MathXplore == * {{userlinks|Twenty7incgs}} Link spam, [[Special:AbuseLog/315323]] <!-- USERREPORTED:/Twenty7incgs/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:14, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Tailleash reported by MathXplore == * {{userlinks|Tailleash}} Link spam, [[Special:AbuseLog/315318]] <!-- USERREPORTED:/Tailleash/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:15, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Md Akash Mia12 reported by MathXplore == * {{userlinks|Md Akash Mia12}} Link spam, [[Special:AbuseLog/315299]], [[Special:AbuseLog/315298]] <!-- USERREPORTED:/Md Akash Mia12/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:17, 2 September 2026 (UTC) : {{done|Page deleted}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:03, 3 September 2026 (UTC) == Vapesitefiftybar reported by MathXplore == * {{userlinks|Vapesitefiftybar}} Link spam, [[Special:AbuseLog/315338]] <!-- USERREPORTED:/Vapesitefiftybar/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:40, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Myteethtime1 reported by MathXplore == * {{userlinks|Myteethtime1}} Spam <!-- USERREPORTED:/Myteethtime1/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:54, 4 September 2026 (UTC) : {{Done}} by MarcGarver. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 19:28, 4 September 2026 (UTC) == Rajstartupservices reported by MathXplore == * {{userlinks|Rajstartupservices}} Link spam, [[Special:AbuseLog/315363]] <!-- USERREPORTED:/Rajstartupservices/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 14:33, 4 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 19:28, 4 September 2026 (UTC) == Reazulkarim545456 reported by MathXplore == * {{userlinks|Reazulkarim545456}} Link spam, [[Special:AbuseLog/315377]] <!-- USERREPORTED:/Reazulkarim545456/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:39, 6 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:19, 6 September 2026 (UTC) == Fahmidafy reported by MathXplore == * {{userlinks|Fahmidafy}} Link spam, [[Special:AbuseLog/315378]] <!-- USERREPORTED:/Fahmidafy/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:40, 6 September 2026 (UTC) : The filter stopped them three times, no action taken. Please re-report if they continue spamming. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:20, 6 September 2026 (UTC) == Grow spark digital reported by MathXplore == * {{userlinks|Grow spark digital}} Link spam, [[Special:AbuseLog/315381]] <!-- USERREPORTED:/Grow spark digital/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:42, 6 September 2026 (UTC) : Only one filter hit, seems stale. Please re-report if they continue to spam. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:49, 6 September 2026 (UTC) == Korigosnacks reported by MathXplore == * {{userlinks|Korigosnacks}} Link spam, [[Special:AbuseLog/315383]] <!-- USERREPORTED:/Korigosnacks/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:32, 6 September 2026 (UTC) : Stale after only two filter hits and no edits. Please re-report if they spam later. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:56, 6 September 2026 (UTC) == Athoyislam reported by MathXplore == * {{userlinks|Athoyislam}} Spam <!-- USERREPORTED:/Athoyislam/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:47, 7 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 11:31, 7 September 2026 (UTC) == Jamal123lll reported by MathXplore == * {{userlinks|Jamal123lll}} Link spam, [[Special:AbuseLog/315402]] <!-- USERREPORTED:/Jamal123lll/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:48, 7 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 11:32, 7 September 2026 (UTC) == Idontknowidkh reported by MathXplore == * {{userlinks|Idontknowidkh}} online shopping spam, [[Special:AbuseLog/315400]] <!-- USERREPORTED:/Idontknowidkh/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:49, 7 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 11:33, 7 September 2026 (UTC) == Ridhisharma1999 reported by MathXplore == * {{userlinks|Ridhisharma1999}} Link spam, [[Special:AbuseLog/315435]] <!-- USERREPORTED:/Ridhisharma1999/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:01, 9 September 2026 (UTC) :{{Done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 12:02, 9 September 2026 (UTC) == Thenaoriudaipur reported by MathXplore == * {{userlinks|Thenaoriudaipur}} Link spam, [[Special:AbuseLog/315473]] <!-- USERREPORTED:/Thenaoriudaipur/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:47, 10 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:49, 10 September 2026 (UTC) == Networkkingss reported by MathXplore == * {{userlinks|Networkkingss}} Link spam, [[Special:AbuseLog/315458]] <!-- USERREPORTED:/Networkkingss/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:50, 10 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:49, 10 September 2026 (UTC) == ~2026-49226-92 reported by MathXplore == * {{anonlinks|~2026-49226-92}} Vandalism <!-- USERREPORTED:/~2026-49226-92/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:57, 10 September 2026 (UTC) : {{done}}. I also nuked all pages created by this user and their connected temporary accounts based on their associated IP(s). [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:48, 10 September 2026 (UTC) == ~2026-49632-08 reported by MathXplore == * {{anonlinks|~2026-49632-08}} Spam <!-- USERREPORTED:/~2026-49632-08/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 04:08, 13 September 2026 (UTC) :{{done}} [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 06:39, 13 September 2026 (UTC) == Happyherbal26 reported by MathXplore == * {{userlinks|Happyherbal26}} Link spam, [[Special:AbuseLog/315518]] <!-- USERREPORTED:/Happyherbal26/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:37, 14 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 14:02, 14 September 2026 (UTC) == Shahadotdl reported by MathXplore == * {{userlinks|Shahadotdl}} Link spam, [[Special:AbuseLog/315516]] <!-- USERREPORTED:/Shahadotdl/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:37, 14 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 14:02, 14 September 2026 (UTC) bxfozeqr9f7p01svowfe5tht1gz2jfo 4670155 4670044 2026-09-15T08:10:31Z ArchiverBot 1227662 Bot: Archiving 1 thread (older than 14 days) to [[Wikibooks:Reading room/Administrative Assistance/Archives/2026/August]] 4670155 wikitext text/x-wiki __NEWSECTIONLINK__ {{Discussion Rooms}} {{shortcut|WB:AN|WB:AA}} {{TOC left}} {{User:MiszaBot/config |archive = Wikibooks:Reading room/Administrative Assistance/Archives/%(year)d/%(monthname)s |algo = old(14d) |counter = 1 |minthreadstoarchive = 1 |minthreadsleft = 1 }} {{ombox|type=content|text='''To request a rename or usurpation''', go to the global request page at Meta [[meta:SRUC|here]].<br />''Please do not post those requests here!''}} {{Clear}} Welcome to the '''Administrative Assistance reading room'''. You can request assistance from [[WB:ADMIN|administrators]] for handling a variety of problems here and alert them about problems which may require special actions not normally used during regular content editing. Please be patient as administrators are often quite busy with either their own projects or trying to perform general maintenance and cleanup. You can deal with most vandalism yourself: [[Wikibooks:Dealing with vandalism|fix it]], then [[Wikibooks:Templates/User_notices|warn the user]]. If there is repeated vandalism by one user, lots of vandalism on a single page, or vandalism from many users, tell an admin here, or in [irc://irc.freenode.net/wikibooks #wikibooks] (say <code>!admin</code> to get attention). For more general questions and assistance that doesn't require an administrator, please use the [[WB:HELP|Assistance Reading Room]]. {{clear}} [[Category:Reading room]] == Gloriagulshan reported by MathXplore == * {{userlinks|Gloriagulshan}} [[:w:Wikipedia:Sockpuppet investigations/Kagoz]] ([[Special:Contributions/Tikapara]], [[Wikibooks:Reading_room/Administrative_Assistance/Archives/2025/September#Tikapara_reported_by_MathXplore]]), created page [[Introduction to Filmmaking]] Contributed by Ali Zulfikar Zahedi ([[:w:Ali Zulfikar Zahedi]], [[:w:simple:Ali Zulfikar Zahedi]]) <!-- USERREPORTED:/Gloriagulshan/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 03:56, 29 August 2026 (UTC) :I believe this page is intended as instructional material for learning filmmaking rather than as an encyclopedic article. I will revise the page to focus on practical filmmaking concepts, methods, and processes in accordance with the purpose of Wikibooks. [[User:Gloriagulshan|Gloriagulshan]] ([[User talk:Gloriagulshan|discuss]] • [[Special:Contributions/Gloriagulshan|contribs]]) 04:20, 29 August 2026 (UTC) : Cc: {{ping|SHB2000|MarcGarver}} [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 04:41, 29 August 2026 (UTC) ::I see the account is glocked, and there are no sleepers that aren't already locked, so nothing more to do. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 11:18, 3 September 2026 (UTC) == Jeevandan26 reported by MathXplore == * {{userlinks|Jeevandan26}} Link spam, [[Special:AbuseLog/315288]] <!-- USERREPORTED:/Jeevandan26/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:14, 1 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:20, 1 September 2026 (UTC) == Mohansai00116 reported by MathXplore == * {{userlinks|Mohansai00116}} Link spam, [[Special:AbuseLog/315335]] <!-- USERREPORTED:/Mohansai00116/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:09, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:04, 3 September 2026 (UTC) == Fatemai6 reported by MathXplore == * {{userlinks|Fatemai6}} Link spam, [[Special:AbuseLog/315329]] <!-- USERREPORTED:/Fatemai6/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:10, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Kamrulhasan147 reported by MathXplore == * {{userlinks|Kamrulhasan147}} Link spam, [[Special:AbuseLog/315327]], [[Special:Contributions/Kamrulhasan142]] <!-- USERREPORTED:/Kamrulhasan147/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:12, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Kamrulhasan142 reported by MathXplore == * {{userlinks|Kamrulhasan142}} Link spam, [[Special:AbuseLog/315295]], [[Special:Contributions/Kamrulhasan147]] <!-- USERREPORTED:/Kamrulhasan142/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:13, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Twenty7incgs reported by MathXplore == * {{userlinks|Twenty7incgs}} Link spam, [[Special:AbuseLog/315323]] <!-- USERREPORTED:/Twenty7incgs/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:14, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Tailleash reported by MathXplore == * {{userlinks|Tailleash}} Link spam, [[Special:AbuseLog/315318]] <!-- USERREPORTED:/Tailleash/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:15, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Md Akash Mia12 reported by MathXplore == * {{userlinks|Md Akash Mia12}} Link spam, [[Special:AbuseLog/315299]], [[Special:AbuseLog/315298]] <!-- USERREPORTED:/Md Akash Mia12/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:17, 2 September 2026 (UTC) : {{done|Page deleted}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:03, 3 September 2026 (UTC) == Vapesitefiftybar reported by MathXplore == * {{userlinks|Vapesitefiftybar}} Link spam, [[Special:AbuseLog/315338]] <!-- USERREPORTED:/Vapesitefiftybar/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:40, 2 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:05, 3 September 2026 (UTC) == Myteethtime1 reported by MathXplore == * {{userlinks|Myteethtime1}} Spam <!-- USERREPORTED:/Myteethtime1/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:54, 4 September 2026 (UTC) : {{Done}} by MarcGarver. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 19:28, 4 September 2026 (UTC) == Rajstartupservices reported by MathXplore == * {{userlinks|Rajstartupservices}} Link spam, [[Special:AbuseLog/315363]] <!-- USERREPORTED:/Rajstartupservices/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 14:33, 4 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 19:28, 4 September 2026 (UTC) == Reazulkarim545456 reported by MathXplore == * {{userlinks|Reazulkarim545456}} Link spam, [[Special:AbuseLog/315377]] <!-- USERREPORTED:/Reazulkarim545456/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:39, 6 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:19, 6 September 2026 (UTC) == Fahmidafy reported by MathXplore == * {{userlinks|Fahmidafy}} Link spam, [[Special:AbuseLog/315378]] <!-- USERREPORTED:/Fahmidafy/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:40, 6 September 2026 (UTC) : The filter stopped them three times, no action taken. Please re-report if they continue spamming. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:20, 6 September 2026 (UTC) == Grow spark digital reported by MathXplore == * {{userlinks|Grow spark digital}} Link spam, [[Special:AbuseLog/315381]] <!-- USERREPORTED:/Grow spark digital/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:42, 6 September 2026 (UTC) : Only one filter hit, seems stale. Please re-report if they continue to spam. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:49, 6 September 2026 (UTC) == Korigosnacks reported by MathXplore == * {{userlinks|Korigosnacks}} Link spam, [[Special:AbuseLog/315383]] <!-- USERREPORTED:/Korigosnacks/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:32, 6 September 2026 (UTC) : Stale after only two filter hits and no edits. Please re-report if they spam later. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 13:56, 6 September 2026 (UTC) == Athoyislam reported by MathXplore == * {{userlinks|Athoyislam}} Spam <!-- USERREPORTED:/Athoyislam/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:47, 7 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 11:31, 7 September 2026 (UTC) == Jamal123lll reported by MathXplore == * {{userlinks|Jamal123lll}} Link spam, [[Special:AbuseLog/315402]] <!-- USERREPORTED:/Jamal123lll/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:48, 7 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 11:32, 7 September 2026 (UTC) == Idontknowidkh reported by MathXplore == * {{userlinks|Idontknowidkh}} online shopping spam, [[Special:AbuseLog/315400]] <!-- USERREPORTED:/Idontknowidkh/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:49, 7 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 11:33, 7 September 2026 (UTC) == Ridhisharma1999 reported by MathXplore == * {{userlinks|Ridhisharma1999}} Link spam, [[Special:AbuseLog/315435]] <!-- USERREPORTED:/Ridhisharma1999/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:01, 9 September 2026 (UTC) :{{Done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 12:02, 9 September 2026 (UTC) == Thenaoriudaipur reported by MathXplore == * {{userlinks|Thenaoriudaipur}} Link spam, [[Special:AbuseLog/315473]] <!-- USERREPORTED:/Thenaoriudaipur/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:47, 10 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:49, 10 September 2026 (UTC) == Networkkingss reported by MathXplore == * {{userlinks|Networkkingss}} Link spam, [[Special:AbuseLog/315458]] <!-- USERREPORTED:/Networkkingss/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:50, 10 September 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:49, 10 September 2026 (UTC) == ~2026-49226-92 reported by MathXplore == * {{anonlinks|~2026-49226-92}} Vandalism <!-- USERREPORTED:/~2026-49226-92/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:57, 10 September 2026 (UTC) : {{done}}. I also nuked all pages created by this user and their connected temporary accounts based on their associated IP(s). [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 14:48, 10 September 2026 (UTC) == ~2026-49632-08 reported by MathXplore == * {{anonlinks|~2026-49632-08}} Spam <!-- USERREPORTED:/~2026-49632-08/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 04:08, 13 September 2026 (UTC) :{{done}} [[User:JackPotte|JackPotte]] ([[User talk:JackPotte|discuss]] • [[Special:Contributions/JackPotte|contribs]]) 06:39, 13 September 2026 (UTC) == Happyherbal26 reported by MathXplore == * {{userlinks|Happyherbal26}} Link spam, [[Special:AbuseLog/315518]] <!-- USERREPORTED:/Happyherbal26/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:37, 14 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 14:02, 14 September 2026 (UTC) == Shahadotdl reported by MathXplore == * {{userlinks|Shahadotdl}} Link spam, [[Special:AbuseLog/315516]] <!-- USERREPORTED:/Shahadotdl/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:37, 14 September 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 14:02, 14 September 2026 (UTC) eorgbwm2lon4kfac3y7h25wkannae0d Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6 0 141520 4670023 4654353 2026-09-14T13:14:01Z Greenman 7490 No need 4670023 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Pirc Defence| }} =Pirc Defence= ===3...g6=== Black continues with their hypermodern plan of fianchettoing the bishop to pressure White's center, followed by castling kingside. The bishop creates a masked attack on d4, and also helps to control the center. White has yet to make a decision about their center, and will do so with the next move. Here White has a number of viable options; [[Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6/4. f4|4.f4]], the aggressive Austrian Attack, further increases White's central control, preparing e5, while also supporting a kingside attack. The calm 4.Nf3, known as the Classical Variation, simply develops solidly with a central space advantage for White. 4.Be3 is a flexible & aggressive move that tends to aim for Qd2, O-O-O and a kingside pawn-storm (often known as the 150 Attack). White has many other options, such as 4.Be2 (sometimes played with the intention of 4...Bg7 5.g4, the aggressive Chinese Variation or 4...Bg7 5.h4, the Bayonet Attack), 4.Bf4, 4.h3 (an awkward-looking move that can turn aggressive), 4.f3 (often transposing to 4.Be3, with the same plan of Be3, Qd2, O-O-O), and others. ==Theory table== 1.e4 d6 2.d4 Nf6 3.Nc3 g6 <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left"><span style="font-size: small;">4</span></th> </tr> <tr> <th align="right"><span style="font-size: small;">Austrian Attack</span></th> <td><span style="font-size: small;">...<br> [[/4. f4/]]</span> </td> <td><span style="font-size: small;">=</span> </td> </tr> <tr> <th align="right"><span style="font-size: small;">Classical Variation</span></th> <td><span style="font-size: small;">...<br> [[/4. Nf3/]]</span> </td> <td><span style="font-size: small;">=</span> </td> </tr> <tr> <th align="right"> <td><span style="font-size: small;">...<br> [[/4. Bc4/]]</span> </td> <td><span style="font-size: small;">=</span> </td> </tr> <tr> <th align="right"> <td><span style="font-size: small;">...<br> [[/4. Bg5/]]</span> </td> <td><span style="font-size: small;">=</span> </td> </tr> <tr> <th align="right"><span style="font-size: small;"></span></th> <td><span style="font-size: small;">...<br> [[/4. Be3/]]</span> </td> <td><span style="font-size: small;">=</span> </td> </tr> </table> {{ChessMid}} ==References== {{reflist}} {{BCO2}} {{Chess Opening Theory/Footer}} tqe7pus9ineiu6jf3ouod6kvj4x0b0u 4670026 4670023 2026-09-14T13:24:50Z Greenman 7490 /* 3...g6 */ paragraphs 4670026 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Pirc Defence| }} =Pirc Defence= ===3...g6=== Black continues with their hypermodern plan of fianchettoing the bishop to pressure White's center, followed by castling kingside. The bishop creates a masked attack on d4, and also helps to control the center. White has yet to make a decision about their center, and will do so with the next move. Here White has a number of viable options; [[Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6/4. f4|4.f4]], the aggressive Austrian Attack, further increases White's central control, preparing e5, while also supporting a kingside attack. The calm 4.Nf3, known as the Classical Variation, simply develops solidly with a central space advantage for White. 4.Be3 is a flexible & aggressive move that tends to aim for Qd2, O-O-O and a kingside pawn-storm (often known as the 150 Attack). White has many other options, such as 4.Be2 (sometimes played with the intention of 4...Bg7 5.g4, the aggressive Chinese Variation or 4...Bg7 5.h4, the Bayonet Attack), 4.Bf4, 4.h3 (an awkward-looking move that can turn aggressive), 4.f3 (often transposing to 4.Be3, with the same plan of Be3, Qd2, O-O-O), and others. ==Theory table== 1.e4 d6 2.d4 Nf6 3.Nc3 g6 <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left"><span style="font-size: small;">4</span></th> </tr> <tr> <th align="right"><span style="font-size: small;">Austrian Attack</span></th> <td><span style="font-size: small;">...<br> [[/4. f4/]]</span> </td> <td><span style="font-size: small;">=</span> </td> </tr> <tr> <th align="right"><span style="font-size: small;">Classical Variation</span></th> <td><span style="font-size: small;">...<br> [[/4. Nf3/]]</span> </td> <td><span style="font-size: small;">=</span> </td> </tr> <tr> <th align="right"> <td><span style="font-size: small;">...<br> [[/4. Bc4/]]</span> </td> <td><span style="font-size: small;">=</span> </td> </tr> <tr> <th align="right"> <td><span style="font-size: small;">...<br> [[/4. Bg5/]]</span> </td> <td><span style="font-size: small;">=</span> </td> </tr> <tr> <th align="right"><span style="font-size: small;"></span></th> <td><span style="font-size: small;">...<br> [[/4. Be3/]]</span> </td> <td><span style="font-size: small;">=</span> </td> </tr> </table> {{ChessMid}} ==References== {{reflist}} {{BCO2}} {{Chess Opening Theory/Footer}} kjz33hjeb11qps4u5z12vo8sh8fy257 4670027 4670026 2026-09-14T13:31:05Z Greenman 7490 /* 3...g6 */ Bg5 4670027 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Pirc Defence| }} =Pirc Defence= ===3...g6=== Black continues with their hypermodern plan of fianchettoing the bishop to pressure White's center, followed by castling kingside. The bishop creates a masked attack on d4, and also helps to control the center. White has yet to make a decision about their center, and will do so with the next move. Here White has a number of viable options; [[Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6/4. f4|4.f4]], the aggressive Austrian Attack, further increases White's central control, preparing e5, while also supporting a kingside attack. The calm 4.Nf3, known as the Classical Variation, simply develops solidly with a central space advantage for White. 4.Be3 is a flexible & aggressive move that tends to aim for Qd2, O-O-O and a kingside pawn-storm (often known as the 150 Attack). White has many other options, such as 4.Be2 (sometimes played with the intention of 4...Bg7 5.g4, the aggressive Chinese Variation or 4...Bg7 5.h4, the Bayonet Attack), 4.Bf4, 4.h3 (an awkward-looking move that can turn aggressive), 4.f3 (often transposing to 4.Be3, with the same plan of Be3, Qd2, O-O-O), [[/4. Bg5|4. Bg5]], which is both sound and can lead to a trap, and others. ==Theory table== 1.e4 d6 2.d4 Nf6 3.Nc3 g6 <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left"><span style="font-size: small;">4</span></th> </tr> <tr> <th align="right"><span style="font-size: small;">Austrian Attack</span></th> <td><span style="font-size: small;">...<br> [[/4. f4/]]</span> </td> <td><span style="font-size: small;">=</span> </td> </tr> <tr> <th align="right"><span style="font-size: small;">Classical Variation</span></th> <td><span style="font-size: small;">...<br> [[/4. Nf3/]]</span> </td> <td><span style="font-size: small;">=</span> </td> </tr> <tr> <th align="right"> <td><span style="font-size: small;">...<br> [[/4. Bc4/]]</span> </td> <td><span style="font-size: small;">=</span> </td> </tr> <tr> <th align="right"> <td><span style="font-size: small;">...<br> [[/4. Bg5/]]</span> </td> <td><span style="font-size: small;">=</span> </td> </tr> <tr> <th align="right"><span style="font-size: small;"></span></th> <td><span style="font-size: small;">...<br> [[/4. Be3/]]</span> </td> <td><span style="font-size: small;">=</span> </td> </tr> </table> {{ChessMid}} ==References== {{reflist}} {{BCO2}} {{Chess Opening Theory/Footer}} jn4wq7i9vfsz3v29v13jrejk5wkl5i0 Aros/Platforms/AROS USB support 0 202147 4670038 4668673 2026-09-14T13:54:33Z Jeff1138 301139 4670038 wikitext text/x-wiki {{ArosNav}} ==Host Adapter Protocol USB1 OHCI UHCI USB2 EHCI USB3.0 USB3.1 xHCI == Please let us know any mistakes or any information to be added, use Prefs/Trident to confirm Vendor and Product IDs Please chat at [https://www.arosworld.org/index.php AROS World] *1996 USB1.0 *1998 USB1.1 *2000 USB2.0 *2008 USB3.0 *2013 USB3.1 *2017 USB3.2 AROS has these USB transfers *Control - *Bulk - Midi 1.0 ( 'send my data when you can' ) *Interrupt - Midi 2.0 *Isochronous - USBAudio, Webcams, etc Isochronous is the starting point of modern types of multimedia creativity. IsoChronous isoc code is already in place in poseidon.library and '''scheduled''' transfers are queued to be later rerouted in the host driver code (needs to be written for each host protocol e.g. OCHI, UCHI, EHCI and [https://cdrdv2-public.intel.com/625472/625472_xHCI_Rev1_2b.pdf#:~:text=Page%203.%20Document%20Number:%20625472%2C%20Revision:%201.2b.%203. XHCI rev1.2], [https://www.intel.com/content/www/us/en/content-details/868296/extensible-host-controller-interface-for-universal-serial-bus-xhci-requirements-specification-r2-0.html rev2], etc). There seems to be 2 types of isoc transfers, one is just the normal isoc transfer and the other is realtime implementation of isoc transfer. For isoc transfer there needs to be a scheduler that makes sure no isoc transfers are dropped (in or out) and that they happen at the right time. It all gets difficult as the device making use of the isoc transfer may be at any point on the device tree. One needs to calculate the USB bandwidth for the packet based periodic transfers that are initiated by the host which have fixed but guaranteed bandwidth. Host controllers guarantee this bandwidth by planning a schedule of transfers ahead of time to ensure there is enough time reserved on the bus. [https://www.intel.co.uk/content/www/uk/en/products/docs/io/universal-serial-bus/ehci-specification.html EHCI] [https://www.thegoodpenguin.co.uk/blog/understanding-why-usb-isochronous-bandwidth-errors-occur/ bus-bandwidth] vs payload-bandwidth and the algorithm of the EHCI scheduler. The bandwidth of the endpoint in terms of payload data (stuff we put in a packet) and the protocol overhead, signalling imposed bit stuffing, host delays etc. Poseidon controls the driver and device tree and it provides an API to communicate with the USB devices. Poseidon really doesn't care much about what sort of transfer pipe is opened or used, it only provides the means to do so and forwards the iorequests to the correct driver. Poseidon code is the higher level code for USB communication and drivers are of course the lower level one. [[File:Psd.svg|220px|right]] ; Best Hardware - NEC Chipset (OHCI + EHCI), Intel Chipset (UHCI + EHCI), ; Early support - [https://github.com/aros-development-team/AROS/commit/03c5252d962941a56c816a9f2315134362089349 XHCI USB3.0, USB3.1 & gen 2 Type-A Type-B Type-C] ; Next Best Set - General OHCI, SIS (OHCI + EHCI), ; Buggy Chipset - [ Early AMD OHCI], ALi OHCI, VIA UHCI, Nvidia OHCI & EHCI, === USB1.1 === OHCI USB 1.1 - USB-IF sanctioned standard but hardware physical form removed with USB2.0 and replaced with virtual emulation of USB1 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | ALi Agere M5273 A1 M5237 Lucent USS-312 | | | | <!--Boots-->{{Maybe}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | StarTech PCI425USB, CompUSA Iogear GIC220U-b, Nvidia 220 mobo, USBA2041P, ALi SU2A-PS, |- | AMD 756 Chipset (onboard motherboard) | 0x1022 | 0x740c | 0x06 | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | no [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=31308#forumpost31308 usb devices detected] Geode GX1, |- | CMD DU-A2 Silicon Image 0670 (pci AMD chipset) | 0x1095 | 0x0670 | 0x06 | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | |- | Silicon Image 0673 (pci AMD chipset) | 0x1095 | 0x0673 | 0x06 | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | |- | Nvidia Nforce2 USB | 0x10de | | | <!--Boots-->{{Maybe|Bios options vary but does with Plop Boot}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | Tested with 20th Aug 2012 improvement |- | NEC µPD720100AGM | 0x1033 | 0x0035 | 0x | <!--Boots-->{{Unk}} | <!--Detects-->{{Unk}} | <!--Works-->{{Maybe|}} | untested - Amiga Spider card with possible bottleneck issues at higher speeds |- | NEC µPD720101AGM 720101GJ | 0x1033 | 0x0035 | 0x43 | <!--Boots-->{{Yes}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | Mac mini, Belkin F5U219vea (2+1 ports), Belkin F5U220vea1 (4+1 ports), Adaptec 3100LP, BAFO BF-460, GWC UC-160, IOGear GIC250U, Keyspan U2PCI-5, O'toLink U2-C2B U2-C2A U2-P20N U2-P50, Ratoc PCIU5, USBWholesale UII-PCIP |- | NEC µPD720102 | 0x1033 | 0x00 | 0x | <!--Boots-->{{Unk|untested }} | <!--Detects-->{{Unk|untested }} | <!--Works-->{{Maybe|}} | |- | Opti 82C861 2-port | 0x1045 | 0xc861 | | <!--Boots-->{{No}} | <!--Detects-->{{No}} | <!--Works-->{{Maybe|}} | no USB devices detected - Belkin F5U005, |- | SIS 7001 OCHI | 0x1039 | 0x7001 | 0x0f | <!--Boots-->{{No}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | 20th Aug 2012 - not booting stalls on GRUB word with Plop Boot |- |} UHCI USB 1.1 - Intel standard but since 2009 no hardware support as USB2 introduced virtual emulation of USB1 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | Intel | 0x8086 | 0x | 0x01 | <!--Boots-->{{No|not in bios use AROS floppy disc boot}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | |- | Intel 82371AB EB MB PIIX4 | 0x8086 | 0x7112 | 0x01 | <!--Boots-->{{No|none in bios use other booting options}} | <!--Detects-->{{Maybe|Detects most devices}} | <!--Works-->{{Maybe|most devices but not RTL8187b WG111v3 blue led not on and does not work}} | |- | Intel 82801DB/DBL/DBM (onboard i830 mbd) | 0x8086 | 0x24c4 | 0x01 | <!--Boots-->{{Yes|but not from bios but floppy options}} | <!--Detects-->{{Yes|}} | <!--Works-->{{Yes|}} | RTL8187b WG111v3 blue led on and although device has software failure and recoverable error IT STILL WORKS. Fresh start sometimes needs Network Prefs Saved to work. |- | VIA MVP4 (onboard mbd) | 0x1106 | 0x30 | 0x40 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|most devices}} | <!--Works-->{{Maybe|most devices but not wireless options}} | RTL8187b WG111v3 detected but blue led not on and does not work |- | VIA VT82xx (onboard mbd) | 0x1106 | 0x3038 | 0x40 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|most devices}} | <!--Works-->{{Maybe|most devices but not wireless usb}} | RTL8187b WG111v3 blue led on but does not work |- | VIA VT6202 (VIA VT83C572) | 0x1106 | 0x3038 | | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | A-Best USB-200, Cables N Mor USBPCI, CompUSA, D-Link DSB500, Digital/Research DRUSBCARD, Kouwell IOFlex 580, StarMount USB VIA, |- | VIA VT6112 | | | | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | |- | VIA VT6212 (pci card) | 0x1106 | 0x3038 | 0x61 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | 2011 seems to have issues with other identical via based USB controller(s) present |- | VIA VT6214L | | | | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|}} | <!--Works-->{{Maybe|}} | |- |} === USB 2.0 EHCI === The USB-IF insisted on only one implementation of EHCI but it creates 4 virtual hcd to cover USB1.1 support. The virtual HCD on Intel and VIA EHCI controllers are UHCI. All other vendors use virtual OHCI controllers. Hardware EHCI USB2.0 ended in most chipsets in 2014/5 and is now virtual through most newer USB3.0 chipsets {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | ALi Agere M5273 A1 Lucent USS-344 | | | | <!--Boots--> | <!--Detects--> | <!--Works-->{{Maybe|}} | {{N/A|untested}} belkin F5U006, |- | Nvidia Nforce2 USB | | | | <!--Boots-->{{No}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | |- | Intel 82801DB/DBM (onboard mbd) | 0x8086 | 0x24cd | 0x01 | <!--Boots-->{{Yes}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | |- | NEC µPD720100AGM | 0x1033 | 0x00E0 | 0x | <!--Boots--> | <!--Detects--> | <!--Works-->{{Maybe|}} | {{N/A|untested - Amiga Spider card}} |- | NEC 72101 GJ | 0x1033 | 0x00e0 | 0x04 | <!--Boots-->{{Yes}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | Belkin F5U219 VEA1 (pci), |- | SIS ECHI | 0x1039 | 0x7002 | 0x00 | <!--Boots-->{{No}} | <!--Detects-->{{Maybe|issues about which port is used if it works at all}} | <!--Works-->{{Maybe|}} | |- | VIA VT6202 | 0x1106 | 0x3104 | | <!--Boots-->{{No}} | <!--Detects-->{{Yes}} | <!--Works-->{{Maybe|}} | |- | VIA VT6212 (pci card) | 0x1106 | 0x3104 | 0x62 | <!--Boots-->{{No}} | <!--Detects-->{{Yes|detects}} | <!--Works-->{{Maybe|}} | |- |} === USB 3.x SuperSpeed SS (Speed 5Gbit/s 3.1 gen 1) aka xHCI eXtensible === USB Attached SCSI (UAS or UASP) is a protocol used for high-speed data transfer between computers and external storage devices like SSDs, HDDs, and some flash drives. It provides up to 70% faster read/write speeds than traditional Bulk-Only Transport (BOT) by allowing multiple commands to run in parallel, rather than waiting in a queue {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Fresco Logic FL1000 FL 1000 | <!--Vendor ID-->0x1B73 | <!--Product ID-->0x1000 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->link power management (LPM, USB 3.0 power saving) cannot be disabled so random connection issues |- | <!--Description-->Fresco Logic FL1009-200 FL 1009 | <!--Vendor ID--> | <!--Product ID-->0x1009 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->Orico PFU3-2P |- | <!--Description-->Fresco Logic FL1100-100 FL 1100SX | <!--Vendor ID--> | <!--Product ID-->0x1100 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->LPM cannot be disabled so issues with disconnecting WD drives etc - CalDigit, ORICO PFU3-2P, FASTA-6GU3 Pro, inatech KTU3FR-2P 2 port USB 3.0, and Inateck KT4004 (KTU3FR-4PA rev B2) for storage and hubs, etc |- | <!--Description-->Fresco Logic FL1400 FL 1400 | <!--Vendor ID--> | <!--Product ID-->0x1400 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Fresco Logic | <!--Vendor ID--> | <!--Product ID-->0x | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->NEC Renesas xHCI µPD720200 uPD720200a chip | <!--Vendor ID-->0x1d6b | <!--Product ID-->0x0194 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{Maybe|no USB3 but seems to works like USB2}} | <!--Opinion-->recognized but not supported for USB3 but works like USB2 - ORICO PRU3-4P 4 Port USB, early Dell Wyse zx0 thin client, |- | <!--Description-->NEC Renesas xHCI µPD720201 uPD720201 chip | <!--Vendor ID--> | <!--Product ID-->0x114 0x0115 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported |- | <!--Description-->NEC Renesas xHCI µPD720202 uPD720202 chip | <!--Vendor ID-->0x1912 | <!--Product ID-->0x0015 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported |- | <!--Description-->[http://www.ti.com/product/tusb7340 TI] tusb7340 TUSB732 | <!--Vendor ID--> | <!--Product ID-->0x8241 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported Koutech IO-PEU436 but only one with open docs |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion-->recognized but not supported - integrated since Ivybridge |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Via Labs VL800 xHCI 0.96 support in VL800, VIA VL811 | <!--Vendor ID--> | <!--Product ID-->0x3432 0x3438 0x3515 and 0x9201 | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{Maybe|}} 2.0 backwards support | <!--Opinion-->Anker 68UPPCIE-2S20PU 2 port, Plugable 4-Port, GA-z77x-ud5h rev. 1.1 mobo, |- | <!--Description-->Via Labs VL811+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->Via Labs VL812 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->xHCI 1.0 support in VL805 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- |} USB 3.1 (power up to 100W and data 10Gbit/s USB 3.2 gen 2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->Asmedia ASM1142 | <!--Vendor ID-->0x1B21 | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion-->Connector: USB Type C and USB Type A x 1 - Ugreen USB C PCI Card 2 Port USB 3.1 Type C |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->[ Intel] Revision 1.8 1.9 Updated | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->VLI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | <!--Opinion-->AUKEY 4 Ports USB C , |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | <!--Opinion-->Startech - PEXUSB312C - 2-port Usb 3.1 10Gbit/s |- |} USB 3.2 (power up to 100W and data 20Gbit/s gen 2x2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->AMD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | <!--Opinion--> |- | <!--Description-->Intel xHCI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->[ Intel] Revision 2.6 Update | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{unk| }} | <!--Detects-->{{unk|}} | <!--Works-->{{unk|}} | <!--Opinion--> |- | <!--Description-->VLI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | <!--Opinion--> |- |} === USB 4 (40Gbps thunderbolt, pcie 3.0 tunnelling, ) === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Boot from USB ! width="10%" |Detect USB device ! width="10%" |USB device works ! width="30%" |Opinion |- | <!--Description-->Marvell | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | |- | <!--Description-->AMD Ryzen7 6800U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | |- | <!--Description-->Intel Goshen Ridge JHL8440 Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{No| }} | |- | <!--Description-->VLI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Boots-->{{N/A}} | <!--Detects-->{{N/A|}} | <!--Works-->{{N/A|}} | |- |} == hid.class (Human Interface Device) == === Keyboard === Some multi-finger touchpad support works but not on all touchpads {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->8BitDo Retro N C64 edition Keyboard, the super button accessory and optional N30 mouse | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 87 keys Kailh white}} |- | <!--Description-->8bitdo 108 Retro Mechanical Keyboard (white kailh) and two superbuttons (green) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Apple Pro Keyboard | 0x05ac | 0x0205 | 0x0122 | {{yes|works (its two hub ports) but mouse scroll wheel issues}} |- | Apple Pro Keyboard | 0x05AC | 0x020B | | {{yes|works (two onboard ports also)}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Aigo K68 60% red switches, A68 A87 wireless 2G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[http://amigakit.leamancomputing.com/catalog/product_info.php?cPath=49&products_id=973 AmigaOne Keyboard] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Akko TAC87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 80% TKL }} |- | <!--Description-->Akko MonsGeek FUN60 PRO&MAX HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 60% hall effect }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Akko | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 hall effect, good but expensive and software poor}} |- | <!--Description-->Akko | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Azio Cascade | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Chilkey ND75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 75% expensive}} |- | <!--Description-->Chilkey ND104 (Wuque Studios) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 premium clicky (WS Blue) or silent (WS White) key options with Ansi and ISO formats also numpad and calculator, aluminum machined, tri mode, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2026 untested magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Corsair K65 Mech MX no numeric keypad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair CH-9000045 K70 Blue MX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K95 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cherry G80 G80-3000L[x]C[yy]-[z] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cooler Master CM Storm Quickfire Rapid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Corsair K100 Air | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2025 okay low profile but expensive |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Dell SK-8135 Dell USB Keyboard for Internet and Multimedia rev H for Dimension 4500, Dimension 8250, OptiPlex GX260n, OptiPlex GX60n, Precision 350 (R42232) | <!--Vendor ID-->0x413C | <!--Product ID-->0x2010 | <!--Revision-->0200 | <!--Opinion-->{{Yes| usb1.1 keyboard hub 0x413C 0x1003 works as well - multimedia keys not mapped }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Deepcool KG722 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 65% }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Ducky Channel Zero DK2108 Mech Mechanical Cherry MX Red | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Ducky Shine 3 Brown or Blue (DK9087) MX keys | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Das Keyboard Model S Ultimate | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Epomaker Cidoo V75 Pro | <!--Vendor ID-->0x3151 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->epomaker rt100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 plastic build and no screws, numpad with small 0, mostly quiet seasalt switches, gimmick usb-c 1in screen}} |- | <!--Description-->EPOMAKER TH99 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} USB-C full numpad keyboard |- | <!--Description-->eopmaker P75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->eopmaker p87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->epomaker x Leobog Hi75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->epomaker x Feker Galaxy80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->epomaker x Galaxy100 gmk/via | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 96% }} |- | <!--Description-->epomaker Aula F75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 budget version good 75% choice of 4 leobog switches}} |- | <!--Description-->eopmaker Tide75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 good 75% and not too expensive}} |- | <!--Description-->Epomaker Ajazz AK992 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 109 key }} |- | <!--Description-->Epomaker Ajazz AK820 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Epomaker Ajazz AK35I V3 MAX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 104 keys - two models: wired and tri-mode connection - }} |- | <!--Description-->epomaker Aula F108 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 pricy but okay 100% but only leobog graywood switches but hotswap available afterwards}} |- | <!--Description-->eopmaker Ajazz AK980 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 97 keys }} |- | <!--Description-->Epomaker G87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Epomaker RT82 RT85 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Epomaker RT100 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 96% }} |- | <!--Description-->epomaker x Galaxy100 lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 good 96% }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ATTACK SHARK X98 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 98% maybe silent linear feel with Two-color PBT keycap}} |- | <!--Description-->Epomaker ATTACK SHARK X68HE and X65HE 65% Wired Gaming Keyboard | <!--Vendor ID-->0x3151 | <!--Product ID-->0x502D | <!--Revision--> | <!--Opinion-->{{yes|2025 tested on Aros running on Raspberry Pi wired usb-c with magnetic hall effect keys}} |- | <!--Description-->Epomaker | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Filco Ninja Majestouch-2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Focus FK-760 Wireless Keyboard & Trackball | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{yes|works}} but quality build issues raised |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->GMMK Tenkeyless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested default Gateron Brown switches for Kailh Box Jades default Gateron Brown switches for Kailh Box Jades}} |- | <!--Description-->GK61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested }} |- | <!--Description-->GMK67 GMK87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested budget good option}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Hengchangtong HCT Limeme gk103s Entry Keyboard | <!--Vendor ID-->0xC0F4 | <!--Product ID-->0x0009 | <!--Revision-->0100 | <!--Opinion-->{{yes|half Keyboard left side only}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Hexgears M2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 untested hotswap kaihl green switches}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hexgears | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Iqunix mq80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2025 good 75% low profile keys |- | <!--Description-->Iqunix Magi65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested good 65% low profile keys }} |- | <!--Description-->iqunix ez60 ez80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 untested specific hall effect switches - actuation point, rapid trigger, etc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Jomaa YiChip Wireless 50% key with touchpad | <!--Vendor ID-->0x3151 | <!--Product ID-->0x3000 | <!--Revision--> | <!--Opinion-->{{No|dongle detected, keys and pad not working - 2 AAA NM}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Keychron q0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2022 untested numpad only}} |- | <!--Description-->Keychron q1 v1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2022 untested okay}} |- | <!--Description-->Keychron Q6 Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested 75% with numeric numpad, barebones so choose switches and keycaps to suit }} |- | <!--Description-->Keychron q1 MAX V1 MAX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested }} |- | <!--Description-->Keychron Lemokey P1 QMK | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested best option to customise switches and keycaps}} |- | <!--Description-->Keychron LemoKey X1 X3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 untested keycap swap only not switches}} |- | <!--Description-->Keychron K2HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested okay}} wireless hall effect analogue on all keys |- | <!--Description-->Keychron K4HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 untested hall effect but software }} |- | <!--Description-->Keychron K5 K17 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 untested okay low profile but }} |- | <!--Description-->Keychron Q5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Keychron K10 HE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Kiiboom Breeze 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 good 75% }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description-->Meletrix Boog 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 magnetic hall effect, good but expensive and software poor}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description-->Melgeek O2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 low profile 75% but not repairable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2025 }} |- | <!--Description-->MOSART 2.4G Wireless 60% Keyboard Trackball | <!--Vendor ID-->0x062a | <!--Product ID-->0x4105 | <!--Revision--> | <!--Opinion-->{{Yes|dongle recognised HID, keys worked, roller worked, scroll wheel works and shoulders works but buttons around left, top and right hand side (RHS) do not work and plastic and 2 AA MN1500}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Mucai SiGma Micro MKA610 | <!--Vendor ID-->0x1c4f | <!--Product ID-->0x0084 | <!--Revision--> | <!--Opinion-->{{No| unknown red keys - rgb backlighting - }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->[http://hjldemo.clsc.cn/ Guangzhou Zhentian Electronics Ltd] Perixx Periboard 505 Plus with Trackball | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|okay dome keyboard - poor trackball}} |- | <!--Description-->Guangzhou Zhentian Electronics Co., Ltd Perixx Periboard 706 Plus with Trackball Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|generally okay dome with good sized keys but piano black surround fingerprint magnet, occasional brief trackball freezes after no use, takes some time to get used to the trackball size}} |- | <!--Description-->Perixx Periboard-716 Wireless (Chicony) | <!--Vendor ID-->04f2:1013 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|okay dome keyboard and trackpad}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Description-->Perixx Periboard- | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Perixx Periboard- | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Lenovo SK-8825 41A5327 SIL12-W07 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->works manufactured for |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Lite-On USB NetVista Full Width Keyboard | <!--Vendor ID-->0x04b3 | <!--Product ID-->0x3025 | <!--Revision--> | <!--Opinion-->works |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech K320 Wireless Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|The Logitech USB Unifying, Bolt, Lightspeed, or Nano receiver pairing}} |- | <!--Description-->Logitech K340 Wireless Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|The Logitech Unifying Receiver pairing}} |- | <!--Description-->Logitech K400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description--> [http://www.logitech.com/en-us/product/wireless-touch-keyboard-k400r Logitech Wireless Touch Keyboard k400] | <!--Vendor ID--> 0x046D | <!--Product ID--> 0xC52B | <!--Revision--> 1201 | <!--Opinion--> {{yes|All (including multimedia) keys work. Some keys requires remapping with Trident. Touchpad works and acts as normal mouse. Presents itself in Trident as USB Receiver from Logitech with 3 HID bindings}} |- | <!--Description-->Logitech K400 Plus K400+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech K600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech TK820 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech TK830 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard}} |- | <!--Description-->Logitech G915 TKL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Unk|okay keyboard TKL means no number pad}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lofree Lite84 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Lofree Flow Lite100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 silent switches and low profile keys}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->MACHENIKE K500 Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 94 keys untested Hot Swappable 94 Keys 90% Layout }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->MechLands Vibe99 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 100 keys untested Gasket-mounted Wired/Bluetooth/2.4GHz Wireless Mechanical Keyboard}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft Comfortable Curve 2000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no| recognized but not supported}} |- | <!--Description-->Microsoft Natural Ergonomic Keyboard 4000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|recognized but not supported}} |- | <!--Description-->Microsoft Wireless Media Desktop 1000 (1356) | <!--Vendor ID-->0x045e | <!--Product ID-->0x00f9 | <!--Revision--> | <!--Opinion-->{{maybe|working but not mouse part}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Niz Micro84 Duo82 X87 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 electro capacitive }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->nuphy gem80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->nuphy kick 75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 low profile 75% }} |- | <!--Description-->nuphy Air75 V3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 75% }} |- | <!--Description-->nuphy node 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 96% layout, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Qpad MK-50 MK-80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Qpad MK-90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Razer Chroma | <!--Vendor ID-->0x1532 | <!--Product ID-->0203 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://openrazer.github.io/ Razer] Lycosa | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Blackwidow 2013 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razr Blackwidow Ultimate | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Cynosa Lite V2 | <!--Vendor ID-->1532 | <!--Product ID-->0x023f | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer DeathStalker | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer HuntsMan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Ornata | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Orbweaver Chroma Keypad | <!--Vendor ID-->0x1532 | <!--Product ID-->0207 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Razer Tartarus Keypad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested not hall effect and very expensive}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Redragon K668 RGB Gaming Keyboard Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 untested 108 Keys Mechanical Keyboard w/Extra 4 Hotkeys Upgraded Hot-swappable Socket,Red Switch}} |- | <!--Description-->Redragon K689 PRO Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 untested Gasket RGB Gaming Keyboard, 108 Keys Mechanical Keyboard w/Extra 4 Hotkeys, Upgraded Hot-swappable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2027 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Risophy 60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2024 75% mechanical, hotswap so okay for price untested }} |- | <!--Description-->Risophy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Royal Kludge RK65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested cream switches }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->SINO WEALTH Gaming KB SkyLion K68 | <!--Vendor ID-->0x258a | <!--Product ID-->0x003a | <!--Revision--> | <!--Opinion-->{{No| blue stalks with rgb lighting}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->SKYLOONG GK104 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested gateron }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->SteelSeries | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->TeckNet x300 2.4G Keyboard Mouse MosART | <!--Vendor ID-->0x062A | <!--Product ID-->0x4101 | <!--Revision-->0312 | <!--Opinion-->{{Yes|1 AAA for each and works well - mouse slightly better built than keyboard rubberised membrane}} |- | <!--Description-->TeckNet X331 HDE 2.4G Keyboard wireless RCMCU | <!--Vendor ID-->0x0C45 | <!--Product ID-->0x7000 | <!--Revision-->0001 | <!--Opinion-->{{Yes|wireless can be glitchy but few extra keys are mapped }} |- | <!--Description-->TeckNet X500 2.4G Keyboard Mouse MOSArt | <!--Vendor ID-->0x062A | <!--Product ID-->0x2901 | <!--Revision-->0112 | <!--Opinion-->{{Yes|works well especially large touchpad - usual rubber domed membraned keyboard mechanism }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Tecware Specter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested good 75%}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Unicomp Model M USB 104 key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} IBM's and later Lexmark buckling spring switches |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varmilo Minilo Bluebell (prestige silent) and Eculapytus (violet tactile) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 75% plastic build no screws not great to mod}} |- | <!--Description-->Varmilo Sword 68 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| expensive but good}} |- | <!--Description-->Varmilo 98 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 expensive but good and Kailh silent}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Weikav Velocifire Choice65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Weikav Velocifire Lucky65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Wobkey Rainy 75 | <!--Vendor ID-->0x320F | <!--Product ID-->0x5055 | <!--Revision--> | <!--Opinion-->{{unk|2024 good 75% but not as expensive CNC Aluminum HMX/JWK/Cocoa Switches}} |- | <!--Description-->Wobkey Crush 80 | <!--Vendor ID-->0x320F | <!--Product ID-->0x5588 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Wobkey Crush80 Reboot Pro | <!--Vendor ID-->0x320F | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 very good but expensive Aluminum Hotswap Wireless RGB}} |- | <!--Description-->Wobkey Rainy 75 Pro | <!--Vendor ID-->0x320F | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wooting HE60 HE80 HE90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 hall effect but expensive with good software}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description-->Womier WK61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2021 untested }} |- | <!--Description-->Womier Sk71 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Womier Sk75 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Womier Sk75 TMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 hall effect }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xenta White Wireless HK6718B+HM3302--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|works with Raspberry Pi untested on AROS native}} |- | <!--Description-->Xinmeng X87 MAGIC_REFINER | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 untested keycap swap but not hotswapable switches}} |- | <!--Description-->Yunzii AL66 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| milk switches, cherry PBT, }} |- | <!--Description-->Yunzi B75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 budget good with cocoa cream switches }} |- | <!--Description-->Yunzii AL75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|good budget option with swappable switches, }} |- | <!--Description-->Yunzii AL80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 switches }} |- | <!--Description-->Yunzi C75 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 budget good with switches }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2028 magnetic hall effect software should be better and surpasses mechanical}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} <pre> linear - creamy tactile - thocky clicky - clacky </pre> <pre > Cherry MX Black are linear switches (no feedback); good for gaming. Cherry MX Red are linear (less noise no click) but more squishy; Cherry MX Brown are in between Blue and Red in style and tactile; Cherry MX Clear switches have soft tactile feedback (with no click). Cherry MX Blue have tactile feedback with a click (noisy); good for typing. Gateron Yellows KS-3, KS-3x47 or better Pros have a milky top and black bottom and linear TTC Silent Frozen v2. Linear and dead silent Mouse the huano brown with yellow dot for silent mouse clicks Kailh red dust proof encoder for smooth and close to silent scrolling Boba U4 Silent Tactile switches Husky linears HMX </pre > === Mouse === if the USB mouse is non-functional put a USB pendrive in before or add the following to user-startup in '''s''' drawer/folder/directory sys:prefs/trident NOGUI > NIL: {| class="wikitable sortable" width="90%" ! width="10%" | Brand ! width="20%" | Description ! width="10%" | Model ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | 3Dconnexion | 3D Mouse | <!--Model-->[http://www.3dconnexion.com/products/spacenavigator.html SpaceNavigator] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | 3Dconnexion | 3D Mouse | <!--Model-->SpacePilot Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | 3Dconnexion | Mouse | <!--Model-->SpaceExplorer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | 3Dconnexion | Wireless Mouse | <!--Model-->SpaceMouse | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | <!--Brand-->3D Optical | <!--Description-->Wired | <!--Model--> | <!--Vendor ID-->0000:3825 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Belkin | Combo mouse | | 0x05FE | 0x0011 | Low 0100 | {{yes|works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Cytec | <!--Description-->Wired Mouse Gaming | <!--Model-->R.A.T 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Dell | Mouse | MO56UC | 0x413C | 0x3200 | | {{yes|works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->equatech / clone logitech | <!--Description-->wireless mouse | <!--Model-->49779 / M185 | <!--Vendor ID--> 3151:2020 later 3151:3020 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{Yes|detected and works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Hama | RF Optical Mouse | AM-6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | <!--Brand-->Keychron | <!--Description-->Optical | <!--Model-->M3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Keychron | <!--Description-->Optical | <!--Model-->M5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Keycron | <!--Description-->Optical Wireless | <!--Model-->M6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested 1k polling and 16k dpi }} |- | <!--Brand-->Keychron | <!--Description-->Optical Wireless | <!--Model-->M7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested barebones 1k polling and 16k dpi, great for small hands, loud clicks}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->LogiCAD 3D | <!--Description-->3D Mouse | <!--Model-->Magellan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Logitech | Cordless Desktop Navigator | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{No|The Logitech Unifying Receiver pairing}} |- | Logitech Inc. | First/Pilot Wheel Mouse | N48/M-BB48 M-BE58 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested }} |- | Logitech | Wireless mouse | [http://www.logitech.com/en-roeu/mice_pointers/mice/devices/5484 M305] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{yes|works}} |- | Logitech | Wireless RF Mouse | MK710 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{No|The Logitech Unifying Receiver pairing}} |- | <!--Brand-->Logitach | <!--Description-->Optical | <!--Model-->G304 | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{unk|2021 very clicky}} |- | <!--Brand-->Logitech | <!--Description-->Wireless Mouse | <!--Model-->MX Master Anywhere 2S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{No|untested}} micro USB charge port on front |- | <!--Brand-->Logitech | <!--Description-->Wireless | <!--Model-->M220 silent touch MR0085 | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{N/A|2018 needs usb dongle - quiet clicking }} |- | <!--Brand-->Logitech Logi | <!--Description-->Optical | <!--Model-->MX Master 3S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{No|2021 untested usb-c bluetooth, inbuilt battery but muted clicks}} |- | <!--Brand-->Logitach | <!--Description-->Optical | <!--Model-->G502 X Plus | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{N/A|2022 very clicky}} |- | <!--Brand-->Logitech | <!--Description-->Wireless | <!--Model-->M240 silent touch MR0105 | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{maybe|2022 no dongle as bluetooth enabled but could work with Logi Bolt USB Receiver - 1 aa battery - quiet clicking}} |- | <!--Brand-->Logitech | <!--Description-->Optical | <!--Model-->MX Master 4 MXM | <!--Vendor ID-->0x | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{No|Bluetooth usb-c dongle, inbuilt lithium battery}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Brand | Description | Model | Vendor ID | Product ID | Revision | Opinion--> |- | <!--Brand-->Maxxter | <!--Description-->Wireless | <!--Model--> | <!--Vendor ID-->248a:8566 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Maxxter | <!--Description-->Wireless | <!--Model--> | <!--Vendor ID-->248a:8518 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->OrzerHome Maxxter | <!--Description-->Wireless | <!--Model--> | <!--Vendor ID-->248a:8514 | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested 1 aa with no on/off switch }} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Microsoft | Wheel Mouse optical | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | Microsoft | Sidewinder Mouse | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | Microsoft | IntelliMouse Explorer USB optical | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | Microsoft | Wireless Optical Mouse 2000 | | 0x045E | 0x00F9 | | {{no|not working see keyboard Media Desktop 2000 above}} |- | <!--Brand-->Microsoft | <!--Description--> | <!--Model-->1461 1447 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{No|usb dongle matched to one mouse only no others}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Orochi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Mamba | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Naga | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} 17 buttons |- | <!--Brand-->Razer | <!--Description-->USB Optical | <!--Model-->Naga Hex V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} MOBA Gaming Mouse, Professional Grade 16,000 DPI Sensor - RGB lighting |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->DeathAdder | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Viper | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->Razer | <!--Description-->USB optical | <!--Model-->Basilisk V3 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested 1k polling, 35k dpi, }} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | Trust | Slimline Lasermouse | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} |- | SteelSeries | Tobii EyeX EyeMobile PCEye | Eye Tracking Control | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} gaze interaction track technology for augment augmentative and alternative communication (AAC). |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand-->The Eye Tribe Tracker | <!--Description-->Eye | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description-->USB Optical Mouse | <!--Model-->MV3000 | <!--Vendor ID-->0x192f | <!--Product ID-->0x0916 | <!--Revision--> | <!--Opinion-->{{yes|works}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |- | <!--Brand--> | <!--Description--> | <!--Model--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> {{N/A|untested}} |} === Trackball === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->3Dconnexion SpaceBall 5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{N/A|untested}} Labtec designed and rolled into new company 3dconnexion 2001 by owners Logitech |- | <!--Description-->ACCO Kensington Orbit optical F1233A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kensington Turbo Mouse 64210 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Clearly Superior Technologies. Model:CST 1000-RC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Trackman Marble Mouse Wired USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Cordless Trackman Wheel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Optical Trackman T-RB22 - Cordless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech M570 wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Microsoft Trackball Mouse Optical 1.0 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Microsoft X05-87473 Trackball USB Optical | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} === KVM === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->NanoKVM | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} === Gamepad === Controllers have mostly decided that the left analog joystick is keyboard equivalent of WASD and right joystick is your mouse. You also have 2 bumpers above the triggers. Shoot could be right trigger (so it doesn't involve taking your thumb off the right joystick). Face buttons for reloading or jump or other non-critical functions. Crank up the sensitivity and practice. Testing can be done with the TRIDENT Prefs, [https://devicetests.com/controller-tester html5], [https://greggman.github.io/html5-gamepad-test/ html5], or [https://gamepad-tester.com/ Tester] ==== Dinput Poseidon Default Plugin - Playstation(TM) style ==== {| class="wikitable sortable" width="90%" ! width="35%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="30%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Betop Betong Bat D2E BTP-BD2E XD4D2E | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Gravis Eliminator Gamepad Pro USB | <!--Vendor ID-->047d | <!--Product ID-->4005 | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick-->{{N/A}} | <!--Opinion-->2002 2d only |- | Hama Black Force USB Gamepad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{Maybe| }} | <!--Opinion-->2003 psx clone look |- | <!--Description-->Jess Tech Game Elements Philips GGE909 PC Recoil Pad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | [http://www.youtube.com/watch?v=TCbAmIhj6P4 Logitech Wingman Precision USB] G-UC3B | <!--Vendor ID-->0x046d | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{N/A| }} | 2002 no 3D but good for 2D retro games like Turrican II |- | <!--Description-->Logitech Wingman Action Pad G-UB3A | <!--Vendor ID-->0x046d | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe|untested }} | <!--Opinion-->2002 1 blue lucid translucent - thin analog stick N64 type - |- | Logitech Wingman RumblePad UB05B | <!--Vendor ID-->0x046d | 0xc20a | 1.12 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe|untesed }} | 2000 twin blue analogue sticks N64 type - poor 2d controls with single molded blue piece - vibration feedback - single shoulder buttons with throttle control below right one |- | Logitech Wingman Cordless RumblePad G-RA4A | <!--Vendor ID-->0x046d | 0xc211 | 1.12 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe|untested }} | 2001 twin blue analogue sticks N64 type - poor 2d controls with single molded black piece - vibration feedback - dual shoulder buttons L1 L2 R1 R2 with blue throttle control below right one - 4 aa mn1500 batteries; life not great - C-UD10A usb dongle - overall big and bulky |- | <!--Description-->Logitech Precision Wired G-UG15 | <!--Vendor ID-->0x046d | <!--Product ID-->0x | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A}} | <!--Opinion-->2002 psx styling blue outer shell - no 3D analog and no shoulder buttons - no rumble |- | <!--Description-->Logitech Cordless Precision G-X2E14A | <!--Vendor ID-->0x046d | <!--Product ID-->0x | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A}} | <!--Opinion-->2002 ps2 styling blue outer shell - no 3D analog and no shoulder buttons - no rumble |- | <!--Description-->Logitech G-X5C11A Cordless Precision Wireless Controllers | <!--Vendor ID-->0x046d | <!--Product ID-->0x | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A}} | <!--Opinion-->2002 psx styling black outer shell - no 3D analog and no shoulder buttons - no rumble |- | [http://www.testfreaks.co.uk/game-console-accessories-controls/logitech-dual-actiontm-gamepad/ Logitech Dual Action] * G-UD8 has no mode (2D only?) button and no rumble * G-UF13A later | <!--Vendor ID-->0x046d | 0xc2 | | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|[http://www.morphzone.org/modules/newbb_plus/viewtopic.php?topic_id=7018&forum=12 G-UF13A tested only]}} | 2003 New body shape psx style - dual analog 3D sticks - 4 small travel shoulder triggers no 5,6,7,8 |- | Logitech RumblePad 2 G-UF13 | <!--Vendor ID-->0x046d | 0xc218 | 1.00 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes| }} | 2006 light blue top/black base - twin analogues 3D along with dual short travel shoulder buttons - rumble present - |- | <!--Description-->[Logitech RumblePad 2 Cordless] * G-RC?? OLD version that take FOUR batteries and RED Logitech logo * G-RC14 uses TWO batteries has an ORANGE logo - dongle C-UE10 | <!--Vendor ID-->0x046d | <!--Product ID-->0xc219 | <!--Revision-->0x0200 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|mostly}} | <!--Opinion-->2008 may have to remove 1 battery - G-RC?? 5 + 7 buttons - G-RC14 use buttons 6 + 8 to reset sticks - replace battery and push large button on receiver - |- | <!--Description-->Logitech F310 Wired Dual Action G-U0001 | <!--Vendor ID-->0x046d | <!--Product ID-->0xc21 | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|D mode switch}} | <!--Opinion-->2010 dual analog 3D with pc-xbox/psx switch on back (only D works) - both rear shoulder RT LT buttons have excess travel - no rumble vibration - |- | <!--Description-->Logitech F510 Wired G-UG0002 | <!--Vendor ID-->0x046d | <!--Product ID-->0xc21 | <!--Revision-->0x | <!--Merge with USB on Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{Maybe| }} | <!--Opinion-->2010 dual analog with dual xbox pc/psx X/D switched compatibility modes - |- | Logitech F710 Wireless / Cordless RumblePad 2 G-R0001 | <!--Vendor ID-->0x046d | 0xc219 | 3.05 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Maybe| }} | When switch on top set to D and nano receiver for each controller to pair - 2 aa mn1500 batteries required - rumble support sometimes - rear back shoulder buttons excessive travel needed |- |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description-->Megaworld 'TIME' USB pad | <!--Vendor ID-->0x0735 | <!--Product ID-->0x9902 | <!--Revision-->Low 0100 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{No |}} | <!--Opinion-->2000 Poor quality |- | <!--Description-->Microsoft * SideWinder Precision Pro USB (1997) * SideWinder Precision 2 (1998) * Game Pad Pro (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Microsoft Sidewinder Game Pad USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{yes| }}} | <!--Analogue Hack with Analog Stick-->{{yes| }} | <!--Opinion-->[https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1149&rowstart=140&pid=5934#post_5931 must setup first] |- | <!--Description-->Microsoft Sidewinder Gamepad X04 Freestyle | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{N/A|N/A }} | <!--Opinion-->{{N/A|untested}} 1998 might need USB adapter |- | <!--Description-->Microsoft Sidewinder X05 63895 92626 Flight stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{unk| }} | <!--Opinion-->{{Yes|2000 [https://ae.amigalife.org/index.php?topic=929.msg11309#new tested]}} |- | <!--Description-->Microsoft Sidewinder Flight Stick X08-58736 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Microsoft Plug & Play Game Pad (2000) SideWinder Joystick (2000) Game Pad 2.0 (2001) SideWinder Force Feedback 2 (2002) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2002 long-standing static buildup problem and Force Feedback 2 was the removal of the power brick |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | Saitek [http://www.testfreaks.co.uk/game-console-accessories-controls/saitek-ps1000/ PS1000 Cyborg V.1], [http://www.testfreaks.co.uk/game-console-accessories-controls/saitek-ps2700-rumble-pad/ PS2700] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2000 no rumble function |- | Saitek [http://www.youtube.com/watch?v=xG0v-hf6ZPA P2600] [http://compactiongames.about.com/od/hardware/tp/gamepads.htm P3600], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2000 no rumble function |- | Saitek P2900 wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{N/A|untested but runs on 1 AA battery}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description-->Sony Batoh PS3 mini USB Wired hookup [http://ps3.jim.sh/sixaxis/usb/ SIXAXIS] *PCB Ribbon Notes *Protos ALPS MSU Rev3 M3 and the later CBEH-1019 *? SA1Q135A for sixaxis *PP4 *V2 *V25 *VX SA1Q146A first dualshock 3 model *VX SA1Q147A CECHZC2U (USA) *VX35 SA1Q159A *VX3 SA1Q160A *VX? SA1Q188A *VX4 SA1Q189A shipped with a CECH-2504 datecode 0C *VX5 SA1Q194A changed design ALPS, PS button changes *VX6 SA1Q195A red case, *VX7 SA1Q222A superslims 2 ribbons *VX8 SA1Q224A superslims 2 ribbons | <!--Vendor ID-->0x054c | <!--Product ID-->0x0268 | <!--Revision-->1.00 | <!--Merge with USB on Digital Pad-->{{No|}} | <!--Analogue Hack with Analog Stick-->{{No|}} | <!--Opinion-->Sometimes detected but no support - no sixaxis features detected - mini usb lead will have varying results - |- | <!--Description-->Sony PS4 *JDM JDS 001 010 011 *JDM 030 040 055 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Sony PS5 Dual Sense | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Speed Link Strike 2 FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Thrustmaster Firestorm Dual Power 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes|[http://www.morphzone.org/modules/newbb_plus/viewtopic.php?topic_id=7018&forum=12 only 1 axis joystick only]}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Trust Predator GM-1500 GM-1520 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Haute42 M series Aluminum Metal Joystick Hitbox Controller Arcade Fighting Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Haute42 T series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Haute42 G series Gamefinger G12 G13 G16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> plastic - |- | <!--Description-->Haute42 S series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> thinner and lighter than G series |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mad Catz sf2 fightstick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash Datel Paewang Arcade Pro Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash F300 Fighting Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash F500 Fighting Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Pico Flatbox GP2040-CE Hot Swappable Mini Hitbox Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> default it is configured for PS4 but before plugging usbc cable in, X for Dinput, B Xinput, RT HID - plastic build case - Rev4 based on RP2040 chip and firmware is based on GP2040-CE (Community Edition) - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Shenzhen Onebitdo Tech 8bitdo Fighting stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Venom 8 button | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- |} ==== Xinput Xbox Style Plugin ==== 2018 extension added originally called AROSx but later redacted. Latest [https://github.com/medusalix/xone linux driver] might be useful. {| class="wikitable sortable" width="90%" ! width="35%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="30%" |Opinion |- | <!--Description-->8bitdo Ultimate C Wired 82CB (Shenzhen ONEBITDO TECH - GWOWO) | <!--Vendor ID-->0x2dc8 | <!--Product ID-->0x3106 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2022 - 4 t6 torx screws - non hall effect so drifting issues - triggers go faulty often - |- | <!--Description-->8bitdo Ultimate 2C Wired Controller 82CD | <!--Vendor ID-->0x2dc8 | <!--Product ID-->0x310A | <!--Revision-->0114 | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - HID keyboard assigned - 4 t6 torx screws - hall effect analogs and triggers - 1000Hz polling - |- | <!--Description-->8bitdo Ultimate 2C wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - 400mw battery - hall effect 3d nubs and triggers - micro switch shoulder buttons - d-pad poor for retro games - |- | <!--Description-->8bitdo ULtimate Mini Wired Controller for Xbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect |- | <!--Description-->8BitDo Pro 2 *Wired Controller *Wireless *Bluetooth | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect - playstation style layout for pc - slide button for S-A-D-X switch, android, dinput or xinput - |- | <!--Description-->8BitDo Pro 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 tmr hall effect analogs, hall effect triggers and some microswitches - button swap - ps2 style layout - |- | <!--Description-->8bitdo Ultimate 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2026 - mw battery - hall effect 3d nubs and triggers - micro switch shoulder buttons - d-pad for retro games - |- | <!--Description-->8BitDo Pro 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2026 hall effect analogs, hall effect triggers and some microswitches - button swap - ps2 style layout - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Ace Aurora | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 hall effect joysticks with no deadzone mode, gyro, linear rumble, trigger stops, back paddles, button swap, macro, turbo, RGB LED effects - tri-mode connection - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Betop Beitong Spartan BTP-2270U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> no hall effect |- | <!--Description-->Betop Betong Asura 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> no hall effect - noble linear trigger potentiometer and alps shoulder LB/RB micro switch |- | <!--Description-->BEITONG ASURA 2 Pro+ Game Controller Wireless Gamepad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Beitong Zeus 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BebonCool Dinofire Model Number: Q218 / TP28 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2021 - triggers aren't progressive but ON/OFF - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->EasySMX X05 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect analog and triggers - tri mode connection - |- | <!--Description-->EasySMX Wireless Controller PC PS3, 9013pro ESM-9013PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 linear hall effect but device sometimes will not connect tried multiple attempts with the dongle |- | <!--Description-->EasySMX X10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->EasySMX X20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 ABXY MICRO SWITCH - Bumpers Tactile switch Hall Effect analog |- | <!--Description-->EasySMX X15 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 hall effect analog and triggers - membrane buttons - |- | <!--Description-->EasySMX S10 Wireless Gamepad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 TMR Hall effect and compatible with Switch 2/PC/Phone/TV/Steam, NFC, Gyro, HD Rumble - |- | <!--Description-->EasySMX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->202 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Fantech World EOS Pro WGP15 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect trigger and sticks,2 back paddles, motion controlling |- | <!--Description-->Fantech EOS PRO II S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 controller with TMR hall effect analogues, mechanical face buttons and D-pad, 63 input macro, back paddles, turbo - analog triggers with trigger stops - tri mode bt wifi and wired - slide switch on back for switch, macos/android and xinput - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Flydigi Apex | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2023 luxury model |- | <!--Description-->Flydigi Vader Pro 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2023 the Pro(Hall Effects) and Non-Pro (No Hall) |- | <!--Description-->Flydigi Direwolf 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2023 hall effect sticks and triggers - poor wifi connection - |- | <!--Description-->Flydigi Apex 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 luxury model |- | <!--Description-->Flydigi Vader 4 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - hall effect, DInput mode (o+A hold) - |- | <!--Description-->Flydigi Direwolf 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 hall effect analog and triggers but membrane buttons with gold contacts - 800mhA battery - |- | <!--Description-->Flydigi Dunefox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 basic model hall effect analog and triggers but membrane buttons - 500mha battery - no gyros - |- | <!--Description-->Flydigi Vader 5 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2025 - hall effect stick with tension control, linear triggers, DInput mode (o+A hold) - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Gamesir T4K Keleid, T4C Cyclone wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2023 poor to ok switch |- | <!--Description-->Gamesir Nova | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no|| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2024 - switch type layout |- | <!--Description-->Guangzhou Chicken Run Network Tech Nova Lite GameSir-T4n LITE - Zikway HID gamepad *[https://www.reddit.com/r/Gamesir/comments/1c185ve/psa_keep_gamesir_nova_lite_t4n_lite_firmware_at/ fw 4200 seems to be xbox so B then Home for Xinput (green LED), A then Home for HID BT Android (green/yellow LED), Y then Home for Switch Pro (Red LED)] or X then Home for Wifi and start and select to alternatively swap modes * and if on [https://www.reddit.com/r/Gamesir/comments/1c185ve/psa_keep_gamesir_nova_lite_t4n_lite_firmware_at/ fw 5700 ds4 so Home + B (blue LED), ] * firmware 6900 | <!--Vendor ID-->0x3537 | <!--Product ID-->0x1040 0x1041 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2024 - hall effect 3d nubs - no usb-c cable - rubber membrane analog trigger travel and bumpers shoulder buttons - wifi 2.4G and bluetooth - xbox layout so ab and xy might need to be swapped via m and a buttons for switch type [https://www.youtube.com/watch?v=po-nNuC5fps fixes video] - 250Hz polling - 600mah battery - rigid carry case - poor d-pad esp diagonals - gamesir settings software only on android 6+ or ios based only - |- | <!--Description-->Gamesir Nova 2 Lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GameSir G7 SE Wired Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect |- | <!--Description-->GameSir G8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Gamesir TEGENARIA T3 Lite Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 playstation aesthetic hall effect analog and membrane buttons - X+Home button connects as an Xbox controller |- | <!--Description-->GameSir Cyclone 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 TMR Joysticks with anti-friction rings and metal anti-friction rings around the stems, gyro, rumble, macro, turbo, 2 back paddles, hall analog triggers with micro-switch trigger - tri mode bluetooth, 2.4GHz wifi and wired, 1000hz polling rate - gamesir connect software - |- | <!--Description-->GameSir G7 Pro for Xbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 TMR hall effect - hall effect triggers, tri mode connection - gamesir nexus software - |- | <!--Description-->GameSir Super Nova Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2026 hall effect sticks and triggers, 1000Hz polling, tri mode connectivity, |- | <!--Description-->GameSir | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GameSir | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GameSir | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->GuliKit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description-->GuliKit KingKong 2 NS08 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->Electromagnetic Stick hall effect - hall linear triggers - Mechanical face buttons - wired and wireless - Built-in rechargeable lithium battery |- | <!--Description-->GuliKit KingKong 2 PRO NS09 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->hall efect - wired and wireless - Mechanical face buttons - Built-in rechargeable lithium battery |- | <!--Description-->GuliKit KingKong MAX 3 KK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->hall effect - wired and wireless - lithium battery - |- | <!--Description-->Gulikit KK3 Max USB-c Bluetooth Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 Hall Joysticks and Triggers, Maglev/Rotor/HD Vibration, 1000Hz Polling Rate, 4 Back Buttons, |- | <!--Description-->GuliKit KK3 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 smaller version of KK3 MAX - hall effect analog and triggers, face buttons , maglev rumble, gyro, 4 back paddles - rigid case - 950mAh up to 8 hrs - |- | <!--Description-->GuliKit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Hyperkin | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Hori EX2 Turbo UHX3-45 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Machenike G1 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 Wireless Gaming Controller with 1K Polling Rate Hall Effect Trigger Joystick For Nintendo Switch PC iOS Android |- | <!--Description-->Machenike G5 Pro Wireless Gaming Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 ABXY Switch Membrane, Bumpers Tactile switch and hall effect analog |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->microsoft sidewinder precision pro | <!--Vendor ID-->0x045E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | [https://pineight.com/mw/index.php?title=USB_game_controllers Xbox 360 Wired Controller] | 0x045e | 0x028e | 0x | <!--Merge with USB Digital Pad-->{{No|needs specific driver and has poor 2D control pad}} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | Microsoft (R) [https://blog.tkjelectronics.dk/2012/12/xbox-360-receiver-added-to-the-usb-host-library/ Xbox 360] (TM) Wireless Receiver for Windows(R) Model 1086 and Controller | 0x045e | 0x0719, 0x or 0x0291 | 0x0100 | <!--Merge with USB Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->{{No|separate standalone usb dongle detected and shows as 8 vendor interfaces but no class associated and so not working - may need new class from code from xpad or xboxdrv to work the controllor}} |- | <!--Description-->Xbox 360 Kinect [http://hackaday.com/2010/11/10/kinect-open-source-driver-demo-and-hacking/ Video] [http://git.marcansoft.com/?p=libfreenect.git;a=commit;h=7655fcf7239ba4907654089dba535a196685dbe5 GIT] | <!--Vendor ID-->0x045E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2007 proprietary 2.4GHz RF protocol, |- | <!--Description-->Xbox One Wired Controller | <!--Vendor ID-->0x045E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion--> |- | <!--Description-->Xbox One wireless controller newer model with the 3.5mm headphone jack 1537 1697 and microsoft adapter | <!--Vendor ID-->0x045E | <!--Product ID-->0x02d1 or 0x02dd | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2014 |- | <!--Description-->Microsoft Elite Series 1 | <!--Vendor ID-->0x045E | <!--Product ID-->0x02e3 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2016 ok - |- | <!--Description-->Xbox later models 1708+ Xbox One and Series use 5GHz and use Bluetooth, | <!--Vendor ID-->0x045E | <!--Product ID-->0x02e0 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2017 |- | <!--Description-->Xbox One S | <!--Vendor ID-->0x045E | <!--Product ID-->0x02ea 0x02fd | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2019 |- | <!--Description-->Microsoft Elite Series 2 Core | <!--Vendor ID-->0x045E | <!--Product ID-->0x02ff | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{no| }} | <!--Analogue Hack with Analog Stick-->{{no| }} | <!--Opinion-->2022 ok - no hall - 125Hz polling - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Minisform MGP01 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->MOBAPAD N1HD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 has liquid silicone face buttons, hall effect analog, D-Pad swap, two back paddles, USB-A dongle, HD Rumble - |- | <!--Description-->Mobapad Huben 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 |- | <!--Description-->Mobapad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BIGBIG WON Gale 墨将 mòjiāng | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BIGBIG WON Blitz PRO 2 TMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BIGBIG WON now MOJHON AETHER | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2025 hall effect joysticks, hall effect triggers, mechanical bumpers, 1000hz polling rate, mechanical D-pad, membrane face buttons, mechanical back paddles, rumble, deadzone issues - tri mode |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->MSI FORCE GC20 GC30 V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2021 not hall effect |- | <!--Description-->MSI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mytrix Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->NACON GC-100XF Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 average |- | <!--Description-->PXN P5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall effect joysticks & triggers, limited trigger stops, 1000hz polling rate on wired, 4 back paddles, 32 macro record, anti-deadzone mode, RAW mode, gyro, turbo, tri-mode connection - |- | <!--Description-->PXN P50L | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description-->PowerA | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->QRD Stellar T5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->QRD Junior E5 Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->QRD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Razer Wolverine V3 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 hall |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->RetroFlag | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Speedlink XEOX Pro Analog Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->enclosed lithium battery? - xbox layout - switchable on back of controller to directinput (dinput) or xinput - USB dongle switchable to pc and ps3 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SCUF Instinct Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2022 good |- | <!--Description-->SCUF Envision Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2023 good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Steel Series Stratus Duo XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->usb adapter needed |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->[https://inputlabs.io/Inputlabs InputLabs Alpakka Open Source and build yourself] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->DIY it with 3d printer, pcb and components - pi pico needed - 2 gyros for better accuracy - |- | <!--Description-->[https://inputlabs.io/kapybara Inputlabs kapybara] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->DIY one handed version wip |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Vilcorn Z03 BT Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion-->2024 - other Bluetooth modes (green, red, blue, purple, etc.) Select + M1 (or M2) - 400mAh - not great latency wired - 800mhz polling - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->zd ultimate legend | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->zd 0+ elite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description-->zd 0+excellent | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- |} <pre> #ifndef AROSX_LIBRARY_H #define AROSX_LIBRARY_H #include <exec/types.h> #define AROSX_CONTROLLER_TYPE_UNKNOWN 0x00 #define AROSX_CONTROLLER_TYPE_GAMEPAD 0x01 #define AROSX_GAMEPAD_DPAD_UP 0x0001 #define AROSX_GAMEPAD_DPAD_DOWN 0x0002 #define AROSX_GAMEPAD_DPAD_LEFT 0x0004 #define AROSX_GAMEPAD_DPAD_RIGHT 0x0008 #define AROSX_GAMEPAD_START 0x0010 #define AROSX_GAMEPAD_BACK 0x0020 #define AROSX_GAMEPAD_LEFT_THUMB 0x0040 #define AROSX_GAMEPAD_RIGHT_THUMB 0x0080 #define AROSX_GAMEPAD_LEFT_SHOULDER 0x0100 #define AROSX_GAMEPAD_RIGHT_SHOULDER 0x0200 #define AROSX_GAMEPAD_A 0x1000 #define AROSX_GAMEPAD_B 0x2000 #define AROSX_GAMEPAD_X 0x4000 #define AROSX_GAMEPAD_Y 0x8000 struct AROSX_GAMEPAD { ULONG Timestamp; UWORD Buttons; UBYTE LeftTrigger; UBYTE RightTrigger; WORD ThumbLX; WORD ThumbLY; WORD ThumbRX; WORD ThumbRY; }; #define AROSX_EHMB_CONNECT 0x00 #define AROSX_EHMB_DISCONNECT 0x01 #define AROSX_EHMF_CONNECT (1L<<AROSX_EHMB_CONNECT) #define AROSX_EHMF_DISCONNECT (1L<<AROSX_EHMB_DISCONNECT) struct AROSX_EventHook { struct Node eh_Node; struct MsgPort *eh_MsgPort; ULONG eh_MsgMask; }; struct AROSX_EventNote { struct Message en_Msg; ULONG en_Event; APTR en_Param1; APTR en_Param2; }; #endif /* AROSX_LIBRARY_H */ </pre> === Joystick === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->CH Products CombatStick 568 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Cyborg X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Logitech Extreme 3D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | [Logitech Attack 3 Joystick] | 0x0464 | 0xC214 | 0205 | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->saitek X-52 x52 pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->saitek aviator | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | Speedlink Competition Pro USB | | | | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{maybe|works but games not working "out of the box"}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Trust Predator QZ 501 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{yes|works}} |- | <!--Description-->Trust Predator TH 400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{yes|works}} |- | <!--Description-->Trust Predator GM-2500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{yes|works}} |- | <!--Description-->Trust XK 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{N/A|untested }} |- |} ===[https://github.com/JacKeTUs/linux-steering-wheels Gaming Racing Steering Wheels]=== {| class="wikitable sortable" width="90%" ! width="25%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="40%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> [https://www.usb.org/sites/default/files/documents/pid1_01.pdf USB PID standard not supported], |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cammus C5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fanatec CSL Elite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS4 and Xbox - belt driven wheel - 30cm wheel swapping |- | <!--Description-->Fanatec Club Sport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> top belt $600 £500 system |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->FFBeast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Genius TRIO RACER F1 Racing Wheel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Cheap and cheerful but not great - may need calibrating |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hama PC Racing Wheel Thunder V18 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Average |- | <!--Description-->Hori Racing Wheel 3 with pedals | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS3 PC |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Logic3 PXU450 TopDrive GT450 Steering Wheel for PS3, PS4, XBox One and PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Logitech MOMO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Very good |- | <!--Description-->Logitech Driving Force GT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Logitech Drive Force Pro DFP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> wheel 900 degree - weighs in at 15&nbsp;lbs |- | <!--Description-->Logitech Formula Force EX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->200 degrees turn for the EX model is arcade-like driving - adds PS3 compatibility via the PSx/2 adaptor - weighs in at 9&nbsp;lbs |- | <!--Description-->Logitech G25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> - needs external psu - |- | <!--Description-->Logitech G27 PC/PS3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> comes with gear shifter - needs external psu - |- | <!--Description-->Logitech G29 PC PS3/PS4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> may need additional shifter - gear 900deg wheel / rumble - 3 peddle - needs external psu - |- | <!--Description-->Logitech G920 PC XboxOne | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> may need additional shifter - gear 900deg wheel / rumble - 3 peddle - needs external psu - |- | <!--Description-->Logitech G923 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft(R) SideWinder Precision Racing Wheel (1999) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R3 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R5 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R9 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Moza R12 | <!--Vendor ID-->0x346E | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://github.com/Ultrawipf/OpenFFBoard OpenFFBoard], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->PXN V10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->PXN V12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->PXN V12 Lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simagic M10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> base direct drive $900 £800 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simplicity Simwheel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> direct |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simucube | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simucube | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simucube | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Simxperience Accuforce V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->SPEEDLINK Drift O.Z. Racing Wheel with Pedals and Gear Stick | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SteelSeries Simraceway SRW-S1 Steering Wheel (PC) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Thrustmaster Nascar Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Thrustmaster Ferrari Challenge Wheel | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> Poor |- | <!--Description-->Thrustmaster Ferrari FGT Rumble GT Experience 3-in-1 (PC/PS3) | <!--Vendor ID-->0x044f | <!--Product ID-->b658 | <!--Revision-->0102 | <!--Merge with USB Digital Pad-->{{Yes|Wheel and all buttons detected}} | <!--Analogue Hack with Analog Stick-->{{Maybe|}} | <!--Opinion-->Not great - gear driven 240deg wheel rotation - no psu needed - 2 peddle - flappy gear change - rumble untested - red switch for PC PS3 selection |- | <!--Description-->Thrustmaster F430 | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Thrustmaster T500 RS Wheel | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> belt driven wheel/rumble for GT5 |- | <!--Description-->Thrustmaster T60 Challenge | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Thrustmaster T150 Wheel | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> gear / belt combo wheel / rumble - 2 peddle |- | <!--Description-->Thrustmaster TMX Pro PC/XboxOne | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad-->{{No| }} | <!--Analogue Hack with Analog Stick-->{{No| }} | <!--Opinion--> direct drive rumble - no manual gear shift included |- | <!--Description-->Thrustmaster T80 | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->Base level and OK - PS4 - 270deg rumble - 2 peddle |- | <!--Description-->Thrustmaster T300 RS GT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS3 PS4 - belt driven - 900deg rotation and modular 28cm wheel out - 2 peddles but 3 available |- | <!--Description-->Thrustmaster TX Leather | <!--Vendor ID-->0x044f | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->TX Xbox version - 900deg rotation |- | <!--Description-->Thrustermaster TS PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PC only belt wheel |- | <!--Description--> TS XW Racer PC Xbox1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> top belt system |- | <!--Description-->Thrustmaster T-GT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->PS4 $700 £600 with T-DFB |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | <!--Description-->Tracer Zonda Racing Steering Wheel PC PS3 Vibration Feedback Pedals Gearbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion-->{{unk| }} |- |} ===Gamepad Joypad Adapters=== * Most adapters will work in most OS's without installing a driver. Special functions needing drivers will be noted. * Some adapters do not work with some [http://www.stepmania.com/wiki/Dance_Pads dance pads] because of voltage issues. Other adapters map the dancemat arrows as axes and not as buttons, causing problems. * If using an adapters should be compatible with '''original''' PlayStation PS/Xbox Xbox/GameCube GC /Dreamcast DC/Sega Saturn SS gamepads. {| class="wikitable sortable" width="90%" ! width="35%" |Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="10%" |Merge with USB on Digital Pad ! width="10%" |Analogue Hack with Analog Stick ! width="30%" |Opinion |- | <!--Description-->[http://www.maplin.co.uk/psx-usb-bridge-34887?tabid=3&worldid=&doy=21m9&faqitem=playstation%20controller%20to%20pc%20adaptor Maplin] [http://www.rockfire.com.tw/ Padix Co. Ltd. Rockfire] PX-205 PSX/USB Bridge | <!--Vendor ID-->0x0583 | <!--Product ID-->0x2050 | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes}} but buttons mapped different from others | <!--Analogue Hack with Analog Stick-->{{Maybe|poor}} | <!--Opinion-->Ok with dpads, but very poor support with analogue hack |- | Boom PS Joy Converter adaptor | | | | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | discontinued (2004/5). Hold Up, Start, and Select for three seconds. Very good [http://www.stepmania.com stepmania] recommendation. |- | [http://www.hkems.com/m_main.htm EMS] [http://www.hkems.com/product/ps2/ps2-usb2.htm USB2] grey plastic box with 2 PSX ports, one on either side - UP and Select pressed for 3 seconds at the same time or the dance code (start+select+up) | | | | <!--Merge with USB Digital Pad-->{{Yes|Tests/joystick shows the PS port works in digital mode on d-pad}} | <!--Analogue Hack with Analog Stick--> | Set in PC switch mode. Does not work when using 2 pads at the same time, likely higher power requirements. FPSE emu DualShock untested, Mat and Guitar untested but known lag involved |- | Joytech (play.com) (EMS USB2 bad clone) Black box twin PSX | 0x0b43 | 0x0003 | 0x0 | <!--Merge with USB Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{No|buggy hardware}} | but poor on dance ddr mat and guitar hero as the left and right keys do not like being pressed together, Dual shock untested |- | [ EMS Trio Linker ] 1 PSone connection at bottom | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | 1PSX discontinued 2005 |- | [http://psxemulator.proboards.com/index.cgi?board=support&action=display&thread=421 EMS Trio Linker Plus] (blue box) 1 PSx at bottom | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | 1PSX discontinued |- | Gamtec [http://www.gamestone.co.uk/gradius/guides_usb_smartjoy_guide.php SmartJoy Plus] Lik Sang PS->USB converter Red 2005 | 0x0925 | 0x0005 | Low 0110 | <!--Merge with USB Digital Pad-->{{Maybe|detected and digital dpad works with [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4138&forum=2&post_id=35952#forumpost35952 joystick and testjoystick tests] but the second analog control is not mapping correctly in digital mode}} | <!--Analogue Hack with Analog Stick-->{{No|Analogue Hack - hardware buggy not useable}} | Dual shock untested, Mat and Guitar untested. Nothing picked up upon plugging it in. Quite common, these items have grounding issues or feed voltage back into the USB host and freeze the host controller, preventing any plugins or removals being detected. |- | Gamtec SmartJoy Plus Dual PS->USB converter Red | 0x0925 | 0x00 | Low | <!--Merge with USB Digital Pad-->{{Maybe| }} | <!--Analogue Hack with Analog Stick-->{{No|buggy hardware}} | |- | [http://uk.gear.ign.com/articles/700/700334p1.html Lik-Sang Super SmartJoy PSX] | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | 1PSX |- | Soyo Kiki Kiky | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | |- | eXcel PSX adaptor shaped a little like a stealth bomber with USB pass through | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | |- | Venom | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | |- | Dragon Plus (Radio Shack) Pantherlord GreenAsia USB to PS2/PS3 converter single black cable | 0x0e8f | 0x03 | 1.07 | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick-->{{Yes| }} | |- | Deal Extreme 2 PSX black cables from 1 USB port | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | {{N/A|untested }} |- | <!--Description-->HDE 2014 Personal Communication Systems Inc | <!--Vendor ID-->0x0810 | <!--Product ID-->0x0001 | <!--Revision-->0106 | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Same as single cable above but with black block midway along cable | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> |- | <!--Description-->TigerGame Ltd Mayflash PC001 Super Joy Box 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | TigerGame Ltd Mayflash PC016 Super Joy Box arrowhead triangle twin PSX] Original was lack with RED Leds. Clones Dilong pu203, Blue HDE Neewer ShineData SD-APS2USB, Red Octane and Black PC Power Box (NS3454) '''embossed circle''' on top | 0x0810 | 0x0001 | 1.06 | <!--Merge with USB Digital Pad-->{{Yes|Tests/joystick shows one PS port does not work with analog control at all but the other port does and maps correctly in digital mode}} | <!--Analogue Hack with Analog Stick-->{{Yes|Analogue hack works }} | Still available 2013, poor construction though, falls to pieces easily. Dual Shock untested, Mat and Guitar untested |- | <!--Description-->TigerGame Ltd [http://www.mayflash.com/pc/pc038/pc038-1.htm Mayflash PC038 Super Joy Box Pro triangle twin PSX] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | TigerGame Limited Mayflash SuperJoy Box 5 PC006 long V-shaped 4 port PS/PS2 Game Controller Adapter | | | | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | |- | <!--Description-->TigerGame Limited Mayflash SuperJoy Box 5 PRO PC039 PS/PS2 Game Controller Adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Merge with USB on Digital Pad | Analogue Hack with Analog Stick | Opinion |- | Boom PSX+N64 USB converter (purple or blue see through box) (2003/4) - red led for psx and green led for n64 | 0x6666 | 0x0667 | 0x0 | <!--Merge with USB Digital Pad-->{{No|not detected by Tests/joystick}} | <!--Analogue Hack with Analog Stick-->{{No|Analogue hack }} | Rumble Pak untested |- | [http://www.hkems.com/product/ps2/TrioLinkerPlus2.htm EMS Trio Linker Plus II] | | | | <!--Merge with USB Digital Pad-->{{Yes| }} [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4753&forum=24&post_id=43102#forumpost43102 ] | <!--Analogue Hack with Analog Stick--> | 1DC 1GC 1PSX but not for ddr mat games |- | TigerGame Mayflash PC043 clone HuiJia Black twin N64 converter for PC USB | 0x0e8f | 0x3013 | 0x0 | <!--Merge with USB Digital Pad-->{{No|detected by Tests/joystick though two digital pads have their settings wrong}} | <!--Analogue Hack with Analog Stick-->{{Yes|Analogue hack works well with middle handle/grip little joystick}} | Rumble Pack untested |- | TigerGame Mayflash PC MagicBox SuperBox 3 | | | | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | untested 1SS 1DC 1PSX } |- | <!--Description-->Lik Sang SmartJoy X | <!--Vendor ID-->0x045e | <!--Product ID-->0x0285 | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SmartJoy X2 | <!--Vendor ID-->0x045e | <!--Product ID-->0x0289 | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | TigerGame Mayflash PC018 Super Joy Box 9 Xbox (NOT 360) | 0x05e3 | 0x060 | | <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}} | <!--Analogue Hack with Analog Stick-->{{No| }} | does not work. Hub(s) 0x0288 detected but 0x0289 xbox1 joypads are not detected as hid let alone as [http://www.amiga.org/forums/archive/index.php/t-62940.html xpad] or [http://pingus.seul.org/~grumbel/xboxdrv/ linux xboxdrv driver] |- | TigerGame Mayflash PC019 Super Joy Box 10 Xbox Twin ports (NOT 360) | 0x05e3 | 0x060 | | <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}} | <!--Analogue Hack with Analog Stick-->{{No| }} | does not work with the big Fatty Duke or smaller S Akebono controller(s) |- | TigerGame Ltd Mayflash PC020 Super Joy Box 11 Xbox Quad ports (NOT 360) | 0x05e3 | 0x0604 | | <!--Merge with USB Digital Pad-->{{No|shows up as a Genesys Logic Hub}} | <!--Analogue Hack with Analog Stick-->{{No| }} | |- | <!--Description-->TigerGame Ltd Mayflash PC035 3 in 1 Magic Joy box PS GC Xbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->USB to NES [http://wiki.nesdev.com/w/index.php/Standard_controller SPI like protocol] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Buffalo Classic USB Pad SNES like | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash PC044 USB to SNES | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->USB to MEGADRIVE GENESIS Joypad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->[http://www.retrousb.com/product_info.php?cPath=21&products_id=70 USB to 9 pin ATARI RETROPORT style JOYSTICK PORT] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Atari RetroLink 9pin to SB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->SLS Sega Saturn USB pad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB on Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash PC050 Dual Saturn ports | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Guitar Hero for PC/Mac | <!--Vendor ID-->0x1430 | <!--Product ID-->0x474C | <!--Revision--> | <!--Merge with USB Digital Pad-->{{Yes| }} | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Cronus Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->BrookX One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash Gamecube to USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->Mayflash Magic NS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> WiiU |- | <!--Description-->Brook Converter WiiU P3 P4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- | <!--Description-->CooV Xbox One Converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Merge with USB Digital Pad--> | <!--Analogue Hack with Analog Stick--> | <!--Opinion--> |- |} * [http://www.bemanistyle.com/forum/f6/best-metal-pad-19066/ Metal dance pads with LEDs] - My My Box Blue Shark (Nexen), Cobalt Flux (CF) (Let's Groove), Red Octane Afterburner, TX-2000, Logic3 (Dance Dance Dance), Gamerose (Stay Cool), * Hard foam mat - [http://www.mayflash.eu/3in1-deluxe-dansmat-ignition-foam-ps2xboxpc-p-5.html Mayflash] FutureMax Deluxe 3 in 1 Ignition, [http://www.gamerose.com/ Gamerose] (Stay Cool), TrinPad orange, * Soft foam mat - Logic3 (PS420N), [http://www.positivegaming.com/index.php?id=36 Positive Gaming Impact], Gamerose Miss Daisys Naki (Stay Cool), Pelican, MadCatz *PS1 PS2 PS3 PS4 flex ribbon big source of button/trigger issues with all controllers *PS2 Phat KSA1Q40A (Board), SA1Q33A (Membrane) SCHP-10010 H *PS2 SA1Q42A SCHP-10010 A *PS2 SA1Q43-A SCHP-10010 H The primary axes are either the Control Pad or the left stick. Buttons come in a rough order: face buttons, then shoulder buttons, then Select and Start, then buttons under sticks, and finally Control Pad directions if not assigned to a hat. But the order and number of buttons within a category are unpredictable, as is which button the user expects to use for each action. {| class="wikitable sortable" width="90%" ! width="10%" | Joypad ! width="5%" | HATS ! width="5%" | Button 01 ! width="5%" | Button 02 ! width="5%" | Button 03 ! width="5%" | Button 04 ! width="5%" | Button 05 ! width="5%" | Button 06 ! width="5%" | Button 07 ! width="5%" | Button 08 ! width="5%" | Button 09 ! width="5%" | Button 10 ! width="5%" | Button 11 ! width="5%" | Button 12 ! width="5%" | Button 13 ! width="5%" | Button 14 ! width="5%" | Axes 1 ! width="5%" | Axes 2 ! width="5%" | Axes 3 ! width="5%" | Axes 4 ! width="5%" | Axes 5 ! width="5%" | Axes 6 ! width="10%" | Comment |- | [https://pineight.com/mw/index.php?title=USB_game_controllers Xbox 360 Wired Controller] | | A (down-green) | B (right-red) | X (left-blue) | Y (up-yellow) | LB (white) | RB (black) | Back | Start | Guide | L3 | R3 | | | | Left X | Left Y | LT | Right X | Right Y | RT | Poor 2D, Good 3D |- | <!--Description-->Gravis GamePad / Original PlayStation Controller | <!--HATS DPAD--> | <!--Button 01-->Red (Sqleft) | Yellow X (X down) | Green O (O right) | Blue (Tri up) | L1 | R1 | L2 | R2 | Select | <!--Button 10-->Start | | | | | <!--Axes 1-->Stick X | Stick Y | | | | | <!--Opinion--> |- | <!--Description--> PlayStation 2 Older Adapters | <!--HATS DPAD--> | <!--Button 01-->Blue X (down) | Red O (right) | Pink Sq (left) | Green Tri (up) | L1 | R1 | L2 | R2 | Select | <!--Button 10-->Start | Stick 1 | Stick 2 | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- | <!--Description--> PlayStation 2 Newer Adapters | <!--HATS DPAD--> | <!--Button 01-->Up | Right | Down | Left | L2 | R2 | L1 | R1 | Select | <!--Button 10-->Start | Stick 1 (analogue Hack) | Stick 2 | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- | <!--Description--> Wish Technologies N64 Adaptoid | <!--HATS DPAD--> | <!--Button 01--> A | C Down | C Right | B | C Left | C Up | L | R | Start | <!--Button 10-->Z | Pad Up | Pad Down | Pad Left | Pad Right | <!--Axes 1-->Stick X | Stick Y | | | | | <!--Opinion--> |- | <!--Description--> | <!--HATS DPAD--> | <!--Button 01--> | | | | | | | | | <!--Button 10--> | | | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- | <!--Description--> | <!--HATS DPAD--> | <!--Button 01--> | | | | | | | | | <!--Button 10--> | | | | | <!--Axes 1--> | | | | | | <!--Opinion--> |- |} Just plug in your digital/analogue joystick or gamepad into USB port. The device will be handled by Poseidon USB stack. Poseidon is the USB stack with Trident adding a GUI (graphical user interface) prefs. the context sensitive page would come up right on pressing the help key inside the relevant window. The manual is in this archive, just in case it isn't in SYS:Locale/Help *How to change joystick mode to analogue? By default a connected USB joystick emulates Amiga digital joystick. To change this behaviour so that the joystick is presented as analogue you need to use Trident preferences application (System:Prefs/Trident). Open Trident and go to Devices on the left hand side (mouse click once on it). Select your controller from the list to the right and then click on Settings button below. This will open a new window. On the "General" tab find the "Lowlevel Library Joypad Emulation" section near the bottom. Find ports which are set to "Merge with USB" or "Override with USB" and change them to "Analogue Hack". Please note that analogue joystick support is an extension of original Amiga functionality, thus an Amiga application must be explicitly written to use it. AROS SDL library uses this functionality, thus all SDL applications that use joystick, can use the analogue joystick feature. The HID class has several options how to handle the input data: * Don't touch: The movement and button data for is not modified by the hid class. This is the default for the ports 0, 2, and 3. * Overwrite with USB: This will kill the original data that might had come from the internal ports and overwrites it with the joypad data for this USB interface. Note well: If you have multiple joypads connected, take care which setting you have selected for each port, because only the last interface with this option will actually send the joypad data to the game. * Merge with USB: This option merges the input data of the lowlevel.library with the USB stream. This only works, if the connected device on the original Amiga ports is NOT a mouse (because then the streams are incompatible). Merging should be the preferred method, because it leaves the original joysticks working. * Disable: Turns off the port for the application. * Analogue Hack: Tells Poseidon to force reporting of analogue data at the port. Please note that this only works with programs that understand the analogue data, because it's an extension to the original lowlevel.library standard made by Commodore. If you want to incorporate this feature in your software, just contact me and I will send you the necessary information. * Rumble Port: As addition to the analogue data, the HID class supports applications and games that want to utilize a rumble pack or force feedback motors in the gamepads. This field selects to which lowlevel port the hid device responds, when attempting to use the rumble pack. Normally, this corresponds to the port that has been set in the actions for the joypad. *How to change joystick port assignment? The low level library supports up to four ports. Port 0 is usually used by the mouse, port 1 is the standard port for joysticks/joypads. By default a connected USB joystick is present in Port 1. To change its location to Port 0 you need to use Trident preferences. Open Trident and go to Devices window. Select your controller from the list and then click on Settings button. This will open a new window. On the "General" tab find the "Lowlevel Library Joypad Emulation" section. Port 1 should be set as either "Merge with USB" or "Override with USB". Change this setting to "Don't touch". Change Port 0 setting to "Merge with USB". Go to "Actions" tab. In the "Reports and collection" select first entry named "Joystick". in the "Usage items" select "X axis". Go to "Performed actions" area. On the left there will be a list of triggers. Each of them should have (port1) in their params. Click on the first trigger and using buttons to the right of the list change port1 into port 0. Repeat this for all triggers and for all items on "Usage items" list. *How to make joystick simulate keyboard keys? With Poseidon it is possible to make the joystick simulate the keyboard pressings. This might enable using joystick for playing games which only have keyboard support. This feature is configured in Trident preferences. Open Trident and go to Devices window. Select your controller from the list and then click on Settings button. This will open a new window. Go to "Actions" tab. On the right top window select X axis. On the left bottom list select an entry "Digital Joystick, Push left(port 1)". On the panel to the right change "Digital joystick" into "Raw Key". A list of keys will be displayed. Select key you wish to send. Repeat the same procedure for "Digital Joystick, Release left (port 1)" option but this time check "Send key up even instead of key down". Open shell and move your joystick to the left - your selected letter should appear in the shell. *Analogue in Trident Prefs * Open the Trident USB Prefs -> Devices -> Select your joypad -> Settings button -> Action TAB * See some "axis" listed under "Usage items" in the top right of the window. They are your analog stick(s) * Check [x] Track Incoming Events which is half way down the window on the left And you should see some axis activity in "Usage items" when you move the analog stick *Actions HID class item -> Settings -> HID Class Window -> Action Tab -> Action handling area Reports and collections -> Usage Items -> Performed actions Qualifier keys are *special*. You don't only need to create the actual keypress but also modify the qualifiers. Go to the keyboard panel and find the windows menu key by enabling key tracking and pressing the windows menu key. Then assign the right amiga key to it. Go to the actions panel and find the right amiga key (it's called "Keyboard right GUI"). Remember the actions stored there, best write them down in exact order. Then delete them. Find the windows menu item and add the missing qualifier action. Be sure the parameters are exactly the same and the order is right. Set them to Raw, then assign an up and down button for each character, etc. when you change the settings to RAW so you can assign keyboard strokes. it will always say, KEYDOWN or what ever on the left, it never provides and option for key release. The problem still remains though that if I try to assign the Directional Pad (Hat) to Arrow Keys, that things will get screwed up and you either can not move with the directional PAD (HAT), or movements are assigned to the Left Analog, and do not work as they should, it's as if the right and down arrow keys are ALWAYS On, regardless of the fact that I did indeed assign a Key release command to each input. check that by pressing analog directions and see the current values, and the thresholds configured in poseidon to bind them to left/right/up/down. misconfigured too much stuff in the HID settings, you can always go in poseidon->config list entry and delete the config item related to your device (or the HID class setting itself), back to basics. *Rumble in Trident Prefs Open Trident Prefs and click on the Devices option in the left hand window. Click with the mouse once on your gamepad choice on the right hand side and again on the Settings button below. In the new window, select the '''General''' TAB and half way down on the right there is an "Open Now" button in the section "HID output control window". Clicking on that button opens another window (HID Control) with sliders for the two rumble engines inside the controllers and you can test if they work. '''Sometimes clicking that button does nothing, other times it will open the window and say nothing is detected.''' The leftmost two sliders do nothing, the third one has a large rumble effect, and the fourth one has a small rumble effect. ===Graphic Drawing Tablet=== There is a standard in HID for tablets possibly mouse type. If the tablet is HID conforming in that sense, it should work. Aiptek does a fairly good job at this. The other competitor, Wacom, didn't pay too much attention to this and simply adapted their legacy serial protocol into HID in a very awkward way. Older Wacom tablets have worked with the special support in the HID class, but not the more recent ones. to use graphic tablets fully, applications need to be written that make use of the AmigaOS NewTablet events (which AROS has) * Entry level - A6 (6x4) work area * Medium A5 (6x8) A4 (10x7) size (recommended but only a few ie years 2000 to 2003 models supported) * Semi Pro A3 (12x9) * Pro Cintiq * 2005/6 Some support added for Wacom tablets * 2008 Wacom's patent on battery free pens expires {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Micrograf Tabby (late 1980s and early 1990s) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->podscat pt 3030 graphics tablet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Summagraphics | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Wacom IV compatible (Graphire, ArtPad, A3, A4, A5 and PenPartner CT-0405-P - Wacom intuos GD-0405-R) Waycom Digitiser II UD-0608-R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Wacom Artpad II (KT-0405-R) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->AceCad boards | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->AipTek HyperPen 6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Calcomp | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->AipTek HyperPen 8000 - Aldi/Medion MD 9310 and Aldi/Tevion LT 9310 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- | <!--Description-->Tablet PC penabled | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based like x61t X60t NC4200 NC4400 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|Serial RS232 based }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> * Wacom PenPartner * PenPartner 2 * PenStation 2 | <!--Vendor ID-->0x056a | <!--Product ID-->0x0000 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Graphire - Wacom Tablet ET-0405-U UV1.1-1 (Slate Blue) ET-0405UL (lime) (orange) (red) (purple) | <!--Vendor ID-->0x056A | <!--Product ID-->0X0010 | <!--Revision-->0100 | <!--Opinion-->{{Yes|late 90s with A6 size - [Wacom Support] of X-axis 00000-10205 Y-AXIS 0000-7421 Tip Pressure 000-511 under Trident prefs. Air pen mouse type movements }} |- | <!--Description--> * Grapphire 2 4x5 ET-0405A-U UV2.0-3 (Steel Blue) * Graphire 2 5x7 ET-0507A | <!--Vendor ID-->0x056A | <!--Product ID-->0x0011 and 0x0012 | <!--Revision-->0110 | <!--Opinion-->{{Yes|A6 and A5 versions - [Wacom Support] of X-axis 00000-10205 Y-AXIS 0000-7421 Tip Pressure 000-511. Air pen mouse type movements - mouse EC-120-0K tested}} |- | <!--Description-->Wacom Graphire 3 * cte-430/w 4x5 pearl sapphire * cte 630 6x8 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0013 and 0x0014 | <!--Revision-->0314 | <!--Opinion-->{{Yes|A6 and A5 size - [Wacom Support] Xaxis 0-10207 yaxis 0-7423 tip pressure 0-511 and the erase end appears to respond but avoid bluetooth BT versions }} |- | Wacom Graphire 4 * cte-440/B Blue cte 440/s Silver 4x5 * cte-640 6x8 cte 640 u 0403 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0015 and 0x0016 | <!--Revision-->403 | {{Yes|A6 and A5 work area detected [Wacom Support] x-axis 0000-10207 Y axis 0000-7423 Tip Pressure 000-511 and delete rub out end of the pencil seems detected but avoid bluetooth BT versions }} |- | <!--Description--> * Wacom Intuos 4x5 GD-0405 * Intuos 6x8 GD-0608 * Intuos 9x12 GD-0912 * Intuos 12x12 GD-1212-U * Intuos 12x18 GD-1218 | <!--Vendor ID--> | <!--Product ID-->0x0020 0x0021 0x0022 0x0023 0x0024 | <!--Revision--> | <!--Opinion-->{{Yes|detected and responses delivered back - x axis up to 30479 and y axis 31679, tip pressure up to 1023 and x and y tilt up to 127 - Wacom intuos GD-0912-A for Apple Macs NOT SUPPORTED}} |- | <!--Description--> * Intuos 2 4x5 A6 - XD-0405-U * Intuos 2 6x8 A5 - xd 0608u uoc * Intuos 2 9x12 XD-0912-U * Intuos 2 12x12 XD-1212-U * Intuos 2 12x18 XD-1218-U | <!--Vendor ID-->0x056a | <!--Product ID-->0x0041 0x0042 0x0043 0x0044 0x0045 | <!--Revision-->0126 | <!--Opinion-->{{No|various sizes and recognised as [Wacom Support] but not working. x-axis 00000-20319 y-axis 00000-16239 tip presure 0000-1023 x-tilt y-tilt 000-127. HID mouse xc-100-03 works but never could use it as a real tablet with pressure with TVPaint 3.6 }} |- | <!--Description--> * Intuos 3 4x5 (PTZ-430) * Intuos 3 4x6 (PTZ-431W ) * Intuos 3 6x8 (PTZ-630 PTZ630) * Intuos 3 6x11 (PTZ-631W A3 wide) * Intuos 3 9x12 (A4 PTZ-930 PTZ930) * Intuos 3 | <!--Vendor ID-->056a | <!--Product ID-->0x00b0 0x00b1 0x00b2 0x00b3 0x00b4 0x00b5 | <!--Revision--> | <!--Opinion-->{{No}} Actions in HID setup window definitively locks the Pointer (mouse) reports settings and even after a clear and save, nothing changes, the configuration returns to default values. "[Wacom]" reports don't see any events from the tablet, even with "Pointer" reports cleared and save, so is locked a in "mouse" state - but can send a special command to the tablet in order to put it into a special vendor mode. This mode enables Wacom specificities like pressure, tilt, absolute position, buttons, etc... you should send an HID report feature with ReportID=2 and data=2, the current HID class driver doesn't give a way to change that, even using the "initial startup actions" item in the extra collection. No listed features work |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Wacom Volito - Promethean FT-0405-U06 UV1.4-1 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0060 | <!--Revision-->0141 | <!--Opinion-->{{Yes|A6 work area with [Wacom Support] of x-axis 0000-5103 Y axis 0000-3711 Tip Pressure 000-511. Air and touch mouse movement - appears to be the budget option with some but limited features}} |- | <!--Description-->Wacom Volito 2 * CTF-??? 2x3 * CTF-420G CTF-420 V2.0-0 4x5 * Serif Penabled 6742 rebadge of CTF 420/020-B CTF-420/02 | <!--Vendor ID-->0x056A | <!--Product ID-->0x0062 | <!--Revision-->0200 | <!--Opinion-->{{Yes|A6 work area with [Wacom Support] of x-axis 0000-5103 Y axis 0000-3711 Tip Pressure 000-511. Air and touch mouse movement - no erase function on the end of the pen - nylon nibs value option}} |- | <!--Description--> * Wacom PL-400 LCD * PL-500 * PL-510 * PL-550 | <!--Vendor ID--> | <!--Product ID-->0x0030 0x0031 0x0032 0x0034 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> * PL-600 * PL-600 SX * PL-700 * PL-710 * PL-800 | <!--Vendor ID--> | <!--Product ID-->0x0033 0x0035 0x0036 0x0037 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Cintiq 21 UX and Cintiq Partner DTF-720 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Wacom PenTablet Bamboo (MTE), Bamboo Craft (CTH), Bamboo Fun (CTE), Bamboo Pen (CTL) and Bamboo Pen & Touch (CTH) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Wacom Bamboo Fun Medium CTE-650 | | 0x0018 | | {{Maybe|[http://www.a1k.org/forum/showthread.php?t=11432 works on a1k forum]}} |- | <!--Description-->Bamboo Fun Small CTE-450 white | <!--Vendor ID--> | <!--Product ID-->0x0017 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Bamboo One CTF-430 V2.0-0 CTF 430/S | <!--Vendor ID-->0x056A | <!--Product ID-->0x0069 | <!--Revision-->0200 | <!--Opinion-->{{Maybe|A5 wired air pen and acts like a mouse only}} |- | <!--Description-->Wacom Intuos 4 * Small PTK-440 PTK-540 * Medium - PTK-640 - PTK 540WL Wireless - | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Intuos4 surface sheet was revised in October 2010 to reduce nib wear}} |- | <!--Description-->Wacom Intuos 5 Touch * * Medium - PTH-650 - USB Wired and Wireless Kit | <!--Vendor ID--> | <!--Product ID-->0x0027 | <!--Revision--> | <!--Opinion-->{{N/A|untested work, however wireless may glitch or drag }} |- | <!--Description-->Wacom Intuos Pro Medium - PTH-651 - | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Bamboo Small Pen Tablet - MTE 450 MTE-450A (MTE-450/k) - | <!--Vendor ID-->0x056A | <!--Product ID-->0x0065 | <!--Revision-->0116 | <!--Opinion-->{{Maybe|A6 work area - mouse movement but no pen detection except x-axis 2 to -2 and y-axis 2 to -2 - mini usb lead - 4 blue led lit buttons not detected as well as circular touch button?? }} |- | <!--Description-->Bamboo Pen CTL 460 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested all Bamboo versions were criticized for the drawing surface's roughness (which got smoother over time), which caused the small pressure-sensitive 'nib' to wear down, and become slanted or scratchy in the same way as pencil lead, albeit more slowly}} |- | <!--Description-->Wacom Bamboo Fun CTH-461/S wired | <!--Vendor ID-->0x056A | <!--Product ID-->0x00D2 | <!--Revision-->0106 | <!--Opinion-->{{Maybe|A6 size - Pen tracking not working but finger touch works }} |- | <!--Description-->Wacom Bamboo Connect Pen Tablet CTL-470 CTL-470K 470-DE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->CTH 470K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom CTH 480/S wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} lithium battery for pad - |- | <!--Description-->Wacom Intuos Pen Small CTL-480/S CTL 480 K wired | <!--Vendor ID-->0x056A | <!--Product ID-->0x030E | <!--Revision-->0200 | <!--Opinion-->{{No|A5 detected as Intuos PS but not working although the RHS blue led responds to pen on tablet }} |- | <!--Description-->CTH 490 PK S Photo - CTH-490CK-S Comic - CTH-490AK-S Art | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested lower hovering height pen nibs wear fast and input lag/responsiveness}} |- | <!--Description-->Intuos Pen & Touch Medium - CTH-680 - USB Wired and Wireless Kit work | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wacom Intuos Pro (PTH-660 and PTH-860) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Waltop Media Tablet 10.6" Genius G-Pen M609 Genius G-Pen M609X iVista Media Tablet 10.6 Aiptek MediaTablet 10000u | <!--Vendor ID-->172f:0501 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Slim Tablet 12.1" | <!--Vendor ID-->0x172F | <!--Product ID-->0x0034 | <!--Revision-->0x1105 | <!--Opinion-->{{yes|works}} |- | <!--Description-->Waltop Media Tablet 12 by 9" Aiptek HyperPen 12000u T-12000U Tablet Series Nisis T-12000u USB Tablet Series Version 1.05 (aiptek rebadged) Trust item #1535 ADESSO Cyber Tablet 12000 Graphic design tablet iVista Media Tablet 12 PENTAGRAM O'pen Wide P 2003 Genius G-Pen M712 | <!--Vendor ID-->172f:0500, 0x08ca | <!--Product ID-->0x0010 | <!--Revision-->0105 | <!--Opinion-->{{Yes|detected with Nisis/Aiptek functioning as a tablet, untested with others - Puck (mouse) x axis 0000 to 6000 y axis 0000 to 6000 - stylus (pen) x axis 00000 to 12000 y axis 00000 to 12000 tip pressure 0000 to 1023 - 16 function keys - AAA battery needed for pen and another for the mouse}} |- | <!--Description-->Waltop Media Tablet 14.1" v5.1e Genius G-Pen M714X Aiptek MediaTablet 14000u WMK-H141 Trust item #15358 Adesso CyberTablet 14000 M14 iVista Media Tablet 14.1 PENTAGRAM O'pen Wide P 2004 | <!--Vendor ID-->0X172f | <!--Product ID-->0X0500 | <!--Revision-->0114 | <!--Opinion-->{{Yes|detected with Nisis/Aiptek functioning as a tablet - Stylus (Pen) X 16838 Y 16838 Tip Pressure 1023 }} |- | <!--Description-->Waltop PID 0038 Genius G-Pen F509 Manhattan 177405 | <!--Vendor ID-->172f:0038 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop PID 0052 Yiynova MSP19 | <!--Vendor ID-->172f:0052 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Q Pad Aiptek HyperPen Mini NGS Flexi Style VisTablet PenPad iVistaTablet Q Flex Pad Bravod Q-PD65-S Trust Flex Design Tablet (#16937) | <!--Vendor ID-->172f:0037 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Sirius Battery Free Tablet VisTablet Muse PENTAGRAM Designer P 2700 Princeton PTB-S1BK | <!--Vendor ID-->172f:0502 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Slim Tablet 12.1" Genius G-Pen F610 Trust Slimline Widescreen Tablet (#16529) VisTablet Original 12" Adesso CyberTablet Z12 Adesso CT-Z12A PenPower Tooya Pro Aiptek Slim 12.1 Inch Aiptek SlimTablet 600u Premium II NGS Slim Proguess iVistaTablet Slim 12.1 PENTAGRAM ThinType P 2006 | <!--Vendor ID-->172f:0034 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Slim Tablet 5.8" Genius G-Pen F350 Trust item #16485 VisTablet Mini iVistaTablet Slim 5.8 | <!--Vendor ID-->172f:0032 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Waltop Venus S Tablet Trust eBrush Widescreen Tablet (#17939) | <!--Vendor ID-->172f:0503 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Aiptek GmBH MediaTablet Ultimate II - 16:10 Professional Graphic Tablet Model 1400U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Hanvon Beijing HanWang HW Micro Drawing Tablet ET0504U | <!--Vendor ID-->0x0b57 | <!--Product ID-->0x8030 | <!--Revision-->01111 | <!--Opinion-->{{No|does not work - recognised as an HID mouse - no tablet extensions detected}} |- | <!--Description-->KYE EasyPen 340, Genius EasyPen 340 | <!--Vendor ID-->0458:5014 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|untested }} |- |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | Aiptek Hyper Pen 6000u PC Tablet APT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{No|detected but does not work - win98 era cordless 6in by 4.5in - }} |- | <!--Description-->nisis T-8000U APT-2 Aiptek rebadge | <!--Vendor ID-->0x08CA | <!--Product ID-->0x0021 | <!--Revision--> | <!--Opinion-->{{No|A5 detected but no responses }} |- | <!--Description-->Acecad Flair II GT-504 Init Fkt Fkt 0x5ab450c0 AIPTEK HyperPen 10000 U Aiptek HyperPen 10000U, AIPTEK Slim Tablet U600 Premium II | <!--Vendor ID-->0x0460 | <!--Product ID-->0x0004 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Ace Cad Enterprise Co., Ltd Tablet - 5x3.75 drawing area | <!--Vendor ID-->0x0460 | <!--Product ID-->0x0004 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Bosto's | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} UCLogic Digitizer |- | <!--Description-->Adesso CyberTablet Z7, Adesso CyberTablet 12000, Adesso CT-12000A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->UC-Logic / Lapazz WP8060, UC-Logic / Lapazz PF1209, UC-Logic / Lapazz Artistic Tablet 5540, Manhattan 8"x6", Manhattan 3"x4", Manhattan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested but suspect not working}} |- | <!--Description-->DigiPro 5.5×4” Graphics Tablet Digital Ink Pad (A4 format) DigiPro WP8060, DigiPro WP5540, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Genius G-pen G-Pen 4500 Genius Wizardpen Genius Mousepen Genius Easypen i405 M610 Genius PenSketch 9x12, Genius MousePen i608, Genius MousePen 8x6, Genius MousePen / WizardPen 5x4, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Genius G-Pen F610 Genius G-Pen M610 Genius G-Pen 340 (UC-LOGIC Tablet WP4030U) Genius G-Pen 450 (UC-LOGIC Tablet WP5540U) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Genius UC-LOGIC iBall Tablet PF8060 iBall Iball Pen Tablet 8060U, Iball Pen Tablet 5540U, Iball Pen Tablet 4030U, Iball Design Tablet PF1209, NGS CADBOY (UC-LOGIC Tablet WP5540U) Pentagram QWare | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Trust TB-3100 Trust TB-5300 Trust 15356 Trust TB-6300 Trust 15357 WP8060U Slimline but bulky with metal backing A5 size Trust 16486, Trust 16447, Sketch Design Tablet, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|clashes with usb and crashes AROS }} |- | <!--Description-->UC-Logic Tablet WP1062 Aiptek HyperPen 10000U Monoprice 10X6.25 Inches Graphic Drawing Tablet Pickle 10x6.25 Inch Graphic Drawing tabletguess | <!--Vendor ID-->5543:0064 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | [ VTech KidiPhoto Art Studio] | | | | {{yes|works}} |- |} Tablet has a squared lines of wires which induce a current into the pen which is then detected by the metal grid in the tablet pad. Tablets report pressure (and tilt on expensive models) and are absolute pointing devices (put the pen at the top left and the mouse pointer will go to the top left of the screen). Graphic drawing area, what keys, report rate, resolution lpi lpmm, accuracy, pressure levels (may come from the app), origin position, Wacom tablets use electromagnetic resonance technology. Since the tablet provides power to the pen through resonant inductive coupling, no power is required for the pointing device. As a result, no batteries are inside the pen (or the accompanying puck), making them lighter and slimmer. Under the tablet's surface (or LCD in the case of the Cintiq) is a printed circuit board with a grid of multiple send/receive coils and a magnetic reflector attached behind the grid. In send mode, the tablet generates a close-coupled electromagnetic field (also known as a B-field) at a frequency of 531&nbsp;kHz. This close-coupled field stimulates oscillation in the pen's coil/capacitor (LC) circuit when brought into range of the B-field. Any excess resonant electromagnetic energy is reflected back to the tablet. In receive mode, the energy of the resonant circuit’s oscillations in the pen is detected by the tablet's grid. This information is analyzed by the computer to determine the pen's position, by interpolation and Fourier analysis of the signal intensity. In addition, the pen communicates information such as pen tip pressure, side-switch status, tip vs. eraser orientation and ID number (to differentiate between different pens, mice, etc.). For example, applying more or less pressure to the tip of the pen changes the value of the pen's timing circuit capacitor. This signal change can be communicated in an analog or digital method. An analog implementation modulates the phase angle of the resonant frequency, while a digital method is communicated to a modulator that distributes the information digitally. The tablet forwards this and other relevant tool information in packets, up to 200 times per second, to the computer. If you disable (delete all of them except for one that needs to be set to "no action", so that it will not be regenerated as default) the Extra Startup actions, the tablet should remain in relative mouse mode—you will not get pressure information in that mode though. [http://tech.groups.yahoo.com/group/highway_usb/message/2394]}} === Handheld Barcode Scanner Readers === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Farsun 9100 barcode scanner 0-12" | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Motorola Symbol LS2203 CMOS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Tysso | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Simple}} Code 11, Code 39, Code 93, Code 128, Coda Bar, UPC-A, UPC-E, EAN-8, EAN-13, MSI/Plessey, Telepen, Interleaved 2 of 5, Industrial 2 of 5, Matrix 2 of 5 |- | <!--Description-->Unitech MS320 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wasp WCS3905 CCD 1" | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} Code 93, Matrix 2 of 5, Industrial 2 of 5, Code 39, UCC/EAN-128, ISBN, Code 32, EAN/JAN-8 , EAN/JAN-13 , UPC-A, UPC-E, Codabar, Code 128, Code 11, Interleaved 2 of 5, MSI-Plessey, China Post, IATA 2 of 5, ISSN, UK-Plessey |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Datalogic Touch 90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Intermec | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Honeywell Metrologic MK9540-32A38 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Motorola LS2208 Laser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Wasp WWS800 Laser 1D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Datalogic GD4130-BK-C066 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Honeywell 1202G-1USB-5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Motorola / Symbol DS6707-DC20007ZZR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->DataMan 8000 2D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Honeywell Voyager 9520/40 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Metrologic MS1690 USB 2D Barcode Scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} QR Code GS1 Databar PDF417 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Syscan GM800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} [http://www.scandit.com/2011/11/04/types-of-barcodes-choosing-the-right-barcode-type-ean-upc-code128-itf-14-or-code39/ Types of Barcode] <pre> UPC-A Grocery most common Code 128 EAN-13 Library Books ISBN & ISSN, Code 39 Codabar blood bank, 2D barcodes such as Data Matrix PDF417e Maxicode Aztec QR Code old Nokia handsets, MicroPDF417 </pre> ===TouchScreens=== Projected capacitive (PCAP) touch screen product, amongst many options the widely used are I2C and USB *USB host–device structure which dominates consumer and industrial electronics devices where higher bandwidth needed and user-friendly (multiswipes) *I2C Inter-Integrated Circuit simple serial standard for LCD display in embedded systems because of cost and low power *SPI arduino and rpi single boards We cover the USB here {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | eGalax Touch 4a | 0eef | 0001 | 0001 | {{yes|2009 works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lilliput HDMI Monitors 669GL-70NP/C/T (7 inch) 869GL-80NP/C/T (8 inch) FA1011-NP/C/T (10 inch) FA1046-NP/C/T (10 inch) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Iilyama Prolite Monitors PROLITE T1513SR-1 (15 inch) PROLITE T1730 (17 inch) PROLITE T1713SR-1 (17 inch) PROLITE T1913SR-1 (19 inch) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Smart Display Company (SDC) Touchscreens TFT Monitors TOUCH-TFT-TS07 (7 inch) TOUCH-TFT-TS08 (8 inch) TOUCH-TFT-TS10 (10 inch) TOUCH-TFT-TS12 (12 inch) TOUCH-TFT-TS15 (15 inch) TOUCH-TFT-TS17 (17 inch) TOUCH-TFT-TS19W (19 inch wide) TOUCH-TFT-TS22W (22 inch wide) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->XENARC Monitors 7 inch models 700TSH 700TSU 700TSV 702TSV 705TSV 706TSA 700IDT MDT-X7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->XENARC 8 inch models: 800TSV 805TSV 10 inch models: 1020TSV 1026TSA 1040TS 12 inch models: 1200TS 1200TR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Asus VT229H 21.5" | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->CUQI 7" Monitor Touchscreen 1024x600 IPS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Espresso 15" Portable Touchscreen Display Monitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hannspree HT225HPB 21.5 inch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->WaveShare 13.3inch HDMI LCD (H) (with case) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} ===GPS tracking, running, cycling, biking, walking, hiking, ORIENTEERING, boaters and mapping=== Support for OpenStreetMap but not for Ordnance Survey, Map Pilot or National Geographic's Topo maps data gdb, Data output supported nmea 0183 V1.5 APA, V1.5 XTE and V2.1 GSA formats, gpx, kml/kmz, tracks from tcx files, geo: URIs, NMEA0183(which is RS232, voltages range from -15 volts to 15 volts, 4800 baud), or need NMEA sentences connected to your computer other method that some units support is a special serial cable that actually emits raw RS232 NMEA. These usually take 10->30 volts input, can run the unit, and have full voltage I/O for RS232 (not like spanner mode, which effectively turns the unit into a USB->Serial adapter inside the case). Equivalent apps - merkator, mapsource, {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Garmin gpsmap 180 GPS/chart plotter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->1992 GARMIN GPS 55 AVD Portable System | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin GPS V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested - waas pinpoint within 3 metres - nmea - 4AA battery}} |- | <!--Description-->Garmin GPS 12 12XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Legend C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin eMap | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|possibly through usbmodem rs232 connection nmea 0183 protocol}} |- | <!--Description-->Garmin eTrex | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} rs232 these older units supported it and would provide the stream in either the standard NMEA 0183 format or a proprietary Garmin format. |- | <!--Description-->Garmin GPS 75 AVD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan GPS Map 7000 model 45006 (1994) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan GPS Tracker | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan Pioneer Satellite Navigator | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Magellan GPS 300 315 320 Mentor Receiver (2003) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Not for dedicated sat nav units like the Nuvi, TomTom, etc | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->NaviLock NL-402U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested u-blox 5 SuperSense® chipset with receivers for GPS, GLONASS, Galileo, BeiDou and QZSS}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->GM1-86UB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| U-BLOX UB-6010 GGA,GSA,GSV, RMC and support VTG, GLL, TXT ublox binary and NMEA Command Dynamic Condition }} |- | <!--Description-->NAVILOCK GPS NL-602U USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|works via usbmodem.device - ublox ag 6 chipset - 50 channel}} |- | <!--Description-->TOPGNSS ton Receiver & Antenna GM702 u-blox 7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|UBLOX7020 chip design bloc u-blox}} |- | <!--Description-->VK-162 G-MOUSE u blox 7 | <!--Vendor ID-->0x1546 | <!--Product ID-->0x01a7 | <!--Revision-->0100 | <!--Opinion-->{{N/A|UBX G70xx with RMC VTG GSV TXT GLL GGA GSA}} |- | <!--Description-->VK-172 u-blox 7 G7020-KT gps gnss white pen stick receiver - over 1 inch long | <!--Vendor ID-->0x1546 | <!--Product ID-->0x01a7 | <!--Revision-->0100 | <!--Opinion-->{{N/A| detected as cdc controlled plug in device - 18x18x2mm patch antenna but can be slow to update - nmea 0183 and ublox binary protocol}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->GlobalSat BU-353 WaterProof USB GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested SiRF Star III}} |- | <!--Description-->Haicom HI-206 USB GPS receiver with RS-232 interfaces, RJ11 and PS/II connector EB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|usb-serial prolific pl2303 detected but GSP3F SiRF Star IV technology not detected or bound}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->BT760Y, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 5 GPS chipset}} |- | <!--Description-->GM-65 USB GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 6 GPS chipset - 65 channel}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 7 GPS chipset}} |- | <!--Description-->GM-65 USB GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested Skytraq Venus 8 GPS chipset - 167 channels}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Garmin Colorado 300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} USB |- | <!--Description-->Garmin Geko 101 201 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} limited waas enabled only - waypoints - aaa battery |- | <!--Description-->Garmin Edge 200 bike mount | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin ForeRunner 10 15 watch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Montana 600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Dakota 10 20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Map76s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin Oregon 450T | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} USB nmea 0183 |- | <!--Description-->Garmin eTrex 10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested - no nmea0183 sentences data stream output - configuration an option to set it to "Garmin" mode, or "Mass Storage" mode. Since the mass storage mode seems to be required for waypoint/track/etc data exchange, the 'Garmin' mode would be for this data stream. Yet putting it in that mode doesnt seem to produce anything.}} |- | <!--Description-->Garmin Oregon 650T | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Garmin GPSMAP 64S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|untested}} |- | <!--Description-->GPSMap 78S or GPSMap 76CSX which has a NMEA port for talking to Nav equipment | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|untested}} |- | <!--Description-->Garmin eTrex Vista Cx GPS Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested - 2AA battery}} |- | <!--Description-->Garmin GPSmap 276c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan 2000 XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan 3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Magellan Triton 300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} SiRFstarIII™, Antenna Type Multidirectional Patch with WAAS, EGNOS, MSAS support |- | <!--Description-->Magellan Triton 400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} ==massstorage.class (MSC/UMS - most cameras and mp3 players)== === USB Card Readers === {| class="wikitable sortable" width="90%" ! width="15%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |Installing ! width="15%" |Booting ! width="30%" |Opinion |- | A-Tec Model CR-362 | | | | <!--Installing--> | <!--Booting--> | {{N/A|untested}} |- | [http://www.belkin.com/IWCatProductPage.process?Merchant_Id=&Section_Id=200406&pcount=&Product_Id=179164 Belkin 15 in 1 Card Reader] | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Conrad CP440 60 in 1 | | | | <!--Installing--> | <!--Booting--> | {{yes|works on a1k forum}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Genesys Gtech Logic 19 in 1 | 0x05E3 | 0x0710 | High 0200 | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Hama 19 in 1 Card Reader | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | Hama 35 in 1 Card Reader | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Integral Single Slot SD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kingston USB 3.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Lexar microsd adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} but wider than Sandisk version - could block other slot if below |- | Pretec CardDriver | | | | <!--Installing--> | <!--Booting--> | {{no|no driver}} |- | Sandisk MicroMate | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description-->Sandisk MobileMate SD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Sandisk MobileMate Micro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} has satisfying 'click' when microsd inserted |- | <!--Description-->Sandisk MobileMate Duo MicroSD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} no 'click' insertion uses pressure so future wear and tear issues |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Serena metal cased microsd only | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|Maybe}} hit or miss on quality |- | <!--Description-->Serena "Sandisk MobileMate" look-alike | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|Maybe}} hit or miss on quality |- | SilverCrest 16in1 | | | | <!--Installing--> | <!--Booting--> | {{yes|works}} |- | <!--Description-->Transcend | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Transcend P5 8 in 1 TSRDP5K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Transcend P8 15 in 1 TSRDP8K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- | Zyxel integralmemory 8 in 1 | 0x0aec | 0x3260 | | <!--Installing--> | <!--Booting--> | {{no|not detected}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Installing--> | <!--Booting--> | <!--Opinion-->{{N/A|untested }} |- |} === USB Hard Drives === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Datel MaxDrive | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Inateck 2.5 Inch USB 3.0 Hard Drive Disk Enclosure/ Case (FE2001) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} Full USB 3.0 port but plastic teeth keeping drive in place can snap |- | <!--Description-->Inateck case (FE2002) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} full USB 3.0 port - updated design |- | <!--Description-->Inateck case (FE3001) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} wider USB 3.0 port and no on/off switch Jmicron JMS578 chipset |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Iomega Desktop Hard Drive 500GB, 3,5“, USB2.0 | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | Samsung | | | | {{N/A|untested}} |- | Samsung | | | | {{N/A|untested}} |- | Samsung T3 SSD | | | | {{N/A|untested}} USB 3.1 Gen 1 space grey / black metal/ plastic |- | Samsung T5 SSD | | | | {{N/A|untested}} USB 3.1 Gen 2 256GB 512GB alluring blue 1Tb 2Tb black unibody metal |- | Samsung | | | | {{N/A|untested}} |- | Seagate | | | | {{N/A|untested}} |- | Seagate | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Toshiba Canvio 1TB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Yes|partition fat32 or sfs to 100GB max - ntfs partitions not detected out of the box - select usb drive in trident prefs and press disable to shutdown}} |- | Verbatim 160GB Smartdisk | | | | {{yes|works }} |- | Western Digital USB | | | | {{N/A|untested}} |- | <!--Description-->WD Essential | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->WD Passport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} === USB DVD CD ROM Drives === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->12.5mm | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->12.5mm enclosure mini-sata dvd-rw | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested needs sole usb3 port to power it}} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->9.5mm enclosure ECD829 mini-sata dvd-rw with Initio Corporation INIC-1618L SATA | <!--Vendor ID-->0x13fd | <!--Product ID-->0x0840 | <!--Revision--> | <!--Opinion-->{{N/A|untested but probably needs sole usb3 port to power it}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |} === USB to NGFF NVMe SDD HDD DVD CD ROM Drives === The older Jmicron JMS539B seems to result in massive filesystem corruption given the amount of corrupted content. Prehaps always avoided Jmicron and opted for Asmedia even if it costed a bit more. Realtek seems to be working okay for me generally speaking and newer Jmicron chipsets are less buggy – but evidently not perfect. From [https://goughlui.com/2025/08/17/psa-validate-your-storage-jmicron-jms583-kioxia-bg4-series-ssd-issue/ thread] Here is a [https://forums.anandtech.com/threads/stable-nvme-usb-adapter.2572973/ very long thread] that discusses data corruption and stability issues with these bridges. The majority of the posts are complaining of dropouts, hangs and the like, which usually down to either a poor USB 3.x implementation (SuperSpeed connections are very picky as to cables, ports and trace routing) or problematic compatibility. Regardless, the [https://www.legitreviews.com/jmicron-jms583-controller-version-matters-for-portable-usb-drives_219422 JMS583 is known to have several versions] noting that the last revision (C) in that article is a 2021 release which should fix earlier stability and cable quality compatibility issues. JMS583-STD-Release-v00.02.01.04-Bus Power.bin is the latest JMS583 firmware as of August 2025. Early firmware RTL9210 seems to have issues as well * RTL9210B * JMS583 rev1 with firmware A2 or A3 * RTL9210A * JMS583 firmware 2.0.9 * Asmedia ASM2362 * RTL9201A The reference Hardware ID for the JMS583 chipset from JMicron is: VID_152D&PID_0583&REV_0209 where "VID_152D" identifies a JMicron product; "PID_0583" is the generation chipset; "REV_0209" is the firmware version installed. In the same way, the reference Hardware ID for the RTL9210 from Realtek is: VID_0BDA&PID_9210&REV_3100 "VID_0BDA" is for a Realtek product, "PID_9210" is referred to the chipset and "REV_3100" to the firmware. {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->ASM1153E / ASM1153 with firmware 140509_A1_82_40 or 141126_A1_EE_82. Both supports UASP and TRIM on USB 3.1 Gen.1 adapter | <!--Vendor ID-->0x174c | <!--Product ID-->0x55aa | <!--Revision--> | <!--Opinion-->{{maybe|works with sabrent ec-uasp}} |- | <!--Description-->ASM235CM Ugreen aluminum bridging the USB3.2 Gen2x1 to Serial ATA host interface | <!--Vendor ID-->0x174c | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->TI 9261 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->ASM225 | <!--Vendor ID-->0x174c | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->JMicron JMS578 issues USB 3.1 Gen.1 adapter | <!--Vendor ID-->152d | <!--Product ID-->0578 | <!--Revision--> | <!--Opinion-->{{maybe|needs fixing on pi4 storage quirks}} |- | <!--Description-->JMicron JMS576 issues USB 3 to usb-c adapter | <!--Vendor ID-->152d | <!--Product ID-->0576 | <!--Revision--> | <!--Opinion-->{{maybe|orico}} |- | <!--Description-->JMS562 JMicron Technology Corp | <!--Vendor ID-->152d | <!--Product ID-->0562 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->JMS561U | <!--Vendor ID-->0x152d | <!--Product ID-->0x1561 | <!--Revision--> | <!--Opinion-->{{maybe|works with sabrent ec-uasp}} |- | <!--Description-->VL716Q4 Orico black meshed aluminum usb c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Asmedia ASM1053E | <!--Vendor ID-->0x1B21 | <!--Product ID-->0x55aa | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->ASmedia ASM1051E | <!--Vendor ID-->0x174c | <!--Product ID-->0x55aa | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Asmedia ASM1053 | <!--Vendor ID-->0x174C | <!--Product ID-->0x1536 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Asmedia ASM104x | <!--Vendor ID-->0x1B21 | <!--Product ID-->0x1042 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Unknown Chinese version | <!--Vendor ID-->0x0bc2 | <!--Product ID-->0x2312 | <!--Revision--> | <!--Opinion-->{{maybe|sometimes works}} |- | <!--Description-->JMicron N5321 gr | <!--Vendor ID-->0x152d | <!--Product ID-->0xa583 | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Initio Corp INIC-1618L mini slimline sata 6 + 7 pins to usb2 adapter | <!--Vendor ID-->0x13FD | <!--Product ID-->0x0840 | <!--Revision-->0114 | <!--Opinion-->{{maybe|sometimes works mini sata to usb2 detects 201x laptop DVD as MassStorage(CD/DVD) but may need powered USB hub}} |- | <!--Description-->Unknown mini sata to usb3 adaptor | <!--Vendor ID-->0x01F75 | <!--Product ID-->0x0621 | <!--Revision-->0036 | <!--Opinion-->{{maybe|sometimes works mini sata to usb3 detects 201x notebook DVD drive as MassStorage(SCSI) but 5V 1.5Amp needs powered hub to burn }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |} === External Floppy === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->[http://techtravels.org/amiga/amigablog/ Amiga Floppy Project] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->[http://amigakit.leamancomputing.com/catalog/product_info.php?products_id=842 Catweasel Mk4] | 0xE159 | 0x0001 | 0x00 | {{yes|[http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage works]}} |- | <!--Description-->[http://hxc2001.free.fr/floppy_drive_emulator/ HxC Floppy Emulator] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->[http://www.softpres.org/glossary:kryoflux KyroFlux] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->Samsung SFD-321U/EP USB Floppy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|no driver}} |- | <!--Description-->[http://www.cbmstuff.com/proddetail.php?prod=SCP SuperCard Pro] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://github.com/tebl/Amiga-DrawBridge Amiga-DrawBridge][https://www.facebook.com/groups/greaseweazle Greaseweazle STM hardware], [https://cowlark.com/fluxengine/index.html Greaseweasel support], [https://github.com/keirf/Greaseweazle/wiki software], [https://amigakit.amiga.store/greaseweazle-p-91279.html buy], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->FL-2501 USB Portable Diskette Drive | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2009 usb - [https://amiga.robsmithdev.co.uk/ Drawbridge] [https://github.com/RobSmithDev/ArduinoFloppyDiskReader software] ribbon cable compat with p/n 19308801-19 and s/n U356244 - model ASM P/N 27l4226 and FRU P/N 05k9283 - |- | <!--Description-->Dell Floppy Drive Module USB External 3.5" - Teac FD-05PUB 1.44mb | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2004 usb 1.1 |- | <!--Description-->USB FLOPPY DISK DRIVE (USB External Floppy Disk) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://github.com/SukkoPera/OpenFlops OpenFlops] with [https://github.com/keirf/flashfloppy FlashFloppy] Gotech clone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->[https://github.com/hmerrett/HenryFlops HenryFlops reworked OpenFlops] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested }} |- |} ==ptp.class (PTP and MTP - other cameras and mp3 players)== === Cameras === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Canon EOS 20D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 }} |- | <!--Description-->Canon 350D (also known as the Digital Rebel XT/Kiss Digital N) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 DIGIC II processor 8-megapixel }} |- | <!--Description-->Canon PowerShot A430 A560 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 }} |- | <!--Description-->Canon EOS 400D (XTi) digital SLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->Canon EOS 1000D also known as Rebel XS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10.2mp 720p }} |- | <!--Description-->Canon 450D aka Rebel Xsi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 12.2mp }} |- | <!--Description-->Canon PowerShot S90 S95 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 2010 720p video - 10Mpixel }} |- | <!--Description-->Canon Powershot SD960 IS Digtal ELPH | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 Still Image: Exif 2.2 (JPEG), Movie: MOV (Image: H.264; Audio: Linear PCM) Lithium-ion Battery Pack NB-4L }} |- | <!--Description-->Canon EOS 500D aka Rebel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 1080p 15.1MP Lithium }} |- | <!--Description-->Canon EOS 550D 600D aka Rebel T2i T3i DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010-2011 1080p 18MP Lithium LP-E8 }} |- | <!--Description-->Canon Powershot S100 S110 S120 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011-2013 720p-1080p video 12.1MP and above versions - }} |- | <!--Description-->Canon EOS 1100D DSLR Camera aka Rebel T3 SLR, EOS Kiss X50 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 720p 10Mpixels Lithium }} |- | <!--Description-->Canon EOS 650D 700D aka Rebel T4i T5i T6i SLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012-2013 1080p 18Mpixels Lithium LP-E8 articulating flip out twistable screen }} |- | <!--Description-->Canon ELPH 300 HS (IXUS 220 HS) 230 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 blogging camera }} |- | <!--Description-->Canon PowerShot N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 12.1 MP CMOS, DIGIC 5 Wifi Lithium Battery Pack NB-9L }} |- | <!--Description-->Canon Powershot G7 X, G7X-II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014-2016 1080p video 12.1MP and above versions - }} |- | <!--Description-->Canon EOS 1300D DSLR Camera aka Rebel T6 SLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 1080p 16Mpixels Lithium }} |- | <!--Description-->Canon Powershot G7x G5X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| G7X flip up and G5X flip out - same batteries - no external microphone input - }} |- | <!--Description-->Canon EOS M3 M5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| flip out - same batteries - }} |- | <!--Description-->Canon EOS 60D 70D 80D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Canon 6D 7D 8D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|untested}} |- | <!--Description-->Canon 5D Mark II III IV DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Canon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Canon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji FinePix A850 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->FujiFilm Finepix F100fd | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji FinePix F810 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji xf1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| pocketable exr cmos 12mp }} |- | <!--Description-->Fuji xt1 x-t1 x10 x-t10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 1080p }} |- | <!--Description-->Fujifilm x100 x100s x100t | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji xPro1 xPro2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji xt2 / x-t2 x-t20 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 4K video }} |- | <!--Description-->Fuji | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Fuji | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|untested}} |- | <!--Description-->Fuji | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|untested}} |- | <!--Description-->GoPro HERO 3 HERO4 HERO 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nikon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nikon D100, D60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 Compact flash storage - non interchangeable lenses up to 12.3MP sensor }} |- | <!--Description-->Nikon D50, D50x | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 storage - 6.1MP sensor }} |- | <!--Description-->Nikon D70, D80, D90 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 Compact flash storage - 10MP sensor }} |- | <!--Description-->Nikon D40, D40x | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 storage - 10MP sensor }} |- | <!--Description-->Nikon D300, D700 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 storage - 12.3MP sensor }} |- | <!--Description-->Nikon D2Xs, D2Hs, D3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006-2008 storage - sensor }} |- | <!--Description-->Nikon D3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 720p video }} |- | <!--Description-->Nikon D5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 720p video unlike D3000 }} |- | <!--Description-->Nikon D6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 16mpixel}} |- | <!--Description-->Nikon D7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 16.2mp 720p video }} |- | <!--Description-->Nikon L26 L27 L28 L29 L31 Coolpix compact cameras | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 720p video - 2 AA - pocket sized }} |- | <!--Description-->Nikon D3100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 720p video 14.2mp}} |- | <!--Description-->Nikon D5100 DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 16.2mp 720p}} |- | <!--Description-->Nikon L810 L820 L830 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012-2014 720p video }} |- | <!--Description-->Nikon D4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 storage - sensor }} |- | <!--Description-->Nikon D7100 D7200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012-2014 up to 24.2mp 1080p video }} |- | <!--Description-->Nikon D3200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 1080p 24MPixel}} |- | <!--Description-->Nikon D5200 D5300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 24.1MP 1080p }} |- | <!--Description-->Nikon D800 D600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 1080p video sd card storage - dust/oil issue at start}} |- | <!--Description-->Nikon D3300 DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 24.2MP 1080p }} |- | <!--Description-->Nikon D500, a high-performance DX-format (APS-C) DSLR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 }} |- | <!--Description-->Nikon D3400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 24.2MP 1080p }} |- | <!--Description-->Nikon D5500 D5600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016-2018 24.1MP 1080p }} |- | <!--Description-->Nikon D810 D610 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 1080p video sd card storage }} |- | <!--Description-->Nikon D7300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 4K UHD video }} |- | <!--Description-->Nikon D900 D850 D820 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 4k 46MP }} |- | <!--Description-->Nikon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nikon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Olympus C-370 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 3.2mp }} |- | <!--Description-->Olympus Camedia C-725 Ultrazoom | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2004 3mp aa batteries, }} |- | <!--Description-->Olympus Evolt E-500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 8mp }} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Olympus Evolt E-410 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->Olympus Evolt E-510 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 10MP Live MOS sensor with TruePic III processor, }} |- | <!--Description-->Olympus E-420 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10mp, compactflash and xD cards, }} |- | <!--Description-->Olympus E-520 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10mp, compactflash and xD cards, }} |- | <!--Description-->Olympus E-620 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 12.3mp, compactflash, xD and microdrive cards, }} |- | <!--Description-->Olympus E-30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 }} |- | <!--Description-->Olympus E-450 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 10mp, }} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pentax * ist DS DSLR camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 6.1mp }} |- | <!--Description-->Pentax K10D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 10.2mp APS-C CCD no video and older manual Pentax K-mount lenses}} |- | <!--Description-->Pentax K20D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2008 14.6MP APS-C but no video recording mode }} |- | <!--Description-->Pentax K30 K-5 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2012 16MP full HD (1080p) recording at 24/25/30 fps}} |- | <!--Description-->Pentax K-3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 24MP 1080p }} |- | <!--Description-->Pentax K-3 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 24MP }} |- | <!--Description-->Pentax K-3 III | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 25.7MP BSI CMOS sensor }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic Lumix LZ10 LZ20 DMC-LZ30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 720p video }} |- | <!--Description-->Panasonic TZ1 TZ5 TZ9 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic Lumix GH1 GH2 like the DMC-GH2HEB-K - GH3 DMC-GH3HEB-K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| Four Thirds (GH2) MFT Micro Four Thirds (GH3) limited to 29mins recording }} |- | <!--Description-->Panasonic AF series AF100 AF101 AF102 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic Lumix DMC-G2 DMC-G3 G5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic TZ60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic DMC LX7 10 LX15 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic GF7 GX8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic G80 G85 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| micro 4/3 }} |- | <!--Description-->Panasonic GH4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| micro 4/3 - shooting in MOV or MP4 formats recording limited to sd card size but split files because the FAT32 file system only supports files up 4GB in size, which amounts to around 5 minutes of 4K (100mbps) footage - GH4 appears to create 4GB files as a rule, regardless of whether the memory card’s file system supports larger files or not - }} |- | <!--Description-->Panasonic GH5 gx80 gx85 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| Effective: 20.3 Megapixel 5184 x 3888 - 2 sd card slots compatible with high-speed, high capacity UHS-II - sd card v rating like the v90 should record at 60MB/s to be compatible with the GH5 in the All-I format - possible file corruption with .mdt files - new firmware 2.0 update, the Panasonic GH5 becomes the first 5K - }} |- | <!--Description-->Panasonic FZ2000 FZ2500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Panasonic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung WB100 WB1100 WB150 WB2200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 16MP }} |- | <!--Description-->Samsung NX11 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung NX200, NX20, NX1000 and NX210 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 20.3Mp APS-C sized CMOS image sensor }} |- | <!--Description-->Samsung | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sanyo Xacti CG65 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sanyo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony Alpha DSLR-A100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2005 6.1MP }} |- | <!--Description-->Sony Cyber-shot DSC camera models W110 W220 H300 H400 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->Sony Alpha DSLR-A200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 10.2MP }} |- | <!--Description-->Sony Alpha DSLR-A230 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 10.2MP }} |- | <!--Description-->Sony A290 DSLR Camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 14.2MP }} |- | <!--Description-->Sony Cybershot HX20V HX30V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 18mp 720p - steady shot unit / optical block can cause buzzing noise and/or jumping image in lcd / viewfinder - dots are dirt and this voids the warranty }} |- | <!--Description-->Sony Cybershot HX50V HX60V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 20.2MP 1080p - steady shot unit / optical block can cause buzzing noise and/or jumping image in lcd / viewfinder - dots are dirt and this voids the warranty }} |- | <!--Description-->Sony A77 A99 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 }} |- | <!--Description-->Sony WX100 WX150 wx220 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 2014 }} |- | <!--Description-->Sony NEX-6 Sony NEX-7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 16 to 24MP }} |- | <!--Description-->Sony NEX-3N Sony NEX-5N | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 16MP }} |- | <!--Description-->Sony α58 Sony α68 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 20.1 MP 2014 24mp }} |- | <!--Description-->Sony rx100 mk III | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 20.1MP 1.0-type back-illuminated Exmor R CMOS sensor, often after boot-up, the motor starts running for no reason for first versions' - }} |- | <!--Description-->Sony α5000 a5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 20.1 Megapixel APS-C Exmor APS HD CMOS 1080p Sony E-mount [https://github.com/ma1co/Sony-PMCA-RE hack] using [https://www.youtube.com/watch?v=8M4hR9HiOzM this] }} |- | <!--Description-->Sony α6000 a6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 24MP APS-C sensor }} |- | <!--Description-->Sony α7 A7S a7r a7c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 mirror less - more compact }} |- | <!--Description-->Sony α77 II, α99 II, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 24.3 MP, 2016 42.4mp }} |- | <!--Description-->Sony rx100 mk IV V | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 2016 }} |- | <!--Description-->Sony RX0 RX zero, RX0 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 2017 }} |- | <!--Description-->Sony α6500 a6500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 24.2MP APS-C sensor 4K }} |- | <!--Description-->Sony α7 Alpha 7 II E-mount interchangeable lens mirrorless camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 24.2mp, }} |- | <!--Description-->Sony α7 A7Sii a7r a7c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 mirror less - more compact }} |- | <!--Description-->Sony a7 III α77 ILCE7M3/B Full-Frame Mirrorless Interchangeable-Lens Camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 24.2mp, }} |- | <!--Description-->Sony ZV-1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 24mm optical zoom, }} |- | <!--Description-->Sony ZV-1F | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 entry-level vlogging, 1-inch 20.1MP, ultra-wide 20mm f/2 prime lens}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} <pre > Lens Mounts Canon EF EF-S Nikon F Panasonic Olympus OM Pentax DA, FA, F, A, M, and K series Fujifilm X mount </pre > <pre > Sensors APS-C S35 Full Frame 43 Four Thirds M43 MFT Micro four thirds </pre > === Digital Voice Recorder Dictaphone Dictation Machine Handheld === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-7000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested 2011 }} |- | <!--Description-->Olympus VN-7200 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|untested 2012 no usb }} |- | <!--Description-->Olympus VN-7500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested 2012 }} |- | <!--Description-->Olympus VN-7600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested 2013 }} |- | <!--Description-->Olympus WS-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested usb}} |- | <!--Description-->Olympus VN-7700 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-8600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-711PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-712PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus VN-731PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Olympus WS-811 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested slide out usb-a - aaa battery - ok recordings }} |- | <!--Description-->Olympus VN-540PC Olympus VN-541PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Philips DVT1250 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony ICD-UX470 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony ICD-UX560 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony ICD-UX570 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} === USB eBooks Readers drm free EPUB version 2.0.1 (2007), 3.0 (2011), 3.1 (2015) or [https://www.w3.org/TR/epub-33/ 3.3 (2024)] [https://github.com/thansen0/sample-epub-minimal epub examples] formats access === EPUB file format is an open standard based on XHTML for content and XML for metadata, contained in a zip file archive PDF v2.0 in 2017, 2009 takeover by ISO Org, 1.7 in 2006 , 1.6 in 2005, 1.4 in 2001, 1.3 in 1999, 1.0 in 1993 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |Access ! width="30%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Barnes and Noble Nook Simple Touch NST BNRV300 | <!--Vendor ID-->0x2080 | <!--Product ID-->0x0003 | <!--Revision--> | <!--Access-->when finding the right micro usb cable that works, internal nook memory not accessible but sd card fat32 readable and writable outside | <!--Opinion-->{{N/A|2011 6in 600x800 e-ink 16 grayscale .jpg}} battery remove sd card and Torx T5 back top for Cameron Sino CS-BNR003SL - USA 1.2.2 md5sum 351e26527e80156183e74be2da2ce89f *nook_1_2_update.zip - 1.2.1 UK fdba3981f7f221cc5143db6329645bc2 *nook_1_2_update.zip - skip registration, Turn on the device, but do NOT start setting it up. Hold down the top right button on the front of the device and slide your finger from left to right across the top of the E Ink screen. A ‘Factory’ button should appear in the top left corner of the screen. Press it. Once in the Factory menu, hold down the top right button on the front of the device and tap the bottom right corner of the screen should now see a ‘Skip Oobe’ button. Tap that and the Nook should finally load the home screen. Poor battery management - |- | <!--Description-->Barnes and Noble Nook Simple Touch with Glowlight *2012 Nook Simple Touch with GlowLight BNRV350 *2013 Nook GlowLight BNRV500 | <!--Vendor ID-->0x2080 | <!--Product ID-->0x0004 0x0007 | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2012 untested }} perform a hard reset: Turn off the nook completely, turn it on, as soon as you see the screen flash begin holding the bottom page turn buttons until the screen flashes with a message asking reset, press the 'n' key twice to start the reset - Poor battery management - |- | <!--Description-->Nook Glowlight 4 Plus 7.8-inch screen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} Poor battery management - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> *NOOK 1st Edition (2009-2018) BNRZ100 *NOOK Color (2010-2024) BNRV200 *NOOK Tablet (8GB/16GB) (2011-2024) BNTV250A / BNTV250 *NOOK HD (2012-2024) BNTV400 *NOOK HD+ (2012-2024) BNTV600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Elonex 511EB | <!--Vendor ID-->045e:ffff | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2009 untested Preferences->advanced->debug device detection}} |- | <!--Description-->[https://jaforeck.wordpress.com/2012/08/05/ready-to-meet-viktor-navorski-gained-access-to-elonex-621ebs-terminal-52/ Elonex 621EB] eBook | <!--Vendor ID-->0x1f85 | <!--Product ID-->0x1688 | <!--Revision--> | <!--Access-->unlocked ootb | <!--Opinion-->{{N/A|2010 untested usb mini charging 6" diagonal eInk Screen - 800 x 600 pixels, 8 Level 166dpi Paperlike screen, Embedded 1GB Flash NAND, full SD Card Slot up to 16GB - WAV, MP3, JPG, PNG, BMP, GIF support and ePub and PDF(with reflow) (TXT, HTML) support}} |- | <!--Description-->Elonex 700eb | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2011 untested adjust screen blanking by menu then settings then device standby, you can then turn it off}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->iRiver Story HD eBook | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} freescale imx.508 arm mcimx508cvkbb cpu with 2gb samsung nand, m13892aj charging chip, eb07_main_mp1_110321 mobo, mini usb, atheros ar61026 wifi - |- | <!--Description-->iRiver Story | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Rakuten Touch A/B kobo3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Touch C, Kobo Mini, Kobo Glo N613, Kobo Aura HD N514 N204 kobo4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Aura, Kobo Aura H2O, kobo5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2013 6in untested }} |- | <!--Description-->Kobo Aura H2O Edition 2 v1, Kobo Glo HD, Kobo Touch 2.0, Kobo Aura ONE N709, Kobo Aura ONE Limited Edition, Kobo Aura Edition 2 v1 N236, kobo6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Aura H2O Edition 2 v2, Kobo Aura Edition 2 v2, Kobo Nia, Kobo Clara HD, Kobo Forma, Kobo Libra H2O kobo7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description-->Kobo Elipsa, Kobo Sage kobo8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> *Kobo Libra 2 kobo9, Kobo Clara 2E kobo10, Kobo Elipsa 2E kobo11 *Kobo Libra Colour kobo13, Kobo Clara BW, Kobo Clara Colour kobo12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pandigital Personal eReader aka? Papyre 6.2 very similar to BQ Avant Firmware | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2011 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony PRS 300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony PRS 350 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2009 epub bbeb cbz untested }} |- | <!--Description-->Sony PRS-650 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Kindle K1 D00111 - Main Menu=: Settings: Menu=: Device Info shows S/N | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0002 | <!--Revision-->100 | <!--Access-->256mb | <!--Opinion-->{{N/A|2007 untested Marvell Xscale PXA255}} |- | <!--Description-->Kindle K2, D00511 170-1012-00, D00701 D00801 S11S01B * k2 means K2 US * k2i means K2 GW * dx means KDX US * dxi means KDX GW * dxg means KDX Graphite | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0003 | <!--Revision-->100 | <!--Access-->2gb unless jb | <!--Opinion-->{{N/A|2010 untested Freescale i.MX31 }} the Kindle is a small computer running Linux 2.6 on an ARM processor |- | <!--Description-->AMAZON Kindle D00901 3rd Gen with keyboard - Menu, Settings for S/N and then Menu again to choose Update * S/N starts B006 means k3g aka K3 3G US * S/N starts B008 means k3w aka K3 WiFi * S/N starts B00A means k3gb aka K3 3G UK EU - debug mode with ;debugON and ~help | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0004 | <!--Revision-->100 | <!--Access-->{{yes|4Gb internal no access until jailbroken JB}} | <!--Opinion-->2010 with mobi and azw3 formats only - micro usb 5v 0.85a - freescale i.mx35 ARM soc with 12bit parallel interface with epson e-ink cpu, 256MB synchronous dynamic RAM, 4GB eMMC internal memory only but no sd slot, MC13892 PMIC - atheros wifi 54mbit pci-e a e keyed wifi - ?? later models wm96103 audio codec - display has 2Mbit serial memory ic on ribbon cable with 4bpp inverse grayscale display not touchscreen - 3g module - screen replacement really annoying - 4 test points near T07 = TX RX GND ? - as of 2025, JB v0.13.N, MKK2014, MKK2025, KUAL, KoReader Legacy2025, and maybe later SS v0.47.N, Python 0.14.N, Fonts v5.16.N, USBNet v0.57.N - USB-downloader mode when Vol+ is pressed during startup - Shift + Alt + M for Minesweeper - |- | <!--Description-->Amazon Kindle 4th Generation k4 D01100 two buttons, square movement and two buttons at bottom *B00E plastic back clipped in [https://www.youtube.com/watch?v=LV1dyNkjjro many places] and strongly taped down to battery cover | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0005 | <!--Revision-->100 | <!--Access-->2gb unless jb with USB MS, USBMS aka also known as USB MSC or UMS | <!--Opinion-->{{unk|2012 once back off use Torx T5 to remove battery cover screws - battery glued down S2011-001-A 515-1058-01 DR-A015 MC-265360 - Freescale i.MX508 SOC, 2Gb eMMC storage, 256MiB of LPDDR1, MC13892 PMIC - vendor modified u-boot imximage based on u-boot v2009.08 - USB-downloader mode press the fiveway down button during startup resetmykindle - as of 2025 upgrade firmware from 4.1.x and to 4.1.4, sign into account and copy jb.1.8 bits, mkk-2014, mkk-2025, kual and then uninstall kual, koreader2025 - }} |- | <!--Description-->Kindle Touch WiFi (Kindle 5th Gen) D01200 K5, KT *Once signed into an Amazon Account get S/N under Settings -> Device Options *B00F Kindle Touch 3G + WiFi (Kindle 5) (U.S. and Canada) [Mostly] *B011 Kindle Touch WiFi (Kindle 5) *B010 Kindle Touch 3G + WiFi (Kindle 5) (Europe) | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0006 | <!--Revision-->100 | <!--Access-->4gb unless jb | <!--Opinion-->{{unk|2013 touchscreen i.MX508 SOC, 256MiB of LPDDR1 and USB-downloader mode by the SOC microcode when a specific key is pressed during startup: the home button on model D01200 - update firmware 5.3.2 to 5.3.7.3, access account, }} |- | <!--Description-->Kindle PaperWhite 3G + WiFi (U.S.) [Mostly] PW <pre> B024 Kindle PaperWhite WiFi B01B Kindle PaperWhite 3G + WiFi (U.S.) [Mostly] B020 Kindle PaperWhite 3G + WiFi (Brazil) B01C Kindle PaperWhite 3G + WiFi (Canada) B01D Kindle PaperWhite 3G + WiFi (Europe) B01F Kindle PaperWhite 3G + WiFi (Japan) </pre> | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0007 | <!--Revision-->100 | <!--Access-->2gb | <!--Opinion-->{{unk|2013 Freescale i.MX508 }} |- | <!--Description--> | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0008 | <!--Revision-->100 | <!--Access-->2gb | <!--Opinion-->{{unk| }} |- | <!--Description-->Kindle PaperWhite 2 (2013) PW2 *B0D4, 90D4 WiFi (U.S., Intl.) *B05A, 905A WiFi (Japan) *B0D5, 90D5 3G + WiFi (U.S.) [Mostly] *B0D6, 90D6 3G + WiFi (Canada] *B0D7, 90D7 3G + WiFi (Europe) *B0D8, 90D8 3G + WiFi (Russia) *B0F2, 90F2 3G + WiFi (Japan) *B017, 9017 WiFi (4GB) (U.S., Intl.) *B060, 9060 3G + WiFi (4GB) (Europe) *B062, 9062 3G + WiFi (4GB) (U.S.) [Mostly] *B05F, 905F 3G + WiFi (4GB) (Canada) *B061, 9061 3G + WiFi (4GB) (Brazil) | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0009 | <!--Revision-->100 | <!--Access-->2gb or 4gb | <!--Opinion-->{{unk| PW2 uses Freescale/NXP i.MX6 SoloLite }} |- | <!--Description-->Kindle Paperwhite 3 PW3 i.e. Kindle 7th gen *G090G1 (2015) WiFi *G090G2 (2015) 3G + WiFi (U.S.) [Mostly] *G090G4 (2015) 3G + WiFi (Mexico) *G090G5 (2015) 3G + WiFi (Europe, Australia) *G090G6 (2015) 3G + WiFi (Canada) *G090G7 (2015) 3G + WiFi (Japan) *G090KB (2015) WiFi *G090KC (2015) 3G + WiFi (Japan) *G090KE (2016) 3G + WiFi (International) White *G090KF (2016) 3G + WiFi (International) White *G090LK (2016) WiFi, 32GB (Japan) *G090LL (2016) WiFi, 32GB (Japan) White | <!--Vendor ID-->0x1949 | <!--Product ID-->0x000A | <!--Revision-->100 | <!--Access-->4gb | <!--Opinion-->{{unk| ease up glued down front bezel rim panel gently, remove 11 screws underneath and lift screen up from bottom end - battery underneath - }} |- | <!--Description-->Kindle PaperWhite 4 (2018) PW4 *G000PP, G8S0PP WiFi, 8GB *G000T6, G8S0T6 WiFi, 32GB *G000T1 WiFi+4G, 32GB *G000T2 WiFi+4G, 32GB (Europe) *G00102 WiFi, 8GB (India) *G000T3 WiFi+4G, 32GB (Japan) *G0016T, G8S16T WiFi, 8GB Twilight Blue *G0016Q, G8S16Q WiFi, 32GB Twilight Blue *G0016U WiFi, 8GB Plum *G0016V, G8S16V WiFi, 8GB Sage *G00103 WiFi, 32GB (India) *G0016R WiFi, 32GB Plum *G0016S WiFi, 32GB Sage | <!--Vendor ID-->0x1949 | <!--Product ID-->0x000B | <!--Revision-->100 | <!--Access-->8gb or 32gb | <!--Opinion-->{{unk| Freescale/NXP i.MX6 SoloLite }} |- | <!--Description-->Kindle Oasis 2 and 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->8gb or 32gb | <!--Opinion-->{{unk| NXP i.MX7D }} |- | <!--Description-->Kindle Paperwhite 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->8gb or 16gb | <!--Opinion-->{{unk| MediaTek MT8110 }} |- | <!--Description-->Kindle 11 Scribe | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->8gb or 16gb | <!--Opinion-->{{unk| MediaTek MT8113 }} |- | <!--Description-->Kindle Paperwhite 6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access-->16gb or 32gb | <!--Opinion-->{{unk| }} |- | <!--Description-->Kindle Paperwhite Gen 11 and 12 - Signature | <!--Vendor ID-->0x1949 | <!--Product ID-->0x0 | <!--Revision--> | <!--Access-->16Gb or 32Gb | <!--Opinion-->{{unk|2024 account not blocked, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://github.com/Modos-Labs Modos Labs] open source e-ink 60Hz 75Hz caster controller and glider monitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xteink X3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.xteink.com Xteink X4] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->2025 4.3in 220ppi no touchscreen so [https://www.youtube.com/watch?v=R7RuokaVauo buttons navigation] - 650mAh battery - micro-sd slot up to 512Gb covering epub, txt, and jpg in directories with [https://github.com/crosspoint-reader crosspoint reader] esp32 cpu custom rom firmware using [https://xteink.dve.al/ Flash website] on usb-c but no ecosystem store |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |} {| class="wikitable sortable" width="90%" ! width="15%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |Access ! width="30%" |Opinion |- | <!--Description-->Amazon D01400 Kindle Fire (1st Generation) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{No|2010 too old }} android 2.3 and touchscreen digitizer fails often, battery SWE P/N 1002000004742 Model KC1 (EU) QP01 (US) 16.28whr, ti 257epl9l omap 4430 with elpida 88164b3pf-10-f88164b3pf or hynix, mobo ??,, DAOKC1MB8F0 Rev F, ti aic3110 audio codec, |- | <!--Description-->Amazon Fire 7in X43260 X43Z60 2nd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2012 untested FireOS Android 4 omap 4460 and PowerVR SGX540}} |- | <!--Description-->Amazon Kindle Fire HD (3rd Gen) P48WVB4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2013 untested }} |- | <!--Description-->Amazon *Amazon Fire HD10 (2015) *Amazon Fire HD8 (2015) *Amazon Fire HD7 (2015) (5th Generation) 7 inch 8GB SV98LN *Amazon Fire HD7 (2014) *Amazon Fire HD6 (2014) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|untested android 5.1 max}} |- | <!--Description--> *Amazon Fire 10 (2017) *Amazon Fire 8 (2017) 7th Gen 8 inch SX034OT *Amazon Fire 7 (2017) (7th Generation) 7 inch 16GB (SR043KL) *Amazon Kindle Fire 7 (7th Generation) 7 inch 8GB WIFI Tablet (SR043KL) *Amazon Fire HD8 (2016) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| Android 5.1 max 7in screen resolution of 1024 x 600, }} |- | <!--Description--> *Amazon Fire 10/10+ (2021) *Amazon Fire 8/8+ (2020) *Amazon Fire 10 (2019) *Amazon Fire 7 (2019) *Amazon Kindle Fire 7 9th Gen 16GB M8S26G *Amazon Fire 8 (2018) 8th Gen 8 inch 32GB L5S83A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| android 9 max}} |- | <!--Description-->Amazon *Amazon Fire HD 10 (2023) *Amazon Fire Max 11 (2023) *Amazon Fire 8 (2022) *Amazon Fire 7 (2022) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| android 11 max}} |- | <!--Description-->Amazon Kindle Scribe | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Amazon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Minimal Phone, Mudita Kompakt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| eink }} |- | <!--Description-->Bigme B751C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2022 android untested }} |- | <!--Description-->Bigme B7 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description-->Bigme B6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2025 android based color eink small - 300dpi b/w 150ppi color -}} |- | <!--Description-->Bigme | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| e-ink }} |- | <!--Description-->Bigme Hibreak Pro, Hisense A9 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| e-ink}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->iFlyTech AINote | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->iFlyTech AINote 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2026 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Meebook | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Page Palma | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2016 android untested }} |- | <!--Description-->Onyx Boox Leaf3C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Go Color 7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2023 untested 7in e-ink e-reader android tablet }} |- | <!--Description-->Onyx BooxTab Ultra X C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Note Max Air4 C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Leaf5C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Poke6S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox Go 10.3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Onyx Boox MC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| color e-ink 13.3in }} |- | <!--Description-->Onyx Boox Go 10.3 (Gen 2) Lumi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2026 b/w eink with front light, no EMR annd capacitance pen, }} |- | <!--Description-->Onyx Moaan Pantone 6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->reMarkable 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2021 untested but subscriptions needed for some features }} |- | <!--Description-->reMarkable 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2023 untested but subscriptions needed for some features }} |- | <!--Description-->reMarkable Paper Pro Move | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{N/A|2024 untested but subscriptions needed for some features }} |- | <!--Description-->reMarkable 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2026 untested but subscriptions needed for some features}} |- | <!--Description-->reMarkable | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Supernote A5 X2 Manta | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->Supernote A6 X2 Nomad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk|2023 }} |- | <!--Description-->Supernote | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Tolino Vision 2 3 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Tolino Epos2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Viwoods AI Paper and AI Paper Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Access--> | <!--Opinion-->{{unk| }} |} ==printer.class== As the only printer driver that AROS supports natively is Postscript, our focus is on applications that generally output postscript formatted data for printing purposes. There has been an attempt at recent AirPrint support *Inkjet *Laser Start simple and then test every higher level... * can if you ping your printer (the IP addy is good)? * set up LPR/IPP to talk to that known good IP address. * see if you can copy a few words of plain ASCII text to the IPP/LPR device (do you have a connection)? * see if you can find a simple postscript file and then copy it to the IPP/LPR device. * see if you can set up to print directly to the IPP/LPR device (set "Output file" to PRT: or LPR:). * see if you can set up a PS printer config to the IPP/LPR device. * go back and try the tests with the other driver (LPR or IPP). See [http://www.irseesoft.de/tp_drive7.htm here] for compatibility with TP7 (TurboPrint 7) Last update 2004. Not tested under emulation. Janus-UAE, Emumiga, Amiberry etc usbparallel.device untested with USB->Centronics - The printer.class is rather 'clever'. It remembers to which unit the printers were connected (until you reboot). So if you first plug in Printer1, it gets unit 0, and Printer2 gets unit 1. If you now remove both printers and replug Printer2, it still will get unit 1 and not 0. This is used not to confuse the programs using the different units (moreover, if some program uses the usbparallel.device unit of an USB printer, and the printer is unplugged, the device unit cannot be freed immediately as the application still keeps it open). {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Beige cream D shape centronics end (Prolific chipset?) | | | | {{N/A|untested}} |- | Belkin F5U002v1 centronics end (chipset?) | | | | {{N/A|untested}} |- | Belkin F5U002VEA v2 centronics end (Prolific PL2305L chipset) | | | | {{N/A|untested}} |- | DYNAMODE USB-C-PP-1284 USB to 36pin (Prolific 2305 chipset) | 0x067b | 0x2305 | 0x02 | {{N/A|untested but similar to BAFO below}} |- | IOGear GUC1284B | | | | {{N/A|untested}} |- | My-Link (raised ellipse on centronics plastic end) (unknown chipset) | | | | {{N/A|untested but more expensive }} |- | NEWLink (Prolific chipset?) | | | | {{N/A|untested}} |- | Targus PA096E centronics end (chipset?) | | | | {{N/A|untested}} |- | TRENDnet ware TU-P1284 | | | | {{N/A|untested}} |- | True PnP (Prolific chipset 2305) cheap 36pin Centronics (series of ridges along both short sides) | 0x067b | 0x2305 | 2.00 | {{N/A|untested on BAFO BF-1284 but reports of poor quality and lack of support on other OSs }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | Transparent See Through Blue | | | | {{N/A|untested but possible poor quality build }} |- | Dynamode USB-PARALLEL 25pin female (prolific) | 0x067b | 0x2305 | 0x02 | {{N/A|untested}} |- | FDL USB to 25pin | | | | {{N/A|untested}} |- | PlusKom USB to 25pin female connector for printer (IEEE 1284) | | | | {{N/A|untested}} |- | QinHeng Electronics (CH340S chipset) | 0x1a86 | 0x7584 | | {{N/A|untested curvy sides - flat top }} |- | StarTech | | | | {{N/A|untested}} |- | Syba SD-USB-DB25 | | | | {{N/A|untested}} |- |} Postscript interpreters (eg ghostscript) have been developed as a cheaper option which sit in between postscript data streams and non postscript printers. Ghostscript has internal printer drivers gs -h and with something like gs -sDEVICE=stcolor -r300 -sOutputFile=RAM:tempfile gs813:examples/tiger.ps copytopar ram:tempfile It checks if in RAM: exists a outputfile (Cinnamon can export to PS postscript) then it sends this via copytopar to the printer. There was only support for parport (parallel) but Terminillis added support for USB and ethernet. A big issue with using ghostscript for drivers is that data has to originate as postscript (.PS) file. gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=ljet4 -sOutputFile=RAM:tempfile RAM:file.pdf the ljet4 output device generates PCL also the pxlmono driver, which generates more generic PXL (PCL 6) gs -q -sstdout=%stderr -sDEVICE=pswrite -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER testpage-a4.ps > test.pdf gs -q -sstdout=%stderr -sDEVICE=pxlmono -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER test.pdf > test.pxl Printers supported by ghostscript...Explanation [http://freebooks.by.ru/view/RedHatLinux6Unleashed/rhl6u151.htm here] or [http://www.gnu.org/software/ghostscript/devices.html here] and [http://pages.cs.wisc.edu/~ghost/doc/printer.htm here] <pre> bit cljet5 ljet4d pjxl300 pxlcolor bitcmyk cljet5c ljetplus pkm pxlmono bitrgb deskjet nullpage pkmraw stp bj10e djet500 pbm pksm tiff12nc bj200 epswrite pbmraw pksmraw tiff24nc bjc600 faxg3 pcx16 png16 tiffcrle bjc800 faxg32d pcx24b png16m tiffg3 bmp16 faxg4 pcx256 png256 tiffg32d bmp16m ijs pcxcmyk pnggray tiffg4 bmp256 jpeg pcxgray pngmono tifflzw bmp32b jpeggray pcxmono pnm tiffpack bmpgray laserjet pdfwrite pnmraw uniprint bmpmono lj5gray pgm ppm x11 bmpsep1 lj5mono pgmraw ppmraw x11alpha bmpsep8 ljet2p pgnm psgray x11cmyk cdeskjet ljet3 pgnmraw psmono x11gray2 cdj550 ljet3d pj psrgb x11gray4 cdjcolor ljet4 pjxl pswrite x11mono cdjmono </pre> ==rawwrap.class - some old flatbed scanners supported== Scandal is the MUI frontend to [http://www.ppa.pl/bugtracker/ Betascan Bugtracker] and [http://aminet.net/search?query=betascan Search for Betascan scanner drivers] derived from [http://www.sane-project.org/sane-backends.html sane backends] [http://www.sane-project.org/sane-backends.html#S-EPSON2 Epson2] {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Expression 1600 1640XL 1680 10000XL | 0x04b8 | 0x0107 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Prefection 1200U, 1200 Photo, | 0x04b8 | 0x0104 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection 1240U | 0x04b8 | 0x010b | <!--Revision--> | <!--Opinion-->{{[https://amigaworld.net/modules/newbb/viewtopic.php?topic_id=45760&forum=25 works]|Needs 24V 0.8A psu but in Trident, click on "Classes", then on "rawwrap.class", then on "Configure". There, under "Global", activate the Option "Bind to Vendor/Unknown Interfaces". Now go to the second tab "Default Interface" and select/enter these values: Default usbraw.device Unit: 0 Exclusive access: Yes Out NAK Timeout: 20000ms In NAK Timeout: 20000ms In Buffer Mode: No buffering Buffer Size: 36 KB Short Reads Terminate: Yes Now click on "Use as Default" and select "Devices" on the left. There, click on your scanner and click on "Class Scan". Now close Trident by clicking on "Save". }} |- | Perfection 1640SU Photo | 0x04b8 | 0x010a | 0x0104 | {{yes|works, even the transparency unit}} |- | Perfection 1650 Photo, 1660 Photo, 3200 Photo | 0x04b8 | 0x011c | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection 2400 Photo, 2450 Photo | 0x04b8 | 0x011b | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection 4870 Photo, 4990 Photo, | 0x04b8 | 0x0128 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Perfection V700 V750 Photo | 0x04b8 | 0x012c | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Stylus CX2800 2900 3200 3500 3600 3650 3700 3800 3900 Stylus CX4100 4200 3500 4600 4700 4800 4900 500 5100 5200 5300 5400 5900 | 0x04b8 | 0x0802 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Stylus Office BX300F USB | 0x04b8 | 0x0848 | | {{yes| works with good scan quality}} |- |} [http://www.meier-geinitz.de/sane/gt68xx-backend/ gt68xx] scanners based on the Grandtech GT-6801 and GT-6816 "System-On-Chip" scanner chipsets {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Artec Ultima 2000 and e+, Trust Flat Scan USB 19200 (ePlus2k.usb / Gt680xfw.usb) | 0x05d8 | 0x4002 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Genius Colorpage Vivid3x 4x 1200x | 0x0458 | 0x2011 to 0x201f | <!--Revision--> | <!--Opinion-->{{unk| (ccd548.fw)}} |- | <!--Description-->Lexmark X70 also X73 [http://subfusion.net/drivers/oslo3071b2.usb OSLO3071b2.usb] | <!--Vendor ID-->0x043d | <!--Product ID-->0x002d | <!--Revision--> | <!--Opinion--> |- | <!--Description-->Medion/Lifetec/Tevion/Cytron MD/LT 9375 and Artec Ultima 2000, MD LT 9385 Gt680xfw.usb | <!--Vendor ID-->0x05d8 | <!--Product ID-->0x4002 | <!--Revision--> | <!--Opinion--> |- | BearPaw 2448 CS and TA Plus [http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/A2Nfw.usb A2Nfw.usb] | 0x055f | 0x021a | <!--Revision--> | <!--Opinion-->{{unk|2009 }} |- | Mustek BearPaw 1200 CS | 0x055f | 0x021e | <!--Revision--> | <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/A1fw.usb A1fw.usb])}} |- | <!--Description-->Mustek 1200 CU Plus Scanner [http://www.meier-geinitz.de/sane/gt68xx-backend PS1Dfw.usb / SBSfw.usb] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2000 }} |- | Mustek ScanExpress 1200 UB plus, Trust Compact Scan USB 19200, ScanMagic 1200 UB Plus | 0x05d8 | 0x4002 | <!--Revision--> | <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/sbfw.usb sbfw.usb])}} |- | Mustek ScanExpress 1248 UB aka PC-World PC Line PCL-3000 | 0x055f | 0x021f | <!--Revision--> | <!--Opinion-->{{unk| ([http://www.meier-geinitz.de/sane/gt68xx-backend/firmware/SBSfw.usb SBSfw.usb])}} |- | Mustek BearPaw 2400CS TA aka Goodmans GSC 12/24 | 0x055f | 0x0218 | <!--Revision--> | <!--Opinion-->{{unk| (Transparency adapter untested) }} |- | BearPaw 2400 CS aka TA Plus | 0x055f | 0x0219 | <!--Revision--> | <!--Opinion-->{{unk| (Transparency adapter) }} |- | Packard Bell Diamond 1200 Plus | 0x055f | 0x021c or 0x021b | 0x0 | {{yes|works - [http://www.meier-geinitz.de/sane/gt68xx-backend/ firmware required] but slow usb 1.1 speed with poor quality output (scanner fault not scandal)}} |- | Packard Bell Diamond 2400 Plus aka BearPaw 2400 CU Plus [http://www.meier-geinitz.de/sane/gt68xx-backend/ PS2Dfw2.usb firmware rename to PS2Dfw.usb] | 0x055f | 0x021d | 1.00 | {{yes|works slow usb 1.1 speed with ok quality output (scanner fault not scandal)}} |- | Plustek OpticPro 1248U | 0x07B3 | 0x0400 0x0401 | <!--Revision--> | <!--Opinion-->{{unk| (ccd548.fw)}} |- | Plustek OpticSlim 2400 | 0x07b3 | 0x0422 | <!--Revision--> | <!--Opinion-->{{unk| (cis3R5B1.fw)}} |- | Visioneer OneTouch 7300 | 0x04a7 | 0x0444 | <!--Revision--> | <!--Opinion-->{{unk| (Cis3r5b1.fw)}} |- | <!--Description-->Mustek ScanEpress 1200 UB (Plus) clone [http://www.meier-geinitz.de/sane/ use mustek_usb backend] | <!--Vendor ID-->0x055f | <!--Product ID-->0x0006 | <!--Revision--> | <!--Opinion-->{{no| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} Lexmark - needs testing {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Lexmark X1110 | | | | {{N/A|untested}} |- | Lexmark X1140 | | | | {{N/A|untested}} |- | Lexmark X1150 | | | | {{N/A|untested}} |- | Lexmark X1170 | | | | {{N/A|untested}} |- | Lexmark X1180 | | | | {{N/A|untested}} |- | Lexmark X1185 | 0x043d | 0x007c | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Lexmark X12xx | | | | {{N/A|untested in USB1.1, not fully tested in USB2.0}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Dell A920 | | | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} HP - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | HP ScanJet 4100C | 0x03f0 | 0x0101 | | {{no|no driver}} |- | HP ScanJet 5200C | 0x03f0 | 0x0401 | | {{no|no driver}} |- | HP ScanJet 62X0C | 0x03f0 | 0x0201 | | {{no|no driver}} |- | HP ScanJet 63X0C | 0x03f0 | 0x0601 | | {{no|no driver}} |- | HP | 0x03f0 | 0x0102, 0x0105, 0x0205, 0x0305, 0x0405 | | {{no|no driver}} |- | HP | 0x03f0 | 0x0705, 0x0805, 0x0901, 0x0a01 | | {{no|no driver}} |- | HP | 0x03f0 | 0x1205, 0x1305, 0x2005, 0x2205 | | {{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} Plustek [http://www.sane-project.org/sane-backends.html#S-PLUSTEK LM983x] - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Plustek OticPro U12 UT12 UT16 U24 UT24 | 0x07B3 | 0x0010 to 0x0017 | | {{no|no driver}} |- | KYE/Genius Colorpage HR6-V2 HR6A HR7 HR7LE HR6X | 0x0458 | 0x2008 to 0x2016 | | {{no|no driver}} |- | Hewlett-Packard ScanJet 2100C and 2200C | 0x03F0 | 0x0505 and 0x0605 | | {{no|no driver}} |- | Mustek BearPaw 1200 and 2400 | 0x0400 | 0x1000 and 0x1001 | | {{no|no driver}} |- | UMAX 3400/3450 and 5400 | 0x1606 | 0x0050, 0x0060 and 0x0160 | | {{no|no driver}} |- | Epson Perfection 1250 and 1260 | 0x04B8 | 0x010f and 0x011d | | {{no|no driver}} |- | CANON CanoScan N650/656U N1220U D660U N670/676U N1240U LIDE20 LIDE25 LIDE30 | 0x04A9 | 0x2206 to 0x2220 | | {{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} [http://snapscan.sourceforge.net/ SnapScan] - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Acer Benq 310U, 320U, 340U | 0x4a5 | 0x0 | | {{no|no driver}} |- | Acer Benq 620U, 620UT, 640U, 640UT | 0x4a5 | 0x20 | | {{no|no driver}} |- | Acer Benq 1240 3300 4300 | 0x4a5 | 0x020 | | {{no|no driver}} |- | Agfa SnapScan e10 e20 e25 e26 e40 e42 e50 e52 | 0x06bd | 0x20 | | {{no|no driver}} |- | Epson Perfection 660 | 0x04b8 | 0x0114 | | {{no|no driver}} |- | Epson Perfection 1270 1670 | 0x04b8 | 0x0 | | {{no|no driver}} |- | Epson Perfection 2480 2580 | 0x04b8 | 0x0 | | {{no|no driver}} |- | Epson Perfection 3490 3590 | 0x04b8 | 0x0 | | {{no|no driver}} |- | Mitsubishi | 0x0 | 0x0 | | {{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} ==hub.class (self-powered and external ac powered hubs)== {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Dynamode USB-H41 4 ports | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Belkin 4 Port | | | | {{yes|works}} |- | Conrad | | | | {{yes|[http://www.a1k.org/forum/showthread.php?t=11432 works on a1k forum] }} |- | DLink DUB-H4 AC Adapter | 0x05e3 | 0x0608 | High 0200 | {{maybe|WARNING Genesys Logic Hub Broken - Will cause failures with USB}} |- | [http://service.targa.co.uk/faq.php?lang_id=2&baseid=178&artdesc=SilverCrest+USB+Hub+2040&artid=760&artpic=silvercrestHUB2040.jpg SilverCrest 4-port slim USB 2.0 HUB - HUB2040 (40775) - Targa GmbH] | 0x05e3 | 0x0608 | 0901 | {{yes|works Genesys Logic, Inc., [http://service.targa.co.uk/dokumente/USB_HUB_2040_0109_manual_EN.pdf Manual]}} |- | Skymaster | 0x05e3 | 0x0605 | 060B | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | No Name active 4-port | 0x1a40 | 0x0101 | 0111 | {{yes|works}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->Thinkpad USB 3.0 Dock DU9019D1 | <!--Vendor ID-->0x17e9 | <!--Product ID-->0x4302 | <!--Revision-->0014 | <!--Opinion-->{{Maybe|works a bit}} classed as dfu.class with two further USB 2.0 hubs - USB 3.0 ports detected and work (2.0 backwards compatibility) - DisplayLink DL-3900 with VIA VL811 chipset - usb ethernet not working - two dvi not working - 20V psu 2a (40w) with a 5.5 - 2.5mm tip (no bus power) - data through a-b printer/scanner usb lead - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |} ==Internet== ===rndis.class USB Tethering === The rndis class provides support for Ethernet access over Remote NDIS. Most USB based devices should be supported including smartfones. Before opening Network Prefs, activate USB Tethering on the Smartfon, on Network prefs, type in usbrndis.device and tick "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed. When restart AROS my Smartphone deactivates the connection and to access the network again, have to reactivate it before starting the browser. {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Alcatel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | Huawei U8800 | 0x12d1 | 0x1039 | | {{yes|works}} |- | <!--Description-->Huawei | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | HTC (Android phone) | 0x0bb4 | 0x0ffe | | {{Yes|any android phone with usb tethering option}} |- | <!--Description-->Nokia | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | <!--Description-->Oppo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | <!--Description-->Samsung Galaxy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- |- | <!--Description-->iPhone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft winPhone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} ===USB &rarr; ethernet lan adaptor=== *2002 playstation 2 usb1.1 era - a little support but very old and slow *2006 wii asix era - a little support but very much miss than hit *2026 usb0: or eth0: of CDC Ethernet protocol (cdcether) with Ethernet Control Model (ECM) and [https://www.usb.org/document-library/class-definitions-communication-devices-12 others like Wireless Mobile Communication Devices WMC] and later CDC EEM (Ethernet Emulation Model) and NCM (Network Control Model) are USB Communication Device Class (CDC) protocols packing more Ethernet traffic over every USB bundle. For CDC Ethernet - NCM is better than EEM is better than ECM * USB1.1 Up to 010 meg broadband (1.25MBytes/s) - ADM8511, DM9601 poor speeds * USB2.0 Up to 400 meg broadband (60MBytes/s) - MCS7830, AX88772 a little especially the 2010 apple version but buy many as very very poor odds of working one * USB3.0 Over 400 meg broadband (60+MBytes/s) - not supported at the moment SANA (Standard Amiga Network Architecture) to usb ADMtek Infineon ADM8511 Pegasus II (USB 1.1 and 10Mbit/s - Sony PlayStation 2 network adapter) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="50%" |Opinion |- | 3Com 3c460b | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2001 }} |- | Abocom UFE1000 / Abocom DSB650TX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Accton USB320-EC / Accton SpeedStream Ethernet | 0x083a | 0x0320 | <!--Revision--> | {{unk|2002 }} |- | AEI USB Fast Ethernet / Allied Telesyn AT-USB100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2002 }} |- | ATEN UC-110T | 0x0557 | 0x4000 | | {{unk|2001 }} |- | BAFO USB To Ethernet Adapter BF-310 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2001 }} |- | Belkin F5D5050 v1 1101 | 0x050D | | <!--Revision--> | {{maybe|2002 sometimes works from old amiga.org post which is now removed}} |- | Belkin F5D5050 v2 2101 | 0x050D | 0x0121 | <!--Revision--> | {{no|2006 does not works}} |- | Belkin F5U122-PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Billionton USB-100 / Billionton USBLP-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Billionton USBEL-100 / Billionton USBE-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Compex LinkPort/UE202A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | D-Link DSB-H3ETX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | D-Link DSB-650 / D-Link DSB-650TX / D-Link DSB-650TX-PNA | 0x2001 | 0x4000 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | D-Link DU-E10 / D-Link DU-E100 | 0x2001 | | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Edimax USB Ethernet Adapter EU-4201 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Elsa AG MicroLink USB2 Lan Ethernet adapter | 0x05cc | 0x3000 | <!--Revision-->1.01 | <!--Opinion-->{{unk| }} |- | GetNet | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | GIGABYTE GN-BR402W Wireless Router | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Goodway Fellowes USB UE-120 REV:V1 UE120 ADMTek 1011594 HO2419741 | <!--Vendor ID-->0x07a6 | <!--Product ID-->0x0986 | <!--Revision-->0001 | <!--Opinion-->{{maybe|2001 USB Specification 1.1 compliant}} |- | GWC Tech USB Ethernet Adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Hawking UF100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | HP HN210E / I/O DATA USB ETTX / Kingston KNU101TX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Jinco USB Ethernet Adapter 10/100 Base-T UE-110 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Kouwell USB to Ethernet 588A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Linksys USB10T / TA / TX | 0x066b | 0x2202 | <!--Revision--> | <!--Opinion-->{{unk|untested - possible peg1/peg2}} |- | Linksys (Cisco) USB100TX / H1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Logitec LAN-TX/U1 H2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | [http://www.mayflash.com/psps2/ps2024/ps2024.htm Mayflash PS2024] Playstation2 compatible clone of Proxim/Farallon NetLine? | 0x07a6 | 0x8511 | <!--Revision-->1.01 | <!--Opinion-->{{maybe|works with DHCP router option on old 32bit distros but not on newer 64bit, best to go asixeth apple 2010 but buy many of them as poor success rate i.e. a lottery}} |- | Netgear FA101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Philips CPWUE01/00 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Planet UE-9500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | PlayStation 2 SCPH-10000 50000 models | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Proxim (formerly Farallon) NetLine USB PN796-650 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Siemens SpeedStream USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | SOHOware NUB100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | SMC EZNET-USB 2202USB/ETH / SMC 2206USB/ETH | 0x0707 | 0x0100 0x0200 0x0201 | <!--Revision--> | {{unk|untested but should work very well }} |- | Surecom EP-1427X 100/10M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Target USB to 10/100M Fast Ethernet Converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Trendnet TU-ET100C | 0x07a6 | 0x8511 | <!--Revision-->0x0 | {{yes| sometimes works well, very stable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Digitus USB NIC DN-3016-A | 0x07a6 | 0x8513 | 1.01 | {{unk|untested new chipset }} |- | Digitus lanusb ADM8515 | 0x07a6 | 0x8515 | 1.01 | {{unk|untested because new chipset }} |- | VE285 usblan ADMtek 8515 | 0x07a6 | 0x8515 | 1.01 | {{no|not working as new chipset }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} Davicom DM9601 eth (USB 1.1 and up to 10Mbit/s) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Davicom USB-100 see clone below | 0x0a46 | 0x9601 | <!--Revision--> | <!--Opinion-->{{unk|2001 }} |- | [http://wiki.maemo.org/USB_to_ethernet_networking chinese translucent transparent crystal blue] but variants are also found in clear, white and black. Just over 6&nbsp;cm long. | 0x0a46 | 0x9601 | 0x0 | {{yes|2002 success can be sporadic so technically okay, but lacking in reliability. Out of 4 tested by me, only 2 worked. One case cracked open. }} |- | Corega FEther USB-TXC | 0x07aa | 0x9601 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Dynamode USB-NIC-1427-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Hirose USB-100 | 0x0a47 | 0x9601 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | KY-RS9600 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585358&postcount=12 works] }} |- | ShanTou ST268 USB NIC | 0x0a46 | 0x0268 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | ZT6688 USB NIC | 0x0a46 | 0x6688 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ICS Advent DM9601 USB 2.0 10/100M Ethenet Adaptor JP1081B | <!--Vendor ID-->0x0FE6 | <!--Product ID-->0x9700 | <!--Revision-->0101 | <!--Opinion-->{{No|not working 32bit and 64bit - USB 1.1 10M ethernet}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |} MosChip MCS7830 (USB 2) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Digitus DN-10050 | 0x9710 | 0x7830 | <!--Revision--> | <!--Opinion-->{{unk|2004 }} |- | Edimax [http://www.edimax.co.uk/images/Image/datasheet/USB/EU-4206/EU-4206.pdf EU-4206] | | | <!--Revision--> | <!--Opinion-->{{unk|2005 }} |- | Speed Dragon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | STLabs | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | StarTech Compact USB2105S [http://www.kustompcs.co.uk/acatalog/info_6790.html USB2106S] | 0x9710 | 0x7830 | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | Sunrich Technologies [http://www.st-lab.com/admin/upfile/UploadFile/manual/manual(u-250).zip U-250] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 }} |- | Syba | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->MCS 7832 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2008 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |} * USB2 [https://www.asix.com.tw/en/product/USBEthernet Asix Ethernet] AX88178A, AX88772C, AX88772B, AX88772A (wii), AX88172A * USB3 AX88179A, AX88179 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | AirLink101 AGIGAUSB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 AX88172}} |- | ATEN UC210T | 0x0557 | 0x2009 | 0x | <!--Opinion-->{{unk| AX88172}} |- | <!--Description-->Billionton Systems USB2AR | <!--Vendor ID-->0x08dd | <!--Product ID-->0x90ff | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->Buffalo LUA-U2-KTX | <!--Vendor ID-->0x0411 | <!--Product ID-->0x003d | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->corega FEther USB2-TX | <!--Vendor ID-->0x07aa | <!--Product ID-->0x0017 | <!--Revision--> | <!--Opinion-->{{no| }} |- | D-Link DUB-E100 up to rev A4 | 0x2001 | 0x1a00 | | <!--Opinion-->{{No| }} |- | <!--Description-->D-Link DUB-E100 rev B1 onwards | 0x07d1 or 0x2001 | 0x3c05 | <!--Revision--> | <!--Opinion-->{{Maybe|AX88172 works on Deneb with [http://amigax.com/2010/02/21/usb-ethernet-speed-test-amigaos-4-0-classic/ Amiga OS4 Classic] and [http://www.a1k.org/forum/showthread.php?t=11432 on a1k] }} |- | <!--Description-->goodway corp USB gwusb2e | <!--Vendor ID-->0x1631 | <!--Product ID-->0x6200 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hawking UF200 | 0x07b8 | 0x420a | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[Linksys USB200M] | 0x077b | 0x2226 | <!--Revision--> | <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585601&postcount=20 works] }} |- | <!--Description-->Netgear FA120 | 0x0846 | 0x1040 | <!--Revision--> | <!--Opinion-->{{N/A|untested 2002 10/100 Rev.B1" is silkscreened on the board of the device populating this entry (S/N: FA12254CB100409, date code 0508). This device may be manuf. by [http://www.cameo.com.tw/ Cameo] "AX88172 L", "F05040157", and "ED3" Chip1 ASIX AX88172 Chip2 Realtek RTL8201BL}} |- | <!--Description-->Intellinet | 0x0b95 | 0x1720 | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->JVC MP-PRX1 Port Replicator | <!--Vendor ID-->0x04f1 | <!--Product ID-->0x3008 | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->ST Lab USB Ethernet | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1720 | <!--Revision--> | <!--Opinion--> |- | <!--Description-->Sitecom LN-029 "USB 2.0 10/100 Ethernet adapter" | <!--Vendor ID-->0x6189 | <!--Product ID-->0x182d | <!--Revision-->0 | <!--Opinion-->{{No| }} |- | <!--Description-->Surecom EP-1427X-2 | <!--Vendor ID-->0x1189 | <!--Product ID-->0x0893 | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->TrendNet TU2-ET100 v2 | 0x07b8 | 0x420a | <!--Revision--> | <!--Opinion-->{{Maybe|version 2}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->A-LINK NA1GU | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 88772}} |- | <!--Description-->AirLink101 ASOHOUSB Wii | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AirLive EtherWe-1000U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->APPLE AX88772 Model No. A1277 MC704LL/A P/N 825-7098-A | <!--Vendor ID-->0x05ac | <!--Product ID-->0x1402 | <!--Revision--> | <!--Opinion-->{{No|2008 usb2, }} |- | <!--Description-->APPLE Model No. A1277 (MB442Z/A 0885909217434) MC704ZM/A PN 825-7579-A | <!--Vendor ID-->0x05ac | <!--Product ID-->0x1402 | <!--Revision--> | <!--Opinion-->{{Maybe|2010 model, usb2 and controller AX88772 where prehaps 1in3 units working with owb - really poor odds i.e. a lottery, could be situation where various ethernet phy chipsets are used - press Use in network prefs after Save initial setup typing in usbasixeth.device, }} |- | <!--Description-->ASIX AX88772 bulbous casing | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{maybe|2008 works on 32bit and 64bit though setup can take a few attempts but may have issues with phy ethernet chip changing, }} |- | <!--Description-->Datel Wii Lan Adapter DUS0204 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2007 }} |- | <!--Description-->EdiMax EU-4207 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->Goodway HE2230 Maplin ASIX 88772 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->Intec LAN G5626 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->LevelOne USB-0202 | 0x0b95 | <!--Product ID-->0x07720 | <!--Revision-->0x | <!--Opinion-->{{unk|2008 }} |- | <!--Description-->LevelOne USB-0301 | 0x0b95 | <!--Product ID-->0x07720 | <!--Revision-->0x | <!--Opinion-->{{unk|2009 }} |- | <!--Description-->Linksys USB200M Rev 2 | <!--Vendor ID-->0x13b1 | <!--Product ID-->0x0018 | <!--Revision--> | <!--Opinion-->{{maybe|2008 sparsely randomly working AX88772 or with "Sana-II Meter Tool 37.11" network monitoring program, showing continuous "Bad Packet" errors which could means "CRC" errors}} |- | <!--Description-->Linksys USB300M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{maybe|2009 AX88772 }} |- | <!--Description-->Mayflash W001 or clones Lupo/PEGA S-Wii-0680 light gray rectangular with third of one top 45 degree angled slope | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{unk| may have randomly changed phy ethernet chips, }} |- | <!--Description-->Max Value MVF00446 ASIN B006EG568A | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{Maybe|Trident prefs recognises as AX88772 sometimes works on 32bit and 64bit}} |- | <!--Description-->NEWLink N14050 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->NEWLink Wii-ETH USB2.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nintendo Wii LAN Adaptor 2110566 and clones | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x07720 | <!--Revision-->0x | <!--Opinion-->{{Maybe|Poseidon recognises as AX88772 with usbasixeth.device sometimes works seems different ethernet phy chips can be matched affecting compatibility}} |- | <!--Description-->Nyko Wii Net Connect 87024 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes|[http://www.amiga.org/forums/showpost.php?p=585624&postcount=22 works] }} |- | <!--Description-->0Q0 cable ethernet | <!--Vendor ID-->0x1557 | <!--Product ID-->0x7720 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Plugable USB2-E100 (2009/2010) Bulbous housing | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x7720 | <!--Revision-->0x0 | <!--Opinion-->{{Maybe|Trident prefs recognises it as ax88772A and typing in usbasixeth.device sometimes works}} |- | <!--Description-->Sabrent KINAMAX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->SpeedLink SL-3401-SGY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TrendNet TU2-ET100 v3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->UGreen 20254 USB2 to 10/100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| AX88772}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Afunta Apple-style White USB2.0 I/O Crest SY-ADA24005 ASIX Electronics Corp. AX88772A Fast Ethernet Adapter | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x772a | <!--Revision-->0x | <!--Opinion-->{{no|usbasixeth.device accepted by network prefs but does not work}} |- | <!--Description-->Amazon Basics USB 2.0 AX88772A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Digitus DN-10050-1 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x772a | <!--Revision-->0x0 | <!--Opinion-->{{unk| }} |- | <!--Description-->Edimax EU-4230 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x772a | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sabrent KINAMAX NT-USB20 AX88772A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> AX88772B USB 2.0 to 10/100M | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->EdiMax EU-4208 | <!--Vendor ID-->0x0B95 | <!--Product ID-->0x772b | <!--Revision-->0x | <!--Opinion-->{{No|Detected but not working}} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB2100 ASIX AX88772C | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.asix.com.tw/en/product/USBEthernet/High-Speed_USB_Ethernet/AX88772D AX88772D] | <!--Vendor ID-->0x0B95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{unk|2011 }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.asix.com.tw/en/product/USBEthernet/High-Speed_USB_Ethernet/AX88772E AX88772E] | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 }} |- | <!--Description--> | <!--Vendor ID-->0x0B95 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->AX88178 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2004 }} |- | <!--Description-->Plugable USB2-E1000 i.e. USB 2.0 to Gigabit Ethernet 10/100/1000 LAN | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 ASIX AX88178 Controller and Realtek RTL8211CL PHY}} |- | <!--Description-->AX88178A USB 2.0 to 10/100/1000M Gigabit Ethernet controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2005 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AmazonBasics USB3.0 adapter [https://github.com/nothingstopsme/AX88179_178A_Linux_Driver AX88179] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Cable Matters SuperSpeed USB 3.0 RJ45 adapter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Hori Nintendo Switch 1 USB3 ethernet AX88179 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{no|2017 AX88179 not binding to asixeth.class }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Plugable USB3-E1000 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{no|2020 ASIX AX88179 not binding to class, USB 3.2 Gen1 to Gigabit Ethernet controller with integrated 10/100/1000Mbps Gigabit Ethernet PHY}} |- | <!--Description-->Plugable AX88179 = [https://plugable.com/products/usb3-e1000-deal USB3-E1000] before mid-2023 or USB3-E1000; AX88179A = USBC-E1000 after mid-2023 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 controller is AX88179 phy is ??, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB31000SPTW ax88179 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{no| AX88179 not binding to asixeth.class, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB31000NDS AX88179 USB-A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech US1GC301AU AX88179 USB-c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech US1GC30B2 AX88179A USB-c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB32000SPT AX88179A USB-c Rev 1 (AX88179) Rev 2 (AX88179A) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->USB32000SPT the Lot code sticker will have a bar code accompanied by a 10 digit number. The 5th and 6th digits of this lot code number would signify the revision. (Ex. xxxx02xxxx which would indicate rev. 2) |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->SYBA SY-ADA24029 Gigabit AX88179 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} may depend on the PHY chip connected to the controller chipset |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TP-Link UE306 AX88179 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TeckNet® Orico UL677G 10/100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TeckNet® UL688G USB 3.0 10/100/1000 Base-T Ethernet port | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->AX88179 178A |- | <!--Description-->Tecknet UL699G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->TrendNet TU2-ET100 v6 | <!--Vendor ID-->0x07b8 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|no support }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->uGreen 50922 USB3-A to 100/1000 dark grey rounded barrels | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x | <!--Revision--> | <!--Opinion-->{{no| ax88179 not binding to asixeth.class, }} |- | <!--Description-->UGreen USB3-C to 100/1000 | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->uGreen CR111 20256 usb3 a black plastic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| AX88179}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> AX88179A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Plugable USB3-E1000 USBC-E1000 after mid-2023 i.e. AX88179A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->StarTech USB31000SPTB | <!--Vendor ID-->0x0b95 | <!--Product ID-->0x1790 | <!--Revision--> | <!--Opinion-->{{unk| AX88179A USB-A, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> AX88179B | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} ==USB &rarr; SerialPort Converter== *2002 some support for early revisions of PL2303 *2005 Prolific PL2303H PL-2303X and Pl-2303HX (same usb ids as pl2303) no support *2025 FTDI 232R [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1135&highlight=232r&rowstart=20 work in progress] *2026 CDC-ACM i.e. Serial port over USB standard serialpl2303.class make sure you specify serialpl2303.device or Echo "Test" >SER1: {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | ATEN UC-232A | 0x0557 | 0x2008 | Full 0x0300 | {{N/A|untested}} |- | IOGear GUC232A | 0x0557 | 0x2008 | Full 0x0110 | {{N/A|untested}} |- | Alcatel | 0x11f7 | 0x02df | | {{N/A|untested}} |- | BAFO BF-810 | 0x067B | 0x2303 | 0x0 | {{N/A|untested}} |- | Belkin F5U103 | 0x | 0x | 0x0 | {{N/A|untested}} |- | Davibe SP611 | 0x067B | 0x2303 | 0x0 | {{N/A|untested}} |- | Dcu10 | 0x0731 | 0x0528 | | {{N/A|untested}} |- | Elcom | 0x056e | 0x5003 | | {{N/A|untested}} |- | IOData | 0x04bb | 0x0a03 | 0x0 | {{N/A|untested}} |- | Itegno | 0x0eba | 0x1080 | | {{N/A|untested}} |- | Nokia CA42 | | | | {{N/A|untested}} |- | Radioshack | 0x1453 | 0x4026 | | {{N/A|untested}} |- | Ratoc | 0x0584 | 0xb000 | | {{N/A|untested}} |- | Samsung | 0x04e8 | 0x8001 | | {{N/A|untested}} |- | Siemens DCA-510 | 0x067B | 0x2303 | 0x0 | {{N/A|untested}} |- | Sitecom CN104 | 0x6189 | 0x2068 | | {{N/A|untested}} |- | Sitecom CN116 | 0x6189 | 0x2068 | | {{N/A|untested}} |- | Some Cut Ma620 | 0x0df7 | 0x0620 | | {{N/A|untested}} |- | Speed Dragon Multimedia MS3303H | | | | {{N/A|untested}} |- | Syntech | | | | {{N/A|untested}} |- | <!--Description-->Tripp | 0x2478 | 0x2008 | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Airlink101 AC-USBS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | <!--Description-->Belkin F5U103v | 0x067B | 0x2303 | 0x0 | {{no|no driver }} |- | Dynamode U232-P9 | 0x067B | 0x2303 | 300 | {{no| no driver [http://koti.mbnet.fi/lonnberg/pl2303x.html linux patch] and using lsusb -v -d 067b:2303 gave bMaxPacketSize as 64 - pl2303x }} |- | Konig CABLE-146/2 USB to RS232 | 0x067b | 0x2303 | 400 | {{no|no driver }} |- | MANHATTAN 205146 USB to Serial Converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | Sabrent SBT-USC1M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | <!--Description-->Trendnet TU-59 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver }} |- | <!--Description-->Unbranded black case and lead USB 232 Converter | <!--Vendor ID-->0x067B | <!--Product ID-->0x2303 | <!--Revision-->0300 | <!--Opinion-->{{No| }} |- |} [http://www.ftdichip.com/index.html Future Technology Devices International Ltd FTDI]-FT232R.class [https://ftdichip.com/software-examples/code-examples/c-builder/ FTProg src], [http://rtr.ca/ft232r/ ft232r src], [https://ftdichip.com/wp-content/uploads/2020/08/DS_FT232R.pdf FT232R datasheet], [], {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID-->0x0403 | <!--Product ID-->0x6001 | <!--Revision--> | <!--Opinion-->{{no|no driver}} [https://www.youtube.com/watch?v=1GE-gKgHxZI beware of cheap clones fake with s/n A50285BI SN] |- | <!--Description-->Lynx Astro FTDI | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FT232R |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Sabrent CB-FTDI | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | {{no|no driver TTL-232R cables use FTDI's [http://n1mm.hamdocs.com/tiki-index.php?page=USB+Interface+Devices FT232RQ ic device] }} |- | <!--Description-->Startech.com 1 Port FTDI USB to Serial RS232 DB9M Adapter Cable with COM Retention ICUSB2321F | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FT232RL Chipset |- | <!--Description-->StarTech.com 2 Port FTDI USB to Serial RS232 Adapter Cable ICUSB2322F | <!--Vendor ID-->0x0403 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FTDI FT2232D Chipset |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} FT232RL is the SSOP-28 and the FT232RQ is the QFN-32 package option |} [https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html ch341a.class] *I2C EEPROMS (3.3V and 5V) compatible and also SPI FLASH memories (3.3V devices) making sure 1.8V is covered *each having their own [https://winraid.level1techs.com/t/guide-how-to-use-a-ch341a-spi-programmer-flasher-with-pictures/33041 4x2 connection blocks] using [https://github.com/flashrom/flashrom flashrom] sudo flashrom --programmer ch341a_spi -r backup.bin sudo flashrom --programmer ch341a_spi -w <new bios name> {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Jiangsu QinHeng Ltd CH341A emulate UART communication, standard parallel port, memory parallel port and synchronous serial (I2C, SPI) | <!--Vendor ID-->0x1A86 | <!--Product ID-->0x5512 | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->QinHeng USB2.0-Serial HL-340 | <!--Vendor ID-->0x1A86 | <!--Product ID-->0x7523 | <!--Revision-->0252 | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |} ==simplemidi.class and CAMD== Currently support includes * simplemidi.class SimpleMidi maps some keyboard keys to corresponding computer keys as used by music trackers to emulate a musical keyboard * camdusbmidi.class follows the rules of the m68k implementation of Commodore's CAMD midi specification and usb class compliant for * usb host like a computer * usb device controllers - keyboards, drum machines, djay turntables, grooveboxes, etc * interfaces - cables or boxes which convert usb to 5pin DIN plug midi What is needed is a fully class-compliant '''brand name''' USB MIDI keyboard, especially manufactured in the last 15 years are best *Arturia *Novation *M-Audio *Akai Plugging this in one of your USB ports, the camd.library will make the keyboard's MIDI IN/OUT ports available in the system. Then select the keyboard's MIDI IN port (known as a "cluster" in CAMD) for input, and the software instrument's cluster as output ShowCluster (shows midi ports available in and out) MidiWatch (usually port usbmidi.in.0 less often usbmidi.out.0) (Ctrl-C to end output stream) usbmidi.in.0 Message on channel 01, NoteOn 90 39 08 00 usbmidi.in.0 Message on channel 01, NoteOff 80 39 00 00 MidiThru (forwards messages from one port to another) run >nil: c:midithru usbmidi.out.0 usbmidi.out.2 MidiSendC (sends a middle C to a specific port) Midi Controller + Sound Module (together aka as a synth) -> Audio Output The difference between midi and midi over USB is that in old school Midi the transmitter transmits whenever it wants and the receiver always has to be prepared to receive data. Easy to do at the rate of a 1990's modem speed these days. USB over midi.. turns midi into a polled protocol.. So the USB host (typically the computer) has to ask "do you have anything for me" before the remote will send. If the USB host gets busy doing other things or there is a lot of things on the USB bus to get polled, you can get delays. For its age midi is still a great protocol for music * [https://www.usb.org/sites/default/files/midi10.pdf USBIF's "USB Device Class Definition for MIDI Devices" document, version 1.0 from Nov 1, 1999] * [https://www.usb.org/sites/default/files/USB%20MIDI%20v2_0.pdf MIDI v2.0 from 2020 which AROS still needs, adds support for MIDI 2.0, MIDI-CI, and Universal MIDI Packet] Nearly all synthesizers now use the 16 MIDI channels available on a MIDI bus in one instrument alone, requiring multiple MIDI busses in a typical setup with more than one MIDI instrument. In addition, by handling multiple "virtual" cables, USB offers a solution to go beyond MIDI's 16-channel limit. MIDI data is transferred over USB using 32-bit USB-MIDI Event Packets. These packets provide an efficient method to transfer multiple MIDI streams with fixed length messages. The 32-bit USB-MIDI Event Packet allows multiple "virtual MIDI cables" routed over the same USB endpoint. This approach minimizes the number of required endpoints. It also makes parsing MIDI events easier by packetizing the separate bytes of a MIDI event into one parsed USB-MIDI event. {| class="wikitable sortable" width="90%" ! width="25%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Computer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{Yes|which acts as USB midi host to get all usb devices talking together}} |- | <!--Description-->Hobbytronics usb host standalone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->bomebox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->raspberry pi with several midi interface(s) and linux scripting | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Kenton MIDI USB Host mk3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |} {| class="wikitable sortable" width="90%" ! width="25%" | Description ! width="5%" |Vendor ID ! width="5%" |Product ID ! width="5%" |Revision ! width="15%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Acorn Instruments Masterkey 49 device | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 untested usb powered 5V regulated - similar keybed to keystation 49es but unplug then re-plug the USB cable while it is powered the device might reconnect |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Akai SynthStation 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2010 - sticky rubber keys - usb |- | <!--Description-->Akai MPK Mini Laptop Production Keyboard | <!--Vendor ID-->0x09e8 | <!--Product ID-->0x007c | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected and camd usb to use, not tested with apps}} | <!--Opinion-->2010 25 mini key self powered by mini USB lead - sustain port - no top left corner joystick - tested icaros 2.3 - |- | <!--Description-->Akai LPK25 LPK37 LPK49 Laptop Production Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested }} | <!--Opinion-->2012 untested velocity sensitive mini keys with synth action - weak mini USB port - latency issues - |- | <!--Description-->Akai Professional APC Key 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2012 |- | <!--Description-->Akai MPK49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2012 untested 49 key 49-key full-sized, semi-weighted keyboard with aftertouch - |- | <!--Description-->AKAI Max25 MAX49 control keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested }} | <!--Opinion-->2014 usb compliant |- | <!--Description-->Akai Professional MPK249 MPK261 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 USB2 USB-b - full keys semi-weighted aftertouch - midi in out - sustain and peddle port |- | <!--Description-->Akai Professional Advance 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2016 |- | <!--Description-->Akai MPK Mini MKII MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2017 untested USB2 USB-b midi connection only - 4 way thumb joystick top left - 25 tiny keys - velocity drum pads - plastic build quality - |- | <!--Description-->AKAI Professional APC Key 25 MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| driver}} | <!--Opinion-->2017 |- | <!--Description-->Akai MPK Mini Play | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2021 untested USB2 USB-b midi connection only - synth basic samples - class compliant? - small led display top centre - 25 mini keys - press and hold the "Prog Select" button then use the "Program" knob to assign a MIDI channel - |- | <!--Description-->Akai MPK Mini 3 MKIII MK3 | <!--Vendor ID-->0x09E8 | <!--Product ID-->0x1049 | <!--Revision-->0200 | <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - - midi in out untested - }} | <!--Opinion-->2021 USB2 USB-b midi controller connection no 5pin legacy - small led display top centre - 25 mini keys goofy uneven feel of the akai keyboards - press and hold the "Prog Select" button and press pad 1 to 8 to assign a MIDI channel - tested on AROS One 2.4 usb |- | <!--Description-->Akai Force / MPC One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion--> |- | <!--Description-->Akai Pro MPK Mini Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2023 untested 37 mini keys - class compliant device - usb-b bus powered only with 5pin midi in and out - Shift and Global for Midi Ch - |- | <!--Description-->Akai Pro Ableton Push Mk 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Akai Professional MPC Key 37 49 61 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2023 untested USB2 usb-b |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Alesis Photon PH-25 X25 Midi & USB keyboard/synth | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2005 midi keyboard controller |- | <!--Description-->Alesis Q25 Q49 Q61 Q88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2014 untested |- | <!--Description-->Alesis Coda Pro Portable 88-Key Digital Piano USB MIDI Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 |- | <!--Description-->Alesis V25 V49 V61 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2017 |- | <!--Description-->Alesis V Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion--> |- | <!--Description-->Alesis VI49 VI61 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion--> |- | <!--Description-->Alesis VX49 VX61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2016 1 5-pin MIDI input, 1 5-pin MIDI output, 1 USB port, |- | <!--Description-->Alesis Q25 Q49 Q61 Mk2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2018 |- | <!--Description-->Alesis Recital 88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 |- | <!--Description-->Alesis V25 V49 V61 MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2022 |- | <!--Description-->Alesis Qmini portable 32-key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2023 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->audiothingies MicroMonsta | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 untested synth - |- | <!--Description-->audiothingies MicroMonsta 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 synth - |- | <!--Description-->Arturia Analog Experience “The Player” USB MIDI Master Keyboard Model APE25 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2010 usb-b bus powered - |- | <!--Description-->Arturia MiniLab Mk1 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2013 maybe class complaint |- | <!--Description-->Arturia MiniLab MkII Mk2 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2016 maybe class complaint |- | <!--Description-->Arturia Keystep 32 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2016 untested 32 mini keys usb compliant |- | <!--Description-->Arturia KeyLab 61 88 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Maybe| }} | <!--Opinion-->2017 untested hammer-action Fatar keybed - reset Press and hold Oct + and Oct – buttons then insert the USB cable - |- | <!--Description-->Arturia MiniLab mkII | <!--Vendor ID-->0x1C75 | <!--Product ID-->0x2209 | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - - midi in out untested - }} | <!--Opinion-->2017 USB2 usb-b bus power - metal base heavier than most - Shift and press a key to select the MIDI Channel - To reset to original factory, unplug the USB cable, hold down the Oct- and Oct + buttons, plug the USB cable back in and continue to hold the buttons until the pads turn white - need software to change parameters like velocity sensitive assistance - |- | <!--Description-->Arturia KeyLab MK2 MKII 61 88 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested }} | <!--Opinion-->2017 untested hammer-action Fatar keybed |- | <!--Description-->Arturia MicroFreak | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2019 hybrid digital/analog synthesis, |- | <!--Description-->[https://www.youtube.com/watch?v=PeYIAfn3UMs Arturia Minilab 3] [https://www.youtube.com/shorts/chj1WgMupGw ] [https://www.youtube.com/shorts/FMVdfhzg1Dw ] | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2020 untested usb-c bus powered - 25 mini keys semi - |- | <!--Description-->Arturia Keystep Pro | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 |- | <!--Description-->Arturia MiniLab 3 Mk3 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2022 maybe class complaint |- | <!--Description-->Arturia MiniFreak | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2022 |- | <!--Description-->Arturia KeyLab Essential 49 61 88 mk3 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 untested usb-c and 1 midi out - lack of aftertouch - |- | <!--Description-->Arturia AstroLab | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2024 |- | <!--Description-->Arturia KeyLab MK3 MKIII 61 88 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2025 untested hammer-action Fatar keybed |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Behringer UMX61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe|untested}} | <!--Opinion-->2007 |- | <!--Description-->Behringer U-Control UMX490 UMX610 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2010 |- | <!--Description-->Behringer U-Control | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Behringer Swing 32-Key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Behringer MOTOR 49 - 49-Key USB/MIDI Master Controller Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Creative EMU Xboard 25 E-MU X-Board 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|untested}} | <!--Opinion-->2008 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->CME M-Key Mkey 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2008 stops sending MIDI on a regular basis. The simplest "fix" is to flip it off and on via the power switch at the back |- | <!--Description-->CME Ukey U-Key | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2009 |- | <!--Description-->CME Xkey | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 low-profile aluminium full size pressure sensitive with polyphonic aftertouch but keys make too much noise and that they can be too sensitive to velocity - low power draw 25ma |- | <!--Description-->CME M-Key 49 V2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 simplified version of the U-key Mobiltone |- | <!--Description-->CME XKEY AIR 37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2019 |- | <!--Description-->cme xkey 37 le | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{ | }} | <!--Opinion--> |- | <!--Description-->Donner Spaceline DMK-25 Donnerdeal Rantion | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Donner DMK25 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> 25 mini velocity keys with limited aftertouch - usb-c powered - 8 drum pads - 3.5mm "midi out" socket - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{ | }} | <!--Opinion--> |- | <!--Description-->Elektron Digitakt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 expensive later midi usb class compliant with since 1.5 Update |- | <!--Description-->Elecktron Digitone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Elektron Digitone Keys 37-key Digital FM Synthesizer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2018 expensive |- | <!--Description-->Elektron Analog Four MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Elektron Octatrak MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{ | }} | <!--Opinion--> |- | <!--Description-->ESI keycontrol | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->ESI keycontrol 49+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->ESI keycontrol 25xt | <!--Vendor ID-->0x2702 | <!--Product ID-->0x2702 | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected and usb driver working}} | <!--Opinion-->2011 bus powered or 12v 0.5a dc in - metal base so heavy - midi out 5pin - sustain pedal port - modulation slider - rubber coated knobs becomes sticky - |- | <!--Description-->ESI keycontrol 49xt 61xt 88xt | <!--Vendor ID-->0x2702 | <!--Product ID--> | <!--Revision-->0100 | <!--CAMD-->{{Yes|detected}} | <!--Opinion-->2011 12v 0.5a center pin +ve external psu required - USB i/o and 1 legacy 5pin out - full sized keys - heavy aluminium case keyboard metal base - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Evolution MK-125 MK-149 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2000 9v |- | <!--Description-->Evolution MK-225C MK-249C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 9v |- | <!--Description-->Evolution USB/Midi Controller MK-425C MK-449C MK-461C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|25, 49, 61 keys - }} | <!--Opinion-->2006 9V or 12V - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->IK Multimedia iRig Keys Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 37 full keys |- | <!--Description-->IK Multimedia iRig Keys Pro Mobile | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2014 25 or 37 mini keys |- | <!--Description-->IK Multimedia iRig Keys 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 mini velocity keys no aftertouch - |- | <!--Description-->IK Multimedia iRig Keys 2 PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2020 full velocity keys no aftertouch - |- | <!--Description-->IK Multimedia iRig Keys | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Kawai VPC 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> weighted keys - heavy build - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Keith McMillen Instruments K-Board | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> omni class compliant to all channels? each keypad makes them velocity, pressure, and location sensitive but not really suited for piano playing |- | <!--Description-->Keith McMillen BopPad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> omni class compliant to all channels? |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Korg NanoKontrol 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->mini usb |- | <!--Description-->Korg Prophecy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->KORG microKONTROL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2010 |- | <!--Description-->Korg microKEY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2011 velocity-sensitive Natural Touch keys but joystick is an alternative to the common pitch/modulation wheel design - power draw - |- | <!--Description-->Korg nanoKey nanoPad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2011 |- | <!--Description-->Korg Taktile | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Korg microKEY2 25 37 49 61 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|2015 untested}} | <!--Opinion-->2015 USB powered - semi weighted - |- | <!--Description-->Korg MiniList | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Korg MinKey nanoPad nanoPad 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Korg Nautilus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Kurzweil PC3 7 series - Artis 7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->fatar TP-8 semi-weighted action |- | <!--Description-->Kurzweil PC1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Kurzweil PC3 A8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Line 6 Mobile keys 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 |- | <!--Description-->Line 6 POD Studio KB37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 |- | <!--Description-->Line 6 Tone Port KB37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2007 |- |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Midiman (later M-Audio) Oxygen8 Ozone Ozonic 25 32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no|not class compliant - untested 5pin legacy }} | <!--Opinion-->2002 2004 - 25 full keys - slider/fader to left of lcd display - |- | <!--Description-->m-audio oxygen keystation (61 key) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2004 |- | <!--Description-->M-Audio eKeys 37 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 |- | <!--Description-->M-Audio Axiom 25, 49, 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 bus powered and 12v psu - if sliders/faders are on right - legacy midi 5pin - chunky unit - |- | <!--Description-->M-Audio Oxygen 8v2, 49, 61 (silver) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2006 full size velocity sensitive 12v psu - sending random pitchbend info - |- | <!--Description-->M-Audio Keystation 37e 49e, 61e MK1 MKI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2006 - ok key action - |- | <!--Description-->M-Audio Keystation 37es 49se 61es, 88es MK1 MKI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 - |- | <!--Description-->M-Audio Oxygen 25/49/61/88 (blue) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 [https://m-audio.com/products/view/oxygen-25-legacy advised Class-compliant and GM/GM2/XG SysEx messages] with full size velocity sensitive 12v psu - sending random pitchbend info - |- | <!--Description-->M-Audio Axiom 25, 49, 61 (2nd Gen) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 semi-weighted mini keys - bus powered and 9v psu for 25/49 and 12v for 61 - if sliders/faders are on left - legacy midi 5pin - chunky unit - |- | <!--Description-->M-Audio Axiom Pro 25, 49, 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2011 poor construction |- | <!--Description-->MAudio Axiom AIR 25 M-Audio Axiom Air Mini 32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 |- | <!--Description-->M-Audio Oxygen 25 III (3rd Gen) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 untested - usb only - rubber keys sticky - |- | <!--Description-->MAudio Keyrig 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->M-Audio Keystation Mini 32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2012 - mini usb - plays a few notes and then stops responding randomly - try plugging it into port 1 or 2 on your pc - |- | <!--Description-->M-Audio Keystation 49 MK2 II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2012 USB port and class compliant |- | <!--Description-->M-Audio Keystation 61 MK3 MKIII MIDI keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 usb compliant untested |- | <!--Description-->M-Audio Oxygen 25 IV | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| untested}} | <!--Opinion-->2016 choice |- | <!--Description-->M-Audio CTRL-49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2017 |- | <!--Description-->M-Audio ProKeys 88, 88sx | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->M-Audio Keystation Mini 32 MK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2019 mini usb - some power or incompatibility issue with the native USB ports of the laptop, plugged in a passive USB 2.0 HUB (not USB 3.0, not powered) |- | <!--Description-->[https://www.youtube.com/watch?v=3328SvuJsLw M-Audio Oxygen25 MKV] | <!--Vendor ID-->0x0763 | <!--Product ID-->0x0001 | <!--Revision-->0023 | <!--CAMD-->{{Yes|detected audio class and bindings with camdusbmidi.class - midi in out untested}} | <!--Opinion-->2020 25 full size semi keys - USB2 usb-b but no 5pin classic plugs - channel select SHIFT button and CHANNEL on keybed - plastic build - holding down both the Octave + and - for factory reset - more limited in what you can do with it than IV 4th one - tested on AROS One 2.4 usb |- | <!--Description-->M-Audio Oxygen Pro 25 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2022 untested semi full keys |- | <!--Description-->M-Audio Oxygen Pro Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 untested - 32 smaller keys - not endless encoders - usb only - |- | <!--Description-->M-Audio Hammer 88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Moog | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Moog Minitaur | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->M-VAVE SMK-25mini 25key MIDI Control Keyboard Y6I0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Native Instruments NI Primus A25 JamMate | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2008 not compliant, |- | <!--Description-->Native Instruments Maschine MK1 MKI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2009 not compliant uses snd-usb-caiaq module, |- | <!--Description-->Native Instruments Komplete Kontrol S88 S61 S49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 - weighted keys - |- | <!--Description-->Native Instruments Maschine MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2013 maybe compliant, |- | <!--Description-->Native Instruments Maschine Micro Mikro MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 maybe? |- | <!--Description-->NI Komplete Kontrol S49 S61 S88 MkII MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2017 all MK2 MK3 power up the keyboard using USB, it will set the keyboards MIDI port to computer MIDI only without any option to set it to use the MIDI DIN, meaning you cannot connect the keyboard to hardware and power from USB, you MUST power with the power adapter and physically unplug from any USB connection - |- | <!--Description-->Native Instruments Komplete Kontrol A25 A49 A61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 maybe compliant, |- | <!--Description-->[https://github.com/sikorak666/maschine-mikro-mk3-driver Native Instruments Maschine Micro Mikro Plus MK3 MKIII] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 |- | <!--Description-->Native Instruments Komplete Kontrol M32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 untested 32 smaller keys - no drum pads - USB only - |- | <!--Description-->NI Komplete Kontrol S49 S61 S88 MkIII MK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 |- | <!--Description-->NI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2025 |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Neusonik iBoard 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nektar Impact LX25+ LX49+ LX61+ LX88+ SE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2017 budget full-size velocity-sensitive synth-action keyboard - |- | <!--Description-->Nektar Impact GX49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> USB port - |- | <!--Description-->Nektar Panorama P4 P6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> USB & USB Micro B, 5-pin MIDI out, 2 x TRS inputs with 49 semi-weighted, velocity sensitive with aftertouch |- | <!--Description-->Nektar SE25 SE49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> mini keys - micro usb bus powered - velocity and sustain button |- | <!--Description-->Nektar Panorama P6 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nektar Panorama T6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nord Stage 3 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> sysex |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Novation ReMote 25 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 lhs XY touchpad and the joystick - |- | <!--Description-->Novation LaunchKey 25 49 61 88 Mk1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 not USB class compliant |- | <!--Description-->Novation 49 61 SL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 semi-weighted Fatar TP-8 or TP-9 keybed |- | <!--Description-->Novation ReMote 25SL 49SL 61SL soft label | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 - two long top liquid-crystal display LCD strips - XY touchpad and the joystick - |- | <!--Description-->Novation ReMOTE 25LE | <!--Vendor ID-->0x1235 | <!--Product ID-->0x0004 | <!--Revision-->0001 | <!--CAMD-->{{Yes|detected, usb driver in devs/midi for camd to use}} | <!--Opinion-->2007 USB-b powered, 9v center pin positive or 6 MN1500 AA batteries - X/Y touchpad and the combined pitch and modulation joystick - no aftertouch but can use both the legacy MIDI OUT and USB port simultaneously |- | <!--Description-->Novation Nocturn 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Unk| }} | <!--Opinion-->2008 untested sending random pitchbend info |- | <!--Description-->Novation 49 61 SL MkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2009 semi-weighted Fatar TP-8 or TP-9 keybed |- | <!--Description-->Novation MiniNova | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2013 |- | <!--Description-->Novation Impulse 25 49 61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 velocity aftertouch‑sensitive semi-weighted keyboards and eight backlit pads - USB, 5-pin MIDI out - |- | <!--Description-->Novation Circuit Tracks / Rhythm | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 untested |- | <!--Description-->Novation LaunchKey 25 49 61 88 MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 USB class compliant - full keys - |- | <!--Description-->Novation Launchpad Mini MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 untested 8x8 buttons with 16 backlit |- | <!--Description-->Novation LaunchKey Mini MK2 MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 untested - 25 soft mini keys - 2 rotary wheels lhs - |- | <!--Description-->Novation LaunchKey 25 37 49 61 88 MK3 MKIII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2020 USB class compliant choice - full keys - |- | <!--Description-->Novation LaunchKey Mini MK3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 untested - 25 soft mini keys - 2 sliders lhs - |- | <!--Description-->Novation 61SL Mk3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Nymphes Dreadbox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> 6 voice analog synth |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Oberheim MC 2000 EX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 88 keys fully weighted - very heavy - |- | <!--Description-->PreSonus ATOM SQ Hybrid MIDI Keyboard/Pad | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->[https://polyend.com/tracker/ Polyend Tracker] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion--> |- | <!--Description-->Roland ED PC-300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2002 USB MIDI keyboard controller 49-key |- | <!--Description-->Roland EDIROL PCR-M30 PCR-M50 PCR-M80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2005 |- | <!--Description-->Roland Edirol PCR-30 PCR-50 PCR-80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2007 untested 32 key - |- | <!--Description-->Roland PC-50 PC-80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2007 |- | <!--Description-->Roland PCR-500 PCR-800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 61 velocity-sensitive keys with aftertouch |- | <!--Description-->Roland A-88 a-49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2013 USB port - weighted keys velocity no aftertouch - class compliant with press FUNCTION so it is lit. Press the key labelled "ADV.", Press the "+" button so it is lit - |- | <!--Description-->Roland PC-200 mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 some had fatar keys |- | <!--Description-->Roland MC-707 Groovebox | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 |- | <!--Description-->Roland MC-101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2015 untested |- | <!--Description-->Roland A-500 A500Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 |- | <!--Description-->Roland A-300 A300Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 |- | <!--Description-->Roland JUNO DS, FA, Fantom, JUPITER X / Xm | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 (be sure that USB driver is set to "Generic" - requires device rebooting) |- | <!--Description-->Roland A-88 a-49 MKii MK2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2020 expensive with USB-c port - hammer-action keyboard weighted keys - Class-compliant if USB-C enables bus power - MIDI 2.0 later - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ROLI Seaboard RISE 25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Samson Graphite 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Samson Carbon 49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Sequential TAKE 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Studiologic VMK-161 and VMK-161 Plus Organ version | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->TP-8O action is the unweighted, organ-style waterfall keybed - usb midi in out - 9v psu - |- | <!--Description-->Studiologic SL990XP midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Studiologic VMK176 Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->USB and midi connectivity |- | <!--Description-->Studiologic SL880 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Studiologic SL73 SL88 Studio midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> hammer-action Fatar TP semi-weighted keys |- | <!--Description-->Studiologic Numa Organ 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> 73 key TP-8O action is the unweighted, organ-style waterfall keybed used in nearly all clonewheels |- | <!--Description-->Studiologic Numacompact 2/2x, Numa X Piano | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SubZero CommandKey49 CommandKey25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SubZero SZ-MiniCommand Mini-Command USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SubZero SPC61 MIDI Controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> bus powered - 5 octave |- | <!--Description-->SubZero ControlKey49S 49 Key Slim MIDI Controller Keyboard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Synido TempoKey K25 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 25 mini keys - usb-c powered |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{maybe| }} | <!--Opinion--> |- | <!--Description-->Worlde Panda | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Yamaha KX8 KX49 KX61 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2008 not compliant |- | <!--Description-->Yamaha CMC-PD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2010 |- | <!--Description-->Yamaha | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2011 not class compliant |- | <!--Description-->Yamaha P45B P-45 Digital Piano | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2011 not compliant |- | <!--Description-->Yamaha P-115 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 untested weighted keys - USB midi port |- | <!--Description-->Yamaha MX49 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2020 should compliant untested |- | <!--Description-->Yamaha Montage, CP73/88, YC, MODX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- | <!--Description-->Yamaha PSR-E353, PSR-E443 PSR-S670, PSR-S770, PSR-S970, PSR-A3000, TYROS-5 NP-12, NP-32 DGX-650, DGX-660 P-105, P-115, P-255 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Yamaha MX49 II V2 Black Blue | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2023 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi keyboard controller |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->DJM V10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> dj |- | <!--Description-->Native Instruments Kontrol DJ Pro midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> detected but untested |- | <!--Description-->Numark Mixtrack Pro II USB DJ Controller Djay | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->older generation pioneer DDJ-SX2 dj | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |} {| class="wikitable sortable" width="90%" ! width="20%" | Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Alyseum AL-22 AL22c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Alyseum AL-88 Schneidersladen AL88c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Alyseum U3-88c Midi Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> no CopperLan support Midi network using a UTP Ethernet patch cable) |- | <!--Description-->Behringer BCF2000 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->[http://www.behringer.com/EN/home.aspx Behringer] BCR2000 1in 2out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Behringer B-CONTROL DEEJAY BCD3000 DJ Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Behringer UMD404 UMD202 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Creative EMU 0404/USB midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2006 |- | <!--Description-->DigiDesign / Focusrite Command 8 Control Surface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2005 supports MIDI continuous controller (CC) and note data. SysEx dumping and loading is also supported |- | <!--Description-->Digidesign Digi 002 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 firewire only |- | <!--Description-->Digidesign Digi 003 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2009 firewire only |- | <!--Description-->emagic m4 2x4 AMT8 Unitor 8 Mk2 8x8 | <!--Vendor ID-->0x00d0 | <!--Product ID--> | <!--Revision-->0x010 0x0103 | <!--CAMD-->{{No| }} | <!--Opinion-->2000 offers MTS (Midi Time Stamping) - 12v 2a psu centre pos - usb mini with rs232 and rs422 serial ports - 16 channels (8-in / 8-out), this rack-mountable unit - |- | <!--Description-->Evolution U-Control UC-16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| detected}} | <!--Opinion--> |- | <!--Description-->Focusrite Saffire 6 USB 1.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Guillemot Maxi Studio ISIS Vintage Sound Card MIDI Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->1998 |- | <!--Description-->[http://www.ucapps.de/mbhp_usb.html MidiBox] Hardware Platform USB Module | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2001 |- | <!--Description-->Mackie Control Universal Pro XT with One Two Extenders | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2008 not compliant, |- | <!--Description-->M-Audio Audiophile USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 not compliant, |- | <!--Description-->M-Audio Midisport UNO old version | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 not compliant, |- | <!--Description-->M-Audio MidiMan 1x1 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 [http://sourceforge.net/projects/linux-hotplug/ firmware update] |- | <!--Description-->M-Audio Midisport 2x2 yellowy green blue, green or silver chassis plastic box | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|MIDISPORT 2x2 or 4x4 interfaces from previous production series (blue, green or silver chassis) are not class-compliant}} | <!--Opinion-->2004 |- | <!--Description-->MAudio Audiosport Quattro USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->2004 not usb compliant as [http://usb-midi-fw.sourceforge.net/ firmware required and that is buggy], |- | <!--Description-->M-Audio UC-33 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2004 not compliant, |- | <!--Description-->M-Audio Midisport 1x1 2x2 4x4 Anniversary Edition, black box | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 maybe class compliant, |- | <!--Description-->Mooer Steep II Multi-Platform USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->[http://www.amiga.org/forums/showthread.php?t=52920 Mark of the Unicorn Motu Fastlane] 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|[http://www.amiga.org/forums/showpost.php?p=560852&postcount=8 not working on OS4]}} | <!--Opinion--> not class compliant, |- | <!--Description-->Motu Micro Lite 1x1 and MOTU microlite 5x5 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion--> good unit but poor just plug in support and not class compliant - USB2 usb-b - |- | <!--Description-->Motu MIDI Express 128 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->poor support serial port only - offers MTS (Midi Time Stamping) A serial port based MIDI interface or a USB interface without MTS will have a MIDI slop of up to 2ms on record and playback. MTS provides accuracy for record and playback to around .3ms - five times more accurate than serial or non-MTS." |- | <!--Description-->MOTU.com MIDI Express XT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion-->2008 for many USB should have octocoupled connection to reduce groundloop humm, usually the timing is off |- | <!--Description-->MOTU MIDI Timepiece AV | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|dedicated driver}} | <!--Opinion--> not class compliant is one of the best multi-port MIDI interfaces ever made as USB model connects to the computer as an 8x16 interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Native Instruments GmbH Audio 8 DJ, 4 DJ, 2 DJ | <!--Vendor ID-->0x17CC | <!--Product ID-->0x | <!--Revision--> | <!--CAMD-->{{no|needs dedicated driver}} | <!--Opinion-->2006 not class compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Qcon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Roland Edirol UA-100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|did not match to camdusbmidi.class USB audio midi with onboard DSP}} | <!--Opinion-->1998 |- | <!--Description-->Roland Corp Edirol UM-2 | <!--Vendor ID-->0x0582 | <!--Product ID-->0x0005 | <!--Revision-->0200 | <!--CAMD-->{{no|is not bound via camdusbmidi.class }} | <!--Opinion-->1999 not bound to any midi class - 2x2 - tested Aros One USb 2.4 |- | <!--Description-->Roland Edirol UA-100G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->1999 USB audio midi with onboard DSP |- | <!--Description-->Roland Edirol UM-880 8x8 midi interface | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->2000 under poseidon but could work with run >nil: c:midithru out.0 "EDIROL UM-880.out.2" |- | <!--Description-->Roland Edirol UM-1 blue plastic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{Unk| bound??? via camdusbmidi.class - untested midi in out}} | <!--Opinion-->2000 UM-1 - 1-in/1-out (16 channels) |- | <!--Description-->Roland Edirol UM-1S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|not working}} | <!--Opinion-->2000 1-in/1-out (16 channels) |- | <!--Description-->Roland Edirol UM-2E | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|not working}} | <!--Opinion-->2000 |- | <!--Description-->Roland Edirol UM550 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2001 |- | <!--Description-->Roland Edirol UM-1X midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|do not have the Advanced Driver Switch on them}} | <!--Opinion-->2001 |- | <!--Description-->Roland Edirol UM-1SX | <!--Vendor ID-->0x0582 | <!--Product ID-->0x0052 | <!--Revision-->0200 | <!--CAMD-->{{No|do not have the Advanced Driver Switch on them}} | <!--Opinion-->2003 |- | <!--Description-->Roland Edirol Cakewalk UM-2C - 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2003 |- | <!--Description-->Roland Edirol Cakewalk UM-1G 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 |- | <!--Description-->Roland Edirol Cakewalk UM-2G 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2004 |- | <!--Description-->[https://github.com/spotify/linux/blob/master/sound/usb/usbquirks.h Roland Edirol UA20 UA-20] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|not working}} | <!--Opinion-->2004 |- | <!--Description-->Roland UM-1EX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2005 |- | <!--Description-->Roland Edirol UM-2EX 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 adds a second MIDI OUT |- | <!--Description-->Roland Cakewalk UM-3G - 3x3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2006 |- | <!--Description-->Roland Cakewalk ua-25excw 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->2009 not class compliant mode |- | <!--Description-->[https://alsa.opensrc.org/Edirol_UA-25EX Roland Edirol UA55 UA-55 Cakewalk UA25 EX] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|detected but not working}} | <!--Opinion-->2011 not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Sonuus B2M Bass MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Sonuus G2M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Steinberg CMC Series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Subzero SZ-MB44 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Swisssonic MIDI1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2012 AmigaOS there is no output at midichannel one and two but if play a midi file there is only output on some channels and if pressed stop the prog freezes or the whole system crashes |- | <!--Description-->Teac Tascam US-428 US-422 midi interface | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> 2000 not compatible |- | <!--Description-->Teac Tascam [http://web.archive.org/web/*/http://www.tascam.com/Products/US-224.html US-224] | <!--Vendor ID-->0x1604 | <!--Product ID-->0x8004 | <!--Revision-->0100 | <!--CAMD-->{{No| }} | <!--Opinion--> 2002 does not bind to any class |- | <!--Description-->Teac Corp Tascam US-1x2 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion-->2002 |- | <!--Description-->Teac Tascam US-122 MKII midi interface | <!--Vendor ID-->0x0644 | <!--Product ID-->0x8021 | <!--Revision-->0100 | <!--CAMD-->{{No|not detected / binding to camdusbmidi.class on AROS 2.4 usb }} | <!--Opinion-->2004 detected but not working 2-in/2-out USB two XLR microphone preamps with phantom power for condenser microphones |- | <!--Description-->Teac Tascam US-200 US-400 US-600 US-800 US-1200 US-1800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|no driver}} | <!--Opinion-->2010 may not be totally usb compliant |- | <!--Description-->Yamaha UX-16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|no driver}} | <!--Opinion-->2010 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | CAMD | Opinion |- | <!--Description-->Akai EIE and Pro version midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2011 dc 6v power - 3 USB hubs, midi in out , |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Alesis I/O2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2007 powered USB hub required, not compliant |- | <!--Description-->Alesis IO2 Express | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 usb compliant? |- | <!--Description-->Alesis IO4 Express | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 |- | <!--Description-->Behringer XTouch | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> psu needed |- | <!--Description-->Behringer X-Touch Compact | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant? |- | <!--Description-->Behringer X-Touch Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant?, usb to 5pin midi interface |- | <!--Description-->Behringer U-Phoria UMD404HD UMD202HD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2019 maybe class compliant - volume low, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->CME U2 MIDI Pro 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> current model |- | Creative EMU XMIDI 1X1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 early versions with sysex checksum errors |- | <!--Description-->Creative E-MU Xmidi 1x1 Tab (V3) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 tab version class compliant but report that when transferring 'System Exclusive' messages (SysEx) the unit could not handle the highest data rate leading to data corruption |- | Creative EMU XMIDI 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 sysex errors |- | <!--Description-->Digidesign Mbox 2 Mini now Avid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2005 USB powered but not compliant |- | <!--Description-->Digidesign Mbox II Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion-->2006 USB powered but not compliant |- | <!--Description-->Engl Z7 MIDI Interface (E660/E610/E360/E930) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> guitar? |- | <!--Description-->Elektron TurboMidi TM-1 1in 1out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ESI MidiTerminal M4U 4x4 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->supposedly class compliant - USB bus powered - |- | <!--Description-->ESI MidiTerminal M8U 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ESI MidiTerminal M4U XL 4x4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> ploytec chipset |- | <!--Description-->ESI MidiTerminal M8U XL 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> no hardware routing e.g. x on input 5 to synth y on output 7 - ploytec chipset |- | <!--Description-->ESI MidiMate 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> supposedly class compliant - USB bus powered |- | <!--Description-->ESI MidiMate II 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ESI ROM I/O | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2005 romio version |- | <!--Description-->ESI M4U XT | <!--Vendor ID-->0x2573 | <!--Product ID-->0x0002 | <!--Revision-->0100 | <!--CAMD-->{{Maybe|is bound via camdusbmidi.class AROS One 2.4 - untested midi in out}} | <!--Opinion-->2010 - |- | <!--Description-->ESI M8U XT 8in 8out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 discontinued 2018 |- | <!--Description-->ESI M8UEX USB3.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 current model |- | <!--Description-->ESI M4U eX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2018 current model |- | <!--Description-->ESI MidiMate eX midi interface 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2016 curent model, well liked and might class compliant?? |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->icon midiport 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->iCON CubeMi 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> class compliant? |- | <!--Description-->iConnectivity | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->iConnectivity mio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 class compliant but reported issues with sending System Exclusive (SysEx) MIDI messages and MIDI signals getting cut off |- | <!--Description--> iConnectMidi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 |- | <!--Description-->iCM2 iCM4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2012 |- | <!--Description-->iConnectivity iConnectMIDI4+ L | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2014 class compliant?? |- | <!--Description-->iConnectivity MioXL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->IK Multimedia iRig MIDI 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> class compliant |- | <!--Description-->iRig Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Kenton | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Kenton Electronics pro solo mk2 midi to cv converter | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Kenton Midi Thru-25 5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Keytech MT18E 8 Way Midi Thru box | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> 9 to 12v psu required |- | <!--Description-->MidiPlus Midi 2x2 midi interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->MidiPlus Midi 4x4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> supposedly class compliant - USB bus powered |- | <!--Description-->MidiTech MIT-00151 Midiface 4x4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->MidiTech Midiface 4x4 8x8 16x16 thru merge | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Miditech Midilink mini 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->M-Audio Midisport UNO only if box is labeled Class Compliant and latest MIDISPORT 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->M-Audio Fast Track Ultra (6 in 6 out) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2008 not usb compliant, - |- | <!--Description-->M-Audio Midiman Midisport 2x2 Anniversary Edition [https://gearspace.com/board/electronic-music-instruments-and-electronic-music-production/1133862-why-there-hardly-any-midi-interfaces.html not stable enough] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2009 USB2 usb-b - does not need firmware and supposedly plug and play - |- | <!--Description-->M-Audio Midisport 4x4 Anniversary Edition | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> rumored does not need firmware - supposedly plug and play - issues with its firmware for some and lacks configurable routing |- | <!--Description-->Maudio Fast Track Ultra 8R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Native Instruments Komplete Audio 6 Mk1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2011 maybe usb compliant but bus powered, |- | <!--Description-->Nektar Midiflex 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|untested}} | <!--Opinion-->2015 class compliant and usb-b powered - used as a 1 in / 3 out, 2 in / 2 out or 4 out 5pin sockets - |- | <!--Description-->Neusonik IM-One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Peavey Xport | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> guitars only |- | <!--Description-->Roland UM-ONE UM-1 mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->2010 USB class compliant if switch to TAB for class compliant mode rather than the COMPUTER mode |- | <!--Description-->Squarp Hermid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Steinberg Midex 8x8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> class compliant? supporting MIDI Time Stamping protocol |- | <!--Description-->Swissonic MidiConnect 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Tapco LiNK.midi USB 4x4 (Loud technologies) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no|dedicated driver}} | <!--Opinion-->2005 |- | <!--Description-->Teac Corp Tascam US-2x2 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{no| }} | <!--Opinion--> 2014 5v dc power, midi out in, |- | <!--Description-->Teac Corp Tascam US-4x4 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Teac Tascam US-16x08 US-20x20 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No| }} | <!--Opinion--> |- | <!--Description-->Zoom U-24 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi to 5pin interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi to 5pin interface |- | <!--Description-->Unbranded cable | 0x552d | 0x4348 | F110 | <!--CAMD-->{{Maybe|detected but no usb driver in devs/midi for camd to use}} | <!--Opinion-->detected but not working the USB-MIDI conversion functionality of the cheapo USB MIDI "cable" interface is simply lacking, possibly being incapable of handling MIDI strings longer than 3 bytes long SysEx strings (e.g. SysEx dumps) - tested in Icaros 2.3 - |- | <!--Description-->USB2.0-MIDI Unbranded cable with clear braided underneath leads | <!--Vendor ID-->0x1A86 | <!--Product ID-->0x752D | <!--Revision-->0254 | <!--CAMD-->{{Maybe|detected binding to camdusbmidi.class but untested midi in / out}} | <!--Opinion-->untested but better to get a branded version - tested AROS One 2.4 usb |- | <!--Description-->LogiLink USB to Midi In-Out | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk|}} | <!--Opinion-->untested cheap cable version but issues with latency on other systems |- | <!--Description--> gm5 USB midi chip DIY option only | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Doremidi LEKATO MIDI USB C Interface 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description-->Thomann Midi USB 1x1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> Prodipe made |- | <!--Description-->Prodipe MIDI 1i/1o | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> usb to 5pin midi interface |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |} Classic 5pin DIN controllers for above interfaces {| class="wikitable sortable" width="90%" ! width="20%" | Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |CAMD ! width="30%" |Opinion |- | <!--Description-->Akai s5000 s6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> midi digital samplers |- | <!--Description-->Akai AX80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Casio CZ-5000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Casio CZ-3000 CZ-1000 CZ-101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Cheetah MS6 midi controller | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{No|untested}} | <!--Opinion-->2000 multi-timbral, six-voice (twelve-oscillator), analogue synthesiser module is loaded with CEM 3396s |- | <!--Description-->Ensoniq ESQ1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Integra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Korg Wavestation Ex A/D SR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->1986 ex has piano and drum sounds |- | <!--Description-->Korg DW-8000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Korg DW-6000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Korg Poly 800 MK1 Poly-800ii | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> all plastic and can run on batteries - 49 keys non-velocity dco synt analogue filter |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Roland D-50 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|1987 untested greater concern would be moisture and wear}} |- | <!--Description-->Roland A50 (76) A80 (88) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|1989 untested}} |- | <!--Description-->ROLAND JUNO-D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Roland Juno 106 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->80s kx73 or kx88 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Roland ED PC-160A PC-180A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD--> | <!--Opinion-->{{N/A|untested}} legacy DIN5 MIDI port only - 6 AA batteries or 9v psu - One regular source of failure for me were emty batteries (even with red control light still active). Another source was a bad MIDI cable - unplug then re-plug the USB cable while it is powered the device might reconnect |- | <!--Description-->Roland M1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Roland S-550 S-760 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> digital samplers kontakt replaced these? |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Yamaha DX7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->1983 12bit |- | <!--Description-->Yamaha DX7S DX72IID DX7IIFD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion-->1987 16bit versions |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--CAMD-->{{unk| }} | <!--Opinion--> |- |} The MIDI standard was published in August 1983. The inventors, Kakehashi and Smith finally received a Technical Grammy Award in 2013 for their work. The MIDI files that contained just the note data, velocity and timing meant you could transfer an entire studio session from one place to another on one floppy disk and it could control all the synths and drum samplers. Pass-thru meant that one computer could run an entire bands worth of instruments. It's bulletproof too. MIDI never goes wrong, it's always a bug in software that causes any issue - you can absolutely rely on it to go gigging with, take your synths, controllers and computers and not crash an entire gig at your 100,000 person venue. The MIDI hardware specification is very simple (voltage, polarity, screening, protection and a fast enough opto-isolator), it assumes that the data it sends and receives between MIDI devices is to the MIDI data standard and just passes it on. The microprocessor in the hardware does all the work. The minimum for a computer/MIDI interface is that it meets the MIDI hardware specification. It is attached to the computer bus and handles the electrical conversions required. To meet the MIDI hardware specification, to be class compliant as a USB device all it has to do is report itself properly when plugged in. The other half of the equation is the MIDI data standard, and for a computer MIDI interface the main issue is the speed of data transmission. The bus speed of the computer is faster than the speed of the MIDI standard so it can generate and send MIDI data faster than a MIDI device can receive it. The MIDI standards have nothing to say on that bottleneck at all. MIDI was designed to be very simple and very open, it just defines a standard for the messages and leaves it up to manufacturers to implement them in the way they want. That's what makes it so powerful a tool, and also what makes it so confusing and frustrating at times. For midi, the hardware/software combination at various connection points handles the translation to/from midi (or other protocols). Drivers would be needed for midi, including clock and SysEx signal (actually claiming to handle ALL midi quirks transparently All the important MIDI data types can be sent (CC, NRPN, RPN, MMC, Note On/Off, program change) There is no official way to solve the data bottleneck. Early software sequencers and librarians tried to solve it by having an option to buffer SYSEX data in software and transmit it at the MIDI data rate. The downside is that hogs the bus and can hit computer performance. Interface manufacturers would add a hardware buffer which would take all the MIDI data from the PC bus and feed it into the MIDI at the slower data rate, but that added cost and created timing issues. Things have moved on since then, but the principles remain the same. You can buffer in the hardware or in software, whether that is in the application or the interface driver. SYSEX will work perfectly well with that budget cable if your software handles the buffering. And while the cables with hardware buffers make SYSEX easier, they still have potential problems because of the limitations of the MIDI data rate. Your MIDI clock doesn't like being interrupted with a big program dump The serial / parallel ports were a direct connection, so faster. Now, everything in the computer is virtual and the only thing connected to the hardware is the kernel, hence everything is by default bottlenecked and jittery, regardless of which connection. So by the time the interface gets the information it's already too late. Ethernet network cable to transport MIDI over large distances, connect 2 MIDI In and 2 MIDI Out ports to patch, remap, filter and merge MIDI flows on a fine channel basis for tight MIDI throughput, latency and jitter Possibilities for DAWs of the future including a kind of sync reference for timing reference which an interface could sync to, hence all the timings then would be locked between the grid on the DAW screen and the MIDI info. Preemptible, low latency and accuracy are essential for good communication. One of the first things you need to do, is make sure your MIDI software sets the interface to the same MIDI channel as your keyboard (usually 1) Do you want to send just your master keyboard to other synths or to be able to use any keyboard with any synth? 1st option is relatively simple. Just need to send midi from your master keyboard into a midi splitter that redistributes the signal onto your synths. Each synth will be set up to receive midi on a specific channel so the only challenge is to find a way to select to which channel you are sending midi. Some master keyboards can do that although not many that have a dedicated knob or switch on the panel and most require a bit of menu diving. Could use a midi box that offers channel selection but usually this is not very workflow friendly. The software route would require using the mouse. 2nd option is a bit more complex but superior workflow by sending midi messages into a merge box, from there into a hardware sequencer that allows to select midi channel, then on to a midi interface that distributes the signal to the synths. Master keyboard MIDI-in to computer. External hardware sampler MIDI-out from computer. Audio-out from sampler to audio-in on computer/device. Blue Ribbon Soundworks Bars & Pipes Professional (1993/4) GM (1984), GS (1987), XG level 1-3 (1994-1997), GM level 2 (1999) GM GM1 imposes several requirements beyond the MIDI 1.0 specification. While MIDI 1.0 by itself provides a communication protocol which ensures that different instruments can interoperate at a fundamental level e.g sound modules. GM goes further in two ways. First, GM requires that all compliant MIDI instruments meet a certain minimal set of features, such as being able to play at least 24 notes simultaneously (polyphony). Second, GM attaches specific interpretations to many parameters and control messages which were left unspecified in the MIDI 1.0 specification. A minimum of 128 MIDI Program Numbers (conforming to the GM 1 Instrument Patch Map) and 47 percussion sounds (conforming to the GM 1 Percussion Key Map). Support for controller number 1, 7, 10, 11, 64, 100, 101, 121 and 123; support for channel pressure and pitch bend controllers. General MIDI Level 2 or GM2 is a specification for synthesizers which defines several requirements beyond the MIDI standard and is based on General MIDI (GM) and Roland GS extensions. It was adopted in 1999 by the MIDI Manufacturers Association (MMA). * Number of Notes: 32 simultaneous notes * MIDI Channels: 16 * Simultaneous Melodic Instruments – up to 16 (all Channels) * Simultaneous Percussion Kits – up to 2 (Channel 10/11) Program and bank change events General MIDI 2 compatible synthesizers access all of the 256 instruments by setting cc#0 (Bank Select MSB) to 121 and using cc#32 (Bank Select LSB) to select the variation bank before a Program Change. Variation bank 0 contains the full GM (General MIDI 1) sound set. Variations using other bank numbers are new to General MIDI 2, and correspond to variation sounds introduced in Roland GS. [https://www.youtube.com/watch?v=CluuHrr7HG4 Major WWHWWWH, Minor WHWWHWW scale], [https://www.youtube.com/watch?v=Jjm7Ti-iwz0 Chords], ==usb audio== USB audio has recently made available for Aros, there are many standards introduced over the years. Much is still untested. *Introduced 2000 and from 2014 USB Audio 1 UAC1 16bit 44.1kHz *Introduced 2006 and from 2014 USB Audio 2 [https://www.usb.org/document-library/usb-device-class-definition-audio-devices-release-20-errata-and-ecn-through-april UAC2] 24bit 192kHz *Introduced 2016 and from 2024 USB Audio 3 [https://www.usb.org/documents UAC3] 32bit 384kHz USB group decided to rewrite the audio standard, so [https://os4depot.net/?function=showfile&file=audio/record/usbaudio2.lha UAC2] and [https://archive.fosdem.org/2019/schedule/event/linux_and_usb_audio_class_3/attachments/slides/3345/export/events/attachments/linux_and_usb_audio_class_3/slides/3345/Linux_and_USB_Audio_Class_3___FOSDEM_2019.pdf UAC3]. They added clock selection and control, timing domains and others. Part of the changes included changing many of the descriptors that an audio device uses to describe itself to the machine. PsdErrorlog/PsdDevlister? The AHI driver generated only supports mono/stereo at any bit rates between 8 and 32 bit per sample, but not multichannel modes and only rates up to 65KHz (because AHI uses a 16-bit word for frequencies). If the soundcard does not offer such a PCM 8-32 bit mode at frequencies lower than 65 KHz, there's nothing much that can be done about it on the computer side other than revising and expanding the AHI standard. Most cheap USB soundcards do though. AHI does not support six channel playback. It only supports mono, stereo and multichannel (8 channels). Due to the multichannel mode not being used by any application so far, the usbaudio.class does not support multichannel playback, especially not "upchannelling" stereo to six or more channels. If this USB device does not support a two channel mode, you can't use it under AHI. Untested but most likely to work, at least 2 mic inputs (low impedance) & instruments (high impedance) and made in the last 10 years *[https://www.youtube.com/watch?v=gMuA-2FbJxE Entry level <100Euro] BOMGE U202, Behringer UMC, Presonus Studio, *[ Next tier <200Euro] Audient iD, Solid SSL2 and SSL2+, Lewitt, Focusrite Scarlett, Arturia MiniFuse, *[ Prosumer <300Euro] Focusrite Clarett+, *[ Professional <500Euro] RME Babyface, *[ Studio >500Euros] Bands should need 4 or more mic inputs [http://forum.xda-developers.com/showthread.php?p=38364030 XDA Forum thread], <pre> <- Computer <- Mobile Phone / Tablet (OTG) <- Digital Cameras <- Video <- Webcams Base Computer <-> OBS like <- Audio Mixer <- Microphone(s) -> Internet -> Youtube & Chat </pre> USB AUDIO CARDS - UAC Compliant {| class="wikitable sortable" width="90%" ! width="20%" |Description ! width="10%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="10%" |Playback ! width="10%" |Records ! width="30%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Antelope Galaxy 64 Synergy Core | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion--> not compliant so does not wotk with Aros and a high-end 64-channel AD/DA converter HDX, Dante connectivity and a Thunderbolt Audio interface |- | <!--Description-->Antelope Galaxy 32 Synergy Core | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion--> not be compliant so does not wotk with Aros as Antelope Audio does not provide official drivers, control software, or an Antelope Launcher |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Arturia Mini Fuse 1 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 maybe usb compliant, okay pre amp 1 combi input, cirrus logic cs4272 ad converter, |- | <!--Description-->Arturia MiniFuse 2 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 maybe usb compliant usb-c with usb2.0, okay pre amps with good dynamic range 110dB, cirrus logic cs4272 ad converter, two combi inputs for mic, line or guitar, |- | <!--Description-->Arturia MiniFuse 4 | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 maybe usb compliant, okay 110dB dynamic range, -129dB EIN, |- | <!--Description-->Arturia AudioFuse 16Rig | <!--Vendor ID-->0x1C75 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 maybe usb compliant, good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Audient iD44 mk1 mki | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2018 maybe usb compliant, good, |- | <!--Description-->Audient evo4 EVO8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe usb compliant, |- | <!--Description-->Audient iD4 mk2 mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, |- | <!--Description-->Audient id14 mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 maybe usb compliant, good, |- | <!--Description-->Audient iD24 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 maybe usb compliant and usb-c bus powered, good, , 0-in/14-out audio interface with ADAT expandability, balanced inserts |- | <!--Description-->Audient iD44 Mk2 Mkii | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 maybe usb compliant, good, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Behringer U-PHORIA UMC22 | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps |- | <!--Description-->Behringer U-PHORIA UMC202HD | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps ein -129 dBu, 24bit ADC, |- | <!--Description-->Behringer U-PHORIA UMC404HD | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, okay, midas pre-amps, 24bit adc, |- | <!--Description-->Behringer U-PHORIA UMC204HD 192 Empower Tribe | <!--Vendor ID-->0x1397 | <!--Product ID-->0x0508 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 maybe usb compliant, okay, midas pre-amps |- | <!--Description-->Behringer UMC1820 | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2016, bus complaint?, okay midas pre amps, adc, |- | <!--Description-->Behringer U-PHORIA UM2 | <!--Vendor ID-->0x1397 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 maybe usb compliant, poor zenyx pre-amps with high noise floor, plastic build no rf shielding, latency issues, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Focusrite Saffire 6 USB 1.1 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, , , midi, strictly NEC USB 2.0, |- | <!--Description-->Focusrite Scarlett 8i6 Gen 1 MOSC0001 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, but |- | <!--Description-->Focusrite Scarlett 2i2 Gen 1 MOSC0003 *TP1 - 3.3V, tested ok *TP2 - U4 control signal, 3.3V present at all time. *TP4 - Ground *TP6 - 48V, tested ok *TP7 - Ground *TP8 - Ground | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 usually avoid early Gen 1, |- | <!--Description-->[https://khronscave.blogspot.com/2021/08/75-focusrite-scarlett-2i4-1st-gen.html Focusrite Scarlet 2i4 Gen 1 (slide toggles) MOSC0004] *TP1 - 3.3V, tested 3.22v *TP2 - U4 control signal, 3.3V present *TP4 - Ground *TP6 - measure 47.72v * AKM 4384ET (VDD 5v) * Cirrus Logic CS4272-CZZ (VA 4.94v/ VD 3.2v/ VL 3.2v) * all four HC4066 (VCC 4.96v) * XMOS XS1-L01A-TQ128-C5 (all VDD 1.08v/ all VVDIO 3.23v/ PPLAVDD 0.99v/ PCU-VDDIO 3.23v) 2i4S *TP1 seems to be 0V *TP2 should be 5V *TP3 should be *TP6 should be 48V *TP8 should be 3.3V | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, pre amps JRC NJM2122 and NJM4565, [https://statics.cirrus.com/pubs/proDatasheet/CS4272_F1.pdf CS4272 adc], [https://pdf.datasheet.live/e5e5fd1c/akm.com/AK4384.pdf AK4384 output pair], Xmos XS1-L8A-64-TQ128 processor and firmware in Winbond 25X40CL 4Mbit, an SMSC Microchip USB3343 interface and a Microchip PL611 clock generator - two Intersil / Renesas ISL97519A for the phantom power rail, two OnSemi NCP1521B for the 3.3V (digital) and 1V (Xmos core) rails - |- | <!--Description-->Focusrite iTrack Solo USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2012 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 18i20 1st Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, , Cirrus CS4272, |- | <!--Description-->[http://wiki.linuxaudio.org/wiki/current_audio_gear Focusrite ] Scarlett 4i4 Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, , Cirrus CS4272, |- | <!--Description-->Focusrite Scarlett 6i6 Gen1 MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, , , 12v psu, the headphone outs mirror the outs on the back panel, so that's six independent outs. 4 independent analog output paths, plus two over spdif, |- | <!--Description-->[https://khronscave.blogspot.com/2019/03/38-focusrite-scarlett-18i8-gen1-teardown.html Focusrite Scarlett 18i8 1st Gen MOSC0008] | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, JRC NJM4565 provide most of the opamps, pair of JRC NJM2122's for inputs 1 and 2, [http://www.mouser.com/ds/2/76/cs4272_f1-43250.pdf Cirrus CS4272], 12v 1a +central psu to a pair of National Semiconductor LM2672 for 3.3V rail and the +6.9V rail, Xmos XS1–L16A–128 dual-row QFN package, firmware a Winbond 25X40C 4Mbit SPI Flash and an SMSC USB3343 interface chip, the two headphone outs are completely independent so 6 independent analog output paths, plus two over spdif, |- | <!--Description-->Focusrite Clarett+ 8Pre | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 great, expensive, maybe usb compliant? |- | <!--Description-->Focusrite Scarlett 2i2 Gen 2 (slide toggles) MOSC0006 *TP6 should be 48V | <!--Vendor ID-->0x1235 | <!--Product ID-->0x8202 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, USB-b bus powered, good preamps ein equivalent input noise -128 dBu, 24-bit 192kHz CS4272 as well as an additional AKM AK4384ET for the second stereo output pair, 4 screws under bottom rubber, |- | <!--Description-->[https://khronscave.blogspot.com/2021/07/focusrite-scarlett-2i4-2nd-gen-teardown.html Focusrite Scarlett 2i4 Gen 2 (slide toggles) MOSC0014] *TP6 should be 48V | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, USB-b bus powered, good preamps NJM2122's, NJM4565's and CMOS switches (HEF4053 and HEF4066), CS4272 and a AKM AK4384ET, Xmos XU208-256-TQ64-C10 with firmware stored in a Macronix MX25L8006E 8Mbit flash memory, clocking by a Cirrus Logic CS2100, an MP1542 boost converter creates +6V and -6V rails, powering the opamps and the rest of the analog circuitry, |- | <!--Description-->Focusrite Scarlett 6i6 Gen2 MOSC0016 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, 12v psu, |- | <!--Description-->Focusrite Scarlett Solo 2nd Gen MOSC0019 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, |- | <!--Description-->[https://khronscave.blogspot.com/2024/03/focusrite-scarlett-18i8-gen2-teardown.html Focusrite Scarlett 18i8 2nd Gen MOSC00] | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, 12v psu, |- | <!--Description-->Focusrite Red 16Line | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 may not be compliant as Focusrite provides no drivers - 64-in/64-out Pro Tools - dual Thunderbolt 3 audio interface with ultra-low latency A-D/D-A conversion - Red Evolution mic preamps |- | <!--Description-->Focusrite Scarlett Solo 3rd Gen MOSC0024 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant usb-c but usb2, preamps, ad/dc 24bit 192kHz, most Focusrite gen3 interfaces have encrypted processors, |- | <!--Description-->Focusrite Scarlett 18i6 Gen3 MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, USB2 class compliant device, but with custom mixer interface |- | <!--Description-->Focusrite Scarlett 2i2 Gen 3 (push in switches) MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID-->0x8210 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, USB-c bus powered, good preamps ein equivalent input noise -128 dBu, 24-bit 192kHz Cirrus Logic xfr002c and cs4272 chips, |- | <!--Description-->Focusrite Scarlett 18i20 3rd gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 18i8 3rd Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID-->0x8214 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, , , no screws under the rubber pads on the bottom, 12v psu, |- | <!--Description-->Focusrite Scarlett Solo Studio Mk3 USB Audio Interface MOSC0030 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2020 |- | <!--Description-->Focusrite Scarlett 2i2 4th Gen USB | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 4i4 4th Gen USB | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett Studio 4th Gen USB | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Focusrite Scarlett Solo 4th Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description-->Focusrite Scarlett 18i20 4th Gen MOSC00 | <!--Vendor ID-->0x1235 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FractalAudio FM9 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 |- | <!--Description-->Fractal Audio AM4 platform | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 not working |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Lewitt Connect 6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description-->Lewitt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Mooer Steep II Multi-Platform USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Motu UltraLite AVB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> usb not compliant? |- | <!--Description-->MOTU M2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant?, usb-c, good pre amps, ad/dc, |- | <!--Description-->MOTU M4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, okay, |- | <!--Description-->MOTU U2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, good but latest had hardware revision |- | <!--Description-->MOTU UltraLite-mk3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 not usb compliant, great |- | <!--Description-->MOTU UltraLite-mk5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 not usb compliant, great |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Nuemann MT48 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> usb audio compliant, great pre-amps |- | <!--Description-->Neumann MT48 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->neuralDSP Quad Cortex QC platform | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 cc compliant but plugins not working |- | <!--Description-->NeuralDSP QC Lite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 cc complaint |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Neve Genesys Black G16 G32 G64 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> not compliant - very good very expensive |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Presonus AudioBox USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe not usb compliant, usb1.1 usb-b bus powered, okay pre-amps, 24bit ADC 48Khz max, |- | <!--Description-->Presonus Audiobox 1818VSL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Presonus AudioBox 44VSL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 may not be usb compliant, 12v psu, |- | <!--Description-->PreSonus AudioBox 22VSL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->|PreSonus Studio 2|4 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, usb-b, |- | <!--Description-->|PreSonus Studio 2|6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe usb compliant, |- | <!--Description-->|PreSonus Studio 6|8 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe compliant, needs ext psu, |- | <!--Description-->PreSonus Studio 24c 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, usb-c, good, adc, |- | <!--Description-->PreSonus Studio 26c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, usb-c, |- | <!--Description-->PreSonus® Studio 68c | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, usb-c, |- | <!--Description-->PreSonus AudioBox USB 96 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe usb compliant, high preamp noise, |- | <!--Description-->Presonus Quantum ES2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, okay, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Prism | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Prism Lyra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe not usb compliant, great |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Platane UP1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant usb- UAC2 asynchronous protocol, 64dB Low-noise Mic amplifier, 32Bit High End ADC and DAC, 16dBu High-power ti headphone amplifier |- | <!--Description-->Platane UP2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, |- | <!--Description-->Platane | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->RME Babyface/UC/UFX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 maybe not usb compliant, good |- | <!--Description-->RME Fireface UCX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2012 might be able to put into class compliant cc although a firewire device, pre amps, adc, |- | <!--Description-->RME Babyface Pro FS | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe not usb compliant, good |- | <!--Description-->RME Fireface UCX II | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 might be class compliant usb-b, pre amps, adc, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Solid State Logic SSL2 SSL2+ Mk1 1st Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe usb compliant, good, adc, |- | <!--Description-->Solid State Logic SSL12 SSL18 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, bus powered, good pre-amps, up to 32-bit 192kHz AD/DA converters, 12-in 8-out, |- | <!--Description-->Solid State Logic SSL2 SSL2+ MkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant, good pre amps ein -130 dBu, ad/dc, okay latency, |- | <!--Description-->Solid State Logic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Topping E1x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 maybe usb compliant, good |- | <!--Description-->Topping Pro E2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 maybe usb compliant, good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->UAD UA Apollo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2012 maybe not usb compliant, |- | <!--Description-->UA apollo 2nd Gen twin X (Duo/Quad), X4, X6, X8, X8P, and X16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 bus compliant?, usb- |- | <!--Description-->UA apollo twin x quad 3rd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 bus compliant?, usb- |- | <!--Description-->Universal Audio Volt 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 maybe usb compliant, good, |- | <!--Description-->|Universal Audio Volt 276 2|76 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 maybe usb compliant, good, |- | <!--Description-->Universal Audio Volt 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant, good, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->Akai EIE Pro AI01 Electromusic Interface Expander - | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe not usb compliant, 4-in/4-out USB 2.0 audio interface with a built-in USB hub and MIDI I/O, up to 24-bit/96kHz |- | <!--Description-->Akai EIE Pro AI02 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->|Alesis io2 io|2, io14 io|14, io26 io|26 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 bus powered but not usb compliant, okay pre-amps, 2, 4 or 8 mics respectively, |- | <!--Description-->Alesis iO2 Express | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2010 not usb compliant, poor pre-amps, |- | <!--Description-->Alesis Core 1 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe cc, mini usb, poor latency, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Apogee Duet 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 firewire only, not usb compliant micro-usb with most features, , , two‑channel two‑in, two‑out, |- | <!--Description-->Apogee Ensemble | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 firewire, not usb compliant micro-usb with most features, , , two‑channel |- | <!--Description-->Apogee One USB 1st Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 maybe not usb compliant micro-usb for basic features, , , single‑channel up to 48kHz |- | <!--Description-->Apogee One USB 2nd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant usb- and maybe aa batteries, |- | <!--Description-->Apogee Duet 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant usb-c with most features, , , |- | <!--Description-->Apogee One USB 3rd Gen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant, |- | <!--Description-->Apogee Ensemble Thunderbolt | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 maybe not usb compliant micro-usb with most features, , , two‑channel |- | <!--Description-->Apogee Boom | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant usb-c, , , |- | <!--Description-->Apogee Duet 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2022 maybe usb compliant usb-c with most features, , , |- | <!--Description-->Apogee | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->ART PRO Audio Usb Mix | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 maybe usb compliant bus powered, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Avid Digidesign Mbox 1 USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID-->01000 | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2002 mbox original was usb1 and not a usb class compliant device, and had the much hated "focusrite designed" mic preamps, light blue front plate and the sticky out feet |- | <!--Description-->Avid Digidesign Mbox 2 USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2005 midi not usb compliant |- | <!--Description-->Avid Digidesign Mbox 2 Pro USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 not usb compliant |- | <!--Description-->Avid Digidesign Mbox 2 Mini USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2007 not usb compliant |- | <!--Description-->Avid Digidesign Mbox 2 Micro USB Audio | <!--Vendor ID-->0x0dba | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 not usb compliant |- | <!--Description-->AVID MBox 3rd gen Mini or Standard but Pro is Firewire | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2010 maybe usb compliant, |- | <!--Description-->behringer u-control uca202 | <!--Vendor ID-->0x8bb | <!--Product ID-->0x2902 | <!--Revision-->1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, draws a lot of power - dac ti burr-brown - no microphone pre-amp - |- | <!--Description-->Behringer U-CONTROL UCA 222 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2009 maybe usb compliant, - no microphone pre-amp - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Black Lion Audio 2x2 evolution | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 maybe usb compliant but , okay with 109dB range - poor noise floor, 24-bit 192kHz Cirrus Logic CS4272, average latency, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Bomge 11s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 |- | <!--Description-->Bomge 22s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 |- | <!--Description-->Bomge BMG22 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2021 usb-c, 24bit 192kHz but only use much lower, may have to spend time cleaning up some of the noise, high latency, |- | <!--Description-->Bomge U202 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 usb-c, 32bit 192kHz but only use much lower, may have to spend time cleaning up some of the noise, high latency, |- | <!--Description-->Bomge U204 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 usb-c, 32bit 192kHz but only use much lower , may have to spend time cleaning up some of the noise, high latency, |- | <!--Description-->Bomge Mini | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2024 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->TI Burr-Brown PCM2702E PCM2704 PCM2704C Muse Audio Mini USB DAC board | <!--Vendor ID-->0x08bb | <!--Product ID-->0x2704 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, no mic input - goodish quality |- | <!--Description-->TI Burr-Brown PCM2900 PCM2902 PCM2906 USB DAC board | <!--Vendor ID-->0x08bb | <!--Product ID-->0x2900 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, no mic input - goodish quality |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Depusheng MD22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2022 usb-b powered, 24bit 192kHz though is 96kHz, |- | <!--Description-->Depusheng USB Audio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 usb-b powered, 24bit 192kHz though is 96kHz, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->|Emagic emi 2|6 em2|6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2002 not uac |- | <!--Description-->|Emagic emi 6|2m | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2005 not uac |- | <!--Description-->|Emagic emi 6|2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2005 not uac |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Ego Systems, Inc. in Korea (ESI) joining with RIDI GmbH | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2006 maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->esi Mixvibes U46 Mk II USB audio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2007 not usb compliant, usb-b powered, |- | <!--Description-->ESI ESU22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2008 maybe not usb compliant, |- | <!--Description-->esi U24XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b powered, 24 bits, 2 analogue inputs and outputs with 6.3 mm jack connection, Output L can be used as a headphone output, S / PDIF digital input - |- | <!--Description-->esi U46XL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b powered, |- | <!--Description-->ESI Originals, Inc ESIO MAYA22USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, usb-b powered, 1 xlr, |- | <!--Description-->ESI MAYA44USB+ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, usb-b powered, xlr, |- | <!--Description-->ESI Originals, Inc ESIO MARA22XTU | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe usb compliant, usb-b powered, 1 xlr, |- | <!--Description-->ESI U22XT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 usb class compliant |- | <!--Description-->ESI Gigaport Ex | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2020 usb compliant?, usb-c usb3.1, , , |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->iConnectivity iConnectAUDIO2+ icaudio-02 USB audio interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->{{unk|2016 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->LexiconPro - Omega 8x4x2 (USB-1.1) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2003 not usb complaint |- | <!--Description-->Lexicon Alpha | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 not usb compliant, |- | <!--Description-->Lexicon Lambda | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2006 may not be compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Line 6 Toneport UX1 and Tone Port UX2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2004 not usb compliant, |- | <!--Description-->Line 6 TonePort UX8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2005 maybe not class compliant, |- | <!--Description-->Line 6 POD Studio UX1 UX2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2006 not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Lokchonk UX22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->[https://www.youtube.com/watch?v=ljSiNmudMm0 Lokchonk UX44HD] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2023 usb-b , , , 2in 2out only, average latency, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Mackie Onyx Artist 1·2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2006 maybe not usb compliant, usb-b powered, |- | <!--Description-->Mackie Onyx Producer 2X2 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b midi |- | <!--Description-->Mackie Onyx Blackjack | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 USB powered but maybe not usb compliant, Two Onyx Preamps, 2-in, 2-out which are combo Neutrik-type connectors to handle XLR, instrument or line level |- | <!--Description-->Mackie | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, , , |- | <!--Description-->Media Assistance USB-One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 not uac cc comliant, |- | <!--Description-->M-Audio Fast Track USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2004 maybe not usb compliant, - guitar |- | <!--Description-->M-Audio Fast Track Ultra (6 in 6 out) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2008 maybe usb cc providing 24-bit/96kHz audio capabilities but requires manual configuration of the mixer settings |- | <!--Description-->M-Audio M-Track | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 usb compliant?, okay - guitar and vocal mainly |- | <!--Description-->[https://htyp.org/M-Audio/Fast_Track_Ultra/Linux M-Audio FastTrack Ultra] and Ultra 8R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2010 maybe usb compliant, low round-trip latency, okay octane pre amps, adc, |- | <!--Description-->M-Audio M-Track 2x2M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 usb compliant? usb-c - okay pre-amps, , |- | <!--Description-->M-Audio M-Track (MkII) 2x2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2016 usb compliant? usb-c - okay pre amps, , |- | <!--Description-->M-Audio M-Track Solo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 usb compliant? - okay but issues, MJN4580C opamps (lower gain 55 dB at volume 9-10), ti PCM2900C ADC 16bit means there is a hard noise floor at -96 dB, plastic build no rf shielding, |- | <!--Description-->M-Audio M-Track DUO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 usb compliant? - okay but issues, MJN4580C opamps (lower gain 55 dB at volume 9-10), ti PCM2900C ADC 16bit means there is a hard noise floor at -96 dB, plastic build no rf sheild, |- | <!--Description-->M-Audio Air | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, okay |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->NI AK1 | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, |- | <!--Description-->[https://www.pogo.org.uk/~mark/linuxdj/ Native Instruments Traktor Audio 8 DJ], [ Traktor Audio 4 DJ], [ Traktor Audio 2 DJ], | <!--Vendor ID-->0x17cc | <!--Product ID-->0x1978, 0x0839, 0x041C | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2009 not usb compliant uses snd-usb-caiaq module, [https://mixxx.discourse.group/t/problems-with-native-instruments-audio-8-dj-on-linux/14719/2 Audio 8 device has 4 subunits which are not recognized correctly], Cirrus Logic DACs spec'd at 24-bit/96KHz over a USB2, |- | <!--Description-->NI Komplete Audio 6 Mk1 | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2011 maybe usb compliant, pre amps, 24bit 96kHz adc, ocassional dropouts, plastic build top with metal around 3/4, |- | <!--Description-->Native Instruments NI Komplete Audio 1 and 2 USB | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, good pre amp ein -129.5 dBu, ad/dc, |- | <!--Description-->[https://support.native-instruments.com/hc/en-us/articles/360014683497-Apple-Silicon-Compatibility-News Native Instruments Komplete Audio 6 Mk2] | <!--Vendor ID-->0x17CC | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, pre amps, 24bit 192kHz adc, black aluminum glass build, |- | <!--Description-->[ Native Instruments Traktor Pro] | <!--Vendor ID-->0x17cc | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2023 maybe usb compliant |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Novation AudioHub 2x4 NOVHUB01 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant, usb-b powered, no xlr, focusrite sounds inside, |- | <!--Description-->Novation AudioHub | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Prodipe Studio 22 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Schiit HEL 1 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 |- | <!--Description-->Schiit HEL 2 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 gaming headsets mostly |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Roland Edirol UA-3 Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->1998 maybe not usb compliant, |- | <!--Description-->Roland Edirol UA-30 Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->1999 not usb compliant, |- | <!--Description-->Roland Edirol UA1A UA-1D Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2000 not usb compliant, |- | <!--Description-->Roland Edirol UA-5 Audio Capture (Roland) | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2000 not usb compliant, |- | <!--Description-->Roland Edirol UA-1000 Audio Capture | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2004 not usb compliant, |- | <!--Description-->Roland Edirol UA-1EX, Cakewalk UA-1G | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2005 not usb compliant driver also supports ASIO (Steinberg Audio Stream I/O Interface), noisy |- | <!--Description-->Roland Duo Capture UA-11 | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2006 not usb compliant, |- | <!--Description-->Roland QUAD-CAPTURE Analog 2x2 Digital 2x2 USB 2.0 4in/4out | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2005 not usb compliant, usb-b powered |- | <!--Description-->[https://wiki.debian.org/DebianEdu/Documentation/Manuals/Rosegarden/Setup Roland Edirol UA-101 and UA-1000 (Clemens Ladisch driver)] | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2006 not usb compliant, |- | <!--Description-->[https://github.com/mmueller-kaffeeschluerfercom/UA-25-Firmware-Modification Roland Edirol ua-25] | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2007 maybe usb compliant 16bit 44.1kHz sampling without MIDI but not USB class complient when in Advanced mode for 24bit or midi |- | <!--Description-->Edirol by Roland USB AudioCapture UA-25EX | <!--Vendor ID-->0x0582 | <!--Product ID-->0x00e6, 0x00e7 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2008 maybe usb compliant if ADVANCED DRIVER switched to OFF might play and record at 44.1kHz and 16-bit samples |- | <!--Description-->Roland Audio Interface V-Studio 20 VS-20 Cakewalk | <!--Vendor ID-->0x0582 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2010 maybe not usb compliant, usb-b powered, 1 xlr, |- | <!--Description-->Roland Edirol UA55 UA-55 Quad Cakewalk | <!--Vendor ID-->0x0582 | <!--Product ID-->0x012f | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2011 not USB class compliant, |- | <!--Description-->Roland DUO-CAPTURE EX UA-22 USB Audio | <!--Vendor ID-->0x0582 | <!--Product ID-->0x0159 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant but not be used with a USB 3.0 port that is not compatible with USB 2.0 specification, vs pre amps, adc, three AA batteries in base, or an AC adapter psb-1u 9V 2A - |- | <!--Description-->Roland Rubix series Roland Rubix22 USB 2.0 Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe usb compliant, |- | <!--Description-->Roland Rubix series Roland Rubix24 USB 2.0 Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2017 maybe usb compliant, |- | <!--Description-->Roland | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant |- | <!--Description-->Steinberg MI2, Steinberg MI4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2004 not usb compliant, |- | <!--Description-->Steinberg (2004 Yamaha buys) MIDI interface hardware including the CC like CC121 CC-121 and CI1 CI2 series. | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2008 not usb compliant, |- | <!--Description-->Steinberg UR12 UR22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe not usb compliant, poor pre-amps, |- | <!--Description-->Steinberg UR44 usb audio interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 maybe not usb compliant, poor pre-amps, |- | <!--Description-->Steinberg UR242 audio interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2015 maybe usb compliant, usb powered or 5v psu, okay pre-amps, |- | <!--Description-->Steinberg UR22mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 maybe usb compliant, okay pre-amps ein -123 dBu, ad/dc, |- | <!--Description-->Steinberg UR-RT 2 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2018 maybe usb compliant, usb2.0 usb-b, pre-amps, ad/dc, |- | <!--Description-->Steinberg UR44C (USB3) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2019 maybe usb compliant, |- | <!--Description-->Steinberg URX22C UR22C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2021 maybe usb compliant, preamps okay but little noisy, ad/dc. |- | <!--Description-->Steinberg UR22 MkIII UR series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe usb compliant usb-c, okay pre-amps, adc, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Tapco LiNK.USB 2x2 (Loud technologies WA, USA) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2005 maybe not compliant, usb-b, poor pre-amps hum, latency issues, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->[https://git.alsa-project.org/?p=alsa-tools.git;a=blob;f=usx2yloader/README;hb=3843634ef0310a952b256bcb6a4ddd0ad4ebe396 Teac Tascam US-422 US-428 US2XYloader] | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2000 not usb compliant, |- | <!--Description-->Tascam US-122 US-224 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2003 not usb compliant, needing firmware usx2yloader/us122fw.ihx for audio sound card - Tascam US-122 and US-122L are not the same - |- | <!--Description-->Tascam US-122L | <!--Vendor ID-->0x0644 | <!--Product ID-->0x800e | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2006 not usb compliant, obsolete needs tascam_loader.ihx and us122fw.ihx firmware loaded each time unless automated |- | <!--Description-->Tascam US122 US-122 Mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2004 not usb compliant although USB2 downgrade so using USB1.1 UHCI, tascam units suffer from high round-trip latency as do most typical USB units |- | <!--Description-->Tascam US144 US-144 Mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2004 maybe usb compliant although USB2 downgrade so using USB1.1 UHCI, tascam units suffer from high round-trip latency as do most typical USB units |- | <!--Description-->Teac TASCAM US-200 USB 2.0 Audio / MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Teac US-366 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Teac TASCAM US-600 USB 2.0 Audio / MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 maybe not usb compliant, |- | <!--Description-->Teac TASCAM US-800 USB 2.0 Audio / MIDI Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no|no driver}} | <!--Records-->{{no|no driver}} | <!--Opinion-->2011 may not be totally usb compliant |- | <!--Description-->Teac Tascam iU2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{no| }} | <!--Records-->{{no| }} | <!--Opinion-->2012 maybe not usb compliant, |- | <!--Description-->Teac Corp Tascam US-2x2 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2014 usb compliant?, 5v dc power, midi out in, |- | <!--Description-->Teac Corp Tascam US-4x4 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> usb compliant?, |- | <!--Description-->Teac Tascam US-16x08 US-20x20 | <!--Vendor ID-->0x0644 | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->teyun q12 Q-12, q22 Q-22 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant - unknown pre amp, unknown ad/dc, |- | <!--Description-->Teyun q26 Q-26, q24 Q-24 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe usb compliant - unknown pre amp, unknown ad/dc, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Yamaha UW500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2000 not class compliant, |- | <!--Description-->Yamaha Audiogram 3 USB Digital Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2012 maybe usb compliant, okay pre amp, 16bit 44kHz adc no advanced features without dedicated asio driver, 1 xlr, 1 instrument, |- | <!--Description-->Yamaha Audiogram 6 USB Digital Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2013 maybe usb compliant, okay, 2 xlr, 2 instrument, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Zoom UAC-232 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, okay, |- | <!--Description-->Zoom UAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> maybe not usb compliant, okay, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->[http://www.arcam.co.uk/products,rseries,usb-dacs,rPAC.htm Arcam rPac] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Audioquest Dragonfly | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Audioengine D1 Premium 24-bit DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Beresford TC-7520 (Burr Brown PCM 1716) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Beresford TC-7520 + Burson Buffer + MK3 JKSPDIF | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->[http://epiphany-acoustics.co.uk/products-page/dacs/e-dac-24bit-miniature-usb-dac/ Epiphany E-DAC 24bit] ES9023 DAC chip | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Firestone Audio FUBAR II Mk2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Firestone Audio iLoveTW 24Bit USB DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FiiO D5 ta2020 chip amp | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FiiO E07K Andes | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->FiiO E17 Alpen | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->GoVibe Magnum | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->GoVibe Martini-U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->GoVibe Vulcan | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Halide Design DAC HD (Wolfson WM8716) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->HRT Steamer II USB DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->John Kenny JKDAC uses a 24-bit/192&nbsp;kHz Sabre ES9022 DAC or better JKDAC32 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> iBasso D12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Leckerton UHA-6S MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->MyST 1866 PortaDAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Objective DAC ODAC+O2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Rega DAC (Wolfson WM8742) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->[http://www.henryaudio.com/open-source.php Henry Audio USB DAC 128 also known as QNKTC AB-1.2 open source DAC] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Henry Audio mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->AKM4430 DAC chip comes from Asahi Kasai |- | <!--Description-->DevilSound USB DAC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Zoom U series | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->KingRex UD-01 SE (Burr-Brown PCM 2702E) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->SuperPro 24/192 USB DAC (24bit 192&nbsp;kHz, CS-4398 D/A chip) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | CMedia CM108 7.1ch emulation I2S in and out | 0x1926 | 0x0003 | 0x0100 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | [http://www.lindy.co.uk/usb-2-audio-adapter/42961.html Lindy USB 2.0] (Chipset CM108) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | Speed-Link SL-8850-SBK Vigo ([http://mightyohm.com/forum/viewtopic.php?p=1036#p1030 CMedia CM108]) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | Dynamode USB SOUNDCARD 2.0 | <!--Vendor ID-->0x0003 | <!--Product ID-->0x1130 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | Dynamode Virtual 7.1 USB-SOUND7 (C-Media ) | 0x0d8c | 0x000c 0x000e | 1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Generic White box with very little red led and white USB lead (CMedia ) | <!--Vendor ID-->0x0d8c | <!--Product ID--> 0c000e | <!--Revision-->1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | CM109 CiT SC-U119 5.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | CMedia CM1197.1ch I2C MCU port Penguin | 0x0D8C | 0x0000 | 0x010 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description-->Sweex 7.1 Startech External USB, WMA Blue metal box SYBA SD-AUD20040, Sabrent USB-SND8, Sewell Vantec NBA-200U (C-Media CM6206 CM106 like) | <!--Vendor ID-->0x0d8c | <!--Product ID-->0x0102 | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->50/50 if the item is detected but does not work |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Creative Labs SoundBlaster X-fi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Creative X-Fi Go | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Creative X-Fi 5.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Creative Sound Blaster Play! USB sound adapter (SB1140) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> working with [http://www.amiga.org/forums/showpost.php?p=646431&postcount=15 Deneb on OS3] |- | <!--Description-->Asus Xonar U1 (ASUS UA100 USB Audio Chip) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Asus Xonar U3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Playback | Records | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Griffin iMic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->M-Audio Transit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Icemat Siberia (steel series) (Cmedia chipset) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->JMTek HY554, ZyXEL NSA-220, Logilink (Tenx Technology TP6911 and SSS-1623 headphone set) | 0x0C76 0x1130 | 0x1605 0x1607 0xf211 | 0x | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> reports on other OS not good |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Plantronics "DSP Adapter-01" (or "USB Adapter-02") | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Rocksmith Real Tone Cable | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->RSA Intruder Predator | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->StarTech ICUSBAUDIO7 | <!--Vendor ID-->0x0d8c | <!--Product ID-->0x000c | <!--Revision-->1.00 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Stoner Acoustics UD100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Teac UDH01-B | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Terratec Aureon 5.1 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Terratec Aureon 5.1 USB MKII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->TerraTec Electronic GmbH Aureon Dual USB | 0x0ccd | 0x0077 | <!--Product ID--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Terratec Phase26 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Trust 510 EX 5.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Logitech A-5572A USB 2.0 to 3.5mm jacks Virtual 7.1 Surround Sound Adapter or accessory of Logitech Clearchat pro USB or Logitech USB Headset H530 | <!--Vendor ID-->0x0003 | <!--Product ID-->0x046D | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Trumix TM-10 USB Audio Interface | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion-->2024 maybe cc |- | <!--Description-->Trumix TM-12 USB-C | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion-->2024 maybe cc usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description-->Turtle Beach Audio Advantage Amigo Micro II USB Sound Card & Headset Adapter | <!--Vendor ID-->0x10F5 | <!--Product ID-->0x0211 | <!--Revision-->0100 | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |- | <!--Description-->Vantec NBA-100U 7.1 Channel | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback-->{{unk| }} | <!--Records-->{{unk| }} | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Playback--> | <!--Records--> | <!--Opinion--> |} Companies including Access, Alesis, Allen&Heath, American Audio, CME, ESI, Infrasonic, Lexicon, Numark, Presonus, Reloop, SIMS, Sound Devices, Steinberg, Swissonic, Tascam, Terrasoniq, Terratec, Yamaha and Yellowtec decided to license and bundle this driver. So fully functional custom drivers are available for Access Virus TI, Access Virus TI snow, Alesis Multimix 8 USB2.0, Alesis Multimix 16 USB2.0, Allen&Heath XONE:2D, Allen&Heath XONE:3D, Allen&Heath XONE:4D, Allen&Heath XONE:DX, Allen&Heath XONE:DB4, American Audio Versa Port, CME XCORPIO, ESI ESU1808, ESI Gigaport AG / DG, ESI Maya 44 USB, Infrasonic Amon, Lexicon I-ONIX U22, Lexicon I-ONIX U42S, Lexicon I-ONIX U82S, Mindprint DI-MOD USB, Numark DJ IO, Numark NS6, Numark NS7, Numark Omni Control, Numark V7, Presonus Audiobox USB, Reloop Digital Jockey, SIMS Primus, Sound Devices USB pre, Steinberg MI2, Steinberg MI4, Swissonic Easy USB, Tascam M-164UF, Tascam US-122L, Tascam US-144, Tascam US-Tascam US-144mkII 122mkII, Tascam US-200, Tascam US-600, Tascam US-1641, Tascam US-1800, Tascam US-2000, Terratec Area 61, Terrasoniq Phase X64, Terratec Phase 26 USB, Yamaha UW10, Yamaha UW500, Yellowtec PUC2 and many others. Well, those companies are using the same driver framework because all of those interfaces use the same microprocessor/firmware architecture to communicate with the USB bus. Just like almost all FireWire audio interfaces use the same TC Dice or BridgeCo chipsets. Usually it does not make sense for companies to develop their own USB1.1/USB2/FW framework for a product they are going to sell for <$500. However, that isn't the end of the story. The companies who develop audio interfaces implement different features into their devices and must update the driver and firmware to accommodate those features. That is where things can go wrong. Sometimes there is miss-communication about how things are coded, sometimes the developer who started a project leaves without transferring his knowledge to his successor, etc. You have to keep in mind that there are no "big" computer audio companies. Even the companies that seem big in the scale of the market, probably have fewer employees than you'd think. A very well made interface that is designed from scratch from the ground up would be a very expensive device, regardless of whether it's USB, FW, PCIe or whatever. Round-trip latency is the sum of the following: <pre> ASIO input buffer ASIO output buffer A/D D/A converter latency The driver's hidden safety buffer </pre> At a 64-sample ASIO buffer size/44.1k, Tascam units yield ~18ms total round-trip latency. Typical USB audio interfaces use a large hidden safety buffer. This helps ensure glitch-free playback... even under less than ideal circumstances. But... this comes at the expense of much higher round-trip latency. Short of doubling the sample-rate, there's no means of mitigating the higher round-trip latency. If you have no plans of ever monitoring in realtime thru software based EFX/processing (ie: playing/monitoring DI bass thru an AmpSim plugin as you're playing), then this may not matter to you. If you want the ability this play/monitor in realtime thru software based EFX/processing, make sure to get an audio interface that yields low round-trip latency. As a point of reference the best PCI/e audio interfaces yield about 5ms total round-trip latency at a 64-sample ASIO buffer size/44.1k The best Firewire and USB units yield 5.5-5.6ms total round-trip latency at those same settings. Typical USB and Firewire units (that use a large hidden safety buffer) yield 12-18ms total round-trip latency at those same settings. Anything above ~6ms starts to feel sluggish. Anything above ~10ms feels like playing thru molasses. USB Microphones {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->C-Media Electronics, Inc. CM108 Audio Controller Mic | <!--Vendor ID-->0x0d8c | <!--Product ID-->0x013c | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elgato WaveMic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elgato Wave:1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 no driver }} |- | <!--Description-->Elgato Wave:3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 no driver lightweight }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->hyperx solocast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 no driver}} |- | <!--Description-->hyperx quadcast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sennheiser CC510 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Alesis USB-Mic microphone podcasting kit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Audio-Technica AT2020 (AT202) AT4040 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Audio-Technica AT2035 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Behringer B1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Blue Microphones Snowball | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Blue Microphones Snowball iCE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| cardioid only }} |- | <!--Description-->Blue Microphones Yeti | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|can pick up a lot of background noise but not sure if right mode used }} |- | <!--Description-->Blue Microphones Yeti Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| can pick up a lot of background noise but not sure if right mode used }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->MXL 2001A/600 Studio Microphone Pack / MXL 2003A Studio Condenser | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Microsoft LifeChat LX-3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Namtai SingStar(TM) PS2 SCEH-0001 USBMIC | <!--Vendor ID-->0x1415 | <!--Product ID--> | <!--Revision-->0.01 | <!--Opinion-->{{unk| mono microphones }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Neumann MT48 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Razer Seiren X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Razer Seiren Mini USB Condenser Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rockband USB Mic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rode NT1A VideoMic Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rode Podcaster 2 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| RODECaster Pro usb audio compatible}} |- | <!--Description-->Rode NT1A NT2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| NT2 better }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Roland R-07 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samson Go Mic - Portable USB Microphone for Recording | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| mini usb r.h.s. and clip on the bottom left hand side}} |- | <!--Description-->Samson Go Mic Clip On USB Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| switch to choose between Cardiod, Omni and -10&nbsp;dB modes, a 3.5mm headphone socket and a USB socket}} |- | <!--Description-->Samson C01U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| cardoid only}} |- | <!--Description-->Samson C03U | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Shure MV7 USB Podcast Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Shure MV7+ XLR & USB-C dynamic microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->SONY PCM-D50 handy | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb 5V, }} |- | <!--Description-->Sony PCM-M10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb out 5V, }} |- | <!--Description-->SONY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb out, }} |- | <!--Description-->SONY | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| one mini usb out, }} |- | <!--Description-->TASCAM DR-1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008, one mini usb out, lithium battery}} |- | <!--Description-->Tascam DR-07 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009, one mini usb out, aa battery}} |- | <!--Description-->Tascam DR05 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011, one mini usb port for file transfer and charging the AA batteries }} |- | <!--Description-->Tascam DR-40 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 mini usb aa battery }} |- | <!--Description-->Tascam DR-07mkII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 , one mini usb out, }} |- | <!--Description-->Tascam DR-05X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 , one micro usb out, }} |- | <!--Description-->Tascam DR-07X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 , one micro usb out, }} |- | <!--Description-->Tascam DR-40X | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 , one micro usb 3 aa battery }} |- | <!--Description-->Tascam DR-05XP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , one usb-c , }} |- | <!--Description-->Tascam DR-07XP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , one usb-c , }} |- | <!--Description-->Tascam DR-40XP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , one usb-c, }} |- | <!--Description-->Tascam DR-100mkIII | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| , usb , }} |- | <!--Description-->Tascam | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| , usb , }} |- | <!--Description-->Zoom H4 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2006 no driver, mini usb 5V }} |- | <!--Description-->Zoom H2 | <!--Vendor ID-->0x1686 | <!--Product ID-->0x0095 | <!--Revision--> | <!--Opinion-->{{unk|2007 no driver, mini usb 5V audio i/f USB Card and USB Audio; press the Record button when USB Audio is displayed. Press Record again to choose the default }} |- | <!--Description-->Zoom H4n | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2009 no driver, mini usb 5V }} |- | <!--Description-->Zoom H1 | <!--Vendor ID-->0x1686 | <!--Product ID-->0x0120 | <!--Revision--> | <!--Opinion-->{{unk|2010 no driver, mini usb 5V and display will alternate between USB Card and USB Audio; press the Record button when USB Audio is displayed. Press Record again to choose the default }} |- | <!--Description-->Zoom H2n | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 no driver, mini usb 5V audio i/f press the Record. Press Record again to choose the default }} |- | <!--Description-->Zoom H4n PRO | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2011 no driver, mini usb 5V }} |- | <!--Description-->Zoom H6 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 untested, 2xlr, 5v mini usb, }} |- | <!--Description-->Zoom H5 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 no driver, 5v mini usb, 2 xlr, }} |- | <!--Description-->Zoom H1n-vp handy | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 no driver, mini usb 5V }} |- | <!--Description-->Zoom H6studio | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 untested}} |- | <!--Description-->Zoom | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|no driver}} |- | <!--Description-->Zoom Q3 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2008 untested usb a cord, no hdmi, 480p}} |- | <!--Description-->Zoom Q3HD Handy Video Recorder | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2010 untested, built in usb-a cord, mini hdmi, 1 hour on 2 AA batteries, H.264 movies 480p }} |- | <!--Description-->Zoom Q2HD Handy | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2012 untested, up 720p but no stablisation, mini usb cord, 1 hour on 2 AA batteries}} |- | <!--Description-->Zoom Q4 | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 untested, li-ion battery}} |- | <!--Description-->Zoom Q4N | <!--Vendor ID-->0x1686 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 untested, li-ion battery}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Audio Technica ATR4697-USB Boundary Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->CAD Audio CAD USB Condenser Boundary Microphone | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->MXL AC-44 Boundary Conferencing Mic | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samson Audio SAUB1 Boundary Microphone (USB) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} USB Speakers {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Focal XS 2.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} USB Headset Wired/Wireless {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Logitech Vantage Wired (came free with PS2 Socom3) | | | | <!--Opinion-->{{unk| }} |- | Logitech G330 | | | | <!--Opinion-->{{unk| }} |- | Logitech Premium USB Stereo Headset 350 | | | | <!--Opinion-->{{unk| }} |- | Plantronics DSP-300 | | | | <!--Opinion-->{{unk| }} |- | Plantronics GameCom 777 | | | | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Logitech G-930 Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | [http://www.makeuseof.com/tag/set-usb-wireless-earphones/ Plantronics Audio 995 Wireless RF] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | Sennheiser Wireless | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} [https://www.youtube.com/watch?v=Be1e0QPIPK0 Mixers] {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->ALESIS MULTIMIX 4 CHANNEL USB MIXER | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Alesis - MultiMix 8 USB FX (USB 1.0) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2010 usb compliant?, up to 16-bit/48kHz, 18v 500mA - |- | <!--Description-->Alesis - MultiMix 8 USB 2.0 FX (USB 2.0) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2012 usb compliant?, up to 16-bit/48kHz, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Allen&Heath MixWiz16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> maybe not usb compliant, |- | <!--Description-->Allen and Heath ZED Power 1000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 8 xlr, usb-b out, }} |- | <!--Description-->Allen & Heath ZEDi-10 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> maybe not usb compliant, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Behringer XENYX 302USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 5-Input Mixer/Audio Interface - 1 xlr - }} |- | <!--Description-->Behringer Xenyx Q502USB Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|no driver}} Behringer 2*18.5V 250ma psu - 1 xlr - phanton power - |- | <!--Description-->Behringer Xenyx Q802USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} Behringer 2*18.5V 250ma psu - 2 xlr - phanton power - |- | <!--Description-->BEHRINGER XENYX 1204USB 8-Channel 2-Bus Mixer USB/Audio Interface Studio/Live | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} iec kettle psu lead - can develop constant background hiss over time |- | <!--Description-->Behringer XENYX X1222USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver - 12-Channel Analog Mixer with USB Interface and Effects}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Depusheng HT-7 HT7USB 7 Channel Audio Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2023 cheap no driver, USB MP3 player to work, format your USB stick Fat32 as a Logical drive - not primary}} |- | <!--Description-->Depusheng XT7 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2025 cheap no driver}} |- | <!--Description-->Depusheng DT8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2025 cheap no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Spirit soundcraft Folio FX8 with Lexicon Effects Processor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} unusual power connector - [https://github.com/lack/soundcraft-utils usb routing] - |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Weymic Professional F7 7-Channel 2-Bus Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2022 no driver, cheap mixer with 3pin ac input (introduces noise) and 1 usb-a port}} |- | <!--Description-->Weymic Professional F7-Pro 7-Channel 2-Bus Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2022 no driver}} |- | <!--Description-->Weymic A80 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2024 no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Yamaha | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- |} Mixer no hardware usb {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->ALTO Lynx MIX82FX Audio Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Alto L16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer MXUL5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer MX602A | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer Eurorack UB502 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 17.5V 3pin psu needed}} |- | <!--Description-->Behringer Eurorack UB802 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 2 xlr,}} |- | <!--Description-->Behringer Eurorack UB1002 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 2 xlr,}} |- | <!--Description-->Behringer Eurorack UB1202 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb 4 xlr, }} |- | <!--Description-->Behringer Eurorack UB1602 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer RX1602 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer 802 XENYX 8-Input 2-Bus Mixer Small Format Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} Behringer 18.5V ???ma psu - 2 xlr - phanton power - |- | <!--Description-->Behringer Xenyx 502 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer Xenyx | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->Behringer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->IMG stage Line MMX-122 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb, 4 xlr, iec cable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Mackie 802VLZ4 Mackie 802-VLZ4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb , psu}} |- | <!--Description-->Mackie 1202-VLZ Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb, mains iec}} |- | <!--Description-->Mackie Mix5 Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} 18v 300mA psu - 5 Channel - |- | <!--Description-->Mackie Mix8 Mixer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} 9v x2 600mA psu - |- | <!--Description-->Mackie MIX12FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb, 4 xlr, 9v 500mA x2 psu, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no usb}} |- | <!--Description-->[https://www.soundcraft.com/en/product_documents/en/owners_manual Soundcraft] Spirit Folio F1 Fader 100 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} 16 Channel Mixer - |- | <!--Description-->Soundcraft EPM6 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Soundcraft EPM8 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Harman Soundcraft EPM 12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} iec kettle power lead - |- | <!--Description-->Soundcraft EPM 16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description-->Soundcraft Notepad 8FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->Soundcraft Notepad UI12 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> connect via wifi |- | <!--Description-->Soundcraft Notepad UI16 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> connect via wifi |- | <!--Description-->Soundcraft Notepad 124FX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection, 14.8V x2 3 pin psu}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description-->t.mix xmix 1402fx mp usb | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection, mains iec, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no hardware usb connection}} |- |} ==Webcameras== A USB camera has two dedicated chips: a controller or bridge and an image sensor. There was no Commodore support for video interfaces. The only commercial, now discontinued application that defined some sort of standard was VHI Studio by iospirit. ===OLD standards=== See [http://www.e3b.de/usb/main_supported_e.html support pages] and [http://www.e3b.de/usb/main_faq_e.html here] and some [http://webcam-osx.sourceforge.net/cameras/index.php?orderBy=status further compatibility] Pencam STV680 {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | AIPTEK stv680 | 0x0553 | 0x0202 | | {{N/A|untested}} |- | Konica e-mini | 0x04c8 | 0x0722 | | {{N/A|untested }} |- | DigitalDream l'espion XS | 0x1183 | 0x0001 | | {{N/A|untested}} |- | [http://reviews.cnet.com/webcams/creative-webcam-go/1707-6502_7-1446174.html Creative WebCam Go mini] | 0x041e | 0x4007 | | {{N/A|untested}} |- |} SonixcamTool (Sonix webcams and derivates) '''Note [http://amigadev.free.fr/sonix/ some] Sonix Webcams with a Sonix SN9C1xx controller ''and'' a pas106b or tas5110c1b sensor support bulk mode which works even with pciusb.device!''' {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Macally IceCam II | 0x0c45 | 0x05d8 | | {{N/A|untested}} |- | Sweex MiniCam 100K | 0x0c45 | 0x6005 | | {{N/A|untested - sensor tas5110c1b}} |- | Macally IceCam Portable | 0x0c45 | 0x6007 | | {{N/A|untested - sensor tas5110d}} |- | Sweex 100K | 0x0c45 | 0x6009 | 0x0101 | {{yes|bulk works - sensor pas106b}} |- | [http://www.epinions.com/pr-Chicony_TwinkleCam_Webcam/display_~full_specs Chicony Twinkle DC-2110A] | 0x0c45 | 0x600d | | {{no|no}} |- | Unknown | 0x0c45 | 0x601e | | {{no|no}} |- | USB PC Camera (SN9C102) | 0x0c45 | 0x6028 | | {{no|no - sn9c10x + pas202b}} |- | Trust SpaceC@m 120 and 150 | 0x0c45 | 0x6029 | | {{N/A|untested - sensor pas106a}} |- | HiRes Webcam Live | 0x0c45 | 0x602c | | {{no|no - sensor ov7630}} |- | [http://www.sweex.com/en/assortiment/sound-vision/webcams/JA000020 Sweex USB Webcam 300K] | 0x0c45 | 0x608f | | {{no|no - sensor ov7630}} |- | Speedlink Sphere Webcam SL-6820, 350K | 0x0c45 | 0x613c | 0x0101 | {{N/A|untested - sensor HV7131R}} |- | WB-3250P | 0x0c45 | 0x613e | | {{no|no - sensor ov7630}} |- | Unknown | 0x0c45 | 0x6207 | | {{no|no}} |} <pre> micromaxx USB Camera STM 1363 514 works --- USB Tower Lego 1684 1 works need NCQ Trust Spycam 100plus STM 1363 514 works </pre> ov51x.class - no driver {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | D-Link VGA Webcam (640x480) | 0x05a9 | 0x8519 | | {{no|no driver}} |- | Sony PS2 EyeToy Logitech/Logicool Black (ov519) SCEH-0004 | 0x054c | 0x0154 | | {{no|no driver}} |- | Sony PS2 EyeToy Namtai Silver (ov519) SLEH-00031 SLEH-00030 | 0x054c | 0x0155 | | {{no|no driver}} |- |} ===UVC.class - [https://www.usb.org/document-library/video-class-v15-document-set USB Device Class Definition for Video Devices or USB Video Class]=== AROS still needs an uvc.class which might create a virtual UVC.VHI type device driver for use by AROS apps since 2019 the market is filled with UVC Compliant USB HDMI Capture {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Acasis 4K30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->Acasis 4K60 HD VS009 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|4k 60hz ok for chat streams}} |- | <!--Description-->Acasis 4K60 HDMI HDR Game Live Video Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| for chat streams }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AJA U-tap HDMI | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->ASUS TUF CU4K30 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ATEN CAMLIVE HDMI to USB-C UVC Video Capture adapter UC3020 HDMI (F) TO USB-C M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 possibly UVC and UAC standard support allows up to 1080P @ 60}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Avermedia Live Streamer Cap 4K - BU113 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 uvc usb3}} |- | <!--Description-->AVerMedia GC515 video capturing device | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 USB 3.2 Gen 1 (3.1 Gen 1)}} |- | <!--Description-->AVerMedia Live Gamer Ultra GC553 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 usb3 powered by Type C USB cable and 4K HDMI cable}} |- | <!--Description-->AVerMedia Live Gamer Ultra S GC553PROW 302AGC553DL2 | <!--Vendor ID-->0x07ca | <!--Product ID-->0x1553 | <!--Revision--> | <!--Opinion-->{{unk|2021 powered by good quality type C USB3 cable and 4K HDMI 2.0 cable}} |- | <!--Description-->AVermedia Live Gamer Mini GC311 302AGC311DG9 | <!--Vendor ID-->0x07ca | <!--Product ID-->0x1311 | <!--Revision--> | <!--Opinion-->{{unk|2021 uvc compliant up to 1080p 60fps capture and supports internal hardware H.264 encoding - if flashing blue light try another '''quality''' micro usb cable - }} |- | <!--Description-->AVerMedia Ez Recorder 330 (ER330) | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 designed to work independently and is generally not compatible as a plug-and-play UVC capture card }} |- | <!--Description-->AVerMedia Live Gamer extreme3 GC551G2 (LGX3) | <!--Vendor ID-->0x07ca | <!--Product ID-->0x3551 | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc compliant for intensive gaming streams, some vrr but no hdr with maximum recording resolution of 4K30/1080p60 from fully wired usb3 compatible cable - passing through 4K60/1080p120 Game Capture video capturing device HDMI}} |- | <!--Description-->AVerMedia Live Gamer Ultra Pro GC553Pro | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 usb3 }} |- | <!--Description-->AVerMedia Live Gamer Ultra 2.1 GC553G2 61GC553G20BV video capturing device | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 USB 3.2 Gen 1 (3.1 Gen 1)}} |- | <!--Description-->AVerMedia GC575 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 usb3 powered by Type C USB cable and 4K HDMI cable}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->AVMatrix | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ClonerAlliance Flint 4KP Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->DIGITNOW U600 video capture card | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc uac }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Epiphan AV.io HD | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Epiphan AV.io 4K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elgato Cam Link 4K | <!--Vendor ID-->0x0FD9 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 uvc }} |- | <!--Description-->[https://github.com/elgatosf/capture-device-support Elgato HD60 S+] | <!--Vendor ID-->0x0FD9 | <!--Product ID-->0x006C, 0x006E | <!--Revision--> | <!--Opinion-->{{unk|2019 4K 30FPS capture, 1080p 60FPS uvc}} |- | <!--Description-->Elgato HD60 X | <!--Vendor ID-->0x0FD9 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc }} |- | <!--Description-->Elgato Cam Link 4K HDMI video capture card | <!--Vendor ID-->0x0FD9 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 uvc compliant but can have usb disconnects}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->EVGA XR1 USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 USB 3.0 device with 1080/60 capture and 4K/60 passthrough}} |- | <!--Description-->EVGA XR1 lite USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 USB 3.0 device }} |- | <!--Description-->EVGA XR1 Pro USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 USB 3.0 device with 1080/60 capture and 4K/60 passthrough}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->EZcap Game Link Raw - ezcap321 usb3.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 2160p30, 1080p120 and 1440p60 HDMI input and pass-through. - 1080p120, 2160p30 and 1440p60 recording. - Latency less than 50ms uvc}} |- | <!--Description-->EZCap GameDock Ultra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 record at 4K30, 1440p60, and 1080p120}} |- | <!--Description-->EZcap 360 Game Capture Extreme | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 USB 3.0, 4K 60FPS passthru and 1080p 240FPS}} |- | <!--Description-->EZCAP 364 GameDock Extreme 2.1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Genki ShadowCast 1 & 2, the Pro version | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HAUPPAUGE HD PVR Pro 60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 4K in/Out 1080P 60fps Capture and Streaming PC Connected and Stand Alone }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->INOGENI 4K2USB3 2830 3826 HDMI 4K to USB 3.0 UHD 1080p Video Capture Card | <!--Vendor ID-->0x2997 | <!--Product ID-->0x0004 | <!--Revision--> | <!--Opinion-->{{unk|2019 uvc compliant made in Canada - usb3-b socket and 1 hdmi 1080p from 23.98 up to 60p, 4K@30 fps maybe - }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Kondor Blue | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Nanjing Magewell Electronics Co ltd USB 3.0 XI100DUSB-HDMI Pro Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 }} |- | <!--Description-->Magewell USB3.0 Silver HDMI Full HD Video Capture Device 1080p 32011 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 usb audio extract HDMI embedded audio output via headphones}} |- | <!--Description-->Magewell USB capture HDMI PLUS 2K 32040 320400000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2014 captures video up to 1920×1200, 1920×1080 or 2048×1080 at 60 fps over an HDMI capture from devices such as game consoles in up to DCI 4Kp60 4:2:0 input resolution, and it automatically upscales/downscales the signal to 2K for recording or streaming}} |- | <!--Description-->Magewell USB capture HDMI Gen2 32060 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2015 1080p gets hot, 165M HDMI receiver, max input 2048x1080 60fps 4:4:4, RGB/YUV 4:4:4 8/10/12-bit, YUY 4:2:2 12-bit, up to 8-channel 24-bit HDMI-embedded audio at 192kHz, HDMI 1.4a, output from 480p to 1080p, YUY2/UYVY/RGB24/RGB32 support video cropping, up/down scaling, de-interlacing, aspect ratio conversion, color format conversion, frame rate conversion, flip and mirror, up to 2-channel IEC60958 audio streams, 5V 0.5A 2.5W, }} |- | <!--Description-->Magewell USB Capture 4K Plus 32090 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 limited by the bandwidth of USB 3.0, the maximum frame rate can only reach 30 fps when capturing}} |- | <!--Description-->Magewell USB Capture 4K PRO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 }} |- | <!--Description-->Magewell Pro Convert IP to USB | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|Captures one network eth NDI® High Bandwidth, NDI® HX2, NDI® HX3 sources or H.264/H.265 video source into software at resolutions up to 1080p60}} |- | <!--Description-->Magewell USB Fusion | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|versatile USB video capture device that allows users to switch between two HDMI inputs and one USB webcam input for live presentations}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->ROLAND UVC-01 USB Video Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sunplus Innovation Technology Inc. MiraBox HSV321 ARX321 Video Capture device | <!--Vendor ID-->ox1bcf | <!--Product ID-->0x2c99 | <!--Revision--> | <!--Opinion-->{{unk|2022 uvc uac }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->UGREEN CM716 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| uvc uac but disable HDCP on your source device (PS4/PS5, Xbox) }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->VisionTek UVC HD60 Capture Card | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Acer Aspire Crystal Eye AOA110 AOA150 0.3M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2008 webcam }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->AVerMedia Live Streamer CAM 313 (PW313) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2019 uvc 1080p/30 webcam}} |- | <!--Description-->AVerMedia Live Streamer DUO | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2021 uvc 1080p/60 webcam}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->[http://reviews.cnet.co.uk/webcams/creative-live-cam-optia-af-review-49294183/ Creative Live Cam Optia AF] 2.0M | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | {{no|2008 }} |- | <!--Description-->DSLR macro extensions + a cheap 50mm E-Series lens + some PVC tubing and a negative holder | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes| if uvc camera chosen}} |- | <!--Description-->DSLR scanning using a macro lens, for the adapter, for a 3d printed negative holder) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{yes| if uvc camera used }} |- | <!--Description-->Logitech C270 | <!--Vendor ID-->0x046d | <!--Product ID-->0x0825 | <!--Revision--> | <!--Opinion-->{{unk|720p }} |- | <!--Description-->Logitech C910 C920 HD Pro 5Megapixels 720p | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|Output mjpg 1080p}} |- | <!--Description-->Logitech C920s c922 HD Pro 5Megapixels 1080p | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|Output mjpg 1080p}} |- | <!--Description-->Logitech | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->Logitech Brio 100 300 500 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} 1080p |- | <!--Description-->Logitech MX Brio 4k | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|4k}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|}} |- | <!--Description-->Microsoft's LifeCam HD-3000 HD-5000 | <!--Vendor ID-->0x045e | <!--Product ID--> 0x0779 | <!--Revision-->1.06 | <!--Opinion-->{{no|}} |- | <!--Description-->Microsoft LifeCam Cinema | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->Microsoft LifeCam Studio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} sony imx179 1080p |- | <!--Description-->Pi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} 1/2.8” Sony IMX291 image sensor, it's a 2MP, UVC-compliant, ultra-wide-angle, low light, high-speed USB 2.0 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} OV5648 |- | <!--Description-->razer kiyo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} 4 megapixel sensor 1080p 30fps 720p 60fps - 12 led ring light adjustable |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->TeckNet C068 1.3mpixel HTD USB2.0 Camera Vimicro Z-Star Corp | <!--Vendor ID-->0x0AC8 | <!--Product ID--> 0x3420 | <!--Revision-->0x01FA | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->YEALINK(XIAMEN) NETWORK UVC50 is compatible with the UVC 1.1 protocol CP960-UVC50 and CP960-UVC80 kits PTZ, CP960-UVC30 Kit is UVC 1.5 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Amcrest ProHD 1080P WiFi Wireless IP Security Camera - 1080P (1920TVL), [https://www.ispyconnect.com/man.aspx%3Fn%3DAmcrest IP2M-841] nvr | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} h264/rtsp, motion detection, features Sony image sensor and Ambarella processor - rtsp://[username]:[password]@[IPaddress]:[port]/cam/realmonitor?channel=[channel]&subtype=[stream] - [username] - username to login to the DVR or NVR, [password] - password, [IPaddress] - IP address of the device. If you are not on the same local network, this should be the external IP address of the device's network, [port] - port number, [channel] - channel number of the stream, [stream] - view the Main or Sub stream. (main stream is 0, sub stream is 1) , eg. rtsp://admin:admin@192.108.1.108:80/cam/realmonitor?channel=1&subtype=1 - utilizing RTSP ( rtsp://user:pass@ipcam1 ) |- | <!--Description-->Axis all modern ones | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} RTSP/RTP + H264/mjpeg or MJPEG over HTTP |- | <!--Description-->PTZ | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->DLink DCS-5222 5222L network camera | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} camera streams H.264 over RTP controlled by RTSP |- | <!--Description-->Dlink DCS900 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->Sony | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description-->Wansview 1080p [http://marc.merlins.org/perso/linuxha/post_2013-11-10_Reviewing-IP-Webcams-for-Linux-and-Zoneminder_Dlink-DCS900_-Ubnt-Aircam_-Foscam-FI8904W-FI8910W_-FFI9820W_-FI9821W_-Wansview-NCB541W_-and-Zavio-F3210.html#NCM625GA NCM625GA] IP Camera WiFi Wireless IP Security Camera , Full HD Plug n Play Home Surveillance / Baby Monitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} RTSP/RTP + H264/mjpeg - play its HD stream without problem with vlc rtsp://ip/live/ch0 and getting jpegs http://ipaddr/mjpeg/snap.cgi?chn=0 - methods involve transcoding h.264 video from the camera into jpeg's, which is cpu intensive - able to pull images manually, using http://username:password@ip/mjpeg/snap.cgi - |- | <!--Description-->Wansview NCB541W | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|}} |- |} {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc}} |- | <!--Description-->Avermedia Game Capture HD C281 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2011 standalone h.264 recording of up to component cable not hdmi but not uvc}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Avermedia GL310 Live Gamer Portable (LGP Lite) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 not working usb2 and USB Lite no uvc}} |- | <!--Description-->Avermedia AVerMedia Live Gamer Portable ([https://github.com/Trouffman/octv_gears_lgp Model C875]) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 usb2 no uvc}} |- | <!--Description-->AVerMedia LGX Live Gamer extreme GC550 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2015 but [https://github.com/ChrisAJS/lgx2userspace driver]}} |- | <!--Description-->AVerMedia LGX2 Live Gamer extreme2 gc550 plus gc551 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2017 but [https://github.com/ChrisAJS/lgx2userspace driver]}} |- | <!--Description-->Avermedia ExtremeCap UVC - BU110 | <!--Vendor ID-->0x07ca | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2017 maybe not uvc and uac}} |- | <!--Description-->AVerMedia Live Gamer Portable 2 Plus GC513 Micro-USB Capture Box LGP2 Plus | <!--Vendor ID-->0x07ca | <!--Product ID-->0x1513 | <!--Revision--> | <!--Opinion-->{{no|2017 powered by a standard Micro-USB cable, video capture output up to 1080p60 capture to hdmi in, standalone sd card recording on exFAT or FAT32 of .MOV, 2160p pass-through hdmi out to tv - no vrr - [https://www.avermedia.com/uk/support/download#ans_part firmware latest 2.1.7.13, 2.1.7.14], SN74AVC8T245 8bit, DRV604 stereo, iTE IT6663FN hdmi 2.0 splitter, TLV320DAC3101 DAC, CS42L73 audio codec, CDCE913 PLL clock, W29N01HVSINA nand bios, I-Catch V35MA SOC CPU 32bit MIPS24K, ADV7480 hdmi mhl, }} |- | <!--Description-->AVerMedia Live Gamer 4K LG4K GC573 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2018 not uvc but [https://github.com/derrod/lg4k-linux drivers here], }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Blackmagic intensity Extreme Capture Card | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2011 not uvc }} |- | <!--Description-->BlackMagic Intensity Pro 4k | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2015 }} |- | <!--Description-->Elgato Video Capture (1VC108601000) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Elgato Game Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc, mini usb}} |- | <!--Description-->Elgato Game Capture HD60 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc, }} |- | <!--Description-->Elgato Game Capture HD GCHD 2GC309901000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc https://github.com/tolga9009/elgato-gchd needs firmware mb86h57_h58_idle.bin and mb86h57_h58_enc_h.bin - mini usb}} |- | <!--Description-->Elgato HD60S Elgato Game Capture 4K60 S+ Video Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|non uvc, }} |- | <!--Description-->August EZCap.tv model 116 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} poor audio recording |- | <!--Description-->E-SDS Diamond Maplin | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Hauppauge 1212 HD PVR | <!--Vendor ID-->0x2040 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} analog and component only - PlayStation (.m2ts), AVCHD (ts), or XBox(.mp4) recording formats - switched the component output from the default YPbPr to RGB. |- | <!--Description-->Hauppauge 1431 1445 HD PVR Gaming Edition HDMI Capture | <!--Vendor ID-->0x2040 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 not working, can get warm}} |- | <!--Description-->Hauppauge HD Rocket | <!--Vendor ID-->0x2040 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc}} |- | <!--Description-->Hauppauge HD-PVR2 (model 145210 Rev E4) | <!--Vendor ID-->0x2040 | <!--Product ID-->0xE502 | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Hauppauge 1480 1482 HD PVR 2 GE Gaming Edition HDMI Capture green LED - 1498 1503 1504 Plus version with Mac support | <!--Vendor ID-->0x2040 | <!--Product ID-->0xe514 0xe524 | <!--Revision--> | <!--Opinion-->{{No| can get warm - [https://ez.analog.com/video/w/documents/581/adv7482-design-support-files ADV7482] [https://patchwork.kernel.org/patch/9201075/ video chip] with Magnum DXT H.264 encoder blob, IDR keyframe generation poor - best for model 157210 and not 157221 and Game Edition Plus (model 157320) 2040:E505 E505-00-00AF1234 [http://www.hauppauge.com/site/support/linux.html#tabs-3 ]}} * HDMI: 1920x1080p50/60, 1920x1080i50/60, 1280x720p50/60, 720x480i, 720x576i, 640x480p60. * Component: 1920x1080p50/60, 1920x1080i50/60*, 1280x720p50/60, 720x480p60, 720x480i, 720x576i. * Composite: 720x480i and 720x576i * Audio Inputs : HDMI PCM and RCA support with Adjustable Bitrate Quality 2 Channel AAC/AC3 audio codec |- | <!--Description-->Hauppauge 1512 HD PVR 2 PC blue LED with optical in input on the back | <!--Vendor ID-->0x2040 | <!--Product ID-->0xe525 | <!--Revision--> | <!--Opinion-->{{No| }} can get quite warm - IR Blaster added - |- | <!--Description-->Hauppauge Colossus2 E585-00-00AF4321 | <!--Vendor ID-->0x2040 | <!--Product ID-->0xe585 | <!--Revision--> | <!--Opinion-->{{No| not uvc}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Ion SLIDES2PC 35mm Portable Slide & Film Scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Ion Pics 2 PC | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->ION PowerScan USB film and slide scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2011 not uvc }} |- | <!--Description-->Koolertron Sunny | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->FilmScan35 35mm Film Negative Scanner 1304 marks spencer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->U3 HD Capture | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->[https://github.com/openrazer/openrazer Razer Ripsaw HD] Game Capture (RZ20-01780100) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2017 not uvc put in usb2 slot and use video BGR3 (Emulated) and OpenRazer drivers }} |- | <!--Description-->Razer Ripsaw HD USB HDMI Capture Card | <!--Vendor ID-->0x1532 | <!--Product ID-->0x0d01 | <!--Revision--> | <!--Opinion-->{{no|2018 not uvc compliant}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Silvercrest 35mm Photo Slide Scanner | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc but not great quality}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description-->Z-Star Microelectronics Corp. Traveler TV 6500 SF Dia-scanner | <!--Vendor ID-->0x0ac8 | <!--Product ID-->0x3370 | <!--Revision--> | <!--Opinion-->{{No|2010 not uvc and poor scans}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| not uvc }} |- |} === AR VR XR Headset === AROS needs realtime isochronous transfers in EHCI and XHCI, then an usb based uvc.class to vhi type driver for virtual display and maybe more The primary engineering challenge of VR is motion sickness caused by a mismatch of visual and inner ear information, which is extremely well established as causing people to throw up in a wide range of contexts outside of VR. The experiences that make some people sick are low framerate. Foveated rendering doesn't solve vergence accommodation. Your eye will still be focused at infinity regardless of where you are looking, you'll just have the illusion that the foreground or background are out of focus. Eye tracking plus dynamic lenses (perhaps liquid lenses) or real light fields are necessary. First start with apps that have simple static features at first, then advance to dioramasa and teleportation options for 10, 20 minutes and then gradually upgrade over a timespan of four weeks to train your brain. Avoid smooth motion stuff like rollercoaster or mountain heights until much later. Even with this preparation, VR makes 40% of people seasick nausea. If so, you may be able to use VR glasses just to watch videos and some slow moving apps [https://www.emuvr.net/ emuVR] instead. *2014-2019 1st Gen, low resolution, *2020-2025 2nd Gen, higher resolution, *2026- Most hardware typically has a 1-3 year retail lifespan with 1-3 years of updates after. Really need "right" tethered PCVR rather than wireless. The advantage to being tethered to a PC is processing power. Any standalone headset is going to be running purely off of batteries. VR and AR are known as XR Technology will get immersed enough so not making people sick. Higher resolution, faster frame rates, and [https://github.com/opentrack/opentrack better tracking]. Eventually, hyper reality brings VR, AR and MR digital layers together as a less chaotic, optic tracking with no delay, agents understanding, experiences with objects 3Dgs 4Dgs gassian splats bullet time slice photo snaps .ply for WebXR [https://lvra.gitlab.io/docs/hardware/ ], {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Big Screen Beyond 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 pcvr 2560 x 2560, fixed IPD, }} |- | <!--Description-->bigscreen Beyond 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 pcvr oled 5120 x 2560 @75Hz 2688x2688 @90Hz over pancake lenses, 116 FOV, virtual screens, custom facial plate from iphone app, streamvr 2.0 basestations and controllers not included, no passthrough, 107g-196g, }} |- | <!--Description-->bigscreen Beyond 2e | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 pcvr oled 5120 x 2560 total up to 90Hz pancake lens 116 FOV adjustable IPD app needed for adjustment, eye tracking, custom face mask cushion, streamvr 2.0 basestations and controllers not included, seperate head strap and speaker modules extra costs, 110g-300g }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Dpvr P1 Pro 4k Ultra Vr Headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 wireless snapdragon, }} |- | <!--Description-->DPVR P2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Play for Dream MR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 android modular 3840x3552 uoled per eye 90Hz or qled mura issues, Arm snapdragon XR2+ Gen 2, eye tracking and 11 cameras 7 sensors 22 ir leds 14ms latency and foveated rendering, 1.5hrs battery, }} |- | <!--Description-->Play for Dream GravityXR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 ultralight head gear gx100 3w }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://lvra.gitlab.io/docs/community/ Valve Index HMD] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 tethered PC VR headset 1440 x 1600 120Hz, 108° and 104° FOV, fresnel lenses, SteamVR2 compatible tracking ir basestations, controllers aka Knuckles, dp 1.2 and usb3 cable proprietary cable end, no battery, }} |- | <!--Description-->Valve Steam Frame (Valve Deckard / Valve’s Index 2) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 - 2160 x 2160 up to 144Hz pancake lens, 108° and 96° FOV, wifi 6 fovelated streaming, Qualcomm Snapdragon 8 Gen 3 with [https://github.com/FEX-Emu/FEX fex] arm-to-x86 x64 translation layer, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sony PSVR2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|2023 PCVR with adapter, two, one for each eye, 2000 x 2040 resolution OLED panels from 90Hz 120Hz refresh rates, fresnel lenses, 116° and 102° FOV, sony proprietary headset cable end, needs additional comfort options, }} |- | <!--Description-->VisionPro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Goertek glasses | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HTC Vive ? | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| 2016 2x 1080x1200 needs external power supply, }} |- | <!--Description-->HTC Vive Original | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 108° and 96° FOV}} |- | <!--Description-->HTC Vive Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2016 , uvc, at least 2 powered steamvr basestations so 3 to 5 wall warts in total, proprietary cable end, }} |- | <!--Description-->HTC Vive Pro 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 dual 1440x1600 oled displays, 116° and 100° FOV - steamvr 2.0 basestation 2 for 5m2 area 4 for 10m2 - steamvr 2.0 joypads - low latency wireless later - type USB-c headphone adapter required, [https://github.com/CertainLach/VivePro2-Linux-Driver Rust on Linux] with [https://github.com/santeri3700/vive-pro-2-on-linux Shell], proprietary cable end, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lynx R1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 android Qualcomm Snapdragon XR2 Gen 1, }} |- | <!--Description-->Lynx R2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2026 company liquidated, 2 x 2312x2160 110 FOV pancake lenses, LynxOS android Qualcomm Snapdragon XR2 Gen, openxr 1.1, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Oculus Rift prototype development kit [https://www.virtual-boy.com/forums/t/the-oculus-rift-dk1-thread/ DK1] with [https://www.youtube.com/watch?v=X_T4DJyy2Bo wired razer hydra controllers] | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2013 pcvr LCD 1280 × 800 resolution 640 × 800 per eye up to 110° FOV, and 3DoF rotational tracking via a 1000Hz 9-axis IMU (Accelerometer, gyroscope, and magnetometer), no positional optical tracking either inside-out or outside-in, 380g, nausea issues, , }} |- | <!--Description-->Oculus Rift prototype development kit [https://github.com/facebookarchive/RiftDK2/tree/master DK2], [https://www.ifixit.com/Teardown/Oculus+Rift+Development+Kit+2+Teardown/27613 ifixit teardown] | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2014 pcvr, 5.7" Super AMOLED display with a resolution of 960 x 1080 per eye 100° field of view, 1 usb Positional Tracker DK2 camera, lots of wires}} |- | <!--Description-->Facebook [https://github.com/thaytan/OpenHMD/tree/rift-kalman-filter Oculus Rift CV1] [https://noraisin.net/diary/?m=202201 some Linux support] [] [https://github.com/OpenHMD/OpenHMD/issues/330 AMD usb issues] [https://github.com/OpenHMD/OpenHMD/wiki/Xorg ] [https://github.com/Doc-Ok/OculusRiftCV1Camera Live Video] [https://www.youtube.com/@thaytan Youtube] [https://github.com/Fredrum/riftOnLinux Pi] [https://github.com/OhioIon/riftDriverPi ], but not quite there with the [https://www.youtube.com/watch?v=DSsCN6HFkWc consumer CV1], [https://forum.dcs.world/topic/142259-cv1-not-working-in-dcs/#comment-2878168 orange led could be HDMI Signal is not within HDMI Spec and might be Overclocked or usb3 not getting enough power frustrating], | <!--Vendor ID-->0x2833 | <!--Product ID-->0x3031, 0x2031, 0x0031 and 0x0211 for 3p-a basestations lighthouses, 0x045e 0x02e6 for xbox wireless adapter | <!--Revision--> | <!--Opinion-->{{No|2016 powered run from your PC maybe uvc via wired dual PenTile OLED 2160x1200 (1080x1200 per eye) @ exactly 90Hz but screen door effect (space between pixels), 87 FOV, IPD from 58mm to 72mm, good 3D audio and okay mic, constellation headset 6DOF (3-axis rotational tracking + 3-axis positional tracking) with up to 3 usb infrared basestation (1 in front and 2 behind pointing upwards) on usb3 and usb2 to your PC but the tracking can be fragile so set it up on a weekly basis, wired only HDMI 1.3, USB 3.0 bus powered with proprietary plug in headset, 470g 1lb front heavy, 2 robust 1st Gen touch controllers with external sensors i.e. outside-in - 1 aa alkaline over rechargable battery each , press occulus and B buttons for 2 secs to connect, headset traps air so gets very warm inside and random disconnects due to twisting action on the top of the headset and/or cables, t4 torx screws }} |- | <!--Description-->Facebook Occulus Go 32Gb | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2018 discontinued 2020 android based, 1280x1440 per eye 60Hz LCD, not gaming, no inside-out and limited self tracking, }} |- | <!--Description-->Facebook Oculus Rift S [https://noraisin.net/diary/?m=202201 some Linux support] | <!--Vendor ID-->0x2833 | <!--Product ID-->0x0051 headset (cdc, audio, tracking data), 0x2052 usb hub, | <!--Revision--> | <!--Opinion-->{{No|2019 PCVR wired dual LCD 1080 by 1200, 88 horizontal FOV, display port (fibre optic strands) and annoying USB3 copper cables (power, audio and other data) but proprietary port in the headset, cameras on the headset ("inside-out") tracking so no base stations, non removeable head band and cushions and ipd hard to set, requires specific fragile Rift S/Quest1 2nd Gen Touch controllers which has a ring of translucent plastic with leds inside - t5 torx to disassemble for sticks drifting}} |- | <!--Description-->Facebook Occulus Quest 1 *032Gb *064Gb | <!--Vendor ID-->0x2833 | <!--Product ID-->0x0183 (single adb boot), 0x0 | <!--Revision--> | <!--Opinion-->{{No|2019 android standalone wireless, 1440 x 1600 72Hz oled, front heavy though, play area 2m x 2m or bigger, low clocked Qualcomm Snapdragon 835 (MSM8998) (4x Kryo 280 Gold cores ARM Cortex-A73) + (4x Kryo 280 Silver A53), 2 to 3 hrs play time, 575g, 2nd Gen touch controllers, }} |- | <!--Description-->Meta Oculus Quest 2 KW49CM aka Codename Del Mar [https://www.meta.com/en-gb/help/quest/967070027432609/ fragile 3rd Gen Touch controllers] [https://www.youtube.com/watch?v=Cgejky8ZeoM internal battery] and selling over 20 million, more than all other quest headsets combined *064Gb *128Gb (110Gb free) *256Gb Setup continuous wifi, create Meta Oculus account, [https://developers.meta.com/horizon/ verify dev account, click on My apps], [ create Organization -> My Organization Groupings], [https://www.youtube.com/watch?v=QPInS5xxF-0 finally, meta quest mobile app to switch on adb], | <!--Vendor ID-->0x2833 | <!--Product ID-->0x5010 (), 0x0083 (massstorage), 0x0086 (), 0x0186 (adb and xrsp [https://github.com/shinyquagsire23/xrsp_tests tests]), 0x0090 (composite adb), 0x0081 (), | <!--Revision-->0419 | <!--Opinion-->{{unk|2021 android stand alone, lcd 1832x1920 per-eye 90Hz refresh rate, 97 FOV, fresnel lenses, 6DOF (degrees of freedom), 58-63-68 IPD settings, low clocked Arm snapdragon xr2 gen 1 apps with Meta Link cable USB-C usb3.2 pcvr maybe, b/w but no color passthrough, 6 t2 torx and 5 ph00 screws in headset (long bit), discontinued December 31, 2024, feature updates until December 2026, critical bug fixes and security updates until December 2027, 470g, Oculus + B button on right controller (move) and Menu + Y button on left controller (click) for about 3 seconds, 10W 5v 2a, RTL8153 chipset usb support, *V60 unable to *V77 pcvr issues *V79 unable to }} |- | <!--Description-->Facebook Occulus Quest Pro aka Codename Seacliffe | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2022 android standalone wireless 1440 x 1600 72Hz oled, 106° and 96° FOV mini lcd local dimming, pancake lenses, limited eye tracking, play area 2m x 2m or bigger, higher clocked snapdragon xr2 gen 1 arm cpu Arm apps, 1 to 2 hrs play time, new pro controllers with 3 cameras each, battery at rear, wireless charging, color passthrough, 9V 3A or 5V 3A, *v77 capped wifi }} |- | <!--Description-->Meta Oculus Quest 3 aka Codename Eureka [ Air Light ALVR] or [ WiVRn] with fragile touch plus q3 controllers *128Gb *512Gb streaming from PC with [https://github.com/alvr-org/Monado-ALVR ALVR], runtime of [https://monado.freedesktop.org/ Monado steamvr alternative openxr openVR], with Envision GUI, | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 standalone, pancake lenses on lcd 2064 x 2208 res panel per eye 1200ppi - 104° and 96° FOV - up to 120Hz, Arm snapdragon xr2 gen 2 apps, foveated rendering, Meta Link cable USB-C 3.2, headstrap clamshell or halo style, speaker arms fragile, color passthrough, 510g, 18W 9v 2A or 15W 5V 3A, *v74 ok }} *v76 pcvr issues }} |- | <!--Description-->Meta Quest 3S aka Codename Ventura *128Gb *256Gb | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 Arm snapdragon xr2 gen 2 cpu, lcd 1832 x 1920 fresnel lenses, 97 FOV, headphone arms fragile, better air flow, no promixity sensor inside, Meta Link cable USB-C 3.2, passthrough, }} |- | <!--Description-->Meta Boba 3 | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 ultra-wide 180° x 120° FOV, snapdragon XR2 G2, }} |- | <!--Description-->Meta Tiramisu | <!--Vendor ID-->0x2833 | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2027 µOLED displays with 90 pixels per degree, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pimax 5K Super Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 }} |- | <!--Description-->Pimax 8K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 }} |- | <!--Description-->Pimax 8K-X 8KX | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 }} |- | <!--Description-->Pimax Crystal Light | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 tethered to PC with 2160 x 2160 4k 120Hz, 115° and 96° FOV, inside-out tracking, no battery, display port cable, variable qc and customer service, }} |- | <!--Description-->Pimax Crystal Super | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 tethered to PC with 3640 x 3640 4k 90hz, 116°+ and 100° FOV, eye tracking, inside-out tracking, no battery, display port cable, }} |- | <!--Description-->Pimax Dream Air with Lighthouse(s) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 tethered 3840 by 3552 @90Hz micro oled with pancake lens, 100 HFOV 96 VFOV but FOV IPD changes in app, link box for headset 2 split y cables, removable face gasket, 290g, steamVR2 bases and controllers, eye tracking, }} |- | <!--Description-->Pimax Dream Air SLAM | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 Simultaneous Localization and Mapping (SLAM) tracking inside-out so no base stations, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://somniumspace.com/ Somnium VR One VR1] [https://portal.vrgineers.com/user-guide/software/ open source] VR headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 pcvr 2880 x 2880 per eye @90 @120Hz, 125° horizontal 100° vertical FOV, 2 x SteamVR 2.0 bases, passthrough, 900g }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varjo Aero VR-1 Headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 psu needed, 2 x Mini LED binocular of 150 nits, 2880x2720 per, 90Hz, FOV 102° horizontal, 73° vertical, 720g with headstrap, 2 x SteamVR 2.0 basestations, no speakers/mic, hdmi and usb3.0}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varjo Aero XR-3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Varjo Aero XR-4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Camelo La Melaza Music Shield | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2026 no usb only bluetooth , }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->InAir 2 elite suite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar nits 46FOV , , 4h battery life, 80g, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Oakley Vanguard | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->RayNeo Air 3s | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 AR 100in 46FOV 650nits, usb-c 79g }} |- | <!--Description-->RayNeo Air 3S Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 AR 135in virtual display 46FOV 1200nits, usb-c 80g }} |- | <!--Description-->RayNeo Air 4 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 AR oled vision 4000 processing, HDR10, 47 FOV }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Rokid Max 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 147in 50 FOV 650nits, usb-c back left, 76g, }} |- | <!--Description-->Rokid AI Spatial with Station 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 AR 600nits 147in 50FOV 75g, }} |- | <!--Description-->Rokid | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| ar ai smart glass}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Viture Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 135in 46 FOV 1000nits, magnetic connector, 77g, }} |- | <!--Description-->VITURE XR Luma | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 147in 1200p 50 FOV, }} |- | <!--Description-->Viture Luma Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 152in 52 FOV 1000nits 1200p, 3dof, , 79g, }} |- | <!--Description-->Viture Luma Ultra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 in FOV, 2 cameras, 3dof 6dof, }} |- | <!--Description-->[https://github.com/wheaney/XRLinuxDriver Viture Luma Pro] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Viture Beast | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 1250nits 58FOV 174in, magnetic, 88g, }} |- | <!--Description-->VITURE Beast X Glasses models (Immersive 3D Moonlight) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 based 2D to 3D conversion with support DP Alt Mode (DisplayPort over USB-C), 1200p, 3df tracking, practic lenses 58deg POV, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xreal One | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 600nits, 50FOV, 3dof, usb-c 84g, }} |- | <!--Description-->XReal One Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 ar 700nits 57FOV 171in, usb-c, x1 3dof, }} |- | <!--Description-->Nreal now Xreal Air | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 , micro-oled 1080p, audio, virtual uvc ar displays, }} |- | <!--Description-->Nreal now Xreal Real3D 1S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 AI based 2D to 3D conversion 57 FOV, , virtual uvc ar displays not vr, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xiami XR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Xtal 8k | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Apple Vision Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2022 tethered AR mixed reality glasses, 3300ppi, 800g, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Google XR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HTC Vive Focus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 standalone }} |- | <!--Description-->HTC Vive Focus Plus | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 android with 2 1440 x 1600 75Hz amoled, inside-out, durable motion controllers, Vive port, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HTC Vive Pro EYE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2019 dual-OLED displays 2880 x 1600 combined resolution), SteamVR 2.0 tracking, foveated rendering, Tobii, it enables gaze-based menu navigation with avatar eye contact, proprietary cables, }} |- | <!--Description-->HTC Vibe Cosmos | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2018 poor tracking and lifespan on controllers, }} |- | <!--Description-->HTC Vibe Cosmos Elite | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2020 1440x1700 per eye resolution, 90 Hz refresh rate, 6 DoF tracking, 2880 x 1700 combined pixel resolution, 97° FoV, two controllers and two base stations. Lighthouse tracking, }} |- | <!--Description-->HTC Vive Focus Vision Wired | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No| }} |- | <!--Description-->HTC Vive Focus 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2021 per-eye resolution of 2448×2448 at 90 Hz, a 120-degree field of view, Qualcomm Snapdragon XR2 Gen 1, }} |- | <!--Description-->HTC Vive XR Elite VR Headset Deluxe Pack | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2022 snapdragon xr2 gen 1, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Pico Goblin | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 android based, 2.5K 1280x1440 per eye @70Hz, 92° FoV, and 3DoF (three degrees of freedom) tracking (Orientation tracking only—yaw, pitch, roll), single controller, snapdragon 820, ipd adjustment 54-71 mm, 600g, }} |- | <!--Description-->ByteDance Pico G2 4K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 android standalone VR headset, 3840 x 2160 (4K) LCD screen, Snapdragon 835 processor, 3DoF so rotational movement (looking around, pointing) rather than positional movement (walking, leaning), does not support hand or eye tracking, 800g }} |- | <!--Description-->ByteDance Pico NEO 2 EYE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 6DoF 360g snapdragon 845 display 4k 75Hz tracking inside-out - magnetic field for controllers - pico software on android 8 - eye tracking }} |- | <!--Description-->ByteDance Pico Neo 3 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 Snapdragon XR2 Gen, 4K 3664 x 1920 90Hz lcd, battery at rear, displayport, Pico apparently emulates Oculus controllers, }} |- | <!--Description-->ByteDance Pico Neo 3 Pro | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->ByteDance Pico Neo 3 Link | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->ByteDance Pico 4 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 2160x2160 panel per eye 75Hz 90Hz 105 FOV, Arm snapdragon xr gen 1, }} |- | <!--Description-->ByteDance Pico 4 ultra | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2023 2160 x 2160 @90 105 FOV, snapdragon XR2 G2, streaming from PC with alvr, wireless streaming from PC with WiVRn, Pico apparently emulates Oculus controllers, not plug and play, }} |- | <!--Description-->ByteDance Pico 5 aka Project Swan aka Vision Pro Competitor | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 micro-oled BOE 3840 x 3840 4000ppi per eye, MLA pancake lenses, custom pico arm cpu, pico os 6 android, eye and hand tracking, 300g, }} |- | <!--Description-->ByteDance Pico | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung Galaxy XR VR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 3552 x 3840 @60-90 109 FOV , Arm snapdragon XR2+ Gen 2, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Shiftall MeganeX 8K | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2024 android }} |- | <!--Description-->[https://en.shiftall.net/products/meganex8k MeganeX Superlight 8K] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 android (3552 x 3840 pixels) into pixel count yields 27.27MP 10-bit HDR-compatible 4K resolution micro OLED panels @90Hz, pancake lenses 94 FOV, SteamVR™ tracking, 180g, 5V 2A, }} |- | <!--Description-->[https://en.shiftall.net/products/meganex8kmk2 MeganeX 8K Mk2 MkII] [https://github.com/sboys3/CustomHeadsetOpenVR community] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 pcvr linux, 4K per eye (1.35inch micro OLED 3552x3840 10 bit HDR) 27MP @90Hz 75Hz 72Hz pancake, upto 108 hor 100 vert FOV, usb-c and dp cables to breakout box, 5V 2.1A, 200g}} |- | <!--Description-->Shiftall | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2026 }} |- | <!--Description-->Shiftall | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->Acer Windows(TM) MR AH101 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 Dual 2.89” LCD panels 2880 x 1440 combined (1440 x 1440 per eye) Up to 90Hz (HDMI 2.0), or 60Hz (HDMI 1.4), Field of View FOV 95, Tracking Inside-out, lots of light leak, }} |- | <!--Description-->Acer H7001 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 wmr 1440 x 1440 per-eye resolution @90Hz refresh rate, and 100-degree field of view FOV, inside-out tracking with front-mounted cameras so no external sensors, flip-up visor design but has a "screen door effect," subpar foam padding, win10 to win11 24H2, }} |- | <!--Description-->Dell Visor Mixed Reality VRP100 VR118 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 2x 1440x1440 a bit of nose light leak }} |- | <!--Description-->Fujitsu | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2017 cheap and lots of light leak }} |- | <!--Description-->[https://github.com/HadesVR HadesVR] with [https://github.com/ManoloMancelli/Persephone-Classic-Controller Persephone Controller] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->[https://www.youtube.com/watch?v=HFaVjB1uNOM Persephone 3 Pro DiY 6Dof SteamVR Headset], | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->HP Reverb G1 VR1000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 WMR 2160 x 2160 @90Hz, 115 FOV, , hp proprietary headset cable end, 2 camera tracking but poor and controllers can be unresponsive, 500g front heavy, flight sims rather than gaming, }} |- | <!--Description-->HP 1440p Spatial Computing | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 dim display }} |- | <!--Description-->[https://forums.x-plane.org/forums/topic/294764-vr-in-linux-without-steam/ HP Reverb G2] WMR VR3000 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2020 2 2160 x 2160 90Hz, needs Windows10 or Win 11 24H2, 4 camera tracking, controllers can be unresponsive, hp proprietary headset cable end, , }} |- | <!--Description-->HP | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Mirage Solo is a Standalone VR headset | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 Qualcomm Snapdragon 835, 1280x1440 per eye resolution, 75 Hz refresh rate, }} |- | <!--Description-->Lenovo Explorer VR2511N (G0A2) VR windows mixed reality (WMR) | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 LCD 2.89" 1440 x 1440 per eye @90Hz, 6 DOF position tracking, 400g, }} |- | <!--Description-->[https://github.com/relativty/relativty open source relativty] | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Samsung MHD Odyssey XE800ZAA WMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2018 9V 500mA oled screens 2x 1440x1600 with usb3 and hdmi cables but bluetooth dongle required }} |- | <!--Description-->Samsung MHD Odyssey+ Plus WMR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2019 dual 3.5-inch AMOLED displays 2880 x 1600 total @90Hz, 6DOF inside-out tracking with usb3 and hdmi cables but bluetooth dongle required, use only win10 or win11 24H2, }} |- | <!--Description-->Sony PSVR | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2016 2x 1080x960 up to 120Hz, lots of cables and computation brick, sony camera needed for tracking, ps4 or move controllers, }} |- | <!--Description-->Virtuality | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|1992 , , Amiga 3000 with TI chips, }} |- | <!--Description-->Virtuix Omni | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2013 VR treadmill changed course to commercial VR and pivotted back again 2020, }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} === HDMI CEC transmitter and receiver === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} === TV Remote Control MCE IR transmitter and receiver === {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Compro K100 K300 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|need extra software support}} |- | <!--Description-->Elitegroup Computer Systems | <!--Vendor ID-->0x1019 | <!--Product ID-->0x0f38 | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->GMYLE MCE | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{Maybe|acts as usb-hid with limited keyboard like controls }} |- | <!--Description-->Hauppauge WinTV-PVR kit | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|untested}} |- | <!--Description-->Logitech Harmony 300 i300 600 650 800 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|need extra software support}} |- | <!--Description-->Microsoft MCE Commander | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|2005 need extra software support}} |- | <!--Description-->Microsoft 1039 rev 1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2005 home top of square shape direction keys}} |- | <!--Description-->Microsoft 1039 rev 2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2006 home under circle spaced direction keys}} |- | <!--Description-->Microsoft 1069 SMK Manufacturing, Inc | <!--Vendor ID-->0x0609 | <!--Product ID-->0x0334 | <!--Revision--> | <!--Opinion-->{{No|2007 untested}} |- | <!--Description-->Philips RC1974506/00 | <!--Vendor ID-->0x0471 | <!--Product ID-->0x0815 | <!--Revision--> | <!--Opinion-->{{No|untested}} |- | <!--Description-->Sony RM-MCE10E PC REMOTE CONTROL VGN-AR21M VGX-XL100 VGN-AR21B/AR21S | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony RM-MCE20E PC REMOTE CONTROL | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony RM-MCE30E PC REMOTE CONTROL VGN-AW21XY VGX-TP3E VGX-TP3G | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Sony RM-MCE50E PC REMOTE CONTROL VGC-LA2R | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->TSDX-IR14 USB MCE Media Center External Infrared IR Receiver | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->chipsets support CIR (consumer IR) Winbond W83977F/AF, SMC IrCC 2.0 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|technical reasons it's not possible to use USB IrDA dongles}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | <!--Description-->Zotac RC2604323/01G Zbox Media Remote Control with IR USB Receiver OVU710 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->Anycubic Cobra 2 Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Bambu Labs A1 Mini 3D printer | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{No|2019 EMS proprietary slicer app and cloud use, eSUN}} |- | <!--Description-->Bambu Labs X1 Carbon | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2022 }} |- | <!--Description-->Bambu Labs X2D | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Creality K1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Creality K2 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Creality | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Elegoo | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Lulzbot | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Prusa | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Qidi | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Snapmaker U1 | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk|2025 tool changer }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description-->Sovol SV08 Max | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| open source voron model, }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->desktop pick and place machines AFARCO PNP running OpenPnP for Desktop SMT | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |} ==ethwrap.class - Host Data Link "Cable Bridge" for data transfer== {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Advance USBNET (eTEK design) | 0x0525 | 0x9901 | | {{N/A|untested}} |- | ALi Uli M5632 (chip) | | | | {{N/A|untested}} |- | Aten (Ali Corporation) UN201 | 0x0402 | 0x5632 | | {{maybe|force binding from rawwarp to ethwrap}} |- | Belkin (eTek design see below) | 0x050d | 0x0004 | | {{N/A|untested}} |- | Digitus DN-3004 - USB Host Link | | | | {{yes|works}} |- | EPSON USB client | 0x0525 | 0x2888 | | {{N/A|untested}} |- | eTEK | 0x056c | 0x8100 | | {{N/A|untested}} |- | KC-190 | 0x050f | 0x0190 | | {{N/A|untested}} |- | GeneSys GL620USB | | | | {{no|no driver the half-duplex GL620USB is NOT supported, products using it include the Inland Pro USB Quick Link}} |- | GeneSys GL620USB-A | | | | {{N/A|untested}} |- | Laplink Gold (uses NetChip 1080) | | | | {{N/A|untested}} |- | Prolific 2301/2302 (Jaton USB ConNET) (BAFO DirectLinq) | 0x067b | 0x0000 and 0x0001 | 0x0004 | {{maybe|detected but untested}} |- | Xircom PGUNET (uses AnchorChips 2720) | 0x0547 | 0x2727 | | {{N/A|untested}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} ==cdcacm.class - USB modem== The CDC ACM driver exposes the USB modem as a virtual serial modem or a virtual COM port to the operating system. The driver enables sending both data and AT commands, either through ACM (separating data and AT commands over different channels) or through Serial Emulation (passing the AT commands as is and as part of the data stream). {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Alcatel OT-I650 | 0x1bbb | 0x0003 | | {{N/A|untested}} |- | Acatel Dymamode/Dynamite | 0x06b9 | 0xa5a5 | | {{N/A|untested Zyxel Prestige 630-13 - untested PROLiNK Hurricane 8000 external link }} |- | AnyData ADU-100A ADU-E100A ADU-E100D ADU-E100H D10 | 0x16d5 | 0x6501 | | {{N/A|untested}} |- | AnyData ADU-310 | 0x16d5 | 0x650 | | {{N/A|untested}} |- | AnyData ADU-500A ADU-510A ADU-510L ADU-520A | 0x16d5 | 0x6502 | | {{N/A|untested}} |- | AnyData ADU-610 ADU-620 | 0x16d5 | 0x650 | | {{N/A|untested}} |- | BT On-Air USB MODEM | 0x079b | 0x000f | | {{N/A|untested}} |- | Conexant USB MODEM CX93010 | 0x0572 | 0x1321 | | {{N/A|untested}} |- | Conexant USB MODEM RD02-D400 | 0x0572 | 0x1324 | | {{N/A|untested}} |- | Conexant Chipset | 0x06ea | 0x0002 | | {{N/A|untested AUS N367 Roadster II 56 USB (Model AM5050R3) - untested }} |- | [http://accessrunner.sourceforge.net/ Conexant AccessRunner] | 0x0586 | 0x330a | | {{N/A|untested }} |- | Creative Modem Blaster USB DE5670 | 0x1690 | 0x0101 | | {{N/A|untested}} |- | FIREFLY, MediaTek Inc | 0x0e8d | 0x0003 | | {{N/A|untested}} |- | Huawei E122 | 0x12d1 | 0x1446 | | {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=49126#forumpost49126] |- | Huawei E160, E160E, E160G | 0x12d1 | 0x1003 | |{{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?post_id=51888#forumpost51888] (Chipset: Qualcomm MSM6246) |- | Huawei E169 also known as Vodafone K3715 and Huawei K3715 | 0x12d1 | 0x1001 | |{{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4941&forum=4&post_id=44683#forumpost44683] (Chipset: Qualcomm MSM7200) |- | Huawei E220 "Vodafone EasyBox II" "T-Mobile wnw Box Micro" also known as Huawei K3565 | 0x12d1 | 0x1003 | | {{yes|works, see E169 above (Chipset: Qualcomm MSM6280)}} |- | Huawei E1750 | 0x12d1 | 0x1001 | | {{N/A|untested (Chipset: Qualcomm MSM6290)}} |- | Huawei E170, E172, E176 | 0x12d1 | 0x1003 | | {{N/A|untested (Chipset: Qualcomm MSM7200)}} |- | Huawei E180 | 0x12d1 | 0x1406 | | {{yes|Works (Chipset: Qualcomm MSM7200)}} |- | KYOCERA AH-K3001V | 0x0482 | 0x0203 | | {{N/A|untested}} |- | LG CU515 | | | | {{N/A|untested}} |- | MediaTek Inc GPS | 0x0e8d | 0x3329 | | {{N/A|untested}} |- | Metricom GS Modem | 0x0870 | 0x0001 | | {{N/A|untested}} |- | Motorola MOTOMAGX phones | 0x22b8 | 0x6425 | | {{N/A|untested}} |- | Motorola Q Phone | 0x22b8 | 0x7000 | | {{N/A|untested}} |- | Hummingbird huc56s (Conexant) | 0x0572 | 0x1329 | | {{N/A|untested}} |- | Netcomm Roadster II 128 ISDN | | | | {{N/A|untested}} |- | Nokia n70 N95 HSDPA | | | | {{yes|works - see [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=4415&viewmode=flat&order=ASC here]}} |- | OGO | 0x045E | 0x0079 | 0090 | {{no|no driver}} |- | Olitec ADSL Modem V2 | 0x08e3 | 0x0100 / 0x0102 | | {{N/A|untested}} |- | <!--Description-->Onda PT502HS | <!--Vendor ID-->0x19D2 | <!--Product ID-->0x0001 | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- | Radicom V92HU-E2 | | | | {{N/A|untested}} |- | <!--Description-->Samsung i8510 Innov8 Symbian smartphone | 0x04e8 | 0x6651 | <!--Revision--> | {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=5552&viewmode=flat&order=ASC&type=&mode=0] |- | Samsung Tocco Lite (aka GT-S5230) | 0x04e8 | 0x6795 | <!--Revision--> | {{yes|works}} [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=5552&viewmode=flat&order=ASC&type=&mode=0] |- | Shiro / Aztech USB MODEM UM-3100 | 0x0572 | 0x1328 | | {{N/A|untested}} |- | ZyDAS 56K USB MODEM | 0x0ace | 0x1602 | | {{N/A|untested}} |- | ZyDAS 56K USB MODEM | 0x0ace | 0x1608 | | {{N/A|untested}} |- | ZyDAS 56K USB MODEM - new version | 0x0ace | 0x1611 | | {{N/A|untested}} |- | Zoom Telephonics Model 3095F USB MODEM | 0x0803 | 0x3095 | | {{N/A|untested}} |- | Ugobe Pleo | 0x6962 | 0x0100 | 0x0100 | {{Yes|Works}} |} ==Misc== palmpda.class - no [http://aminet.net/package/util/libs/PdaLinkPoseidon pdalink.library and tools] in AROS Palm PDA (discontinued) synchronisation requires a port of pdalink.library and its tools through virtual usbpalm.device. {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Palm IIIx (OS3.1) serial rs-232 only | | | | {{no|no }} |- | Palm IIIc (OS3.5) | | | | {{no|no }} |- | Palm V | | | | {{no|no }} |- | Palm m100 | | | | {{no|no }} |- | Palm m125 first USB - last with aaa batteries | | | | {{no|no }} |- | Palm m500 (OS4) | | | | {{no|no }} |- | Tungsten T (OS5) first arm cpu | 0x | 0x | 0x | {{no|no }} |- | Zire 31 (OS 5.28) color arm-based | | | | {{no|no }} |- | [[:w:Handspring (company)|Handspring Visor]] – USB support out of box | | | | {{no|no }} |- | Handspring Treo 600 – last one for [[:w:Handspring (company)|Handspring]] | | | | {{no|no }} |- | Treo 700w | | | | {{no|no }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- |} bluetooth.class - needs Bluetooth (Viking King Harald "Bluetooth" Gormsson (Old Norse: Haraldr Blátǫnn Gormsson; Danish: Harald Blåtand Gormsen) stack to work (not written due to licensing fees to use the symbol merging the Younger Futhark runes for H (ᚼ) and B (ᛒ), representing Harald's initials) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- |} ccid.class - Chip/Smart Card Interface Devices (not implemented) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->cyberJack RFID basis | <!--Vendor ID-->0x0C4B | <!--Product ID-->0x9102 | <!--Revision-->0001 | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{no|no driver}} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{N/A|untested}} |- |} dfu.class - DFU firmware upgrade {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | <!--Description-->iPhone 3, 4, 5, 5c | <!--Vendor ID-->0x05ac | <!--Product ID-->0x1290 0x1292 0x1294 | <!--Revision--> | <!--Opinion-->{{unk| 32bit use with caution could cause damage}} |- | <!--Description-->iPhone 5s, 6, 7, 8, X | <!--Vendor ID-->0x05ac | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| 64bit use with caution could cause damage}} |- | <!--Description-->M-Audio/Midiman USB audio | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Description | Vendor ID | Product ID | Revision | Opinion |- | <!--Description-->iPad 1, iPad 2 A1395 A1430, iPad 3, ipad mini A1432, iPad A1458 4th Gen (MD512LL/A), | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2008-2013 32bit A4, A5 up to Apple A6X, iOS 1 to 10, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |- | <!--Description-->iPad Air (1st generation) A1474, A1475, A1476, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2014-2015 [https://github.com/AsahiLinux 64bit], A7, iOS 11 up to |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2015 64bit A8, A8X, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2016 64bit A9, A9X, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2017 64bit A10, A10X, |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2018 64bit A11 |- | <!--Description-->iPad Air 3rd Gen A2153, A2123, A2154, iPad Mini 5th Gen, | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->2019 64bit A12 |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion-->{{unk| }} |- |} RocketTool (USB Rocket Launchers - Toy missile launchers) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="3px" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Original Launcher and StrikerII (includes laser) | 0x1130 | 0x0202 | | {{yes|works }} |- | Dream Cheeky USB Missile Launcher or USB Cirus Cannon | 0x1941 | 0x8021 | | {{no|no driver }} |- | Dream Cheeky USB Webcam Missile Launcher | 0x1941 | | | {{no|no driver }} |- | Rocket Baby | 0x0a81 | 0x0701 | | {{no|no driver }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |} DRadioTool (FM Radios - USB radio devices D-Link/Gemtek) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="5%" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | D-Link DSB-R100 USB | 0x04b4 | 0x1002 | 0x0410 | {{yes|works }} |- | [http://www.neoseeker.com/forums/383/t257009-link-usb-dru-r100-radio/ GemTek USB FM Radio 21] | 0x04b4 | 0x1002 | | {{N/A|untested }} |- | <!--Description--> | <!--Vendor ID--> | <!--Product ID--> | <!--Revision--> | <!--Opinion--> |} UproarTool (Valencia MPX mp3 player and others) {| class="wikitable sortable" width="90%" ! width="30%" | Description ! width="3px" |Vendor ID ! width="10%" |Product ID ! width="10%" |Revision ! width="50%" |Opinion |- | Korean D Square Valencia MPX-Player | 0x04e8 | various | | {{N/A|untested }} |- |} {{BookCat}} 418vsnsaeyuwlw7tzrz3kp3nhkm2mqu Aros/User/Applications 0 237399 4670148 4670002 2026-09-15T07:29:30Z Jeff1138 301139 4670148 wikitext text/x-wiki ==Introduction== [[#Graphical Image Editing Art]] [[#Office Application]] [[#Audio]] [[#Misc Application]] [[#Games & Emulation]] [[#Application Guides]] [[#top|...to the top]] [[#top|...to the top]] Most apps can be opened on the Workbench (aka publicscreen pubscreen) which is the default display option but can offer a custom one set to your configurations (aka custom screen mode promotion). These custom ones tend to stack so the possible use of A-M/A-N method of switching between full screens and the ability to pull down screens as well If you are interested in creating or porting new software, see [http://en.wikibooks.org/wiki/Aros/Developer/Docs here] {| class="wikitable sortable" |- !width:30%;|Internet Applications !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1 (68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Web Online Browser [], |<!--AROS-->[https://archives.arosworld.org/?function=showfile&file=network/browser/ Amelinium], Odyssey 2.0, [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1175&highlight=odyssey&rowstart=100 Odyssey 3.0], [], |<!--Amiga OS-->[https://aminet.net/comm/www Amelinium], [https://blog.alb42.de/programs/amifox/ amifox] with [https://github.com/alb42/wrp wrp server], IBrowse*, [https://github.com/zapek/Voyager Voyager], [https://github.com/amigazen/aweb3/ AWeb 3.6 src], [https://github.com/matjam/aweb AWeb Src], [http://aminet.net/package/comm/www/NetSurf-m68k-sources Netsurf], [], |<!--AmigaOS4-->[ Odyssey OWB], [ Timberwolf (Firefox port 2011)], [http://amigaworld.net/modules/newbb/viewtopic.php?forum=32&topic_id=32847 OWB-mui], [http://strohmayer.org/owb/ OWB-Reaction], IBrowse*, [http://os4depot.net/index.php?function=showfile&file=network/browser/aweb.lha AWeb], Voyager, [http://www.os4depot.net/index.php?function=browse&cat=network/browser Netsurf], |<!--MorphOS-->Wayfarer, [http://fabportnawak.free.fr/owb/ Odyssey OWB], [ Netsurf], IBrowse*, AWeb, [], |- |<!--Sub Menu-->YouTube, Dailymotion website downloading videos audio [https://github.com/yt-dlp/yt-dlp yt-dlp], [https://clipgrab.org/ clipgrab], |<!--AROS-->[], [https://blog.alb42.de/amitube/ Amitube], |<!--Amiga OS-->[https://blog.alb42.de/amitube/ Amitube], [ smtube], |<!--AmigaOS4-->[https://blog.alb42.de/amitube/ Amitube], getVideo, Tubexx, [https://github.com/walkero-gr/aiostreams aiostreams], |<!--MorphOS-->[ ytsearch], [https://blog.alb42.de/amitube/ Amitube], [http://morphos.lukysoft.cz/en/vypis.php?kat=5 getVideo], Tubexx |- |<!--Sub Menu-->Old style E-mailing SMTP POP3 IMAP based |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/email SimpleMail], [http://sourceforge.net/projects/simplemail/files/ src], [https://github.com/jens-maus/yam YAM] |<!--Amiga OS-->[http://sourceforge.net/projects/simplemail/files/ SimpleMail], [https://github.com/jens-maus/yam YAM] |<!--AmigaOS4-->SimpleMail, YAM, |<!--MorphOS--> SimpleMail, YAM |- |<!--Sub Menu-->IRC, ICB, |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/chat WookieChat], [https://sourceforge.net/projects/wookiechat/ Wookiechat src], [http://archives.arosworld.org/index.php?function=browse&cat=network/chat AiRcOS], Jabberwocky, |<!--Amiga OS-->[https://github.com/charabaruk/WookieChat Wookiechat], AmIRC |<!--AmigaOS4-->Wookiechat |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=5 Wookiechat], [http://morphos.lukysoft.cz/en/vypis.php?kat=5 AmIRC], |- |<!--Sub Menu-->Instant Messaging IM like [https://github.com/BlitterStudio/amidon Hollywood lang based Mastodon client], BlueSky AT protocol, Facebook(TM), Twitter X (TM), Bitlbee IRC Gateway and others |<!--AROS-->[https://github.com/kaffeine1/telegram-amiga telegram-amiga], [http://archives.arosworld.org/index.php?function=browse&cat=network/chat jabberwocky], |<!--Amiga OS-->[http://amitwitter.sourceforge.net/ AmiTwitter], CLIMM, SabreMSN, [https://sourceforge.net/projects/ajabberwocky/ jabberwocky], |<!--AmigaOS4-->[http://amitwitter.sourceforge.net/ AmiTwitter], SabreMSN, |<!--MorphOS-->[http://amitwitter.sourceforge.net/ AmiTwitter], [http://morphos.lukysoft.cz/en/vypis.php?kat=5 PolyglotNG], SabreMSN, |- |<!--Sub Menu-->Torrents |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/p2p ArTorr], |<!--Amiga OS--> |<!--AmigaOS4-->CTorrent, Transmission |<!--MorphOS-->MLDonkey, Beehive, [http://morphos.lukysoft.cz/en/vypis.php?kat=5 Transmission], CTorrent, |- |<!--Sub Menu-->FTP |<!--AROS-->[https://github.com/BlitterStudio/dopus5 Dopus5 Magellan], MarranoFTP, [https://aminet.net/package/comm/tcp/wput-0.3.4c.i386-aros wput i386 c src] |<!--Amiga OS-->[https://github.com/BlitterStudio/dopus5 Dopus5 Magellan], [http://aminet.net/package/comm/tcp/AmiFTP AmiFTP], AmiTradeCenter, ncFTP, [https://aminet.net/package/comm/tcp/sana2-tftpclient sana2 tftpclient c src] |<!--AmigaOS4-->[https://github.com/BlitterStudio/dopus5 Dopus5 Magellan], |<!--MorphOS-->[https://github.com/BlitterStudio/dopus5 Dopus5 Magellan], [http://morphos.lukysoft.cz/en/vypis.php?kat=5 Pftp], [http://aminet.net/package/comm/tcp/AmiFTP-1.935-OS4 AmiFTP], |- |<!--Sub Menu-->WYSIWYG Web Site Editor |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Internet Radio Streaming Audio [http://www.gnu.org/software/gnump3d/ gnump3d], [http://www.icecast.org/ Icecast2] Server (Broadcast) and Client (Listen), [ mpd], [http://darkice.sourceforge.net/ DarkIce], [http://www.dyne.org/software/muse/ Muse], |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=audio/misc], Mplayer (Icecast Client only), |<!--Amiga OS-->[https://github.com/sandlbn/TuneFinder TuneFinder C Src], [https://github.com/sandlbn/TuneFinderMUI TuneFinderMUI], [http://amigazeux.net/anr/ AmiNetRadio], [], [], |<!--AmigaOS4-->[http://www.tunenet.co.uk/ Tunenet], |<!--MorphOS-->Mplayer, AmiNetRadio, |- |<!--Sub Menu-->VoIP (Voice over IP) with SIP Client (Session Initiation Protocol) or Asterisk IAX2 Clients Softphone (skype like) |<!--AROS--> |<!--Amiga OS-->AmiPhone with Speak Freely, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Weather Forecast |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/ WeatherBar], [http://archives.arosworld.org/index.php?function=browse&cat=utility/workbench AWeather], [] |<!--Amiga OS-->[http://amigazeux.net/wetter/ Wetter], [https://github.com/emartisoft/AmiWeatherForecasts AmiWeatherForecasts src], |<!--AmigaOS4-->[http://os4depot.net/?function=showfile&file=utility/workbench/flipclock.lha FlipClock], |<!--MorphOS-->[http://amigazeux.net/wetter/ Wetter], |- |<!--Sub Menu-->Street Road Maps Route Planning GPS Tracking |<!--AROS-->[https://blog.alb42.de/programs/muimapparium/ MuiMapparium] [https://build.alb42.de/ Build of MuiMapp versions], |<!--Amiga OS-->AmiAtlas*, UKRoutePlus*, [http://blog.alb42.de/ AmOSM], |<!--AmigaOS4--> |<!--MorphOS-->[http://blog.alb42.de/programs/mapparium/ Mapparium], |- |<!--Sub Menu-->Clock and Date setting from the internet (either ntp or websites) [https://www.timeanddate.com/worldclock/ World Clock], [http://www.time.gov/ NIST], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/misc ntpsync], |<!--Amiga OS-->ntpsync |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Newsgroups |<!--AROS--> |<!--Amiga OS-->[http://newscoaster.sourceforge.net/ Newscoaster], [https://github.com/jens-maus/newsrog NewsRog], [ WorldNews], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->RSS |<!--AROS--> |<!--Amiga OS-->[https://github.com/Team-Boingo/AmiRSS AmiRSS src] |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->AI |<!--AROS--> |<!--Amiga OS-->[https://github.com/murinsel/AmigaAI Claude], [https://github.com/geekychris/amiga_mcp AI on host machine], [], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->BBS |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. ==Graphical Image Editing Art== {| class="wikitable sortable" |- !width:30%;|Image Editing !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Pixel Raster Artwork [https://github.com/LibreSprite/LibreSprite LibreSprite based on GPL aseprite], [https://github.com/abetusk/hsvhero hsvhero], [], |<!--AROS-->[https://sourceforge.net/projects/zunetools/files/ZunePaint/ ZunePaint], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit LunaPaint], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit GrafX2], [ LodePaint needs OpenGL], |<!--Amiga OS-->[http://www.amigaforever.com/classic/download.html PPaint], GrafX2, [https://github.com/grovdata/Amiga_Sources/blob/master/software.md DeluxePaint], [http://www.amiforce.de/perfectpaint/perfectpaint.php PerfectPaint], Zoetrope, Brilliance2*, |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=graphics/edit LodePaint], GrafX2, |<!--MorphOS-->Sketch, Pixel*, GrafX2, [http://morphos.lukysoft.cz/en/vypis.php?kat=3 LunaPaint] |- |<!--Sub Menu-->Image viewing |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/ ZuneView], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer LookHere], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer LoView], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer PicShow] , [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=31400&forum=32&start=80&viewmode=flat&order=0#583458 Picture Album], |<!--Amiga OS-->PicShow, PicView, Photoalbum, |<!--AmigaOS4-->WarpView, PicShow, flPhoto, Thumbs, [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=31400&forum=32&start=80&viewmode=flat&order=0#583458 Picture Album], |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=3 ShowGirls], [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=31400&forum=32&start=80&viewmode=flat&order=0#583458 Picture Album] |- |<!--Sub Menu-->Photography retouching / Image Manipulation like Photoshop(tm) |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit RNOEffects], |<!--Amiga OS-->[ Tecsoft Video Paint aka TVPaint], Photogenics*, ArtEffect*, ImageFX*, XiPaint, fxPaint, ImageMasterRT, Opalpaint, |<!--AmigaOS4-->WarpView, flPhoto, [http://www.os4depot.net/index.php?function=browse&cat=graphics/edit Photocrop] |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=3 ShowGirls], ImageFX*, |- |<!--Sub Menu-->Manage RAW picture folder galleries like Darktable, RAWtherapy, etc |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Graphic Format Converter - ICC profile support sRGB, Adobe RGB, XYZ and linear RGB |<!--AROS--> |<!--Amiga OS-->GraphicsConverter, ImageStudio, [http://www.coplabs.org/artpro.html ArtPro] |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Thumbnail Generator [], |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/ ZuneView], [http://archives.arosworld.org/index.php?function=browse&cat=utility/shell Thumbnail Generator] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Icon Editor |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/iconedit Archives], [http://archives.arosworld.org/index.php?function=browse&cat=utility/workbench Icon Toolbox], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=graphics/iconedit IconEditor] |<!--MorphOS--> |- |<!--Sub Menu-->2D Pixel Art Animation |<!--AROS-->Lunapaint |<!--Amiga OS-->PPaint, AnimatED, Scala*, GoldDisk MovieSetter*, Walt Disney's Animation Studio*, ProDAD*, [https://github.com/historicalsource/DeluxePaint DeluxePaint src], Brilliance |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=3 Titler] |- |<!--Sub Menu-->2D SVG based MovieSetter type |<!--AROS--> |<!--Amiga OS-->MovieSetter*, Fantavision* |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Morphing |<!--AROS-->[ GLMorph] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->2D Cad (qcad->LibreCAD, etc.) |<!--AROS--> |<!--Amiga OS-->Xcad, MaxonCAD |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->3D Cad like FreeCad, BRL-CAD, OpenSCAD, AvoCADo, etc. using dxf, obj (vertices), blend, |<!--AROS--> |<!--Amiga OS-->XCad3d*, DynaCADD*, [https://aminet.net/package/gfx/3d/Cycas178_EN Cycas]*, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->3D Model Rendering of glft (json) gbl (png jpg), usdz (USD files with materials, textures, and animations), FBX Filmbox is a proprietary Autodesk format, |<!--AROS-->POV-Ray |<!--Amiga OS-->[http://www.discreetfx.com./amigaproducts.html CINEMA 4D]*, POV-Ray, Lightwave3D*, Real3D*, Caligari24*, Reflections/Monzoom*, [https://github.com/privatosan/RayStorm Raystorm src], Tornado 3D, [https://github.com/AlphaPixel/Eric-Graham-1987-Juggler-Raytracer-1.0 Eric-Graham-1987-Juggler-Raytracer-1.0] |<!--AmigaOS4-->Blender, POV-Ray, Yafray |<!--MorphOS-->Blender, POV-Ray, Yafray |- |<!--Sub Menu-->3D Format Converter [], [], |<!--AROS-->[https://archives.arosworld.org/?function=showfile&file=graphics/convert/ 3doc.i386-aros], [], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=showfile&file=graphics/convert/ivcon.lha IVCon] |<!--MorphOS--> |- |<!--Sub Menu-->Screen grabbing display |<!--AROS-->[ Screengrabber], [http://archives.arosworld.org/index.php?function=browse&cat=utility/misc snapit], [http://archives.arosworld.org/index.php?function=browse&cat=video/record screen recorder], [] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Grab graphics music from apps [https://github.com/Malvineous/ripper6 ripper6], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Office Application== {| class="wikitable sortable" |- !width:30%;|Office !width:10%;|AROS (x86) !width:10%;|[http://en.wikipedia.org/wiki/Amiga_software Commodore-Amiga OS 3.1] (68k) !width:10%;|[http://en.wikipedia.org/wiki/AmigaOS_4 Hyperion OS4] (PPC) !width:10%;|[http://en.wikipedia.org/wiki/MorphOS MorphOS] (PPC) |- |<!--Sub Menu-->Office Suite |<!--AROS--> |<!--Amiga OS-->[ Softwood Final Office], [ Wordworth Office], [ Digita Office], [ The Works!], [ Europress Mini Office], [], [ Papyrus Office Demo], |<!--AmigaOS4--> |<!--MorphOS-->[ Papyrus Office], |- |<!--Sub Menu-->Word-processing |<!--AROS-->[https://finalwriter.godaddysites.com/ Final Writer 7*], [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1995&rowstart=20&pid=12668#post_12668 Slovo], [https://github.com/sodero/MUI-Vim/releases MUI-Vim], [https://archives.arosworld.org/index.php?function=browse&cat=office/wordprocessing Cinnamon Writer], [], |<!--AmigaOS-->[ Softwood FinalCopy II*], Haage AmigaWriter*, Digita WordWorth*, Softwood FinalWriter*, Micro-Systems Excellence 3*, Arnor Protext, Rashumon, [ InterWord], [ KindWords], [WordPerfect], [ New Horizons Flow], [ CygnusEd Pro], [ Micro-systems Scribble], |<!--AmigaOS4-->AbiWord, [ CinnamonWriter], |<!--MorphOS-->[ Cinnamon Writer], [http://www.meta-morphos.org/viewtopic.php?topic=1246&forum=53 scriba], [http://morphos.lukysoft.cz/en/index.php Papyrus Office], |- |<!--Sub Menu-->Spreadsheets |<!--AROS-->[https://blog.alb42.de/programs/leu/ Leu], [https://archives.arosworld.org/index.php?function=browse&cat=office/spreadsheet ], |<!--AmigaOS-->[https://aminet.net/package/biz/spread/ignition-src Ignition Src 1.3], [MaxiPlan 500 Plus], [OXXI Plan/IT v2.0 Speadsheet], [ Superplan], [ Creative Developments TurboCalc], [ ProCalc], [ InterSpread], [Digita DGCalc], [ Gold Disk Advantage], [ Micro-systems Analyze!] |<!--AmigaOS4-->Gnumeric, [https://ignition-amiga.sourceforge.net/ Ignition], |<!--MorphOS-->[ ignition], [http://morphos.lukysoft.cz/en/vypis.php Papyrus Office], |- |<!--Sub Menu-->Presentations |<!--AROS-->[http://www.hollywoood-mal.com/ Hollywood]*, |<!--Amiga OS-->[http://www.hollywoood-mal.com/ Hollywood]*, [https://github.com/evaneykelen/mediapoint-amiga MediaPoint C and asm], PointRider, Scala*, |<!--Amiga OS4-->[http://www.hollywoood-mal.com/ Hollywood]*, PointRider |<!--MorphOS-->[http://www.hollywoood-mal.com/ Hollywood]*, PointRider |- |<!--Sub Menu-->Databases |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=office/database BeeBase], |<!--Amiga OS-->Precision Superbase 4 Pro*, Arnor Prodata*, [https://sourceforge.net/projects/beebase/ BeeBase], Datastore, FinalData*, AmigaBase, Fiasco, Twist2*, [Digita DGBase], [], |<!--AmigaOS4-->BeeBase, SQLite, |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=6 BeeBase], |- |<!--Sub Menu-->PDF Viewing and editing digital signatures |<!--AROS-->[http://sourceforge.net/projects/arospdf/ ArosPDF via splash], [https://github.com/wattoc/AROS-vpdf vpdf wip], |<!--Amiga OS-->APDF |<!--AmigaOS4-->AmiPDF |<!--MorphOS-->APDF, vPDF, |- |<!--Sub Menu-->Note Taking markdown support like Obsidian like, joplin, OneNote, EverNotes, xournalpp, etc |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Study and analyse, collect, organize, annotate, cite, and share |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->PIM Personal Information Manager - Day Diary Planner Calendar App |<!--AROS-->[ ], [ ], [ ], |<!--Amiga OS-->Digita Organiser*, On The Ball, Everyday Organiser, [ Contact Manager], |<!--AmigaOS4-->AOrganiser, |<!--MorphOS-->[http://polymere.free.fr/orga_en.html PolyOrga], |- |<!--Sub Menu-->Accounting |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=office/misc ETB], LoanCalc, [ ], [ ], [ ], |[ Digita Home Accounts2], Accountant, Small Business Accounts, Account Master, [ Amigabok], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Project Management Research |<!--AROS--> |<!--Amiga OS-->SuperGantt, SuperPlan, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Desktop |<!--AROS-->Wanderer, Scalos, Workbook, DOpus5, |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->[https://github.com/zapek/Ambient Ambient Src] |- |<!--Sub Menu-->System Wide Search |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=utility/filetool Finder], [], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->System Wide Dictionary - multilingual [http://sourceforge.net/projects/babiloo/ Babiloo], [http://code.google.com/p/stardict-3/ StarDict], |<!--AROS-->[ ], |<!--AmigaOS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->System wide Thesaurus - multi lingual |<!--AROS-->[ ], |Kuma K-Roget*, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Sticky Desktop Notes (post it type) |<!--AROS-->[http://aminet.net/package/util/wb/amimemos.i386-aros AmiMemos], [https://aminet.net/package/util/wb/amimemos.src-aros AmiMemos Src], [], |<!--Amiga OS-->[http://aminet.net/package/util/wb/StickIt-2.00 StickIt v2], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->DTP Desktop Publishing |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit RNOPublisher], |<!--Amiga OS-->[http://pagestream.org/ Pagestream]*, Professional Pro Page*, Saxon Publisher, Pagesetter, PenPal, |<!--AmigaOS4-->[http://pagestream.org/ Pagestream]* |<!--MorphOS-->[http://pagestream.org/ Pagestream]* |- |<!--Sub Menu-->Printing |<!--AROS-->Postscript 3 laser printers, [https://github.com/bohunamiga/MintPRINT MintPRINT AirPrint IPP], [ Ghostscript], [], |<!--Amiga OS-->[https://github.com/boingball/MintPRINT MintPRINT IPP], [https://github.com/Andiweli/AmiAirprint AmiAirprint], [http://www.irseesoft.de/tp_what.htm TurboPrint]*, [ GutenPrint], [https://aminet.net/package/comm/tcp/NetPrinter NetPrinter LPR], [], [], |<!--AmigaOS4-->(some native drivers), |<!--MorphOS-->early TurboPrint included, [https://aminet.net/package/comm/tcp/NetPrinter NetPrinter LPR], |- |<!--Sub Menu-->Scanning |<!--AROS-->[ SCANdal], [], |<!--Amiga OS-->FxScan*, ScanQuix* |<!--AmigaOS4-->SCANdal (Sane) |<!--MorphOS-->SCANdal |- |<!--Sub Menu-->OCR |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/convert gOCR] |<!--AmigaOS--> |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos-files.net/categories/office/text Tesseract] |- |<!--Sub Menu-->Text Editing |<!--AROS-->Jano Editor (already installed as Editor), [http://archives.arosworld.org/index.php?function=browse&cat=development/edit EdiSyn], [http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit Annotate], [https://archives.arosworld.org/index.php?function=browse&cat=development/edit Vim], [http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit FrexxEd] [https://github.com/vidarh/FrexxEd src], [ NoWinEd], |<!--Amiga OS-->[https://aminet.net/package/text/edit/TurboText20 TurboText20 ttx], Annotate, MicroGoldED/CubicIDE*, CygnusED*, Protext*, NoWinED, |<!--AmigaOS4-->Notepad, Annotate, CygnusED*, NoWinED, |<!--MorphOS-->MorphOS ED, NoWinED, GoldED/CubicIDE*, CygnusED*, Annotate, |- |<!--Sub Menu-->Office Fonts [http://sourceforge.net/projects/fontforge/files/fontforge-source/ Font Designer] |<!--AROS-->[ ], [ ], |<!--Amiga OS-->TypeSmith*, SaxonScript (GetFont Adobe Type 1), |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Drawing Vector |<!--AROS-->[http://sourceforge.net/projects/amifig/ ZuneFIG previously AmiFIG], [https://github.com/serk118/designworks-aros designworks aros 64bit] |<!--Amiga OS-->Drawstudio*, ProVector*, ArtExpression*, Professional Draw*, AmiFIG, MetaView, [https://gitlab.com/amigasourcecodepreservation/designworks Design Works Src], [], |<!--AmigaOS4-->MindSpace, [http://www.os4depot.net/index.php?function=browse&cat=graphics/edit amifig], |<!--MorphOS-->SteamDraw, [http://aminet.net/package/gfx/edit/amifig amiFIG], |- |<!--Sub Menu-->video conferencing (jitsi) |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->source code hosting |<!--AROS-->Gitlab, |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Remote Desktop (server) |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/VNC_Server ArosVNCServer], |<!--Amiga OS-->[http://s.guillard.free.fr/AmiVNC/AmiVNC.htm AmiVNC], [http://dspach.free.fr/amiga/avnc/index.html AVNC] |<!--AmigaOS4-->[http://s.guillard.free.fr/AmiVNC/AmiVNC.htm AmiVNC] |MorphVNC, vncserver |- |<!--Sub Menu-->Remote Desktop (client) login and connect to another machine |<!--AROS-->[https://sourceforge.net/projects/zunetools/files/VNC_Client/ ArosVNC], [http://archives.arosworld.org/index.php?function=browse&cat=network/misc rdesktop], |<!--Amiga OS-->[http://twinvnc.free.fr/index.php?menu=01&lang=eng TwinVNC], [http://dspach.free.fr/amiga/vva/index.html VVA], [http://www.hd-zone.com/ RDesktop] |<!--AmigaOS4-->[http://twinvnc.free.fr/index.php?menu=01&lang=eng TwinVNC], [http://www.hd-zone.com/ RDesktop] |[http://twinvnc.free.fr/index.php?menu=01&lang=eng TwinVNC], [http://www.hd-zone.com/ RDesktop] |- |<!--Sub Menu-->notifications |<!--AROS--> |<!--Amiga OS-->Ranchero |<!--AmigaOS4-->Ringhio |<!--MorphOS-->MagicBeacon |- |<!--Sub Menu-->Biometric facial logins and fingerprint security features |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Audio== {| class="wikitable sortable" |- !width:30%;|Audio !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Playing playback Audio like MP3, [https://github.com/chrg127/gmplayer NSF], [https://github.com/kode54/lazyusf miniusf .usflib] [https://gitlab.com/kode54/psflib with pfslib], [], [], etc |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=video/play Mplayer], [ HarmonyPlayer hp], [http://www.a500.org/downloads/audio/index.xhtml playcdda] CDs, [ WildMidi Player], [https://bszili.morphos.me/ UADE mod player], [], [ RNOTunes], [ mp3Player], [], |<!--Amiga OS-->AmiNetRadio, AmigaAmp, playOGG, [https://codeberg.org/tygre/amimodradio amimodradio] |<!--AmigaOS4-->TuneNet, SimplePlay, AmigaAmp, TKPlayer |AmiNetRadio, Mplayer, Kaya, AmigaAmp |- |<!--Sub Menu-->Editing Audio |<!--AROS-->[ Audio Evolution 4] |<!--Amiga OS-->[https://sourceforge.net/projects/hd-rec/ HD-Rec Src], [http://www.sonicpulse.de/eng/news.html SoundFX], [ Samplitude], |<!--AmigaOS4-->[https://sourceforge.net/projects/hd-rec/ HD-Rec], AmiSoundED, [http://os4depot.net/?function=showfile&file=audio/record/audioevolution4.lha Audio Evolution 4] |[http://www.hd-rec.de/HD-Rec/index.php?site=home HD-Rec], |- |<!--Sub Menu-->Editing Tracker Music |<!--AROS-->[https://github.com/hitchhikr/protrekkr Protrekkr], [ Schism Tracker], [http://archives.arosworld.org/index.php?function=browse&cat=audio/tracker MilkyTracker], [http://www.hivelytracker.com/ HivelyTracker], [ Radium in AROS already], [http://www.a500.org/downloads/development/index.xhtml libMikMod], |<!--Amiga OS-->MilkyTracker, HivelyTracker, DigiBooster, Octamed SoundStudio, [https://github.com/elindstrom/soundtracker soundtracker], |<!--AmigaOS4-->MilkyTracker, HivelyTracker, GoatTracker |MilkyTracker, GoatTracker, DigiBooster, |- |<!--Sub Menu-->Editing Music [], [https://github.com/kmatheussen/camd CAMD] and/or staves and musical notes on manuscript |<!--AROS-->[http://bnp.hansfaust.de/ Bars and Pipes], [], [], |<!--Amiga OS-->[http://bnp.hansfaust.de/ Bars'n'Pipes], MusicX* David "Talin" Joiner & Craig Weeks (for Notator-X), Deluxe Music Construction Set DMCS2*, [https://github.com/timoinutilis/midi-sequencer-amigaos Horny c Src] [https://github.com/kas1e/midi-sequencer-amigaos/tree/master/HornyGCC HornyGCC OS4 src] [https://github.com/capehill/midi-sequencer-amigaos Horny OS4 fork src] [https://www.amigans.net/modules/newbb/viewtopic.php?start=0&topic_id=8143&order=ASC&status=&mode=0 OS4 thread], HD-Rec, [https://aminet.net/package/mus/midi/dominatorV1_51 Dominator], [https://github.com/royaltm/Amiga-midiIn Amiga-midiIn], [ Aegis Sonix 2.0] |<!--AmigaOS4-->[https://sourceforge.net/p/hd-rec/code/HEAD/tree/ HD-Rec Src], Rockbeat, [http://bnp.hansfaust.de/download.html Bars'n'Pipes], [https://github.com/gooofy/freeaction Horny OS4 src fork], Audio Evolution 4, |<!--MorphOS-->Bars'n'Pipes, |- |<!--Sub Menu-->Sound Sampling |<!--AROS-->[ Advanced AHI Recorder all], [https://archives.arosworld.org/index.php?function=browse&cat=audio/record Audio Evolution 4], [http://www.imica.net/SitePortalPage.aspx?siteid=1&did=162 Quick Record], [https://archives.arosworld.org/index.php?function=browse&cat=audio/misc SOX to get AIFF 16bit files], [https://github.com/aros-development-team/AROS/tree/master/workbench/tools/AHIRecord AHIRecord], |<!--Amiga OS-->[https://aminet.net/package/mus/edit/AudioEvolution3_src Audio Evolution 3 c src], [ Samplitude]*, Audiomaster IV*, |<!--AmigaOS4-->[https://github.com/timoinutilis/phonolith-amigaos phonolith c src], HD-Rec, Audio Evolution 4, |<!--MorphOS-->[https://sourceforge.net/p/hd-rec/code/HEAD/tree/ HD-Rec Src], Audio Evolution 4, |- |<!--Sub Menu-->Audio Processing like easyeffects so having limiter, compressor, convolver, equalizer and auto volume and many other plugins |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Live Looping or Audio Misc - Groovebox like |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->CD/DVD burn |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=utility IsoTools], [https://code.google.com/p/amiga-fryingpan/ FryingPan], |<!--Amiga OS-->FryingPan, [ MakeCD], |<!--AmigaOS4-->FryingPan, AmiDVD, |<!--MorphOS-->[http://www.amiga.org/forums/printthread.php?t=58736 FryingPan], Jalopeano, |- |<!--Sub Menu-->CD/DVD audio rip |<!--AROS-->Lame, [http://www.imica.net/SitePortalPage.aspx?siteid=1&cfid=0&did=167 Quick CDrip], |<!--Amiga OS-->Lame, |<!--AmigaOS4-->Lame, |<!--MorphOS-->Lame, |- |<!--Sub Menu-->MP3 v1 and v2 Tagger |<!--AROS-->id3ren (v1), [http://archives.arosworld.org/index.php?function=browse&cat=audio/edit mp3info], |<!--Amiga OS--> |<!--AmigaOS4--> | |- |<!--Sub Menu-->Audio Convert |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=audio/misc Sox], [], |<!--Amiga OS-->[http://aminet.net/package/mus/misc/SoundBox SoundBox], [http://aminet.net/package/mus/misc/SoundBoxKey SoundBox Key], [http://aminet.net/package/mus/edit/SampleE SampleE], sox |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->DJ mixing jamming |<!--AROS--> |<!--Amiga OS-->[https://github.com/djh0ffman/PT1210 Hoffman PT1210 DJ tracker], [], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Radio Automation Software [http://www.rivendellaudio.org/ Rivendell], [http://code.campware.org/projects/livesupport/report/3 Campware LiveSupport], [http://www.sourcefabric.org/en/airtime/ SourceFabric AirTime], [http://www.ohloh.net/p/mediabox404 MediaBox404], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Speakers Audio Sonos Mains AC networked wired controlled *2005 ZP100 with ZP80 *2008 Zoneplayer ZP120 (multi-room wireless amp) ZP90 receiver only with CR100 controller, *2009 ZonePlayer S5, *2010 BR100 wireless Bridge (no support), *2011 Play:3 *2013 Bridge (no support), Play:1, *2016 Arc, Play:1, *Beam (Gen 2), Playbar, Ray, Era 100, Era 300, Roam, Move 2, *Sub (Gen 3), Sub Mini, Five, Amp S2 |<!--AROS-->SonosController |<!--Amiga OS-->SonosController |<!--AmigaOS4-->SonosController |<!--MorphOS-->SonosController |- |<!--Sub Menu-->Smart Speakers |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Video Creativity and Production== {| class="wikitable sortable" |- !width:30%;|Video !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Playing Video |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=video/play Mplayer], [ VAMP], [http://www.a500.org/downloads/video/index.xhtml CDXL player], [http://www.a500.org/downloads/video/index.xhtml IffAnimPlay], [], |<!--Amiga OS-->Frogger*, AMP2, MPlayer, RiVA*, MooViD*, |<!--AmigaOS4-->DvPlayer, MPlayer |<!--MorphOS-->MPlayer, Frogger, AMP2, VLC |- |<!--Sub Menu-->Streaming Video and game streaming like OBS studio, Parsec, [https://github.com/lizardbyte/sunshine sunshine], [https://github.com/moonlight-stream/moonlight-qt moonlight], etc |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Playing DVD |<!--AROS-->[http://a-mc.biz/ AMC]*, Mplayer |<!--Amiga OS-->AMP2, Frogger |<!--AmigaOS4-->[http://a-mc.biz/ AMC]*, DvPlayer*, AMP2, |<!--MorphOS-->Mplayer |- |<!--Sub Menu-->Screen Recording |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=video/record Screenrecorder], [ ], [ ], [ ], [ ], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->Screenrecorder, |- |<!--Sub Menu-->Create Edit Individual Video - Amiga like OSs have no pro NLE |<!--AROS-->[ Mencoder], [ Quick Videos], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit AVIbuild], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/misc FrameBuild], FFMPEG, |<!--Amiga OS-->[ MainConcept Mainactor Broadcast*], [http://en.wikipedia.org/wiki/Video_Toaster Video Toaster*] with [https://discreetfx.com/openvideotoaster.html some c src], MacroSystem MovieShop 4.3*, proDAD Adorage*, [ IOSpirit VHI studio]*, [Gold Disk ShowMaker], [], |<!--AmigaOS4-->FFMpeg/GUI |<!--MorphOS-->Blender, Mencoder, FFmpeg |- |<!--Sub Menu-->Subtitle editor |<!--AROS-->[https://aminet.net/package/text/edit/Slarti_Arosx86ABIv0 Slarti_Arosx86ABIv0], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->IP-based video production workflows with High Dynamic Range (HDR), 10-bit color collaborative NDI, |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Blogging like Lemmy or kbin |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->VR face recognition for Vtubers |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->VR chatting Live2D models with Cubism type editor or [https://github.com/AyagamiDev/ayagami ayagami] like with zipped moc3 with model metadata (model3, cdi3) <pre> Model data (cmo3) Basic motions (can3) Background image (png) Set of files for embedding (runtime folder) • Model data (moc3) • Motion data (motion3.json) • Model settings file (model3.json) • Physics settings file (physics3.json) • Display auxiliary file (cdi3.json) </pre> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->VR chatting chatters .VRML models - standardized 3D file format for VR avatars |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->V-tubers V-tubing like Vseeface with Openseeface tracker or Vpuppr (virtual puppet project) for online live 2d / 3d art models rigging rigged LIV |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Misc Application== {| class="wikitable sortable" |- !width:30%;|Misc Application !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1 (68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->File Management |<!--AROS-->DOpus4, [https://github.com/BlitterStudio/dopus5 DOpus Magellan aka DOpus 5], [ Scalos], [ ], |<!--Amiga OS-->DOpus2, DOpus 4, [https://github.com/BlitterStudio/dopus5 Dopus5 Magellan], ClassAction, FileMaster, [http://www.amiga.org/forums/showthread.php?t=4897 DirWork 2]*, [https://github.com/RudolphRiedel/DiskMaster2 DiskMaster2 src], |<!--AmigaOS4-->DOpus4, [https://github.com/BlitterStudio/dopus5 Dopus5 Magellan], Filer, AmiDisk |<!--MorphOS-->DOpus4, [https://github.com/BlitterStudio/dopus5 Dopus5 Magellan], |- |<!--Sub Menu-->File Verification / Repair |<!--AROS-->[https://arosarchives.os4depot.net/index.php?function=browse&cat=utility md5sum], [https://arosarchives.os4depot.net/index.php?function=browse&cat=utility/filetool asum], [http://archives.arosworld.org/index.php?function=browse&cat=utility/filetool workpar2] (PAR2), [http://zakalwe.fi/~shd/foss/cksfv/files/ compile cksfv from website], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->Par2, |- |Application Installer |<!--AROS-->[], [ InstallerNG], |<!--Amiga OS-->InstallerNG, Grunch, |<!--AmigaOS4-->Jack |<!--MorphOS-->Jack |- |<!--Sub Menu-->Compression archiver [https://github.com/FS-make-simple/paq9a paq9a], [], |<!--AROS-->XAD system is a toolkit designed for handling various file and disk archiver |<!--Amiga OS--> |<!--AmigaOS4-->[https://aminet.net/package/util/pack/decrunchmania_os4 Crunchmania CrM2 depacker], |<!--MorphOS--> |- |<!--Sub Menu-->Binary Hexadecimal Editor |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=development/edit Zaphod], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Filesystem Partition Editor formatter Disk Management |<!--AROS-->[https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1440&highlight=partition&pid=8821#post_8821 QuickPart], [ HDToolBox] |<!--Amiga OS-->[https://github.com/stefanskotte/hdpart hdpart], [https://github.com/ChuckyGang/AmiPart AmiPart], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Filesystem Repair and backups |<!--AROS-->ArSFSDoctor, |<!--Amiga OS-->[https://aminet.net/package/disk/bakup/quarterback_src Quarterback Tools C and asm src], [ ], [ ], [ ], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->System Disk check, integrity and history [https://github.com/smartmontools/smartmontools smart tools], [], |<!--AROS--> |<!--Amiga OS-->[], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Multiple File renaming |<!--AROS-->DOpus 4 or 5, |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Anti Virus |<!--AROS--> |<!--Amiga OS-->VChecker, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Random Wallpaper Desktop changer [ DOpus5], [ Scalos], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Alarm Clock, Timer, Stopwatch, Countdown |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/workbench DClock], [http://aminet.net/util/time/AlarmClockAROS.lha AlarmClock], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} ==Misc Application 2== {| class="wikitable sortable" |- !width:30%;|Misc Application !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->C/C++ IDE Integrated Development |<!--AROS-->[https://sourceforge.net/projects/aidea/ AIDEa], [ Murks], [], |<!--Amiga OS-->[http://devplex.awardspace.biz/cubic/index.html Cubic IDE]*, [ StormC], [https://github.com/jens-maus/amide amide], [], |<!--AmigaOS4-->CodeBench , [https://gitlab.com/boemann/codecraft CodeCraft], |<!--MorphOS-->[http://devplex.awardspace.biz/cubic/index.html Cubic IDE]*, |- |<!--Sub Menu-->C/C++ Text Editors |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit FrexxEd], [https://github.com/vidarh/FrexxEd FrexxEd src], [http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit Annotate] with [https://www.onyxsoft.se/files/annotate_src.lha src], |<!--Amiga OS-->[ Protext], [ CED], [], |<!--AmigaOS4--> |<!--MorphOS-->[https://www.onyxsoft.se/annotate.html Annotate], |- |<!--Sub Menu-->Repository |<!--AROS-->[ Git] |<!--Amiga OS--> |<!--AmigaOS4-->Git |<!--MorphOS--> |- |<!--Sub Menu-->BASIC Computer Language |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=development/language Basic4SDL], [ Ace Basic], [ X-AMOS], [SDLBasic], [ Alvyn], |<!--Amiga OS-->[http://www.amiforce.de/main.php Amiblitz 3] with [https://github.com/AmiBlitz/AmiBlitz3 Asm src], [http://amos.condor.serverpro3.com/AmosProManual/contents/c1.html Amos Pro] with [https://github.com/AmiDARK/AmosProfessionalUnity-Official-Releases Asm src], [http://aminet.net/package/dev/basic/ace24dist ACE Basic], [https://github.com/gooofy/aqb aqb], [], |<!--AmigaOS4--> |<!--MorphOS-->sdlBasic |- |<!--Sub Menu-->Computer Languages Translation [https://tetracorp.github.io/guide/reverse-engineering-amiga.html], [https://amigasourcecodepreservation.gitlab.io/amiga-assembler-insider-guide/], [https://github.com/kermitfrog/Amiga-Re-Engineering Rust, Ghidra and FS-UAE], |<!--AROS--> |<!--Amiga OS-->[https://bitbucket.org/rhinoid/convert68000toc/src/main/ convert m68k seka asm-one to c], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Gui Creators |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=development/guitool MuiBuilder], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->[ MuiBuilder], |- |<!--Sub Menu-->Catalog .cd .ct Custom App Language Editors |<!--AROS-->FlexCat, [https://archives.arosworld.org/index.php?function=browse&cat=utility Flexcat GUI], [], |<!--Amiga OS-->[http://www.geit.de/deu_simplecat.html SimpleCat], FlexCat |<!--AmigaOS4-->[http://aminet.net/package/dev/misc/simplecat SimpleCat], FlexCat |<!--MorphOS-->[http://www.geit.de/deu_simplecat.html SimpleCat], FlexCat |- |<!--Sub Menu-->Cross Development |<!--AROS-->[], [], |<!--Amiga OS-->[https://github.com/geekychris/amiga_mcp amiga_mcp], [https://github.com/mbergmann-sh/AmigaED4-IDE AmigaED4-IDE], [https://lemonspawn.com/turbo-rascal-syntax-error-expected-but-begin/ Turbo Rascal], [], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. ==Misc Application 3== {| class="wikitable sortable" |- !width:30%;|Misc Application !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->System |<!--AROS-->[ SysExplorer], [ SysMon], [ Scout], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Terminals Shells CLIs |<!--AROS-->[https://tomaszstaniak.com/aros-term/ aros-term], [], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->OSK On Screen Keyboard |<!--AROS-->[], |<!--Amiga OS-->[https://aminet.net/util/wb/OSK.lha OSK] |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Screen Magnifier Magnifying Glass Magnification |<!--AROS-->[http://www.onyxsoft.se/files/zoomit.lha ZoomIT], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Comic Book CBR CBZ format reader viewer |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer comics], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer comicon], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Ebook Reader |<!--AROS-->[https://blog.alb42.de/programs/#legadon Legadon EPUB],[] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Ebook Converter |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Text to Speech tts [https://github.com/JonathanFly/bark-installer Bark], [], |<!--AROS-->[ Echo " " >SPEAK:A1 inbuilt], [http://archives.arosworld.org/index.php?function=browse&cat=audio/misc flite], |<!--Amiga OS-->[http://www.text2speech.com translator], [https://github.com/sidick/narrator.wyoming narrator.wyoming], [], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=search&tool=simple FLite] |<!--MorphOS-->[http://se.aminet.net/pub/aminet/mus/misc/ FLite] |- |<!--Sub Menu-->Speech Voice Recognition Dictation - [http://sourceforge.net/projects/cmusphinx/files/ CMU Sphinx], [http://julius.sourceforge.jp/en_index.php?q=en/index.html Julius], [http://www.isip.piconepress.com/projects/speech/index.html ISIP], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Speech Voice Changer [], [], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Screen Display Blanker screensaver |<!--AROS-->Blanker Commodity (built in), [https://archives.arosworld.org/index.php?function=browse&cat=graphics/screenblanker GarshneBlanker], [http://sourceforge.net/projects/gblanker/ GBlanker Src], [], |<!--Amiga OS-->MultiCX, |<!--AmigaOS4--> |<!--MorphOS-->ModernArt Blanker, |- |<!--Sub Menu-->Fortune Cookie Quotes Sayings |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/misc AFortune], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} ==Misc Application 4== {| class="wikitable sortable" |- !width:30%;|Misc Application !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Fractals mandelbrot, etc |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=graphics/misc], |<!--Amiga OS-->ZoneXplorer, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Landscape Rendering |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=graphics/raytrace WCS World Construction Set], |<!--Amiga OS-->[ Vista Pro], [http://en.wikipedia.org/wiki/World_Construction_Set World Construction Set] |<!--AmigaOS4-->[ WCS World Construction Set], |<!--MorphOS-->[ WCS World Construction Set], |- |<!--Sub Menu-->Astronomy [https://sourceforge.net/projects/skychart/ skychart freepascal], [], [], |<!--AROS-->[ Digital Almanac (ABIv0 only)], |<!--Amiga OS-->[http://aminet.net/search?query=planetarium Aminet search], [http://aminet.net/misc/sci/DA3V56ISO.zip Digital Almanac], [https://aminet.net/package/misc/sci/da3sourceV58 Src c V58], [ Galileo renamed to Distant Suns]*, [], |<!--AmigaOS4-->[http://sourceforge.net/projects/digital-almanac/ Digital Almanac], Distant Suns*, [http://www.digitaluniverse.org.uk/ Digital Universe]*, |<!--MorphOS-->[http://www.aminet.net/misc/sci/da3.lha Digital Almanac], [http://www.aminet.net/package/misc/sci/da3-mos-src Src c V56], |- |<!--Sub Menu-->Astrology [https://sourceforge.net/projects/skylendar/ skylendar], [https://github.com/CruiserOne/Astrolog Astrolog], [https://www.astrolog.org/astrolog/astfile.htm Astrology alt site], [https://saravali.github.io/download.html Maitreya], [https://github.com/alamahant/Asteria Asteria], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Genealogy History Family Tree Ancestry Records (FreeBMD, FreeREG, and FreeCEN file formats or GEDCOM GenTree) |<!--AROS--> |<!--Amiga OS--> [ Origins], [ Your Family Tree], [ ], [ ], [ ], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Languages |<!--AROS--> |<!--Amiga OS-->Fun School, |<!--AmigaOS4--> |<!--MorphOS-->https://github.com/evil4dmin/ami2ha |- |<!--Sub Menu-->Mathematics ([http://www-fourier.ujf-grenoble.fr/~parisse/install_en.html Xcas], etc.), |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/scientific mathX] |<!--Amiga OS-->Maple V, mathX, Fun School, GCSE Maths, [ ], [ ], [ ], |<!--AmigaOS4-->Yacas |<!--MorphOS-->Yacas |- |<!--Sub Menu-->Maths Graph Function Plotting |<!--AROS-->[https://blog.alb42.de/programs/#MUIPlot MUIPlot], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->App Utility Launcher Dock toolbar |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/docky BoingBar], [], |<!--Amiga OS-->[https://github.com/adkennan/DockBot Dockbot], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->3D Printer [https://github.com/OrcaSlicer/OrcaSlicer OrcaSlicer] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->PCB design |<!--AROS--> |<!--Amiga OS-->[ ], [ ], [ ], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Digital Signage |<!--AROS-->Hollywood, Hollywood Designer |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->HAM radio, amateur radio, packet radio, [], [], [], [https://cemaxecuter.com/ Dragon OS], [https://github.com/km4ack/73Linux with 73 link update], [https://www.youtube.com/watch?v=YAL5KNePRSg video for], |<!--AROS--> |<!--Amiga OS-->[https://github.com/punktniklas/NiKom NiKom], [https://www.amigarealm.com/amiga/amicomms/comm4.htm Comm4], [https://www.amigarealm.com/archives/comms/aarug/ TNC Terminal Node Controller with packets over serial connections on Yaesu or Woxum handheld], [https://aminet.net/comm/misc AmiCom], [ with 7Plus file encoder/decoder], [ mksstv], [ RTTYam], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->modern smart-home network like Home Assistant Automation Yellow, Green, Mosquitto, EMQX, |<!--AROS--> |<!--Amiga OS-->[https://github.com/evil4dmin/ami2ha HA], [https://github.com/sidick/midge mtqq.lib], [https://aminet.net/package/comm/tcp/AmiHomeassist-0.7 AmiHomeassist], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Teaching classroom learning training [https://github.com/moodle/moodle moodle], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. ==Games & Emulation== Some emulators/games require OpenGL to function and to adjust ahi prefs channels, frequency and unit0 and unit1 and [http://aros.sourceforge.net/documentation/users/shell/changetaskpri.php changetaskpri -1] Rom patching https://www.marcrobledo.com/RomPatcher.js/ https://www.romhacking.net/patch/ (ips, ups, bps, etc) and this other site supports the latter formats https://hack64.net/tools/patcher.php Free public domain roms for use with emulators can be found [http://www.pdroms.de/ here] as most of the rest are covered by copyright rules. If you like to read about old games see [http://retrogamingtimes.com/ here] and [http://www.armchairarcade.com/neo/ here] and a [http://www.vintagecomputing.com/ blog] about old computers. Possibly some of the [http://www.answers.com/topic/list-of-best-selling-computer-and-video-games best selling] of all time. [http://en.wikipedia.org/wiki/List_of_computer_system_emulators Wiki] with emulated systems list. [https://archive.gamehistory.org/ Archive of VGHF], [https://library.gamehistory.org/ Video Game History Foundation Library search] {| class="wikitable sortable" |- !width:10%;|Games [http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Emulation] !width:10%;|AROS(x86) !width:10%;|AmigaOS3(68k) !width:10%;|AmigaOS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Games Emulation Amstrad CPC |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], [ Caprice32 (OpenGL & pure SDL)], [ Arnold], [https://retroshowcase.gr/cpcbox-master/], |<!--Amiga OS--> |<!--AmigaOS4-->[http://os4depot.net/index.php?function=browse&cat=emulation/computer] |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=2], |- |<!--Sub Menu-->Games Emulation Apple2 and 2GS |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Arcade |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Mame], [ SI Emu (ABIv0 only)], |<!--Amiga OS-->Mame, |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem xmame], amiarcadia, |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=2 Mame], |- |<!--Sub Menu-->Games Emulation Atari 2600 [], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Stella], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari 5200 [https://github.com/wavemotion-dave/A5200DS A5200DS], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari 7800 |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari 400 800 130XL [https://github.com/wavemotion-dave/A8DS A8DS], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Atari800], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari Lynx |<!--AROS-->[http://myfreefilehosting.com/f/6366e11bdf_1.93MB Handy (ABIv0 only)], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari Jaguar |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Bandai Wonderswan |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation BBC Micro and Acorn Electron [http://beehttps://bem-unix.bbcmicro.com/download.html BeebEm], [http://b-em.bbcmicro.com/ B-Em], [http://elkulator.acornelectron.co.uk/ Elkulator], [http://electrem.emuunlim.com/ ElectrEm], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Dragon 32 and Tandy CoCo [http://www.6809.org.uk/xroar/ xroar], [], |<!--AROS-->[], [], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Commodore C16 Plus4 |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Commodore C64 |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Vice (ABIv0 only)], [], |<!--Amiga OS-->Frodo, |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem viceplus], |<!--MorphOS-->Vice, |- |<!--Sub Menu-->Games Emulation Commodore Amiga |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Janus UAE], Emumiga, |<!--Amiga OS--> |<!--AmigaOS4-->[http://os4depot.net/index.php?function=browse&cat=emulation/computer UAE], |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=2 UAE], |- |<!--Sub Menu-->Games Emulation Japanese MSX MSX2 |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Mattel Intelivision |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Mattel Colecovision and Adam |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Milton Bradley (MB) Vectrex [ Vectrex OpenGL], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation PICO8 Pico-8 fantasy video game console [https://github.com/egordorichev/pemsa-sdl/ pemsa-sdl], [https://github.com/jtothebell/fake-08 fake-08], [https://github.com/Epicpkmn11/fake-08/tree/wip fake-08 fork], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Nintendo Gameboy |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem vba no sound], [], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem vba] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Nintendo NES |<!--AROS-->[ EmiNES], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Fceu], [https://github.com/takahirox/nes-js?tab=readme-ov-file nes-js], [https://github.com/bfirsh/jsnes jsnes], [https://github.com/angelo-wf/NesJs NesJs], |<!--Amiga OS-->AmiNES, [http://www.dridus.com/~nyef/darcnes/ darcNES], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem amines] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Nintendo SNES |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Zsnes], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem warpsnes] |<!--MorphOS-->[http://fabportnawak.free.fr/snes/ Snes9x], |- |<!--Sub Menu-->Games Emulation Nintendo N64 *HLE and plugins [ mupen64], [https://github.com/ares-emulator/ares ares], [https://github.com/N64Recomp/N64Recomp N64Recomp], [https://github.com/rt64/rt64 rt64], [https://github.com/simple64/simple64 Simple64], *LLE [], |<!--AROS-->[http://code.google.com/p/mupen64plus/ Mupen64+], |<!--Amiga OS-->[http://code.google.com/p/mupen64plus/ Mupen64+], [http://aminet.net/package/misc/emu/tr-981125_src TR64], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[ Nintendo Gamecube Wii] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[ Nintendo Wii U] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[https://github.com/yuzu-emu Nintendo Switch] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation NEC PC Engine |<!--AROS-->[], [], [https://github.com/yhzmr442/jspce js-pce], |[http://www.hugo.fr.fm/ Hugo], [http://mednafen.sourceforge.net/ Mednafen], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem tgemu] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Master System (SMS) |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Dega], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem sms], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem osmose] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Genesis/Megadrive |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem gp no sound], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem DGen], |<!--Amiga OS-->[http://code.google.com/p/genplus-gx/ Genplus], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem genesisplus] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Saturn *HLE [https://mednafen.github.io/ mednafen], [http://yabause.org/ yabause], [], *LLE [], [], |<!--AROS-->? |<!--Amiga OS-->[http://yabause.org/ Yabause], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Dreamcast *HLE [https://github.com/flyinghead/flycast flycast], [https://code.google.com/archive/p/nulldc/downloads NullDC], *LLE [], [], |<!--AROS-->? |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sinclair ZX80 and ZX81 |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], [], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sinclair Spectrum |[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Fuse (crackly sound)], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer SimCoupe], [ FBZX slow], [https://jsspeccy.zxdemo.org/ jsspeccy], [http://torinak.com/qaop/games qaop], |<!--Amiga OS-->[http://www.lasernet.plus.com/ Asp], [http://www.zophar.net/sinclair.html Speculator], [http://www.worldofspectrum.org/x128/index.html X128], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/computer] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sinclair QL |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], [], |<!--Amiga OS-->[http://aminet.net/package/misc/emu/QDOS4amiga1 QDOS4amiga] |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation SNK NeoGeo Pocket |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem gngeo], NeoPop, |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sony PlayStation |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem FPSE], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem FPSE] |<!--MorphOS--> |- |<!--Sub Menu-->[ Sony PS2] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[ Sony PS3] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[https://vita3k.org/ Sony Vita] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[https://github.com/shadps4-emu/shadPS4 PS4] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation [http://en.wikipedia.org/wiki/Tangerine_Computer_Systems Tangerine] Oric and Atmos |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Oricutron] |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem Oricutron] |<!--MorphOS-->[http://aminet.net/package/misc/emu/oricutron Oricutron] |- |<!--Sub Menu-->Games Emulation TI 99/4 99/4A [https://github.com/wavemotion-dave/DS994a DS994a], [], [https://js99er.net/#/ js99er], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], |<!--Amiga OS-->[http://aminet.net/package/misc/emu/TI4Amiga TI4Amiga], [http://aminet.net/package/misc/emu/TI4Amiga_src TI4Amiga src in c], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation HP 38G 40GS 48 49G/50G Graphing Calculators |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation TI 58 83 84 85 86 - 89 92 Graphing Calculators |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} {| class="wikitable sortable" |- !width:10%;|Games [https://www.rockpapershotgun.com/ General] !width:10%;|AROS(x86) !width:10%;|AmigaOS3(68k) !width:10%;|AmigaOS4(PPC) !width:10%;|MorphOS(PPC) |- style="background:lightgrey;{{text default color}}; text-align:center; font-weight:bold;" | Games [https://www.trackawesomelist.com/michelpereira/awesome-open-source-games/ Open Source and others] || AROS || Amiga OS || Amiga OS4 || Morphos |- |<!--Sub Menu-->Games Action like [https://github.com/opentomb/OpenTomb opentomb], [https://github.com/LostArtefacts/TRX TRX formerly Tomb1Main], [https://github.com/TombEngine TombEngine], [http://archives.arosworld.org/index.php?function=browse&cat=game/action Thrust], [https://github.com/fragglet/sdl-sopwith sdl sopwith], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/action], [https://archives.arosworld.org/index.php?function=browse&cat=game/action BOH], [], |<!--Amiga OS-->[https://github.com/BSzili/OpenLara/tree/amiga/src source of openlara SDL2], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Adventure like [http://dotg.sourceforge.net/ DMJ], [https://github.com/kromenak/gengine Gabriel Knight 3], [http://www.sarien.net/ Sierra Sarien], [https://github.com/klembot/twinejs twine js], [https://github.com/QSPFoundation/qspgui Quest Soft Player QSP], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/adventure dmagnetic], [https://archives.arosworld.org/?function=browse&cat=emulation/misc ScummVM], [https://archives.arosworld.org/index.php?function=browse&cat=game/roleplaying frotz infocom], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Board like [https://github.com/aperture-software/colditz-escape escape from colditz], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/board], [http://amigan.1emu.net/releases Africa] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Cards |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/card], [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1443&rowstart=180&pid=12934#post_12934 Balatro], |<!--AmigaOS-->[http://home.arcor.de/amigasolitaire/e/welcome.html Reko], [https://github.com/samskivert/beschei-en beschei Src], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Misc [https://github.com/michelpereira/awesome-open-source-games Awesome open], [https://github.com/bobeff/open-source-games General Open Source], [https://github.com/SAT-R/sa2 Sonic Advance 2], [https://github.com/velorek1/cwordle Wordle type], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/misc], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games FPS like [https://aminet.net/package/game/shoot/D1X_Rebirth_AGA Descent D1X src], [https://github.com/DescentDevelopers/Descent3 Descent 3], [https://github.com/Fewnity/Counter-Strike-Nintendo-DS Counter-Strike-Nintendo-DS], [https://github.com/Aleph-One-Marathon/alephone Bungie Marathon 1994], [https://zdoom.org/downloads UzDoom opengl 3.3], [https://github.com/ZDoom/gzdoom gzdoom opengl 3+], [https://zdoom.org/downloads LZDoom opengl 2.1], |<!--AROS-->Doom, Quake, [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Quake 3 Arena (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Cube (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Assault Cube (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Cube 2 Sauerbraten (OpenGL)], [http://fodquake.net/test/ FodQuake QuakeWorld], [https://archives.arosworld.org/index.php?function=browse&cat=game/fps Duke Nukem 3D], [https://archives.arosworld.org/index.php?function=browse&cat=game/fps Darkplaces Nexuiz Xonotic], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Doom 3 SDL (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Hexenworld and Hexen 2], [https://archives.arosworld.org/index.php?function=browse&cat=game/fps Aliens vs Predator Gold 2000 avp (openGL)], [https://archives.arosworld.org/index.php?function=browse&cat=game/fps Odamex (openGL doom)], [https://archives.arosworld.org/?function=showfile&file=game/fps/ zgloom], [], [https://archives.arosworld.org/?function=showfile&file=game/fps/ ab3dhd], [], |<!--Amiga OS-->Doom, Quake, AB3D, Fears, Breathless, Gloom, |<!--AmigaOS4-->Doom, Quake, |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12 Doom], Quake, Quake 3 Arena, [https://github.com/OpenXRay/xray-16 S.T.A.L.K.E.R Xray] |- |<!--Sub Menu-->Games MMORG like |<!--AROS-->[ Eternal Lands (OpenGL)], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Platform like |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/platform], [ Maze of Galious], [ Gish]*(openGL), [ Mega Mario], [https://archives.arosworld.org/?function=showfile&file=game/platform/ thextech SMBX], [http://www.gianas-return.de/ Giana's Return], [http://www.sqrxz.de/ Sqrxz], [www.sqrxz2.de/ Sqrxz 2], [http://www.sqrxz.de/sqrxz-3/ Sqrxz 3], [http://www.sqrxz.de/sqrxz-4/ Sqrxz 4], [http://archives.arosworld.org/index.php?function=browse&cat=game/platform Cave Story], [https://bszili.morphos.me/ Frogatto], [https://bszili.morphos.me/ OpenJazz], [https://archives.arosworld.org/?function=showfile&file=game/platform/ pekkakana2], [ Aquaria], [https://archives.arosworld.org/?function=showfile&file=game/platform/ sonic CD], [], |<!--Amiga OS-->[ Giana Sisters], [], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Puzzle [https://github.com/mariopartyrd/marioparty4/tree/port Party], [https://github.com/mdodis/OpenSolomonsKey OpenSolomonsKey], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/puzzle], [ Cubosphere (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/puzzle Candy Crisis], [http://bszili.morphos.me/ TailTale], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Racing [ Trigger Rally], [ VDrift], [http://www.ultimatestunts.nl/index.php?page=2&lang=en Ultimate Stunts], [http://maniadrive.raydium.org/ Mania Drive], [https://github.com/plowteam/donut Simpsons Hit and Run], [], |<!--AROS-->[ Super Tux Kart (OpenGL)], [http://www.dusabledanslherbe.eu/AROSPage/F1Spirit.30.html F1 Spirit (OpenGL)], [http://bszili.morphos.me/index.html MultiRacer], [https://bszili.morphos.me/ Speed Dreams], [https://archives.arosworld.org/?function=showfile&file=game/driving/dethrace-0.10.1.x86_64-aros-v11.zip Carmageddon dethrace 64bit], [], |<!--AmigaOS--> |<!--AmigaOS4-->[http://bszili.morphos.me/index.html Speed Dreams], |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12], [http://bszili.morphos.me/index.html TORCS], |- |<!--Sub Menu-->Games 1st first person DRPG [https://wiki.rpg.net/index.php/Open_Game_Systems Misc], [https://github.com/OpenEnroth/OpenEnroth OpenEnroth MM], [] |<!--AROS-->[https://github.com/BSzili/aros-stuff Arx Libertatis], [http://www.playfuljs.com/a-first-person-engine-in-265-lines/ js raycaster], [https://github.com/Dorthu/es6-crpg webgl], [https://github.com/sonountaleban/AmiShockolate System Shock], [], [], |<!--AmigaOS-->Phantasie, Faery Tale, Dungeon Master, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games 3rd third person action CRPG [https://sourceforge.net/projects/sumwars/ Summoning Wars], [https://www.solarus-games.org/ Solarus], [https://wiki.rpg.net/index.php/Open_Game_Systems Misc], [https://github.com/alexbatalov/fallout1-ce fallout ce], [https://github.com/rwengine/openrw gta3], [https://github.com/gta-reversed/gta-reversed gta3 sa], [https://github.com/mrxenginner/reVC gta3 vc revc], |<!--AROS-->[https://archives.arosworld.org/?function=showfile&file=game/strategy/ fheroes2 homm2], [https://archives.arosworld.org/?function=showfile&file=game/roleplaying/ breakhack], [https://archives.arosworld.org/?function=showfile&file=game/roleplaying/ devilutionx diablo 1 hellfire], [https://archives.arosworld.org/?function=showfile&file=game/roleplaying/ fallout 1], [https://archives.arosworld.org/?function=showfile&file=game/strategy/ stratagus], [https://archives.arosworld.org/?function=showfile&file=game/strategy/ hostile-takeover], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games isometric RPG [https://sourceforge.net/projects/sumwars/ Summoning Wars], [https://www.solarus-games.org/ Solarus], [https://wiki.rpg.net/index.php/Open_Game_Systems Misc], [https://github.com/topics/dungeon?l=javascript Dungeon], [], [https://github.com/clintbellanger/heroine-dusk JS Dusk], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/roleplaying nethack], [https://archives.arosworld.org/index.php?function=browse&cat=game/roleplaying GemRB], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games card based RPG [https://github.com/open-duelyst/duelyst Duelyst], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games turn based tactics RPG [], [], [], [], [], [], |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/strategy UFO AI], [http://play.freeciv.org/ FreeCiv], [], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Strategy [http://rtsgus.org/ RTSgus], [http://stargus.sourceforge.net/ Stargus], [https://github.com/KD-lab-Open-Source/Perimeter Perimeter], [https://matty77.itch.io/conflict-3049 conflict-3049], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/strategy MegaGlest (OpenGL)], [https://archives.arosworld.org/?function=showfile&file=game/strategy/ signus], [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1443&rowstart=140&pid=12446#post_12446 Wargus warcraft 2 setup], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12] |- |<!--Sub Menu-->Games Rhythm, Beat, Step [], [], [https://clonehero.net/ clonehero], [https://github.com/MatteoGodzilla/Dj-Engine Dj-Engine], |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/misc Frets on Fire], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Shoot Em Ups [http://www.mhgames.org/oldies/formido/ Formido], [http://code.google.com/p/violetland/ Violetland], ||<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/action Open Tyrian], [http://www.parallelrealities.co.uk/projects/starfighter.php Starfighter], [ Alien Blaster], [https://github.com/OpenFodder/openfodder OpenFodder], [https://archives.arosworld.org/?function=showfile&file=game/action/ tbftss The Battle for the Solar System: the Pandora War] |<!--AmigaOS--> |<!--AmigaOS4-->[http://www.parallelrealities.co.uk/projects/starfighter.php Starfighter], [ The Battle for the Solar System: the Pandora War] |<!--MorphOS--> |- |<!--Sub Menu-->Games Simulations [http://scp.indiegames.us/ Freespace 2], [http://www.heptargon.de/gl-117/gl-117.html GL117], [http://code.google.com/p/corsix-th/ Theme Hospital], [http://code.google.com/p/freerct/ Rollercoaster Tycoon], [http://hedgewars.org/ Hedgewars], [https://github.com/raceintospace/raceintospace raceintospace], [https://github.com/Return-To-The-Roots RTTR Settlers 2], [https://github.com/OoliteProject/oolite oolite elite], [https://github.com/fesh0r/newkind newkind elite], [https://github.com/bohemiainteractive/cwr Arma Cold War Src], [], [], |<!--AROS--> |<!--Amiga OS-->SimCity, SimAnt, Sim Hospital, Theme Park, [https://github.com/angree/openttd_amiga_68k openttd amiga_68k], |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12] |- |<!--Sub Menu-->Games Life Sim [https://github.com/ACreTeam/forest Animal Crossing], [ ], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Horror [https://github.com/Mikompilation/MikuPan Fatal Frame], [ ], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Sandbox Voxel Open World Exploration [https://github.com/ClassiCube/ Classicube],[http://www.michaelfogleman.com/craft/ Craft], [https://github.com/tothpaul/DelphiCraft DelphiCraft],[https://www.minetest.net/ Luanti formerly Minetest], [ infiniminer], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Battle Royale [https://bruh.io/ Play.Bruh.io], [https://www.coolmathgames.com/0-copter Copter Royale], [https://surviv.io/ Surviv.io], [https://nuggetroyale.io/#Ketchup Nugget Royale], [https://miniroyale2.io/ Miniroyale2.io], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Tower Defense [https://chriscourses.github.io/tower-defense/ HTML5], [https://github.com/SBardak/Tower-Defense-Game TD C++], [https://github.com/bdoms/love_defense LUA and LOVE], [https://github.com/HyOsori/Osori-WebGame HTML5], [https://github.com/PascalCorpsman/ConfigTD ConfigTD Pascal], [https://github.com/GloriousEggroll/wine-ge-custom Wine], [] |<!--AROS-->[https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1443&rowstart=180&pid=12871#post_12871 Plants vs Zombies PvZ], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Visual Novel Engines [https://github.com/diane1f0cd/VisualNovelTemplate Visual Novel Template], [https://github.com/Kirilllive/tuesday-js Tuesday JS], [https://github.com/tejasnayak25/vnsutra vnsutra], [https://github.com/weetabix-su/renpsp-dev RenPSP], [https://github.com/Galladite27/ONScripter-EN ONScripter-EN], [https://github.com/NathanGuilhot/VNES-Raylib https://github.com/NathanGuilhot/VNES VNES in Raylib], [https://www.renpy.org/latest.html renpy ren'py python based], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Virtual Reality VR [https://gitlab.com/madsbuvi/openmw openmw vr], [https://github.com/Team-Beef-Studios/BeefRaiderXR BeefRaiderXR], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Virtual Table Top VTT [ Roll20], [https://www.owlbear.rodeo/ owlbear rodeo], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Computer assisted TableTop TTRPG OSR [https://www.rpgsolo.com/play.php RPGSolo], [https://github.com/fpsvogel/solo-ttrpgs Solo TTRPG], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games 2D 3D Engines [https://github.com/fegennari/3DWorld 3DWorld], [https://github.com/GarageGames/Torque3D Torque3D], [https://github.com/gameplay3d/GamePlay GamePlay 3D], [https://www.babylonjs.com/ BabylonJS ], [ Godot], [ Ogre], [ Crystal Space], [https://github.com/JacobHess03/ Dragon-Quest like], [https://github.com/bjornbytes/lovr Lua LOVE for 2D LOVR for 3D], [], |<!--AROS-->[https://www.arkhamdev.net/wiki.htm?id=agx Arkham Development antiryadgx 8.9 lts with register], [], |<!--Amiga OS-->[https://github.com/alpyre/Sevgi_Engine Sevgi Engine], [], [], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games C based game frameworks [https://github.com/orangeduck/Corange Corange], [https://github.com/scottcgi/Mojoc Mojoc], [https://orx-project.org/ Orx], [https://github.com/ioquake/ioq3 Quake 3], [https://www.mapeditor.org/ Tiled], [https://www.raylib.com/ 2d Raylib], [https://github.com/Rabios/awesome-raylib other raylib], [https://github.com/MrFrenik/gunslinger Gunslinger], [https://o3de.org/ o3d], [http://archives.aros-exec.org/index.php?function=browse&cat=development/library GLFW], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=development/library Raylib 5], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games RPGMaker MV/MZ-compatible projects [https://github.com/Psychronic-Games/RPGReactor RPGReactor js], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Virtual Pinball [https://github.com/vpinball/vpinball vpinball], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games unpack unarc [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |} ==Application Guides== [[#top|...to the top]] ===Web Browser=== OWB is now at version 2.0 (which got an engine refresh, from July 2015 to February 2019) and 3.0. This latest version has a good support for many/most web sites, even YouTube web page now works. [https://www.bilibili.tv/en/search untested] This improved compatibility comes at the expense of higher RAM usage (now 1GB RAM is the absolute minimum). Also, keep in mind that the lack of a JIT (Just-In-Time) JS compiler on the 32 bit version, makes the web surfing a bit slow. Only the 64 bit version of OWB 2.0 will have JIT enabled, thus benefitting of more speed. There are tooltypes that can be added to the icon to provide further features JIT, MSE etc Certificates from [https://curl.se/docs/caextract.html ca certs], DNS tracking blocking with [https://easylist.to/easylist/easylist.txt easylist.txt] in PROGDIR:Conf before starting browser with enabled AdBlock [https://github.com/easylist/easylist/tree/master easylist], [https://gitlab.com/eyeo anti abp], [https://firebog.net/ big blocklist], [https://github.com/StevenBlack/hosts Steves], [], [], This can be enabled with OWB Odyssey with Windows -> Content Blocking and Windows -> Messages and enter https://www.youtube.com/api/stats/ads* https://www.youtube.com/pagead/adview* https://www.youtube.com#@##player-ads* into your custom filters Element blocker browser extension might be needed for [https://github.com/easylist/easylist/wiki/Youtube-Issues youtube], [ mid roll], [ pre roll], [ ], OWB speed is much better when running from RAM Disk, the best way is to add the below into your S:User-Startup which copies OWB drawer from Extras:Internet/OWB to RAM Disk: So add this : <pre> copy Extras:Internet/OWB Ram:OWB/ ALL CLONE >NIL: copy Extras:Internet/OWB.info Ram: >NIL: </pre> Open RAM Disk and open OWB drawer and double click on OWB icon so that the above icon tooltypes are activated Problems are that the copy time is long (around 20 seconds added in the background), but we can make it faster if we delete useless files from the OWB drawer (docs, …) If you don’t copy the drawer back onto the HD, you won’t save your cache, cookies, passwords… So you need a script for it. Error messages SSL error "cant verify with ca-certificates", check bios clock time date is correct Error 6, try checking networking prefs settings and Save / Use preferences again or a '''few times''' otherwise the network chipset may not be compatible with Aros [https://www.google.com/search?q=%s&udm=14 Google search without AI overview] ===E-mail=== YAM does not support SSL and most mail providers now switched to encrypted SMTP/POP3 connections ====SimpleMail==== SimpleMail supports IMAP and appears to work with GMail, but it's never been reliable enough, it can crash with large mailboxes. Please read more on this [http://www.freelists.org/list/simplemail-usr User list] GMail Be sure to activate the pop3 usage in your gmail account setup / configuration first. pop3: pop.gmail.com Use SSL: Yes Port: 995 smtp: smtp.gmail.com (with authentication) Use Authentication: Yes Use SSL: Yes Port: 465 or 587 Hotmail/MSN/outlook/Microsoft Mail mid-2017, all outlook.com accounts will be migrated to Office 365 / Exchange Most users are currently on POP which does not allow showing folders and many other features (technical limitations of POP3). With Microsoft IMAP you will get folders, sync read/unread, and show flags. You still won't get push though, as Microsoft has not turned on the IMAP Idle command as at Sept 2013. If you want to try it, you need to first remove (you can't edit) your pop account (long-press the account on the accounts screen, delete account). Then set it up this way: 1. Email/Password 2. Manual 3. IMAP 4. * Incoming: imap-mail.outlook.com, port 993, SSL/TLS should be checked * Outgoing: smtp-mail.outlook.com, port 587, SSL/TLS should be checked * POP server name pop-mail.outlook.com, port 995, POP encryption method SSL Yahoo Mail On April 24, 2002 Yahoo ceased to offer POP access to its free mail service. Introducing instead a yearly payment feature, allowing users POP3 and IMAP server support, along with such benefits as larger file attachment sizes and no adverts. Sorry to see Yahoo leaving its users to cough up for the privilege of accessing their mail. Understandable, when competing against rivals such as Gmail and Hotmail who hold a large majority of users and were hacked in 2014 as well. Incoming Mail (IMAP) Server * Server - imap.mail.yahoo.com * Port - 993 * Requires SSL - Yes Outgoing Mail (SMTP) Server * Server - smtp.mail.yahoo.com * Port - 465 or 587 * Requires SSL - Yes * Requires authentication - Yes Your login info * Email address - Your full email address (name@domain.com) * Password - Your account's password * Requires authentication - Yes Note that you need to enable “Web & POP Access” in your Yahoo Mail account to send and receive Yahoo Mail messages through any other email program. You will have to enable “Allow your Yahoo Mail to be POPed” under “POP and Forwarding”, to send and receive Yahoo mails through any other email client. Cannot be done since 2002 unless the customer pays Yahoo a subscription subs fee to have access to SMTP and POP3 * Set the POP server for incoming mails as pop.mail.yahoo.com. You will have to enable “SSL” and use 995 for Port. * “Account Name or Login Name” – Your Yahoo Mail ID i.e. your email address without the domain “@yahoo.com”. * “Email Address” – Your Yahoo Mail address i.e. your email address including the domain “@yahoo.com”. E.g. myname@yahoo.com * “Password” – Your Yahoo Mail password. Yahoo! Mail Plus users may have to set POP server as plus.pop.mail.yahoo.com and SMTP server as plus.smtp.mail.yahoo.com. * Set the SMTP server for outgoing mails as smtp.mail.yahoo.com. You will also have to make sure that “SSL” is enabled and use 465 for port. you must also enable “authentication” for this to work. ====YAM Yet Another Mailer==== YAM does not support SSL and most mail providers have now switched to encrypted SMTP/POP3 connections This email client is POP3 only if the SSL library is available [http://www.freelists.org/list/yam YAM Freelists] One of the downsides of using a POP3 mailer unfortunately - you have to set an option not to delete the mail if you want it left on the server. IMAP keeps all the emails on the server. Possible issues Sending mail issues is probably a matter of using your ISP's SMTP server, though it could also be an SSL issue. getting a "Couldn't initialise TLSv1 / SSL error Use of on-line e-mail accounts with this email client is not possible as it lacks the OpenSSL AmiSSl v3 compatible library GMail Incoming Mail (POP3) Server - requires SSL: pop.gmail.com Use SSL: Yes Port: 995 Outgoing Mail (SMTP) Server - requires TLS: smtp.gmail.com (use authentication) Use Authentication: Yes Use STARTTLS: Yes (some clients call this SSL) Port: 465 or 587 Account Name: your Gmail username (including '@gmail.com') Email Address: your full Gmail email address (username@gmail.com) Password: your Gmail password Anyway, the SMTP is pop.gmail.com port 465 and it uses SSLLv3 Authentication. The POP3 settings are for the same server (pop.gmail.com), only on port 995 instead. Outlook.com access <pre > Outlook.com SMTP server address: smtp.live.com Outlook.com SMTP user name: Your full Outlook.com email address (not an alias) Outlook.com SMTP password: Your Outlook.com password Outlook.com SMTP port: 587 Outlook.com SMTP TLS/SSL encryption required: yes </pre > Yahoo Mail <pre > “POP3 Server” – Set the POP server for incoming mails as pop.mail.yahoo.com. You will have to enable “SSL” and use 995 for Port. “SMTP Server” – Set the SMTP server for outgoing mails as smtp.mail.yahoo.com. You will also have to make sure that “SSL” is enabled and use 465 for port. you must also enable “authentication” for this to work. “Account Name or Login Name” – Your Yahoo Mail ID i.e. your email address without the domain “@yahoo.com”. “Email Address” – Your Yahoo Mail address i.e. your email address including the domain “@yahoo.com”. E.g. myname@yahoo.com “Password” – Your Yahoo Mail password. </pre > Yahoo! Mail Plus users may have to set POP server as plus.pop.mail.yahoo.com and SMTP server as plus.smtp.mail.yahoo.com. Note that you need to enable “Web & POP Access” in your Yahoo Mail account to send and receive Yahoo Mail messages through any other email program. You will have to enable “Allow your Yahoo Mail to be POPed” under “POP and Forwarding”, to send and receive Yahoo mails through any other email client. Cannot be done since 2002 unless the customer pays Yahoo a monthly fee to have access to SMTP and POP3 Microsoft Outlook Express Mail 1. Get the files to your PC. By whatever method get the files off your Amiga onto your PC. In the YAM folder you have a number of different folders, one for each of your folders in YAM. Inside that is a file usually some numbers such as 332423.283. YAM created a new file for every single email you received. 2. Open up a brand new Outlook Express. Just configure the account to use 127.0.0.1 as mail servers. It doesn't really matter. You will need to manually create any subfolders you used in YAM. 3. You will need to do a mass rename on all your email files from YAM. Just add a .eml to the end of it. Amazing how PCs still rely mostly on the file name so it knows what sort of file it is rather than just looking at it! There are a number of multiple renamers online to download and free too. 4. Go into each of your folders, inbox, sent items etc. And do a select all then drag the files into Outlook Express (to the relevant folder obviously) Amazingly the file format that YAM used is very compatible with .eml standard and viola your emails appear. With correct dates and working attachments. 5. If you want your email into Microsoft Outlook. Open that up and create a new profile and a new blank PST file. Then go into File Import and choose to import from Outlook Express. And the mail will go into there. And viola.. you have your old email from your Amiga in a more modern day format. ===FTP=== Magellan has a great FTP module. It allows transferring files from/to a FTP server over the Internet or the local network and, even if FTP is perceived as a "thing of the past", its usability is all inside the client. The FTP thing has a nice side effect too, since every Icaros machine can be a FTP server as well, and our files can be easily transferred from an Icaros machine to another with a little configuration effort. First of all, we need to know the 'server' IP address. Server is the Icaros machine with the file we are about to download on another Icaros machine, that we're going to call 'client'. To do that, move on the server machine and 1) run Prefs/Services to be sure "FTP file transfer" is enabled (if not, enable it and restart Icaros); 2) run a shell and enter this command: ifconfig -a Make a note of the IP address for the network interface used by the local area network. For cabled devices, it usually is net0:. Now go on the client machine and run Magellan: Perform these actions: 1) click on FTP; 2) click on ADDRESS BOOK; 3) click on "New". You can now add a new entry for your Icaros server machine: 1) Choose a name for your server, in order to spot it immediately in the address book. Enter the IP address you got before. 2) click on Custom Options: 1) go to Miscellaneous in the left menu; 2) Ensure "Passive Transfers" is NOT selected; 3) click on Use. We need to deactivate Passive Transfers because YAFS, the FTP server included in Icaros, only allows active transfers at the current stage. Now, we can finally connect to our new file source: 1) Look into the address book for the newly introduced server, be sure that name and IP address are right, and 2) click on Connect. A new lister with server's "MyWorkspace" contents will appear. You can now transfer files over the network choosing a destination among your local (client's) volumes. Can be adapted to any FTP client on any platform of your choice, just be sure your client allows Active Transfers as well. ===IRC Internet Relay Chat=== Jabberwocky is ideal for one-to-one social media communication, use IRC if you require one to many. Just type a message in ''lowercase''' letters and it will be posted to all in the [ AROS irc channel]. Please do not use UPPER CASE as it is a sign of SHOUTING which is annoying. Other things to type in - replace <message> with a line of text and <nick> with a person's name <pre> /help /list /who /whois <nick> /msg <nick> <message> /query <nick> <message>s /query /away <message> /away /quit <going away message> </pre> [http://irchelp.org/irchelp/new2irc.html#smiley Intro guide here]. IRC Primer can be found here in [http://www.irchelp.org/irchelp/ircprimer.html html], [http://www.irchelp.org/irchelp/text/ircprimer.txt TXT], [http://www.kei.com/irc/IRCprimer1.1.ps PostScript]. Issue the command /me <text> where <text> is the text that should follow your nickname. Example: /me slaps ajk around a bit with a large trout /nick <newNick> /nickserv register <password> <email address> /ns instead of /nickserv, while others might need /msg nickserv /nickserv identify <password> Alternatives: /ns identify <password> /msg nickserv identify <password> ==== IRC WookieChat ==== WookieChat is the most complete internet client for communication across the IRC Network. WookieChat allows you to swap ideas and communicate in real-time, you can also exchange Files, Documents, Images and everything else using the application's DCC capabilities. add smilies drawer/directory run wookiechat from the shell and set stack to 1000000 e.g. wookiechat stack 1000000 select a server / server window * nickname * user name * real name - optional Once you configure the client with your preferred screen name, you'll want to find a channel to talk in. servers * New Server - click on this to add / add extra - change details in section below this click box * New Group * Delete Entry * Connect to server * connect in new tab * perform on connect Change details * Servername - change text in this box to one of the below Server: * Port number - no need to change * Server password * Channel - add #channel from below * auto join - can click this * nick registration password, Click Connect to server button above <pre> Server: irc.freenode.net Channel: #aros </pre> irc://irc.freenode.net/aros <pre> Server: chat.amigaworld.net Channel: #amigaworld or #amigans </pre> <pre> On Sunday evenings USA time usually starting around 3PM EDT (1900 UTC) Server:irc.superhosts.net Channel #team*amiga </pre> <pre> BitlBee and Minbif are IRCd-like gateways to multiple IM networks Server: im.bitlbee.org Port 6667 Seems to be most useful on WookieChat as you can be connected to several servers at once. One for Bitlbee and any messages that might come through that. One for your normal IRC chat server. </pre> [http://www.bitlbee.org/main.php/servers.html Other servers], <pre> #Amiga.org - irc.synirc.net eu.synirc.net dissonance.nl.eu.synirc.net (IPv6: 2002:5511:1356:0:216:17ff:fe84:68a) twilight.de.eu.synirc.net zero.dk.eu.synirc.net us.synirc.net avarice.az.us.synirc.net envy.il.us.synirc.net harpy.mi.us.synirc.net liberty.nj.us.synirc.net snowball.mo.us.synirc.net - Ports 6660-6669 7001 (SSL) </pre> <pre> Multiple server support "Perform on connect" scripts and channel auto-joins Automatic Nickserv login Tabs for channels and private conversations CTCP PING, TIME, VERSION, SOUND Incoming and Outgoing DCC SEND file transfers Colours for different events Logging and automatic reloading of logs mIRC colour code filters Configurable timestamps GUI for changing channel modes easily Configurable highlight keywords URL Grabber window Optional outgoing swear word filter Event sounds for tabs opening, highlighted words, and private messages DCC CHAT support Doubleclickable URL's Support for multiple languages using LOCALE Clone detection Auto reconnection to Servers upon disconnection Command aliases Chat display can be toggled between AmIRC and mIRC style Counter for Unread messages Graphical nicklist and graphical smileys with a popup chooser </pre> ====IRC Aircos ==== Double click on Aircos icon in Extras:Networking/Apps/Aircos. It has been set up with a guest account for trial purposes. Though ideally, choose a nickname and password for frequent use of irc. ====IRC and XMPP Jabberwocky==== Servers are setup and close down at random You sign up to a server that someone else has setup and access chat services through them. The two ways to access chat from jabberwocky <pre > Jabberwocky -> Server -> XMPP -> open and ad-free Jabberwocky -> Server -> Transports (Gateways) -> Proprietary closed systems </pre > The Jabber.org service connects with all IM services that use XMPP, the open standard for instant messaging and presence over the Internet. The services we connect with include Google Talk (closed), Live Journal Talk, Nimbuzz, Ovi, and thousands more. However, you can not connect from Jabber.org to proprietary services like AIM, ICQ, MSN, Skype, or Yahoo because they don’t yet use XMPP components (XEP-0114) '''but''' you can use Jabber.com's servers and IM gateways (MSN, ICQ, Yahoo etc.) instead. The best way to use jabberwocky is in conjunction with a public jabber server with '''transports''' to your favorite services, like gtalk, Facebook, yahoo, ICQ, AIM, etc. You have to register with one of the servers, [https://list.jabber.at/ this list] or [http://www.jabberes.org/servers/ another list], [http://xmpp.net/ this security XMPP list], Unfortunately jabberwocky can only connect to one server at a time so it is best to check what services each server offers. If you set it up with separate Facebook and google talk accounts, for example, sometimes you'll only get one or the other. Jabberwocky open a window where the Jabber server part is typed in as well as your Nickname and Password. Jabber ID (JID) identifies you to the server and other users. Once registered the next step is to goto Jabberwocky's "Windows" menu and select the "Agents" option. The "Agents List" window will open. Roster (contacts list) [http://search.wensley.org.uk/ Chatrooms] (MUC) are available File Transfer - can send and receive files through the Jabber service but not with other services like IRC, ICQ, AIM or Yahoo. All you need is an installed webbrowser and OpenURL. Clickable URLs - The message window uses Mailtext.mcc and you can set a URL action in the MUI mailtext prefs like SYS:Utils/OpenURL %s NEWWIN. There is no consistent Skype like (H.323 VoIP) video conferencing available over Jabber. The move from xmpp to Jingle should help but no support on any amiga-like systems at the moment. [http://aminet.net/package/dev/src/AmiPhoneSrc192 AmiPhone] and [http://www.lysator.liu.se/%28frame,faq,nobg,useframes%29/ahi/v4-site/ Speak Freely] was an early attempt voice only contact. SIP and Asterisk are other PBX options. Facebook If you're using the XMPP transport provided by Facebook themselves, chat.facebook.com, it looks like they're now requiring SSL transport. This means jabberwocky method below will no longer work. The best thing to do is to create an ID on a public jabber server which has a Facebook gateway. <pre > 1. launch jabberwocky 2. if the login window doesn't appear on launch, select 'account' from the jabberwocky menu 3. your jabber ID will be user@chat.facebook.com where user is your user ID 4. your password is your normal facebook password 5. to save this for next time, click the popup gadget next to the ID field 6. click the 'add' button 7. click the 'close' button 8. click the 'connect' button </pre > you're done. you can also click the 'save as default account' button if you want. jabberwocky configured to auto-connect when launching the program, but you can configure as you like. there is amigaguide documentation included with jabberwocky. [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=37085&forum=32 Read more here] for Facebook users, you can log-in directly to Facebook with jabberwocky. just sign in as @chat.facebook.com with your Facebook password as the password Twitter For a few years, there has been added a twitter transport. Servers include [http://jabber.hot-chilli.net/ jabber.hot-chili.net], and . An [http://jabber.hot-chilli.net/tag/how-tos/ How-to] :Read [http://jabber.hot-chilli.net/2010/05/09/twitter-transport-working/ more] Instagram no support at the moment best to use a web browser based client ICQ The new version (beta) of StriCQ uses a newer ICQ protocol. Most of the ICQ Jabber Transports still use an older ICQ protocol. You can only talk one-way to StriCQ using the older Transports. Only the newer ICQv7 Transport lets you talk both ways to StriCQ. Look at the server lists in the first section to check. Register on a Jabber server, e.g. this one works: http://www.jabber.de/ Then login into Jabberwocky with the following login data e.g. xxx@jabber.de / Password: xxx Now add your ICQ account under the window->Agents->"Register". Now Jabberwocky connects via the Jabber.de server with your ICQ account. Yahoo Messenger although yahoo! does not use xmpp protocol, you should be able to use the transport methods to gain access and post your replies MSN early months of 2013 Microsoft will ditch MSN Messenger client and force everyone to use Skype...but MSN protocol and servers will keep working as usual for quite a long time.... Occasionally the Messenger servers have been experiencing problems signing in. You may need to sign in at www.outlook.com and then try again. It may also take multiple tries to sign in. (This also affects you if you’re using Skype.) You have to check each servers' Agents List to see what transports (MSN protocol, ICQ protocol, etc.) are supported or use the list address' provided in the section above. Then register with each transport (IRC, MSN, ICQ, etc.) to which you need access. After registering you can Connect to start chatting. msn.jabber.com/registered should appear in the window. From this [http://tech.dir.groups.yahoo.com/group/amiga-jabberwocky/message/1378 JW group] guide which helps with this process in a clear, step by step procedure. 1. Sign up on MSN's site for a passport account. This typically involves getting a Hotmail address. 2. Log on to the Jabber server of your choice and do the following: * Select the "Windows/Agents" menu option in Jabberwocky. * Select the MSN Agent from the list presented by the server. * Click the Register button to open a new window asking for: **Username = passort account email address, typically your hotmail address. **Nick = Screen name to be shown to anyone you add to your buddy list. **Password = Password for your passport account/hotmail address. * Click the Register button at the bottom of the new window. 3. If all goes well, you will see the MSN Gateway added to your buddy list. If not, repeat part 2 on another server. Some servers may show MSN in their list of available agents, but have not updated their software for the latest protocols used by MSN. 4. Once you are registered, you can now add people to your buddy list. Note that you need to include the '''msn.''' ahead of the servername so that it knows what gateway agent to use. Some servers may use a slight variation and require '''msg.gate.''' before the server name, so try both to see what works. If my friend's msn was amiga@hotmail.co.uk and my jabber server was @jabber.meta.net.nz.. then amiga'''%'''hotmail.com@'''msn.'''jabber.meta.net.nz or another the trick to import MSN contacts is that you don't type the hotmail URL but the passport URL... e.g. Instead of: goodvibe%hotmail.com@msn.jabber.com You type: goodvibe%passport.com@msn.jabber.com And the thing about importing contacts I'm afraid you'll have to do it by hand, one at the time... Google Talk any XMPP server will work, but you have to add your contacts manually. a google talk user is typically either @gmail.com or @talk.google.com. a true gtalk transport is nice because it brings your contacts to you and (can) also support file transfers to/from google talk users. implement Jingle a set of extensions to the IETF's Extensible Messaging and Presence Protocol (XMPP) support ended early 2014 as Google moved to Google+ Hangouts which uses it own proprietary format ===Video Player MPlayer=== Many of the menu features (such as doubling) do not work with the current version of mplayer but using 4:3 mplayer -vf scale=800:600 file.avi 16:9 mplayer -vf scale=854:480 file.avi if you want gui use; mplayer -gui 1 <other params> file.avi <pre > stack 1000000 ; using AspireOS 1.xx ; copy FROM SYS:Extras/Multimedia/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil: ; using Icaros Desktop 1.x ; copy FROM SYS:Tools/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil: ; using Icaros Desktop 2.x ; copy FROM SYS:Utilities/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil: cd RAM:MPlayer run MPlayer -gui > Nil: ;run MPlayer -gui -ao ahi_dev -playlist http://www.radio-paralax.de/listen.pls > Nil: </pre > $ mplayer rtsp://127.0.0.1:554/sample_300kbit.mp4 MPlayer supports multicast streaming, and rtp/rtsp protocols (it might require [http://www.live555.com/openRTSP/ live555 library] to work with some streams). But you might have to build it where it's disabled. Also, multicast won't work with some AmiTCP-likes. MIAMI supported it, though. AROS supports IPv4 (old but works) and this includes the needed address space for RTP. If you mean multicast via RTP - mplayer handles it. You can even force UDP over TCP -rtsp-stream-over-tcp If the rtsp Real Time Streaming Protocol server needs authentification: -user -passwd MPlayer - Menu - Open Playlist and load already downloaded .pls or .m3u file - auto starts around 4 percent cache MPlayer - Menu - Open Stream and copy one of the .pls lines below into space allowed, press OK and press play button on main gui interface Old 8bit 16bit remixes chip tune game music http://www.radio-paralax.de/listen.pls http://scenesat.com/ http://www.shoutcast.com/radio/Amiga http://www.theoldcomputer.com/retro_radio/RetroRadio_Main.htm http://www.kohina.com/ http://www.remix64.com/ http://retrogamer.net/forum/ http://retroasylum.podomatic.com/rss2.xml http://retrogamesquad.com/ http://www.retronauts.com/ http://monsterfeet.com/noquarter/ http://www.retrogamingradio.com/ http://www.radiofeeds.co.uk/mp3.asp [[#top|...to the top]] ====ZunePaint==== simplified typical workflow * importing and organizing and photo management * making global and regional local correction(s) - recalculation is necessary after each adjustment as it is not in real-time * exporting your images in the best format available with the preservation of metadata Whilst achieving 80% of a great photo with just a filter, the remaining 20% comes from a manual fine-tuning of specific image attributes. For photojournalism, documentary, and event coverage, minimal touching is recommended. Stick to Camera Raw for such shots, and limit changes to level adjustment, sharpness, noise reduction, and white balance correction. For fashion or portrait shoots, a large amount of adjustment is allowed and usually ends up far from the original. Skin smoothing, blemish removal, eye touch-ups, etc. are common. Might alter the background a bit to emphasize the subject. Product photography usually requires a lot of sharpening, spot removal, and focus stacking. For landscape shots, best results are achieved by doing the maximum amount of preparation before/while taking the shot. No amount of processing can match timing, proper lighting, correct gear, optimal settings, etc. Excessive post-processing might give you a dramatic shot but best avoided in the long term. * White Balance - Left Amiga or F12 and K and under "Misc color effects" tab with a pull down for White Balance - color temperature also known as AKA tint (movies) or tones (painting) - warm temp raise red reduce green blue - cool raise blue lower red green * Exposure - exposure compensation, highlight/shadow recovery * Noise Reduction - during RAW development or using external software * Lens Corrections - distortion, vignetting, chromatic aberrations * Detail - capture sharpening and local contrast enhancement * Contrast - black point, levels (sliders) and curves tools (F12 and K) * Framing - straighten () and crop (F12 and F) * Refinements - color adjustments and selective enhancements - Left Amiga or F12 and K for RGB and YUV histogram tabs - * Resizing - enlarge for a print or downsize for the web or email (F12 and D) * Output Sharpening - customized for your subject matter and print/screen size White Balance - F12 and K scan your image for a shade which was meant to be white (neutral with each RGB value being equal) like paper or plastic which is in the same light as the subject of the picture. Use the dropper tool to select this color, similar colours will shift and you will have selected the perfect white balance for your part of the image - for the whole picture make sure RAZ or CLR button at the bottom is pressed before applying to the image above. Exposure correction F12 and K - YUV Y luminosity - RGB extra red tint - move red curve slightly down and move blue green curves slightly up Workflows in practice * Undo - Right AROS key or F12 and Z * Redo - Right AROS key or F12 and R First flatten your image (if necessary) and then do a rotation until the picture looks level. * Crop the picture. Click the selection button and drag a box over the area of the picture you want to keep. Press the crop button and the rest of the photo will be gone. * Adjust your saturation, exposure, hue levels, etc., (right AROS Key and K for color correction) until you are happy with the photo. Make sure you zoom in all of the way to 100% and look the photo over, zoom back out and move around. Look for obvious problems with the picture. * After coloring and exposure do a sharpen (Right AROS key and E for Convolution and select drop down option needed), e.g. set the matrix to 5x5 (roughly equivalent Amount to 60%) and set the Radius to 1.0. Click OK. And save your picture Implemented or would like to see for simplification and ease of use basic filters (presets) like black and white, monochrome, edge detection (sobel), motion/gaussian blur, * negative, sepiatone, retro vintage, night vision, colour tint, color gradient, color temperature, glows, fire, lightning, lens flare, emboss, filmic, pixelate mezzotint, antialias, etc. adjust / cosmetic tools such as crop, * reshaping tools, straighten, smear, smooth, perspective, liquify, bloat, pucker, push pixels in any direction, dispersion, transform like warp, blending with soft light, page-curl, whirl, ripple, fisheye, neon, etc. * red eye fixing, blemish remover, skin smoothing, teeth whitener, make eyes look brighter, desaturate, effects like oil paint, cartoon, pencil sketch, charcoal, noise/matrix like sharpen/unsharpen, (right AROS key with A for Artistic effects) * blend two image, gradient blend, masking blend, explode, implode, custom collage, surreal painting, comic book style, needlepoint, stained glass, watercolor, mosaic, stencil/outline, crayon, chalk, etc. borders such as * dropshadow, rounded, blurred, color tint, picture frame, film strip polaroid, bevelled edge, etc. brushes e.g. * frost, smoke, etc. and manual control of fix lens issues including vignetting (darkening), color fringing and barrel distortion, and chromatic and geometric aberration - lens and body profiles perspective correction levels - directly modify the levels of the tone-values of an image, by using sliders for highlights, midtones and shadows curves - Color Adjustment and Brightness/Contrast color balance one single color transparent (alpha channel (color information/selections) for masking and/or blending ) for backgrounds, etc. Threshold indicates how much other colors will be considered mixture of the removed color and non-removed colors decompose layer into a set of layers with each holding a different type of pattern that is visible within the image any selection using any selecting tools like lasso tool, marquee tool etc. the selection will temporarily be save to alpha If you create your image without transparency then the Alpha channel is not present, but you can add later. File formats like .psd (Photoshop file has layers, masks etc. contains edited sensor data. The original sensor data is no longer available) .xcf .raw .hdr Image Picture Formats * low dynamic range (JPEG, PNG, TIFF 8-bit), 16-bit (PPM, TIFF), typically as a 16-bit TIFF in either ProPhoto or AdobeRGB colorspace - TIFF files are also fairly universal – although, if they contain proprietary data, such as Photoshop Adjustment Layers or Smart Filters, then they can only be opened by Photoshop making them proprietary. * linear high dynamic range (HDR) images (PFM, [http://www.openexr.com/ ILM .EXR], jpg, [http://aminet.net/util/dtype cr2] (canon tiff based), hdr, NEF, CRW, ARW, MRW, ORF, RAF (Fuji), PEF, DCR, SRF, ERF, DNG files are RAW converted to an Adobe proprietary format - a container that can embed the raw file as well as the information needed to open it) An old version of [http://archives.aros-exec.org/index.php?function=browse&cat=graphics/convert dcraw] There is no single RAW file format. Each camera manufacturer has one or more unique RAW formats. RAW files contain the brightness levels data captured by the camera sensor. This data cannot be modified. A second smaller file, separate XML file, or within a database with instructions for the RAW processor to change exposure, saturation etc. The extra data can be changed but the original sensor data is still there. RAW is technically least compatible. A raw file is high-bit (usually 12 or 14 bits of information) but a camera-generated TIFF file will be usually converted by the camera (compressed, downsampled) to 8 bits. The raw file has no embedded color balance or color space, but the TIFF has both. These three things (smaller bit depth, embedded color balance, and embedded color space) make it so that the TIFF will lose quality more quickly with image adjustments than the raw file. The camera-generated TIFF image is much more like a camera processed JPEG than a raw file. A strong advantage goes to the raw file. The power of RAW files, such as the ability to set any color temperature non-destructively and will contain more tonal values. The principle of preserving the maximum amount of information to as late as possible in the process. The final conversion - which will always effectively represent a "downsampling" - should prevent as much loss as possible. Once you save it as TIFF, you throw away some of that data irretrievably. When saving in the lossy JPEG format, you get tremendous file size savings, but you've irreversibly thrown away a lot of image data. As long as you have the RAW file, original or otherwise, you have access to all of the image data as captured. Keyboard equivalence with Photoshop(tm) would help File PHOTOSHOP SHORTCUT GIMP New Ctrl+n New Open Ctrl+o Open Close Ctrl+w Close Save Ctrl+s Save Save as Shift+Ctrl+s Save as Revert F12 Revert Print Ctrl+p Print Exit Ctrl+q Quit Edit PHOTOSHOP SHORTCUT GIMP Undo/Redo (1 level) Ctrl+z Undo (Redo is Shift+Ctrl+z) Cut Ctrl+x Cut Copy Ctrl+c Copy Paste Ctrl+v Paste Paste Into Shift+Ctrl+v Paste Into Fill with FG color Alt+Backspace Fill with FG color Fill with BG color Control+Backspace Fill with BG color Image/Colors PHOTOSHOP SHORTCUT GIMP Levels Ctrl+l Levels Auto Contrast Shift+Ctrl+Alt+l Stretch Contrast (same?) Curves Ctrl+m Curves Color Balance Ctrl+b Color Balance Hue/Saturation Ctrl+u Hue-Saturation Desaturate Shift+Ctrl+u Desaturate Invert Ctrl+i Invert Default Colors d Default Colors Switch Colors x Switch Colors Layer PHOTOSHOP SHORTCUT GIMP New Layer Shift+Ctrl+n New Layer Layer via Copy Ctrl+j Duplicate Layer Bring (layer) to Front Shift+Ctrl+] Layer to Top Send (layer) to Back Shift+Ctrl+[ Layer to Bottom Bring (layer) Forward Ctrl+] Raise Layer Send (layer) Backward Ctrl+[ Lower Layer Select Top Layer Shift+Alt+] Select Top Layer Select Bottom Layer Shift+Alt+[ Select Bottom Layer Select One Layer Forward Alt+] Select Previous Layer Select One Layer Backward Alt+[ Select Next Layer Merge Down Ctrl+e Merge Down Merge Visible Shift+Ctrl+e Merge Visible Preserve Transparency / Keep Transparency Cycle Modes Forwards Shift+= Next Layer Mode Cycle Modes Backwards Shift+- Previous Layer Mode Select PHOTOSHOP SHORTCUT GIMP Select All Ctrl+a Select All Deselect Ctrl+d Select None Inverse Shift+Ctrl+i Invert Feather Ctrl+Alt+d Feather View PHOTOSHOP SHORTCUT GIMP Zoom In Ctrl+= Zoom In Zoom Out Ctrl+- Zoom Out Fit on Screen Ctrl+0 Zoom to Fit Window Actual Pixels Ctrl+Alt+0 Zoom 1:1 Show/Hide Extras Ctrl+h Toggle Show Selection (close enough?) Show/Hide Guides Ctrl+' Toggle Show Guides Show/Hide Grid Ctrl+Alt+' Toggle Show Grid Show/Hide Rulers Ctrl+r Toggle Show Rulers Snap Ctrl+; Snap to Guides Scroll View Up Page Up Scroll Page Up Scroll View Down Page Down Scroll Page Down Scroll View Left Ctrl+Page Up Scroll Page Left Scroll View Right Ctrl+Page Down Scroll Page Right Window/Dialogs PHOTOSHOP SHORTCUT GIMP ? F5 Tools Dialog Color Tab F6 Colors Dialog Layers Tab F7 Layers Dialog Info Tab F8 Image Information Tools PHOTOSHOP SHORTCUT GIMP Rectangular Marquee Tool m Rect Select Tool Elliptical Marquee Tool Shift+m Ellipse Select Tool *This is a toggle between 'Elliptical Marquee Tool' and 'Rectangular Marquee Tool' in Photoshop Move Tool v Move Tool Lasso Tool l Free Select Tool Magic Wand Tool w Fuzzy Select Tool Crop Tool c Crop & Resize Tool Airbrush Tool j Airbrush Tool Paintbrush Tool b Paintbrush Tool Clone Stamp Tool s Clone Stamp Tool Eraser Tool e Eraser Tool Gradient Tool g Blend Tool Paint Bucket Tool Shift+g Bucket Fill Tool *This is a toggle between 'Paint Bucket Tool' and 'Gradient Tool' in Photoshop Blur Tool r Convolve Tool Dodge Tool o DodgeBurn Tool Type Tool t Text Tool Pen Tool p Bezier Select Tool Eye Dropper Tool i Color Picker Tool Zoom Tool z Magnify Tool Previous Brush , Previous Brush Next Brush . Next Brush First Brush Shift+< First Brush Last Brush Shift+> Last Brush Decrease Brush Size [ Decrease Brush Size Increase Brush Size ] Increase Brush Size Decrease Brush Hardness { Decrease Brush Hardness Increase Brush Hardness } Increase Brush Hardness Help PHOTOSHOP SHORTCUT GIMP Help F1 Help Context Help Shift+F1 Context Help Misc. PHOTOSHOP SHORTCUT GIMP Last Filter Ctrl+f Repeat Last Filter ? Shift+Ctrl+f Reshow Last Filter Preferences Ctrl+k Preferences Liquify Shift+Ctrl+x IWarp (close enough?) Toggle Quick Mask q Toggle Quick Mask Spotlights - triangle of white opaque shape Cutting out and/or replacing unwanted background or features - select large areas with the selection option like the Magic Wand tool (aka Color Range) or the Lasso (quick and fast) with feather 2 to soften edge or the pen tool which adds points/lines/Bézier curves (better control but slower), hold down the shift button as you click to add extra points/areas of the subject matter to remove. Increase the tolerance to cover more areas. To subtract from your selection hold down alt as you're clicking. * Layer masks are a better way of working than Erase they clip (black hides/hidden white visible/reveal). Clone Stamp can be simulated by and brushes for other areas. * Leave the fine details like hair, fur, etc. to later with lasso and the shift key to draw a line all the way around your subject. Gradient Mapping - Inverse - Mask. i.e. Refine your selected image with edge detection and using the radius and edge options / adjuster (increase/decrease contrast) so that you will capture more fine detail from the background allowing easier removal. Remove fringe/halo saving image as png rather than jpg/jpeg to keep transparency background intact. Implemented [http://colorizer.org/ colour model representations] [http://paulbourke.net/texture_colour/colourspace/ Mathematical approach] - Photo stills are spatially 2d (h and w), but are colorimetrically 3d (r g and b, or H L S, or Y U V etc.) as well. * RGB - split cubed mapped color model for photos and computer graphics hardware using the light spectrum (adding and subtracting) * YUV - Y-Lightness U-blue/yellow V-red/cyan (similar to YPbPr and YCbCr) used in the PAL, NTSC, and SECAM composite digital TV color [http://crewofone.com/2012/chroma-subsampling-and-transcoding/#comment-7299 video] Histograms White balanced (neutral) if the spike happens in the same place in each channel of the RGB graphs. If not, you're not balanced. If you have sky you'll see the blue channel further off to the right. RGB is best one to change colours. These elements RGB is a 3-channel format containing data for Red, Green, and Blue in your photo scale between 0 and 255. The area in a picture that appears to be brighter/whiter contains more red color as compared to the area which is relatively darker. Similarly in the green channel the area that appears to be darker contains less amount of green color as compared to the area that appears to be brighter. Similarly in the blue channel the area appears to be darker contains less amount of blue color as compared to the area that appears to be brighter. Brightness luminance histogram also matches the green histogram more than any other color - human eye interprets green better e.g. RGB rough ratio 15/55/30% RGBA (RGB+A, A means alpha channel) . The alpha channel is used for "alpha compositing", which can mostly be associated as "opacity". AROS deals in RGB with two digits for every color (red, green, blue), in ARGB you have two additional hex digits for the alpha channel. The shadows are represented by the left third of the graph. The highlights are represented by the right third. And the midtones are, of course, in the middle. The higher the black peaks in the graph, the more pixels are concentrated in that tonal range (total black area). By moving the black endpoint, which identifies the shadows (darkness) and a white light endpoint (brightness) up and down either sides of the graph, colors are adjusted based on these points. By dragging the central one, can increased the midtones and control the contrast, raise shadows levels, clip or softly eliminate unsafe levels, alter gamma, etc... in a way that is much more precise and creative . RGB Curves * Move left endpoint (black point) up or right endpoint (white point) up brightens * Move left endpoint down or right endpoint down darkens Color Curves * Dragging up on the Red Curve increases the intensity of the reds in the image but * Dragging down on the Red Curve decreases the intensity of the reds and thus increases the apparent intensity of its complimentary color, cyan. Green’s complimentary color is magenta, and blue’s is yellow. <pre> Red <-> Cyan Green <->Magenta Blue <->Yellow </pre> YUV Best option to analyse and pull out statistical elements of any picture (i.e. separate luminance data from color data). The line in Y luma tone box represents the brightness of the image with the point in the bottom left been black, and the point in the top right as white. A low-contrast image has a concentrated clump of values nearer to the center of the graph. By comparison, a high-contrast image has a wider distribution of values across the entire width of the Histogram. A histogram that is skewed to the right would indicate a picture that is a bit overexposed because most of the color data is on the lighter side (increase exposure with higher value F), while a histogram with the curve on the left shows a picture that is underexposed. This is good information to have when using post-processing software because it shows you not only where the color data exists for a given picture, but also where any data has been clipped (extremes on edges of either side): that is, it does not exist and, therefore, cannot be edited. By dragging the endpoints of the line and as well as the central one, can increased the dark/shadows, midtones and light/bright parts and control the contrast, raise shadows levels, clip or softly eliminate unsafe levels, alter gamma, etc... in a way that is much more precise and creative . The U and V chroma parts show color difference components of the image. It’s useful for checking whether or not the overall chroma is too high, and also whether it’s being limited too much Can be used to create a negative image but also With U (Cb), the higher value you are, the more you're on the blue primary color. If you go to the low values then you're on blue complementary color, i.e. yellow. With V (Cr), this is the same principle but with Red and Cyan. e.g. If you push U full blue and V full red, you get magenta. If you push U full yellow and V full Cyan then you get green. YUV simultaneously adds to one side of the color equation while subtracting from the other. using YUV to do color correction can be very problematic because each curve alters the result of each other: the mutual influence between U and V often makes things tricky. You may also be careful in what you do to avoid the raise of noise (which happens very easily). Best results are obtained with little adjustments sunset that looks uninspiring and needs some color pop especially for the rays over the hill, a subtle contrast raise while setting luma values back to the legal range without hard clipping. ====Lunapaint==== Pixel based drawing app with onion-skin animation function Blocking, Shading, Coloring, adding detail <pre> b BRUSH e ERASER alt eyedropper v layer tool z ZOOM / MAGNIFY < > n spc panning m marque q lasso w same color selection / region </pre> <pre> , LM RM v V f filter F . size p , pick color [] last / next color </pre> There is not much missing in Lunapaint to be as good as FlipBook and then you have to take into account that Flipbook is considered to be amongst the best and easiest to use animation software out there. Ok to be honest Flipbook has some nice features that require more heavy work but those aren't so much needed right away, things like camera effects, sound, smart fill, export to different movie file formats etc. Tried Flipbook with my tablet and compared it to Luna. The feeling is the same when sketching. LunaPaint is very responsive/fluent to draw with. Just as Flipbook is, and that responsiveness is something its users have mentioned as one of the positive sides of said software. author was learning MUI. Some parts just have to be rewritten with proper MUI classes before new features can be added. * add [Frame Add] / [Frame Del] * whole animation feature is impossible to use. If you draw 2 color maybe but if you start coloring your cells then you get in trouble * pickup the entire image as a brush, not just a selection ? And consequently remove the brush from memory when one doesn't need it anymore. can pick up a brush and put it onto a new image but cropping isn't possible, nor to load/save brushes. * Undo is something I longed for ages in Lunapaint. * to import into the current layer, other types of images (e.g. JPEG) besides RAW64. * implement graphic tablet features support **GENERAL DRAWING** Miss it very much: UNDO ERASER COLORPICKER - has to show on palette too which color got picked. BACKGROUND COLOR -Possibility to select from "New project screen" Miss it somewhat: ICON for UNDO ICON for ERASER ICON for CLEAR SCREEN ( What can I say? I start over from scratch very often ) BRUSH - possibility to cut out as brush not just copy off image to brush **ANIMATING** Miss it very much: NUMBER OF CELLS - Possibity to change total no. of cells during project ANIM BRUSH - Possibility to pick up a selected part of cells into an animbrush Miss it somewhat: ADD/REMOVE FRAMES: Add/remove single frame In general LunaPaint is really well done and it feels like a new DeluxePaint version. It works with my tablet. Sure there's much missing of course but things can always be added over time. So there is great potential in LunaPaint that's for sure. Animations could be made in it and maybe put together in QuickVideo, saving in .gif or .mng etc some day. LAYERS -Layers names don't get saved globally in animation frames -Layers order don't change globally in an animation (perhaps as default?). EXPORTING IMAGES -Exporting frames to JPG/PNG gives problems with colors. (wrong colors. See my animatiopn --> My robot was blue now it's "gold" ) I think this only happens if you have layers. -Trying to flatten the layers before export doesn't work if you have animation frames only the one you have visible will flatten properly all other frames are destroyed. (Only one of the layers are visible on them) -Exporting images filenames should be for example e.g. file0001, file0002...file0010 instead as of now file1, file2...file10 LOAD/SAVE (Preferences) -Make a setting for the default "Work" folder. * Destroyed colors if exported image/frame has layers * mystic color cycling of the selected color while stepping frames back/forth (annoying) <pre> Deluxe Paint II enhanced key shortcuts NOTE: @ denotes the ALT key [Technique] F1 - Paint F2 - Single Colour F3 - Replace F4 - Smear F5 - Shade F6 - Cycle F7 - Smooth M - Colour Cycle [Brush] B - Restore O - Outline h - Halve brush size H - Double brush size x - Flip brush on X axis X - Double brush size on X axis only y - Flip on Y Y - Double on Y z - Rotate brush 90 degrees Z - Stretch [Stencil] ` - Stencil On [Miscellaneous] F9 - Info Bar F10 - Selection Bar @o - Co-Ordinates @a - Anti-alias @r - Colourise @t - Translucent TAB - Colour Cycle [Picture] L - Load S - Save j - Page to Spare(Flip) J - Page to Spare(Copy) V - View Page Q - Quit [General Keys] m - Magnify < - Zoom In > - Zoom Out [ - Palette Colour Up ] - Palette Colour Down ( - Palette Colour Left ) - Palette Colour Right , - Eye Dropper . - Pixel / Brush Toggle / - Symmetry | - Co-Ordinates INS - Perspective Control +/- - Brush Size (Fine Control) w - Unfilled Polygon W - Filled Polygon e - Unfilled Ellipse E - Filled Ellipse r - Unfilled Rectangle R - Filled Rectangle t - Type/text tool a - Select Font u/U - Undo d - Brush D - Filled Non-Uniform Polygon f/F - Fill Options g/G - Grid h/H - Brush Size (Coarse Control) K - Clear c - Unfilled Circle C - Filled Circle v - Line b - Scissor Select and Toggle B - Brush {,} - Toggle between two background colours </pre> ====Lodepaint==== Pixel based painting artwork app ====Grafx2==== Pixel based painting artwork app aesprite like [https://www.youtube.com/watch?v=59Y6OTzNrhk aesprite workflow keys and tablet use], [], ====Vector Graphics ZuneFIG==== Vector Image Editing of files .svg .ps .eps *Objects - raise lower rotate flip aligning snapping *Path - unify subtract intersect exclude divide *Colour - fill stroke *Stroke - size *Brushes - *Layers - *Effects - gaussian bevels glows shadows *Text - *Transform - AmiFIG ([http://epb.lbl.gov/xfig/frm_introduction.html xfig manual]) [[File:MyScreen.png|thumb|left|alt=Showing all Windows open in AmiFIG.|All windows available to AmiFIG.]] for drawing simple to intermediate vector graphic images for scientific and technical uses and for illustration purposes for those with talent ;Menu options * Load - fig format but import(s) SVG * Save - fig format but export(s) eps, ps, pdf, svg and png * PAN = Ctrl + Arrow keys * Deselect all points There is no selected object until you apply the tool, and the selected object is not highlighted. ;Metrics - to set up page and styles - first window to open on new drawings ;Tools - Drawing Primitives - set Attributes window first before clicking any Tools button(s) * Shapes - circles, ellipses, arcs, splines, boxes, polygon * Lines - polylines * Text "T" button * Photos - bitmaps * Compound - Glue, Break, Scale * POINTs - Move, Add, Remove * Objects - Move, Copy, Delete, Mirror, Rotate, Paste use right mouse button to stop extra lines, shapes being formed and the left mouse to select/deselect tools button(s) * Rotate - moves in 90 degree turns centered on clicked POINT of a polygon or square ;Attributes which provide change(s) to the above primitives * Color * Line Width * Line Style * arrowheads ;Modes Choose from freehand, charts, figures, magnet, etc. ;Library - allows .fig clip-art to be stored * compound tools to add .fig(s) together ;FIG 3.2 [http://epb.lbl.gov/xfig/fig-format.html Format] as produced by xfig version 3.2.5 <pre> Landscape Center Inches Letter 100.00 Single -2 1200 2 4 0 0 50 -1 0 12 0.0000 4 135 1050 1050 2475 This is a test.01 </pre> # change the text alignment within the textbox. I can choose left, center, or right aligned by either changing the integer in the second column from 0 (left) to 1 or 2 (center, or right). # The third integer in the row specifies fontcolor. For instance, 0 is black, but blue is 1 and Green3 is 13. # The sixth integer in the bottom row specifies fontface. 0 is Times-Roman, but 16 is Helvetica (a MATLAB default). # The seventh number is fontsize. 12 represents a 12pt fontsize. Changing the fontsize of an item really is as easy as changing that number to 20. # The next number is the counter-clockwise angle of the text. Notice that I have changed the angle to .7854 (pi/4 rounded to four digits=45 degrees). # twelfth number is the position according to the standard “x-axis” in Xfig units from the left. Note that 1200 Xfig units is equivalent to once inch. # thirteenth number is the “y-position” from the top using the same unit convention as before. * The nested text string is what you entered into the textbox. * The “01″ present at the end of that line in the .fig file is the closing tag. For instance, a change to \100 appends a @ symbol at the end of the period of that sentence. ; Just to note there are no layers, no 3d functions, no shading, no transparency, no animation [[#top|...to the top]] ===Audio=== # AHI uses linear panning/balance, which means that in the center, you will get -6dB. If an app uses panning, this is what you will get. Note that apps like Audio Evolution need panning, so they will have this problem. # When using AHI Hifi modes, mixing is done in 32-bit and sent as 32-bit data to the driver. The Envy24HT driver uses that to output at 24-bit (always). # For the Envy24/Envy24HT, I've made 16-bit and 24-bit inputs (called Line-in 16-bit, Line-in 24-bit etc.). There is unfortunately no app that can handle 24-bit recording. ====Music Mods==== Digital module (mods) trackers are music creation software using samples and sometimes soundfonts, audio plugins (VST, AU or RTAS), MIDI. Generally, MODs are similar to MIDI in that they contain note on/off and other sequence messages that control the mod player. Unlike (most) midi files, however, they also contain sound samples that the sequence information actually plays. MOD files can have many channels (classic amiga mods have 4, corresponding to the inbuilt sound channels), but unlike MIDI, each channel can typically play only one note at once. However, since that note might be a sample of a chord, a drumloop or other complex sound, this is not as limiting as it sounds. Like MIDI, notes will play indefinitely if they're not instructed to end. Most trackers record this information automatically if you play your music in live. If you're using manual note entry, you can enter a note-off command with a keyboard shortcut - usually Caps Lock. In fact when considering file size MOD is not always the best option. Even a dummy song wastes few kilobytes for nothing when a simple SID tune could be few hundreds bytes and not bigger than 64kB. AHX is another small format, AHX tunes are never larger than 64kB excluding comments. [https://www.youtube.com/watch?v=rXXsZfwgil Protrekkr] (previously aka [w:Juan_Antonio_Arguelles_Rius|NoiseTrekkr]) If Protrekkr does not start, please check if the Unit 0 has been setup in the AHI prefs and still not, go to the directory utilities/protrekkr and double click on the Protrekkr icon *Sample *Note - Effect *Track (column) - Pattern - Order It all starts with the Sample which is used to create Note(s) in a Track (column of a tracker) The Note can be changed with an Effect. A Track of Note(s) can be collected into a Pattern (section of a song) and these can be given Order to create the whole song. Patience (notes have to be entered one at a time) or playing the bassline on a midi controller (faster - see midi section above). Best approach is to wait until a melody popped into your head. *Up-tempo means the track should be reasonably fast, but not super-fast. *Groovy and funky imply the track should have some sort of "swing" feel, with plenty of syncopation or off beat emphasis and a recognizable, melodic bass line. *Sweet and happy mean upbeat melodies, a major key and avoiding harsh sounds. *Moody - minor key First, create a quick bass sound, which is basically a sine wave, but can be hand drawn for a little more variance. It could also work for the melody part, too. This is usually a bass guitar or some kind of synthesizer bass. The bass line is often forgotten by inexperienced composers, but it plays an important role in a musical piece. Together with the rhythm section the bass line forms the groove of a song. It's the glue between the rhythm section and the melodic layer of a song. The drums are just pink noise samples, played at different frequencies to get a slightly different sound for the kick, snare, and hihats. Instruments that fall into the rhythm category are bass drums, snares, hi-hats, toms, cymbals, congas, tambourines, shakers, etc. Any percussive instrument can be used to form part of the rhythm section. The lead is the instrument that plays the main melody, on top of the chords. There are many instruments that can play a lead section, like a guitar, a piano, a saxophone or a flute. The list is almost endless. There is a lot of overlap with instruments that play chords. Often in one piece an instrument serves both roles. The lead melody is often played at a higher pitch than the chords. Listened back to what was produced so far, and a counter-melody can be imagined, which can be added with a triangle wave. To give the ends of phrases some life, you can add a solo part with a crunchy synth. By hitting random notes in the key of G, then edited a few of them. For the climax of the song, filled out the texture with a gentle high-pitch pad… …and a grungy bass synth. The arrow at A points at the pattern order list. As you see, the patterns don't have to be in numerical order. This song starts with pattern "00", then pattern "02", then "03", then "01", etcetera. Patterns may be repeated throughout a song. The B arrow points at the song title. Below it are the global BPM and speed parameters. These determine the tempo of the song, unless the tempo is altered through effect commands during the song. The C arrow points at the list of instruments. An instrument may consist of multiple samples. Which sample will be played depends on the note. This can be set in the Instrument Editing screen. Most instruments will consist of just one sample, though. The sample list for the selected instrument can be found under arrow D. Here's a part of the main editing screen. This is where you put in actual notes. Up to 32 channels can be used, meaning 32 sounds can play simultaneously. The first six channels of pattern "03" at order "02" are shown here. The arrow at A points at the row number. The B arrow points at the note to play, in this case a C4. The column pointed at by the C arrow tells us which instrument is associated with that note, in this case instrument #1 "Kick". The column at D is used (mainly) for volume commands. In this case it is left empty which means the instrument should play at its default volume. You can see the volume column being used in channel #6. The E column tells us which effect to use and any parameters for that effect. In this case it holds the "F" effect, which is a tempo command. The "04" means it should play at tempo 4 (a smaller number means faster). Base pattern When I create a new track I start with what I call the base pattern. It is worthwhile to spend some time polishing it as a lot of the ideas in the base pattern will be copied and used in other patterns. At least, that's how I work. Every musician will have his own way of working. In "Wild Bunnies" the base pattern is pattern "03" at order "02". In the section about selecting samples I talked about the four different categories of instruments: drums, bass, chords and leads. That's also how I usually go about making the base pattern. I start by making a drum pattern, then add a bass line, place some chords and top it off with a lead. This forms the base pattern from which the rest of the song will grow. Drums Here's a screenshot of the first four rows of the base pattern. I usually reserve the first four channels or so for the drum instruments. Right away there are a couple of tricks shown here. In the first channel the kick, or bass drum, plays some notes. Note the alternating F04 and F02 commands. The "F" command alters the tempo of the song and by quickly alternating the tempo; the song will get some kind of "swing" feel. In the second channel the closed hi-hat plays a fairly simple pattern. Further down in the channel, not shown here, some open hi-hat notes are added for a bit of variation. In the third and fourth channel the snare sample plays. The "8" command is for panning. One note is panned hard to the left and the other hard to the right. One sample is played a semitone lower than the other. This results in a cool flanging effect. It makes the snare stand out a little more in the mix. Bass line There are two different instruments used for the bass line. Instrument #6 is a pretty standard synthesized bass sound. Instrument #A sounds a bit like a slap bass when used with a quick fade out. By using two different instruments the bass line sounds a bit more ”human”. The volume command is used to cut off the notes. However, it is never set to zero. Setting the volume to a very small value will result in a reverb-like effect. This makes the song sound more "live". The bass line hints at the chords that will be played and the key the song will be in. In this case the key of the song is D-major, a positive and happy key. Chords The D major chords that are being played here are chords stabs; short sounds with a quick decay (fade out). Two different instruments (#8 and #9) are used to form the chords. These instruments are quite similar, but have a slightly different sound, panning and volume decay. Again, the reason for this is to make the sound more human. The volume command is used on some chords to simulate a delay, to achieve more of a live feel. The chords are placed off-beat making for a funky rhythm. Lead Finally the lead melody is added. The other instruments are invaluable in holding the track together, but the lead melody is usually what catches people's attention. A lot of notes and commands are used here, but it looks more complex than it is. A stepwise ascending melody plays in channel 13. Channel 14 and 15 copy this melody, but play it a few rows later at a lower volume. This creates an echo effect. A bit of panning is used on the notes to create some stereo depth. Like with the bass line, instead of cutting off notes the volume is set to low values for a reverb effect. The "461" effect adds a little vibrato to the note, which sounds nice on sustained notes. Those paying close attention may notice the instrument used here for the lead melody is the same as the one used for the bass line (#6 "Square"), except played two or three octaves higher. This instrument is a looped square wave sample. Each type of wave has its own quirks, but the square wave (shown below) is a really versatile wave form. Song structure Good, catchy songs are often carefully structured into sections, some of which are repeated throughout the song with small variations. A typical pop-song structure is: Intro - Verse - Chorus - Verse - Chorus - Bridge - Chorus. Other single sectional song structures are <pre> Strophic or AAA Song Form - oldest story telling with refrain (often title of the song) repeated in every verse section melody AABA Song Form - early popular, jazz and gospel fading during the 1960s AB or Verse/Chorus Song Form - songwriting format of choice for modern popular music since the 1960s Verse/Chorus/Bridge Song Form ABAB Song Form ABAC Song Form ABCD Song Form AAB 12-Bar Song Form - three four-bar lines or sub-sections 8-Bar Song Form 16-Bar Song Form Hybrid / Compound Song Forms </pre> The most common building blocks are: #INTRODUCTION(INTRO) #VERSE #REFRAIN #PRE-CHORUS / RISE / CLIMB #CHORUS #BRIDGE #MIDDLE EIGHT #SOLO / INSTRUMENTAL BREAK #COLLISION #CODA / OUTRO #AD LIB (OFTEN IN CODA / OUTRO) The chorus usually has more energy than the verse and often has a memorable melody line. As the chorus is repeated the most often during the song, it will be the part that people will remember. The bridge often marks a change of direction in the song. It is not uncommon to change keys in the bridge, or at least to use a different chord sequence. The bridge is used to build up tension towards the big finale, the last repetition of chorus. Playing RCTRL: Play song from row 0. LSHIFT + RCTRL: Play song from current row. RALT: Play pattern from row 0. LSHIFT + RALT: Play pattern from current row. Left mouse on '>': Play song from row 0. Right mouse on '>': Play song from current row. Left mouse on '|>': Play pattern from row 0. Right mouse on '|>': Play pattern from current row. Left mouse on 'Edit/Record': Edit mode on/off. Right mouse on 'Edit/Record': Record mode on/off. Editing LSHIFT + ESCAPE: Switch large patterns view on/off TAB: Go to next track LSHIFT + TAB: Go to prev. track LCTRL + TAB: Go to next note in track LCTRL + LSHIFT + TAB: Go to prev. note in track SPACE: Toggle Edit mode On & Off (Also stop if the song is being played) SHIFT SPACE: Toggle Record mode On & Off (Wait for a key note to be pressed or a midi in message to be received) DOWN ARROW: 1 Line down UP ARROW: 1 Line up LEFT ARROW: 1 Row left RIGHT ARROW: 1 Row right PREV. PAGE: 16 Arrows Up NEXT PAGE: 16 Arrows Down HOME / END: Top left / Bottom right of pattern LCTRL + HOME / END: First / last track F5, F6, F7, F8, F9: Jump to 0, 1/4, 2/4, 3/4, 4/4 lines of the patterns + - (Numeric keypad): Next / Previous pattern LCTRL + LEFT / RIGHT: Next / Previous pattern LCTRL + LALT + LEFT / RIGHT: Next / Previous position LALT + LEFT / RIGHT: Next / Previous instrument LSHIFT + M: Toggle mute state of the current channel LCTRL + LSHIFT + M: Solo the current track / Unmute all LSHIFT + F1 to F11: Select a tab/panel LCTRL + 1 to 4: Select a copy buffer Tracking 1st and 2nd keys rows: Upper octave row 3rd and 4th keys rows: Lower octave row RSHIFT: Insert a note off / and * (Numeric keypad) or F1 F2: -1 or +1 octave INSERT / BACKSPACE: Insert or Delete a line in current track or current selected block. LSHIFT + INSERT / BACKSPACE: Insert or Delete a line in current pattern DELETE (NOT BACKSPACE): Empty a column or a selected block. Blocks (Blocks can also be selected with the mouse by holding the right button and scrolling the pattern with the mouse wheel). LCTRL + A: Select entire current track LCTRL + LSHIFT + A: Select entire current pattern LALT + A: Select entire column note in a track LALT + LSHIFT + A: Select all notes of a track LCTRL + X: Cut the selected block and copy it into the block-buffer LCTRL + C: Copy the selected block into the block-buffer LCTRL + V: Paste the data from the block buffer into the pattern LCTRL + I: Interpolate selected data from the first to the last row of a selection LSHIFT + ARROWS PREV. PAGE NEXT PAGE: Select a block LCTRL + R: Randomize the select columns of a selection, works similar to CTRL + I (interpolating them) LCTRL + U: Transpose the note of a selection to 1 seminote higher LCTRL + D: Transpose the note of a selection to 1 seminote lower LCTRL + LSHIFT + U: Transpose the note of a selection to 1 seminote higher (only for the current instrument) LCTRL + LSHIFT + D: Transpose the note of a selection to 1 seminote lower (only for the current instrument) LCTRL + H: Transpose the note of a selection to 1 octave higher LCTRL + L: Transpose the note of a selection to 1 octave lower LCTRL + LSHIFT + H: Transpose the note of a selection to 1 octave higher (only for the current instrument) LCTRL + LSHIFT + L: Transpose the note of a selection to 1 octave lower (only for the current instrument) LCTRL + W: Save the current selection into a file Misc LALT + ENTER: Switch between full screen / windowed mode LALT + F4: Exit program (Windows only) LCTRL + S: Save current module LSHIFT + S: Switch top right panel to synths list LSHIFT + I: Switch top right panel to instruments list <pre> C-x xh xx xx hhhh Volume B-x xh xx xx hhhh Jump to A#x xh xx xx hhhh hhhh Slide F-x xh xx xx hhhh Tempo D-x xh xx xx hhhh Pattern Break G#x xh xx xx hhhh </pre> h Hex 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 d Dec 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 The Set Volume command: C. Input a note, then move the cursor to the effects command column and type a C. Play the pattern, and you shouldn't be able to hear the note you placed the C by. This is because the effect parameters are 00. Change the two zeros to a 40(Hex)/64(Dec), depending on what your tracker uses. Play back the pattern again, and the note should come in at full volume. The Position Jump command next. This is just a B followed by the position in the playing list that you want to jump to. One thing to remember is that the playing list always starts at 0, not 1. This command is usually in Hex. Onto the volume slide command: A. This is slightly more complex (much more if you're using a newer tracker, if you want to achieve the results here, then set slides to Amiga, not linear), due to the fact it depends on the secondary tempo. For now set a secondary tempo of 06 (you can play around later), load a long or looped sample and input a note or two. A few rows after a note type in the effect command A. For the parameters use 0F. Play back the pattern, and you should notice that when the effect kicks in, the sample drops to a very low volume very quickly. Change the effect parameters to F0, and use a low volume command on the note. Play back the pattern, and when the slide kicks in the volume of the note should increase very quickly. This because each part of the effect parameters for command A does a different thing. The first number slides the volume up, and the second slides it down. It's not recommended that you use both a volume up and volume down at the same time, due to the fact the tracker only looks for the first number that isn't set to 0. If you specify parameters of 8F, the tracker will see the 8, ignore the F, and slide the volume up. Using a slide up and down at same time just makes you look stupid. Don't do it... The Set Tempo command: F, is pretty easy to understand. You simply specify the BPM (in Hex) that you want to change to. One important thing to note is that values of lower than 20 (Hex) sets the secondary tempo rather than the primary. Another useful command is the Pattern Break: D. This will stop the playing of the current pattern and skip to the next one in the playing list. By using parameters of more than 00 you can also specify which line to begin playing from. Command 3 is Portamento to Note. This slides the currently playing note to another note, at a specified speed. The slide then stops when it reaches the desired note. <pre> C-2 1 000 - Starts the note playing --- 000 C-3 330 - Starts the slide to C-3 at a speed of 30. --- 300 - Continues the slide --- 300 - Continues the slide </pre> Once the parameters have been set, the command can be input again without any parameters, and it'll still perform the same function unless you change the parameters. This memory function allows certain commands to function correctly, such as command 5, which is the Portamento to Note and Volume Slide command. Once command 3 has been set up command 5 will simply take the parameters from that and perform a Portamento to Note. Any parameters set up for command 5 itself simply perform a Volume Slide identical to command A at the same time as the Portamento to Note. This memory function will only operate in the same channel where the original parameters were set up. There are various other commands which perform two functions at once. They will be described as we come across them. C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 00 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 02 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 05 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 08 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 0A C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 0D C-3 04 .. .. 09 10 ---> C-3 04 .. .. 09 10 (You can also switch on the Slider Rec to On, and perform parameter-live-recording, such as cutoff transitions, resonance or panning tweaking, etc..) Note: this command only works for volume/panning and fx datas columns. The next command we'll look at is the Portamento up/down: 1 and 2. Command 1 slides the pitch up at a specified speed, and 2 slides it down. This command works in a similar way to the volume slide, in that it is dependent on the secondary tempo. Both these commands have a memory dependent on each other, if you set the slide to a speed of 3 with the 1 command, a 2 command with no parameters will use the speed of 3 from the 1 command, and vice versa. Command 4 is Vibrato. Vibrato is basically rapid changes in pitch, just try it, and you'll see what I mean. Parameters are in the format of xy, where x is the speed of the slide, and y is the depth of the slide. One important point to remember is to keep your vibratos subtle and natural so a depth of 3 or less and a reasonably fast speed, around 8, is usually used. Setting the depth too high can make the part sound out of tune from the rest. Following on from command 4 is command 6. This is the Vibrato and Volume Slide command, and it has a memory like command 5, which you already know how to use. Command 7 is Tremolo. This is similar to vibrato. Rather than changing the pitch it slides the volume. The effect parameters are in exactly the same format. vibrato effect (0x1dxy) x = speed y = depth (can't be used if arpeggio (0x1b) is turned on) <pre> C-7 00 .. .. 1B37 <- Turn Arpeggio effect on --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 1B38 <- Change datas --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 1B00 <- Turn it off </pre> Command 9 is Sample Offset. This starts the playback of the sample from a different place than the start. The effect parameters specify the sample offset, but only very roughly. Say you have a sample which is 8765(Hex) bytes long, and you wanted it to play from position 4321(Hex). The effect parameter could only be as accurate as the 43 part, and it would ignore the 21. Command B is the Playing List/Order Jump command. The parameters specify the position in the Playing List/Order to jump to. When used in conjunction with command D you can specify the position and the line to play from. Command E is pretty complex, as it is used for a lot of different things, depending on what the first parameter is. Let's take a trip through each effect in order. Command E0 controls the hardware filter on an Amiga, which, as a low pass filter, cuts off the highest frequencies being played back. There are very few players and trackers on other system that simulate this function, not that you should need to use it. The second parameter, if set to 1, turns on the filter. If set to 0, the filter gets turned off. Commands E1/E2 are Fine Portamento Up/Down. Exactly the same functions as commands 1/2, except that they only slide the pitch by a very small amount. These commands have a memory the same as 1/2 as well. Command E3 sets the Glissando control. If parameters are set to 1 then when using command 3, any sliding will only use the notes in between the original note and the note being slid to. This produces a somewhat jumpier slide than usual. The best way to understand is to try it out for yourself. Produce a slow slide with command 3, listen to it, and then try using E31. Command E4 is the Set Vibrato Waveform control. This command controls how the vibrato command slides the pitch. Parameters are 0 - Sine, 1 - Ramp Down (Saw), 2 - Square. By adding 4 to the parameters, the waveform will not be restarted when a new note is played e.g. 5 - Sine without restart. Command E5 sets the Fine Tune of the instrument being played, but only for the particular note being played. It will override the default Fine Tune for the instrument. The parameters range from 0 to F, with 0 being -8 and F being +8 Fine Tune. A parameter of 8 gives no Fine Tune. If you're using a newer tracker that supports more than -8 to +8 e.g. -128 to +128, these parameters will give a rough Fine Tune, accurate to the nearest 16. Command E6 is the Jump Loop command. You mark the beginning of the part of a pattern that you want to loop with E60, and then specify with E6x the end of the loop, where x is the number of times you want it to loop. Command E7 is the Set Tremolo Waveform control. This has exactly the same parameters as command E4, except that it works for Tremolo rather than Vibrato. Command E9 is for Retriggering the note quickly. The parameter specifies the interval between the retrigs. Use a value of less than the current secondary tempo, or else the note will not get retrigged. Command EA/B are for Fine Volume Slide Up/Down. Much the same as the normal Volume Slides, except that these are easier to control since they don't depend on the secondary tempo. The parameters specify the amount to slide by e.g. if you have a sample playing at a volume of 08 (Hex) then the effect EA1 will slide this volume to 09 (Hex). A subsequent effect of EB4 would slide this volume down to 05 (Hex). Command EC is the Note Cut. This sets the volume of the currently playing note to 0 at a specified tick. The parameters should be lower than the secondary tempo or else the effect won't work. Command ED is the Note Delay. This should be used at the same time as a note is to be played, and the parameters will specify the number of ticks to delay playing the note. Again, keep the parameters lower than the secondary tempo, or the note won't get played! Command EE is the Pattern Delay. This delays the pattern for the amount of time it would take to play a certain number of rows. The parameters specify how many rows to delay for. Command EF is the Funk Repeat command. Set the sample loop to 0-1000. When EFx is used, the loop will be moved to 1000- 2000, then to 2000-3000 etc. After 9000-10000 the loop is set back to 0- 1000. The speed of the loop "movement" is defined by x. E is two times as slow as F, D is three times as slow as F etc. EF0 will turn the Funk Repeat off and reset the loop (to 0-1000). effects 0x41 and 0x42 to control the volumes of the 2 303 units There is a dedicated panel for synth parameter editing with coherent sections (osc, filter modulation, routing, so on) the interface is much nicer, much better to navigate with customizable colors, the reverb is now customizable (10 delay lines), It accepts newer types of Waves (higher bit rates, at least 24). Has a replay routine. It's pretty much your basic VA synth. The problem isn't with the sampler being to high it's the synth is tuned two octaves too low, but if you want your samples tuned down just set the base note down 2 octaves (in the instrument panel). so the synth is basically divided into 3 sections from left to right: oscillators/envelopes, then filter and LFO's, and in the right column you have mod routings and global settings. for the oscillator section you have two normal oscillators (sine, saw, square, noise), the second of which is tunable, the first one tunes with the key pressed. Attached to OSC 1 is a sub-oscillator, which is a sawtooth wave tuned one octave down. The phase modulation controls the point in the duty cycle at which the oscillator starts. The ADSR envelope sliders (grouped with oscs) are for modulation envelope 1 and 2 respectively. you can use the synth as a sampler by choosing the instrument at the top. In the filter column, the filter settings are: 1 = lowpass, 2 = highpass, 3 = off. cutoff and resonance. For the LFOs they are LFO 1 and LFO 2, the ADSR sliders in those are for the LFO itself. For the modulation routings you have ENV 1, LFO 1 for the first slider and ENV 2, LFO 2 for the second, you can cycle through the individual routings there, and you can route each modulation source to multiple destinations of course, which is another big plus for this synth. Finally the glide time is for portamento and master volume, well, the master volume... it can go quite loud. The sequencer is changed too, It's more like the one in AXS if you've used that, where you can mute tracks to re-use patterns with variation. <pre> Support for the following modules formats: 669 (Composer 669, Unis 669), AMF (DSMI Advanced Module Format), AMF (ASYLUM Music Format V1.0), APUN (APlayer), DSM (DSIK internal format), FAR (Farandole Composer), GDM (General DigiMusic), IT (Impulse Tracker), IMF (Imago Orpheus), MOD (15 and 31 instruments), MED (OctaMED), MTM (MultiTracker Module editor), OKT (Amiga Oktalyzer), S3M (Scream Tracker 3), STM (Scream Tracker), STX (Scream Tracker Music Interface Kit), ULT (UltraTracker), UNI (MikMod), XM (FastTracker 2), Mid (midi format via timidity) </pre> Possible plugin options include [http://lv2plug.in/ LV2], ====Midi - Musical Instrument Digital Interface==== A midi file typically contains music that plays on up to 16 channels (as per the midi standard), but many notes can simultaneously play on each channel (depending on the limit of the midi hardware playing it). '''Timidity''' Although usually already installed, you can uncompress the [http://www.libsdl.org/projects/SDL_mixer/ timidity.tar.gz (14MB)] into a suitable drawer like below's SYS:Extras/Audio/ assign timidity: SYS:Extras/Audio/timidity added to SYSːs/User-Startup '''WildMidi playback''' '''Audio Evolution 4 (2003) 4.0.23 (from 2012)''' *Sync Menu - CAMD Receive, Send checked *Options Menu - MIDI Machine Control - Midi Bar Display - Select CAMD MIDI in / out - Midi Remote Setup MCB Master Control Bus *Sending a MIDI start-command and a Song Position Pointer, you can synchronize audio with an external MIDI sequencer (like B&P). *B&P Receive, start AE, add AudioEvolution.ptool in Bars&Pipes track, press play / record in AE then press play in Pipes *CAMD Receive, receive MIDI start or continue commands via camd.library sync to AE *MIDI Machine Control *Midi Bar Display *Select CAMD MIDI in / out *Midi Remote Setup - open requester for external MIDI controllers to control app mixer and transport controls cc remotely Channel - mixer(vol, pan, mute, solo), eq, aux, fx, Subgroup - Volume, Mute, Solo Transport - Start, End, Play, Stop, Record, Rewind, Forward Misc - Master vol., Bank Down, Bank up <pre> q - quit First 3 already opened when AE started F1 - timeline window F2 - mixer F3 - control F4 - subgroups F5 - aux returns F6 - sample list i - Load sample to use space - start/stop play b - reset time 0:00 s - split mode r - open recording window a - automation edit mode with p panning, m mute and v volume [ / ] - zoom in / out : - previous track * - next track x c v f - cut copy paste cross-fade g - snap grid </pre> '''[http://bnp.hansfaust.de/ Bars n Pipes sequencer]''' BarsnPipes debug ... in shell Menu (right mouse) *Song - Songs load and save in .song format but option here to load/save Midi_Files .mid in FORMAT0 or FORMAT1 *Track - *Edit - *Tool - *Timing - SMTPE Synchronizing *Windows - *Preferences - Multiple MIDI-in option Windows (some of these are usually already opened when Bars n Pipes starts up for the first time) *Workflow -> Tracks, .... Song Construction, Time-line Scoring, Media Madness, Mix Maestro, *Control -> Transport (or mini one), Windows (which collects all the Windows icons together-shortcut), .... Toolbox, Accessories, Metronome, Once you have your windows placed on the screen that suits your workflow, Song -> Save as Default will save the positions, colors, icons, etc as you'd like them If you need a particular setup of Tracks, Tools, Tempos etc, you save them all as a new song you can load each time Right mouse menu -> Preferences -> Environment... -> ScreenMode - Linkages for Synch (to Slave) usbmidi.out.0 and Send (Master) usbmidi.in.0 - Clock MTC '''Tracks''' #Double-click on B&P's icon. B&P will then open with an empty Song. You can also double-click on a song icon to open a song in B&P. #Choose a track. The B&P screen will contain a Tracks Window with a number of tracks shown as pipelines (Track 1, Track 2, etc...). To choose a track, simply click on the gray box to show an arrow-icon to highlight it. This icon show whether a track is chosen or not. To the right of the arrow-icon, you can see the icon for the midi-input. If you double-click on this icon you can change the MIDI-in setup. #Choose Record for the track. To the right of the MIDI-input channel icon you can see a pipe. This leads to another clickable icon with that shows either P, R or M. This stands for Play, Record or Merge. To change the icon, simply click on it. If you choose P, this track can only play the track (you can't record anything). If you choose R, you can record what you play and it overwrites old stuff in the track. If you choose M, you merge new records with old stuff in the track. Choose R now to be able to make a record. #Chose MIDI-channel. On the most right part of the track you can see an icon with a number in it. This is the MIDI-channel selector. Here you must choose a MIDI-channel that is available on your synthesizer/keyboard. If you choose General MIDI channel 10, most synthesizer will play drum sounds. To the left of this icon is the MIDI-output icon. Double-click on this icon to change the MIDI-output configuration. #Start recording. The next step is to start recording. You must then find the control buttons (they look like buttons on a CD-player). To be able to make a record. you must click on the R icon. You can simply now press the play button (after you have pressed the R button) and play something on you keyboard. To playback your composition, press the Play button on the control panel. #Edit track. To edit a track, you simply double click in the middle part of a track. You will then get a new window containing the track, where you can change what you have recorded using tools provided. Take also a look in the drop-down menus for more features. Videos to help understand [https://www.youtube.com/watch?v=A6gVTX-9900 small intro], [https://www.youtube.com/watch?v=abq_rUTiSA4&t=3s Overview], [https://www.youtube.com/watch?v=ixOVutKsYQo Workplace Setup CC PC Sysex], [https://www.youtube.com/watch?v=dDnJLYPaZTs Import Song], [https://www.youtube.com/watch?v=BC3kkzPLkv4 Tempo Mapping], [https://www.youtube.com/watch?v=sd23kqMYPDs ptool Arpeggi-8], [https://www.youtube.com/watch?v=LDJq-YxgwQg PlayMidi Song], [https://www.youtube.com/watch?v=DY9Pu5P9TaU Amiga Midi], [https://www.youtube.com/watch?v=abq_rUTiSA4 Learning Amiga bars and Pipes], Groups like [https://groups.io/g/barsnpipes/topics this] could help '''Tracks window''' * blue "1 2 3 4 5 6 7 8 Group" and transport tape deck VCR-type controls * Flags * [http://theproblem.alco-rhythm.com/org/bp.html Track 1, Track2, to Track 16, on each Track there are many options that can be activated] Each Track has a *Left LHS - Click in grey box to select what Track to work on, Midi-In ptool icon should be here (5pin plug icon), and many more from the Toolbox on the Input Pipeline *Middle - (P, R, M) Play, Record, Merge/Multi before the sequencer line and a blue/red/yellow (Thru Mute Play) Tap *Right RHS - Output pipeline, can have icons placed uopn it with the final ptool icon(s) being the 5pin icon symbol for Midi-OUT Clogged pipelines may need Esc pressed several times '''Toolbox (tools affect the chosen pipeline)''' After opening the Toolbox window you can add extra Tools (.ptool) for the pipelines like keyboard(virtual), midimonitor, quick patch, transpose, triad, (un)quantize, feedback in/out, velocity etc right mouse -> Toolbox menu option -> Install Tool... and navigate to Tool drawer (folder) and select requried .ptool Accompany B tool to get some sort of rythmic accompaniment, Rythm Section and Groove Quantize are examples of other tools that make use of rythms [https://aminet.net/search?query=bars Bars & Pipes pattern format .ptrn] for drawer (folder). Load from the Menu as Track or Group '''Accessories (affect the whole app)''' Accessories -> Install... and goto the Accessories drawer for .paccess like adding ARexx scripting support '''Song Construction''' <pre> F1 Pencil F2 Magic Wand F3 Hand F4 Duplicator F5 Eraser F6 Toolpad F7 Bounding box F8 Lock to A-B-A A-B-A strip, section, edit flags, white boxes, </pre> Bars&Pipes Professional offers three track formats; basic song tracks, linear tracks — which don't loop — and finally real‑time tracks. The difference between them is that both song and linear tracks respond to tempo changes, while real‑time tracks use absolute timing, always trigger at the same instant regardless of tempo alterations '''Tempo Map''' F1 Pencil F2 Magic Wand F3 Hand F4 Eraser F5 Curve F6 Toolpad Compositions Lyrics, Key, Rhythm, Time Signature '''Master Parameters''' Key, Scale/Mode '''Track Parameters''' Dynamics '''Time-line Scoring''' '''Media Madness''' '''Mix Maestro''' *ACCESSORIES Allows the importation of other packages and additional modules *CLIPBOARD Full cut, copy and paste operations, enabling user‑definable clips to be shared between tracks. *INFORMATION A complete rundown on the state of the current production and your machine. *MASTER PARAMETERS Enables global definition of time signatures, lyrics, scales, chords, dynamics and rhythm changes. *MEDIA MADNESS A complete multimedia sequencer which allows samples, stills, animation, etc *METRONOME Tempo feedback via MIDI, internal Amiga audio and colour cycling — all three can be mixed and matched as required. *MIX MAESTRO Completely automated mixdown with control for both volume and pan. All fader alterations are memorised by the software *RECORD ACTIVATION Complete specification of the data to be recorded/merged. Allows overdubbing of pitch‑bend, program changes, modulation etc *SET FLAGS Numeric positioning of location and edit flags in either SMPTE or musical time *SONG CONSTRUCTION Large‑scale cut and paste of individual measures, verses or chorus, by means of bounding box and drag‑n‑drop mouse selections *TEMPO MAP Tempo change using a variety of linear and non‑linear transition curves *TEMPO PALETTE Instant tempo changes courtesy of four user‑definable settings. *TIMELINE SCORING Sequencing of a selection of songs over a defined period — ideal for planning an entire set for a live performance. *TOOLBOX Selection screen for the hundreds of signal‑processing tools available *TRACKS Opens the main track window to enable recording, editing and the use of tools. *TRANSPORT Main playback control window, which also provides access to user‑ defined flags, loop and punch‑in record modes. Bars and Pipes Pro 2.5 is using internal 4-Byte IDs, to check which kind of data are currently processed. Especially in all its files the IDs play an important role. The IDs are stored into the file in the same order they are laid out in the memory. In a Bars 'N' Pipes file (no matter which kind) the ID "NAME" (saved as its ANSI-values) is stored on a big endian system (68k-computer) as "NAME". On a little endian system (x86 PC computer) as "EMAN". The target is to make the AROS-BnP compatible to songs, which were stored on a 68k computer (AMIGA). If possible, setting MIDI channels for Local Control for your keyboard http://www.fromwithin.com/liquidmidi/archive.shtml MIDI files are essentially a stream of event data. An event can be many things, but typically "note on", "note off", "program change", "controller change", or messages that instruct a MIDI compatible synth how to play a given bit of music. * Channel - 1 to 16 - * Messages - PC presets, CC effects like delays, reverbs, etc * Sequencing - MIDI instruments, Drums, Sound design, * Recording - * GUI - Piano roll or Tracker, Staves and Notes MIDI events/messages like step entry e.g. Note On, Note Off MIDI events/messages like PB, PC, CC, Mono and Poly After-Touch, Sysex, etc MIDI sync - Midi Clocks (SPS Measures), Midi Time Code (h, m, s and frames) SMPTE Individual track editing with audition edits so easier to test any changes. Possible to stop track playback, mix clips from the right edit flag and scroll the display using arrow keys. Step entry, to extend a selected note hit the space bar and the note grows accordingly. Ability to cancel mouse‑driven edits by simply clicking the right mouse button — at which point everything snaps back into its original form. Lyrics can now be put in with syllable dividers, even across an entire measure or section. Autoranging when you open a edit window, the notes are automatically displayed — working from the lowest upwards. Flag editing, shift‑click on a flag immediately open the bounds window, ready for numeric input. Ability to cancel edits using the right‑hand mouse button, plus much improved Bounding Box operations. Icons other than the BarsnPipes icon -> PUBSCREEN=BarsnPipes (cannot choose modes higher than 8bit 256 colors) Preferences -> Menu in Tracks window - Send MIDI defaults OFF Prefs -> Environment -> screenmode (saved to BarsnPipes.prefs binary file) Customization -> pics in gui drawer (folder) - Can save as .song files and .mid General Midi SMF is a “Standard Midi File” ([http://www.music.mcgill.ca/~ich/classes/mumt306/StandardMIDIfileformat.html SMF0, SMF1 and SMF2]), [https://github.com/stump/libsmf libsmf], [https://github.com/markc/midicomp MIDIcomp], [https://github.com/MajicDesigns/MD_MIDIFile C++ src], [], [https://github.com/newdigate/midi-smf-reader Midi player], * SMF0 All MIDI data is stored in one track only, separated exclusively by the MIDI channel. * SMF1 The MIDI data is stored in separate tracks/channels. * SMF2 (rarely used) The MIDI data is stored in separate tracks, which are additionally wrapped in containers, so it's possible to have e.g. several tracks using the same MIDI channels. Would it be possible to enrich Bars N’Pipes with software synth and sample support along with audio recording and mastering tools like in the named MAC or PC music sequencers? On the classic AMIGA-OS this is not possible because of missing CPU-power. The hardware of the classic AMIGA is not further developed. So we must say (unfortunately) that those dreams can’t become reality BarsnPipes is best used with external MIDI-equipment. This can be a keyboard or synthesizer with MIDI-connectors. <pre> MIDI can control 16 channels There are USB-MIDI-Interfaces on the market with 16 independent MIDI-lines (multi-port), which can handle 16 MIDI devices independently – 16×16 = 256 independent MIDI-channels or instruments handle up to 16 different USB-MIDI-Interfaces (multi-device). That is: 16X16X16 = 4096 independent MIDI-channels – theoretically </pre> <pre> Librarian MIDI SYStem EXplorer (sysex) - PatchEditor and used to be supplied as a separate program like PatchMeister but currently not at present It should support MIDI.library (PD), BlueRibbon.library (B&P), TriplePlayPlus, and CAMD.library (DeluxeMusic) and MIDI information from a device's user manual and configure a custom interface to access parameters for all MIDI products connected to the system Supports ALL MIDI events and the Patch/Librarian data is stored in MIDI standard format Annette M.Crowling, Missing Link Software, Inc. </pre> Composers <pre> [https://x.com/hirasawa/status/1403686519899054086 Susumu Hirasawa] </pre> <pre> 1988 Todor Fay and his wife Melissa Jordan Gray, who founded the Blue Ribbon Inc 1992 Bars&Pipes Pro published November 2000, Todor Fay announcement to release the sourcecode of Bars&Pipes Pro 2.5c beta end of May 2001, the source of the main program and the sources of some tools and accessories were in a complete and compileable state end of October 2009 stop further development of BarsnPipes New for now on all supported systems and made freeware 2013 Alfred Faust diagnosed with incureable illness, called „Myastenia gravis“ (weak muscles) </pre> Protrekkr How to use Midi In/Out in Protrekkr ? First of all, midi in & out capabilities of this program are rather limited. # Go to Misc. Setup section and select a midi in or out device to use (ptk only supports one device at a time). # Go to instrument section, and select a MIDI PRG (the default is N/A, which means no midi program selected). # Go to track section and here you can assign a midi channel to each track of ptk. # Play notes :]. Note off works. F'x' note cut command also works too, and note-volume command (speed) is supported. Also, you can change midicontrollers in the tracker, using '90' in the panning row: <pre> C-3 02 .. .. 0000.... --- .. .. 90 xxyy.... << This will set the value --- .. .. .. 0000.... of the controller n.'xx' to 'yy' (both in hex) --- .. .. .. 0000.... </pre> So "--- .. .. 90 2040...." will set the controller number $20(32) to $40(64). You will need the midi implementation table of your gear to know what you can change with midi controller messages. N.B. Not all MIDI devices are created equal! Although the MIDI specification defines a large range of MIDI messages of various kinds, not every MIDI device is required to work in exactly the same way and respond to all the available messages and ways of working. For example, we don't expect a wind synthesiser to work in the same way as a home keyboard. Some devices, the older ones perhaps, are only able to respond to a single channel. With some of those devices that channel can be altered from the default of 1 (probably) to another channel of the 16 possible. Other devices, for instance monophonic synthesisers, are capable of producing just one note at a time, on one MIDI channel. Others can produce many notes spread across many channels. Further devices can respond to, and transmit, "breath controller" data (MIDI controller number 2 (CC#2)) others may respond to the reception of CC#2 but not be able to create and to send it. A controller keyboard may be capable of sending "expression pedal" data, but another device may not be capable of responding to that message. Some devices just have the basic GM sound set. The "voice" or "instrument" is selected using a "Program Change" message on its own. Other devices have a greater selection of voices, usually arranged in "banks", and the choice of instrument is made by responding to "Bank Select MSB" (MIDI controller 0 (CC#0)), others use "Bank Select LSB" (MIDI controller number 32 (CC#32)), yet others use both MSB and LSB sent one after the other, all followed by the Program Change message. The detailed information about all the different voices will usually be available in a published MIDI Data List. MIDI Implementation Chart But in the User Manual there is sometimes a summary of how the device works, in terms of MIDI, in the chart at the back of the manual, the MIDI Implementation Chart. If you require two devices to work together you can compare the two implementation charts to see if they are "compatible". In order to do this we will need to interpret that chart. The chart is divided into four columns headed "Function", "Transmitted" (or "Tx"), "Received" (or "Rx"), or more correctly "Recognised", and finally, "Remarks". <pre> The left hand column defines which MIDI functions are being described. The 2nd column defines what the device in question is capable of transmitting to another device. The 3rd column defines what the device is capable of responding to. The 4th column is for explanations of the values contained within these previous two columns. </pre> There should then be twelve sections, with possibly a thirteenth containing extra "Notes". Finally there should be an explanation of the four MIDI "modes" and what the "X" and the "O" mean. <pre> Mode 1: Omni On, Poly; Mode 2: Omni On, Mono; Mode 3: Omni Off, Poly; Mode 4: Omni Off, Mono. </pre> O means "yes" (implemented), X means "no" (not implemented). Sometimes you will find a row of asterisks "**************", these seem to indicate that the data is not applicable in this case. Seen in the transmitted field only (unless you've seen otherwise). Lastly you may find against some entries an asterisk followed by a number e.g. *1, these will refer you to further information, often on a following page, giving more detail. Basic Channel But the very first set of boxes will tell us the "Basic Channel(s)" that the device sends or receives on. "Default" is what happens when the device is first turned on, "changed" is what a switch of some kind may allow the device to be set to. For many devices e.g. a GM sound module or a home keyboard, this would be 1-16 for both. That is it can handle sending and receiving on all MIDI channels. On other devices, for example a synthesiser, it may by default only work on channel 1. But the keyboard could be "split" with the lower notes e.g. on channel 2. If the synth has an arppegiator, this may be able to be set to transmit and or receive on yet another channel. So we might see the default as "1" but the changed as "1-16". Modes. We need to understand Omni On and Off, and Mono and Poly, then we can decipher the four modes. But first we need to understand that any of these four Mode messages can be sent to any MIDI channel. They don't necessarily apply to the whole device. If we send an "Omni On" message (CC#125) to a MIDI channel of a device, we are, in effect, asking it to respond to e.g. a Note On / Off message pair, received on any of the sixteen channels. Sound strange? Read it again. Still strange? It certainly is. We normally want a MIDI channel to respond only to Note On / Off messages sent on that channel, not any other. In other words, "Omni Off". So "Omni Off" (CC#124) tells a channel of our MIDI device to respond only to messages sent on that MIDI channel. "Poly" (CC#127) is for e.g. a channel of a polyphonic sound module, or a home keyboard, to be able to respond to many simultaneous Note On / Off message pairs at once and produce musical chords. "Mono" (CC#126) allows us to set a channel to respond as if it were e.g. a flute or a trumpet, playing just one note at a time. If the device is capable of it, then the overlapping of notes will produce legato playing, that is the attack portion of the second note of two overlapping notes will be removed resulting in a "smoother" transition. So a channel with a piano voice assigned to it will have Omni Off, Poly On (Mode 3), a channel with a saxophone voice assigned could be Omni Off, Mono On (Mode 4). We call these combinations the four modes, 1 to 4, as defined above. Most modern devices will have their channels set to Mode 3 (Omni Off, Poly) but be switchable, on a per channel basis, to Mode 4 (Omni Off, Mono). This second section of data will include first its default value i.e. upon device switch on. Then what Mode messages are acceptable, or X if none. Finally, in the "Altered" field, how a Mode message that can't be implemented will be interpreted. Usually there will just be a row of asterisks effectively meaning nothing will be done if you try to switch to an unimplemented mode. Note Number <pre> The next row will tell us which MIDI notes the device can send or receive, normally 0-127. The second line, "True Voice" has the following in the MIDI specification: "Range of received note numbers falling within the range of true notes produced by the instrument." My interpretation is that, for instance, a MIDI piano may be capable of sending all MIDI notes (0 to 127) by transposition, but only responding to the 88 notes (21 to 108) of a real piano. </pre> Velocity This will tell us whether the device we're looking at will handle note velocity, and what range from 1-127, or maybe just 64, it transmits or will recognise. So usually "O" plus a range or "X" for not implemented. After touch This may have one or two lines two it. If a one liner the either "O" or "X", yes or no. If a two liner then it may include "Keys" or "Poly" and "Channel". This will show whether the device will respond to Polyphonic after touch or channel after touch or neither. Pitch Bend Again "O" for implemented, "X" for not implemented. (Many stage pianos will have no pitch bend capability.) It may also, in the notes section, state whether it will respond to the full 14 bits, or not, as usually encoded by the pitch bend wheel. Control Change This is likely to be the largest section of the chart. It will list all those controllers, starting from CC#0, Bank Select MSB, which the device is capable of sending, and those that it will respond to using "O" or "X" respectively. You will, almost certainly, get some further explanation of functionality in the remarks column, or in more detail elsewhere in the documentation. Of course you will need to know what all the various controller numbers do. Lots of the official technical specifications can be found at the [www.midi.org/techspecs/ MMA], with the table of messages and control change [www.midi.org/techspecs/midimessages.php message numbers] Program Change Again "O" or "X" in the Transmitted or Recognised column to indicate whether or not the feature is implemented. In addition a range of numbers is shown, typically 0-127, to show what is available. True # (number): "The range of the program change numbers which correspond to the actual number of patches selected." System Exclusive Used to indicate whether or not the device can send or recognise System Exclusive messages. A short description is often given in the Remarks field followed by a detailed explanation elsewhere in the documentation. System Common - These include the following: <pre> MIDI Time Code Quarter Frame messages (device synchronisation). Song Position Pointer Song Select Tune Request </pre> The section will indicate whether or not the device can send or respond to any of these messages. System Real Time These include the following: <pre> Timing Clock - often just written as "Clock" Start Stop Continue </pre> These three are usually just referred to as "Commands" and listed. Again the section will indicate which, if any, of these messages the device can send or respond to. <pre> Aux. Messages Again "O" or "X" for implemented or not. Aux. = Auxiliary. Active Sense = Active Sensing. </pre> Often with an explanation of the action of the device. Notes The "Notes" section can contain any additional comments to clarify the particular implementation. Some of the explanations have been drawn directly from the MMA MIDI 1.0 Detailed Specification. And the detailed explanation of some of the functions will be found there, or in the General MIDI System Level 1 or General MIDI System Level 2 documents also published by the MMA. OFFICIAL MIDI SPECIFICATIONS SUMMARY OF MIDI MESSAGES Table 1 - Summary of MIDI Messages The following table lists the major MIDI messages in numerical (binary) order (adapted from "MIDI by the Numbers" by D. Valenti, Electronic Musician 2/88, and updated by the MIDI Manufacturers Association.). This table is intended as an overview of MIDI, and is by no means complete. WARNING! Details about implementing these messages can dramatically impact compatibility with other products. We strongly recommend consulting the official MIDI Specifications for additional information. MIDI 1.0 Specification Message Summary Channel Voice Messages [nnnn = 0-15 (MIDI Channel Number 1-16)] {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->1000nnnn || <!--Data-->0kkkkkkk 0vvvvvvv || <!--Description-->Note Off event. This message is sent when a note is released (ended). (kkkkkkk) is the key (note) number. (vvvvvvv) is the velocity. |- |<!--Status-->1001nnnn || <!--Data-->0kkkkkkk 0vvvvvvv || <!--Description-->Note On event. This message is sent when a note is depressed (start). (kkkkkkk) is the key (note) number. (vvvvvvv) is the velocity. |- |<!--Status-->1010nnnn || <!--Data-->0kkkkkkk 0vvvvvvv || <!--Description-->Polyphonic Key Pressure (Aftertouch). This message is most often sent by pressing down on the key after it "bottoms out". (kkkkkkk) is the key (note) number. (vvvvvvv) is the pressure value. |- |<!--Status-->1011nnnn || <!--Data-->0ccccccc 0vvvvvvv || <!--Description-->Control Change. This message is sent when a controller value changes. Controllers include devices such as pedals and levers. Controller numbers 120-127 are reserved as "Channel Mode Messages" (below). (ccccccc) is the controller number (0-119). (vvvvvvv) is the controller value (0-127). |- |<!--Status-->1100nnnn || <!--Data-->0ppppppp || <!--Description-->Program Change. This message sent when the patch number changes. (ppppppp) is the new program number. |- |<!--Status-->1101nnnn || <!--Data-->0vvvvvvv || <!--Description-->Channel Pressure (After-touch). This message is most often sent by pressing down on the key after it "bottoms out". This message is different from polyphonic after-touch. Use this message to send the single greatest pressure value (of all the current depressed keys). (vvvvvvv) is the pressure value. |- |<!--Status-->1110nnnn || <!--Data-->0lllllll 0mmmmmmm || <!--Description-->Pitch Bend Change. This message is sent to indicate a change in the pitch bender (wheel or lever, typically). The pitch bender is measured by a fourteen bit value. Center (no pitch change) is 2000H. Sensitivity is a function of the receiver, but may be set using RPN 0. (lllllll) are the least significant 7 bits. (mmmmmmm) are the most significant 7 bits. |} Channel Mode Messages (See also Control Change, above) {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->1011nnnn || <!--Data-->0ccccccc 0vvvvvvv || <!--Description-->Channel Mode Messages. This the same code as the Control Change (above), but implements Mode control and special message by using reserved controller numbers 120-127. The commands are: *All Sound Off. When All Sound Off is received all oscillators will turn off, and their volume envelopes are set to zero as soon as possible c = 120, v = 0: All Sound Off *Reset All Controllers. When Reset All Controllers is received, all controller values are reset to their default values. (See specific Recommended Practices for defaults) c = 121, v = x: Value must only be zero unless otherwise allowed in a specific Recommended Practice. *Local Control. When Local Control is Off, all devices on a given channel will respond only to data received over MIDI. Played data, etc. will be ignored. Local Control On restores the functions of the normal controllers. c = 122, v = 0: Local Control Off c = 122, v = 127: Local Control On * All Notes Off. When an All Notes Off is received, all oscillators will turn off. c = 123, v = 0: All Notes Off (See text for description of actual mode commands.) c = 124, v = 0: Omni Mode Off c = 125, v = 0: Omni Mode On c = 126, v = M: Mono Mode On (Poly Off) where M is the number of channels (Omni Off) or 0 (Omni On) c = 127, v = 0: Poly Mode On (Mono Off) (Note: These four messages also cause All Notes Off) |} System Common Messages System Messages (0xF0) The final status nybble is a “catch all” for data that doesn’t fit the other statuses. They all use the most significant nybble (4bits) of 0xF, with the least significant nybble indicating the specific category. The messages are denoted when the MSB of the second nybble is 1. When that bit is a 0, the messages fall into two other subcategories. System Common If the MSB of the second second nybble (4 bits) is not set, this indicates a System Common message. Most of these are messages that include some additional data bytes. System Common Messages Type Status Byte Number of Data Bytes Usage <pre> Time Code Quarter Frame 0xF1 1 Indicates timing using absolute time code, primarily for synthronization with video playback systems. A single location requires eight messages to send the location in an encoded hours:minutes:seconds:frames format*. Song Position 0xF2 2 Instructs a sequencer to jump to a new position in the song. The data bytes form a 14-bit value that expresses the location as the number of sixteenth notes from the start of the song. Song Select 0xF3 1 Instructs a sequencer to select a new song. The data byte indicates the song. Undefined 0xF4 0 Undefined 0xF5 0 Tune Request 0xF6 0 Requests that the receiver retunes itself**. </pre> *MIDI Time Code (MTC) is significantly complex. Please see the MIDI Specification **While modern digital instruments are good at staying in tune, older analog synthesizers were prone to tuning drift. Some analog synthesizers had an automatic tuning operation that could be initiated with this command. System Exclusive If you’ve been keeping track, you’ll notice there are two status bytes not yet defined: 0xf0 and 0xf7. These are used by the System Exclusive message, often abbreviated at SysEx. SysEx provides a path to send arbitrary data over a MIDI connection. There is a group of predefined messages for complex data, like fine grained control of MIDI Time code machinery. SysEx is also used to send manufacturer defined data, such as patches, or even firmware updates. System Exclusive messages are longer than other MIDI messages, and can be any length. The messages are of the following format: 0xF0, 0xID, 0xdd, ...... 0xF7 The message is bookended with distinct bytes. It opens with the Start Of Exclusive (SOX) data byte, 0xF0. The next one to three bytes after the start are an identifier. Values from 0x01 to 0x7C are one-byte vendor IDs, assigned to manufacturers who were involved with MIDI at the beginning. If the ID is 0x00, it’s a three-byte vendor ID - the next two bytes of the message are the value. <pre> ID 0x7D is a placeholder for non-commercial entities. ID 0x7E indicates a predefined Non-realtime SysEx message. ID 0x7F indicates a predefined Realtime SysEx message. </pre> After the ID is the data payload, sent as a stream of bytes. The transfer concludes with the End of Exclusive (EOX) byte, 0xF7. The payload data must follow the guidelines for MIDI data bytes – the MSB must not be set, so only 7 bits per byte are actually usable. If the MSB is set, it falls into three possible scenarios. An End of Exclusive byte marks the ordinary termination of the SysEx transfer. System Real Time messages may occur within the transfer without interrupting it. The recipient should handle them independently of the SysEx transfer. Other status bytes implicitly terminate the SysEx transfer and signal the start of new messages. Some inexpensive USB-to-MIDI interfaces aren’t capable of handling messages longer than four bytes. {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->11110000 || <!--Data-->0iiiiiii [0iiiiiii 0iiiiiii] 0ddddddd --- --- 0ddddddd 11110111 || <!--Description-->System Exclusive. This message type allows manufacturers to create their own messages (such as bulk dumps, patch parameters, and other non-spec data) and provides a mechanism for creating additional MIDI Specification messages. The Manufacturer's ID code (assigned by MMA or AMEI) is either 1 byte (0iiiiiii) or 3 bytes (0iiiiiii 0iiiiiii 0iiiiiii). Two of the 1 Byte IDs are reserved for extensions called Universal Exclusive Messages, which are not manufacturer-specific. If a device recognizes the ID code as its own (or as a supported Universal message) it will listen to the rest of the message (0ddddddd). Otherwise, the message will be ignored. (Note: Only Real-Time messages may be interleaved with a System Exclusive.) |- |<!--Status-->11110001 || <!--Data-->0nnndddd || <!--Description-->MIDI Time Code Quarter Frame. nnn = Message Type dddd = Values |- |<!--Status-->11110010 || <!--Data-->0lllllll 0mmmmmmm || <!--Description-->Song Position Pointer. This is an internal 14 bit register that holds the number of MIDI beats (1 beat= six MIDI clocks) since the start of the song. l is the LSB, m the MSB. |- |<!--Status-->11110011 || <!--Data-->0sssssss || <!--Description-->Song Select. The Song Select specifies which sequence or song is to be played. |- |<!--Status-->11110100 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11110101 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11110110 || <!--Data--> || <!--Description-->Tune Request. Upon receiving a Tune Request, all analog synthesizers should tune their oscillators. |- |<!--Status-->11110111 || <!--Data--> || <!--Description-->End of Exclusive. Used to terminate a System Exclusive dump. |} System Real-Time Messages {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->11111000 || <!--Data--> || <!--Description-->Timing Clock. Sent 24 times per quarter note when synchronization is required. |- |<!--Status-->11111001 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11111010 || <!--Data--> || <!--Description-->Start. Start the current sequence playing. (This message will be followed with Timing Clocks). |- |<!--Status-->11111011 || <!--Data--> || <!--Description-->Continue. Continue at the point the sequence was Stopped. |- |<!--Status-->11111100 || <!--Data--> || <!--Description-->Stop. Stop the current sequence. |- |<!--Status-->11111101 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11111110 || <!--Data--> || <!--Description-->Active Sensing. This message is intended to be sent repeatedly to tell the receiver that a connection is alive. Use of this message is optional. When initially received, the receiver will expect to receive another Active Sensing message each 300ms (max), and if it does not then it will assume that the connection has been terminated. At termination, the receiver will turn off all voices and return to normal (non- active sensing) operation. |- |<!--Status-->11111111 || <!--Data--> || <!--Description-->Reset. Reset all receivers in the system to power-up status. This should be used sparingly, preferably under manual control. In particular, it should not be sent on power-up. |} Advanced Messages Polyphonic Pressure (0xA0) and Channel Pressure (0xD0) Some MIDI controllers include a feature known as Aftertouch. While a key is being held down, the player can press harder on the key. The controller measures this, and converts it into MIDI messages. Aftertouch comes in two flavors, with two different status messages. The first flavor is polyphonic aftertouch, where every key on the controller is capable of sending its own independent pressure information. The messages are of the following format: <pre> 0xnc, 0xkk, 0xpp n is the status (0xA) c is the channel nybble kk is the key number (0 to 127) pp is the pressure value (0 to 127) </pre> Polyphonic aftertouch is an uncommon feature, usually found on premium quality instruments, because every key requires a separate pressure sensor, plus the circuitry to read them all. Much more commonly found is channel aftertouch. Instead of needing a discrete sensor per key, it uses a single, larger sensor to measure pressure on all of the keys as a group. The messages omit the key number, leaving a two-byte format <pre> 0xnc, 0xpp n is the status (0xD) c is the channel number pp is the pressure value (0 to 127) </pre> Pitch Bend (0xE0) Many keyboards have a wheel or lever towards the left of the keys for pitch bend control. This control is usually spring-loaded, so it snaps back to the center of its range when released. This allows for both upward and downward bends. Pitch Bend Wheel The wheel sends pitch bend messages, of the format <pre> 0xnc, 0xLL, 0xMM n is the status (0xE) c is the channel number LL is the 7 least-significant bits of the value MM is the 7 most-significant bits of the value </pre> You’ll notice that the bender data is actually 14 bits long, transmitted as two 7-bit data bytes. This means that the recipient needs to reassemble those bytes using binary manipulation. 14 bits results in an overall range of 214, or 0 to 16,383. Because it defaults to the center of the range, the default value for the bender is halfway through that range, at 8192 (0x2000). Control Change (0xB0) In addition to pitch bend, MIDI has provisions for a wider range of expressive controls, sometimes known as continuous controllers, often abbreviated CC. These are transmitted by the remaining knobs and sliders on the keyboard controller shown below. Continuous Controllers These controls send the following message format: <pre> 0xnc, 0xcc, 0xvv n is the status (0xB) c is the MIDI channel cc is the controller number (0-127) vv is the controller value (0-127) </pre> Typically, the wheel next to the bender sends controller number one, assigned to modulation (or vibrato) depth. It is implemented by most instruments. The remaining controller number assignments are another point of confusion. The MIDI specification was revised in version 2.0 to assign uses for many of the controllers. However, this implementation is not universal, and there are ranges of unassigned controllers. On many modern MIDI devices, the controllers are assignable. On the controller keyboard shown in the photos, the various controls can be configured to transmit different controller numbers. Controller numbers can be mapped to particular parameters. Virtual synthesizers frequently allow the user to assign CCs to the on-screen controls. This is very flexible, but it might require configuration on both ends of the link and completely bypasses the assignments in the standard. Program Change (0xC0) Most synthesizers have patch storage memory, and can be told to change patches using the following command: <pre> 0xnc, 0xpp n is the status (0xc) c is the channel pp is the patch number (0-127) </pre> This allows for 128 sounds to be selected, but modern instruments contain many more than 128 patches. Controller #0 is used as an additional layer of addressing, interpreted as a “bank select” command. Selecting a sound on such an instrument might involve two messages: a bank select controller message, then a program change. Audio & Midi are not synchronized, what I can do ? Buy a commercial software package but there is a nasty trick to synchronize both. It's a bit hardcore but works for me: Simply put one line down to all midi notes on your pattern (use Insert key) and go to 'Misc. Setup', adjust the latency and just search a value that will make sound sync both audio/midi. The stock Sin/Saw/Pulse and Rnd waveforms are too simple/common, is there a way to use something more complex/rich ? You have to ability to redirect the waveforms of the instruments through the synth pipe by selecting the "wav" option for the oscillator you're using for this synth instrument, samples can be used as wavetables to replace the stock signals. Sound banks like soundfont (sf2) or Kontakt2 are not supported at the moment ====DAW Audio Evolution 4==== Audio Evolution 4 gives you unsurpassed power for digital audio recording and editing on the Amiga. The latest release focusses on time-saving non-linear and non-destructive editing, as seen on other platforms. Besides editing, Audio Evolution 4 offers a wide range of realtime effects, including compression, noise gate, delays, reverb, chorus and 3-band EQ. Whether you put them as inserts on a channel or use them as auxillaries, the effect parameters are realtime adjustable and can be fully automated. Together with all other mixing parameters, they can even be controlled remotely, using more ergonomic MIDI hardware. Non-linear editing on the time line, including cut, copy, paste, move, split, trim and crossfade actions The number of tracks per project(s) is unlimited .... AHI limits you to recording only two at a time. i.e. not on 8 track sound cards like the Juli@ or Phase 88. sample file import is limited to 16bit AIFF (not AIFC, important distinction as some files from other sources can be AIFC with aiff file extention). and 16bit WAV (pcm only) Most apps use the Music Unit only but a few apps also use Unit (0-3) instead or as well. * Set up AHI prefs so that microphone is available. (Input option near the bottom) stereo++ allows the audio piece to be placed anywhere and the left-right adjusted to sound positionally right hifi best for music playback if driver supports this option Load 16bit .aif .aiff only sample(s) to use not AIFC which can have the same ending. AIFF stands for Audio Interchange File Format sox recital.wav recital.aiff sox recital.wav −b 16 recital.aiff channels 1 rate 16k fade 3 norm sox input.wav output.aiff bass −b 16 rate 48k performs the same format translation, but also applies four effects (down-mix to one channel, sample rate change, fade-in, nomalize), and stores the result at a bit-depth of 16. rec −c 2 radio.aiff trim 0 30:00 records half an hour of stereo audio play existing-file.wav 24bit PCM WAV or AIFF do not work *No stream format handling. So no way to pass on an AC3 encoded stream unmodified to the digital outputs through AHI. *No master volume handling. Each application has to set its own volume. So each driver implements its own custom driver-mixer interface for handling master volumes, mute and preamps. *Only one output stream. So all input gets mixed into one output. *No automatic handling of output direction based on connected cables. *No monitor input selection. Only monitor volume control. select the correct input (Don't mistake enabled sound for the correct input.) The monitor will feedback audio to the lineout and hp out no matter if you have selected the correct input to the ADC. The monitor will provide sound for any valid input. This will result in free mixing when recording from the monitor input instead of mic/line because the monitor itself will provide the hardware mixing for you. Be aware that MIC inputs will give two channel mono. Only Linein will give real stereo. Now for the not working part. Attempt to record from linein in the AE4 record window, the right channel is noise and the left channel is distorted. Even with the recommended HIFI 16bit Stereo++ mode at 48kHz. Channels Monitor Gain Inout Output Advanced settings - Debugging via serial port * Options -> Soundcard In/Out * Options -> SampleRate * Options -> Preferences F6 for Sample File List Setting a grid is easy as is measuring the BPM by marking a section of the sample. Is your kick drum track "not in time" ? If so, you're stumped in AE4 as it has no fancy variable time signatures and definitely no 'track this dodgy rhythm' function like software of the nature of Logic has. So if your drum beat is freeform you will need to work in freeform mode. (Real music is free form anyway). If the drum *is* accurate and you are just having trouble measuring the time, I usually measure over a range of bars and set the number of beats in range to say 16 as this is more accurate, Then you will need to shift the drum track to match your grid *before* applying the grid. (probably an iterative process as when the grid is active samples snap to it, and when inactive you cannot see it). AE4 does have ARexx but the functions are more for adding samples at set offsets and starting playback / recording. These are the usual features found in DAWs... * Recording digital audio, midi sequencer and mixer * virtual VST instruments and plug-ins * automation, group channels, MIDI channels, FX sends and returns, audio and MIDI editors and music notation editor * different track views * mixer and track layout (but not the same as below) * traditional two windows (track and mixer) Mixing - mixdown Could not figure out how to select what part I wanted to send to the aux, set it to echo and return. Pretty much the whole echo effect. Or any effect. Take look at page17 of the manual. When you open the EQ / Aux send popup window you will see 4 sends. Now from the menu choose the windows menu. Menus->Windows-> Aux Returns Window or press F5 You will see a small window with 4 volume controls and an effects button for each. Click a button and add an effects to that aux channel, then set it up as desired (note the reverb effect has a special AUX setting that improves its use with the aux channel, not compulsory but highly useful). You set the amount of 'return' on the main mix in the Aux Return window, and the amount sent from each main mixer channel in the popup for that channel. Again the aux sends are "prefade" so the volume faders on each channel do not affect them. Tracking Effects - fade in To add some echoes to some vocals, tried to add an effect on a track but did not come out. This is made more complicated as I wanted to mute a vocal but then make it echo at the muting point. Want to have one word of a vocal heard and then echoed off. But when the track is mute the echo is cancelled out. To correctly understand what is happening here you need to study the figure at the bottom of page 15 on the manual. You will see from that that the effects are applied 'prefade' So the automation you applied will naturally mute the entire signal. There would be a number of ways to achieve the goal, You have three real time effects slots, one for smoothing like so Sample -> Amplify -> Delay Then automate the gain of the amplify block so that it effectively mutes the sample just before the delay at the appropriate moment, the echo effect should then be heard. Getting the effects in the right order will require experimentation as they can only be added top down and it's not obvious which order they are applied to the signal, but there only two possibilities, so it wont take long to find out. Using MUTE can cause clicks to the Amplify can be used to mute more smoothly so that's a secondary advantage. Signal Processing - Overdub [[#top|...to the top]] ===Office=== ====Spreadsheet Leu==== Support for some xlsx, and ods functions ====Spreadsheet Ignition==== ; Needs ABIv1 to be completed before more can be done File formats supported * ascii #?.txt and #?.csv (single sheets with data only). * igs and TurboCalc(WIP) #?.tc for all sheets with data, formats and formulas. There is '''no''' support for xls, xlsx, ods or uos ([http://en.wikipedia.org/wiki/Uniform_Office_Format Uniform Unified Office Format]) at the moment. * Always use Esc key after editing Spreadsheet cells. * copy/paste seems to copy the first instance only so go to Edit -> Clipboard to manage the list of remembered actions. * Right mouse click on row (1 or 2 or 3) or column header (a or b or c) to access optimal height or width of the row or column respectively * Edit -> Insert -> Row seems to clear the spreadsheet or clears the rows after the inserted row until undo restores as it should be... Change Sheet name by Object -> Sheet -> Properties Click in the cell which will contain the result, and click '''down arrow button''' to the right of the formula box at the bottom of the spreadsheet and choose the function required from the list provided. Then click on the start cell and click on the bottom right corner, a '''very''' small blob, which allows stretching a bounding box (thick grey outlines) across many cells This grey bounding box can be used to '''copy a formula''' to other cells. Object -> Cell -> Properties to change cell format - Currency only covers DM and not $, Euro, Renminbi, Yen or Pound etc. Shift key and arrow keys selects a range of cells, so that '''formatting can be done to all highlighted cells'''. View -> Overview then select ALL with one click (in empty cell in the top left hand corner of the sheet). Default mode is relative cell referencing e.g. a1+a2 but absolute e.g. $a$1+$a$2 can be entered. * #sheet-name to '''absolute''' reference another sheet-name cell unless reference() function used. ;Graphs use shift key and arrow keys to select a bunch of cells to be graph'ed making sure that x axes represents and y axes represents * value() - 0 value, 1 percent, 2 date, 3 time, 4 unit ... ;Dates * Excel starts a running count from the 1st Jan 1900 and Ignition starts from 1st Jan 1AD '''(maybe this needs to change)''' Set formatting Object -> Cell -> Properties and put date in days ;Time Set formatting Object -> Cell -> Properties and put time in seconds taken ;Database (to be done by someone else) type - standard, reference (bezug), search criterion (suchkriterium), * select a bunch of cells and Object -> Database -> Define to set Datenbank (database) and Felder (fields not sure how?) * Neu (new) or loschen (delete) to add/remove database headings e.g. Personal, Start Date, Finish Date (one per row?) * Object -> Database -> Index to add fields (felder) like Surname, First Name, Employee ID, etc. to ? Filtering done with dbfilter(), dbproduct() and dbposition(). Activities with dbsum(), dbaverage(), dbmin() and dbmax(). Table sorting - ;Scripts (Arexx) ;Excel(TM) to Ignition - commas ''',''' replaced by semi-colons ''';''' to separate values within functions *SUM(), *AVERAGE(), MAX(), MIN(), INT(), PRODUCT(), MEDIAN(), VAR() becomes Variance(), Percentile(), *IF(), AND, OR, NOT *LEFT(), RIGHT(), MID() becomes MIDDLE(), LEN() becomes LENGTH(), *LOWER() becomes LOWERCASE(), UPPER() becomes UPPERCASE(), * DATE(yyyy,mm,dd) becomes COMPUTEDATE(dd;mm;yyyy), *TODAY(), DAY(),WEEK(), MONTH(),=YEAR(TODAY()), *EOMONTH() becomes MONTHLENGTH(), *NOW() should be date and time becomes time only, SECOND(), MINUTE(), HOUR(), *DBSUM() becomes DSUM(), ;Missing and possibly useful features/functions needed for ignition to have better support of Excel files There is no Merge and Join Text over many cells, no protect and/or freeze row or columns or books but can LOCK sheets, no define bunch of cells as a name, Macros (Arexx?), conditional formatting, no Solver, no Goal Seek, no Format Painter, no AutoFill, no AutoSum function button, no pivot tables, (30 argument limit applies to Excel) *HLOOKUP(), VLOOKUP(), [http://production-scheduling.com/excel-index-function-most-useful/ INDEX(), MATCH()], CHOOSE(), TEXT(), *TRIM(), FIND(), SUBSTITUTE(), CONCATENATE() or &, PROPER(), REPT(), *[https://acingexcel.com/excel-sumproduct-function/ SUMPRODUCT()], ROUND(), ROUNDUP(), *ROUNDDOWN(), COUNT(), COUNTA(), SUMIF(), COUNTIF(), COUNTBLANK(), TRUNC(), *PMT(), PV(), FV(), POWER(), SQRT(), MODE(), TRUE, FALSE, *MODE(), LARGE(), SMALL(), RANK(), STDEV(), *DCOUNT(), DCOUNTA(), WEEKDAY(), ;Excel Keyboard [http://dmcritchie.mvps.org/excel/shortx2k.htm shortcuts needed to aid usability in Ignition] <pre> Ctrl Z - Undo Ctrl D - Fill Down Ctrl R - Fill right Ctrl F - Find Ctrl H - Replace Ctrl 1 - Formatting of Cells CTRL SHIFT ~ Apply General Formatting ie a number Ctrl ; - Todays Date F2 - Edit cell F4 - toggle cell absolute / relative cell references </pre> ====Document Scanning - Scandal==== Scanner usually needs to be connected via a USB port and not via a hub or extension lead. Check in Trident Prefs -> Devices that the USB Scanner is not bound to anything (e.g. Bindings None) If not found then reboot the computer and recheck. Start Scandal, choose Settings from Menu strip at top of screen and in Scanner Driver choose the ?#.device of the scanner (e.g. epson2.device). The next two boxes - leave empty as they are for morphos SCSI use only or put ata.device (use the selection option in bigger box below) and Unit as 0 this is needed for gt68xx * gt68xx - no editing needed in s/gt68xx.conf but needs a firmware file that corresponds to the scanner [http://www.meier-geinitz.de/sane/gt68xx-backend/ gt68xx firmwares] in sys:s/gt68xx. * epson2 - Need to edit the file epson2.conf in sys/s that corresponds to the scanner being used '''Save''' the settings but do not press the Use button (aros freezes) Back to the Picture Scan window and the right-hand sections. Click on the '''Information''' tab and press Connect button and the scanner should now be detected. Go next to the '''Scanner''' tab next to Information Tab should have Color, Black and White, etc. and dpi settings now. Selecting an option Color, B/W etc. can cause dpi settings corruption (especially if the settings are in one line) so set '''dpi first'''. Make sure if Preview is set or not. In the '''Scan''' Tab, press Scan and the scanner will do its duty. Be aware that nothing is saved to disk yet. In the Save tab, change format JPEG, PNG or IFF DEEP. Tick incremental and base filename if necessary and then click the Save button. The image will now be saved to permanent storage. The driver ignores a device if it is already bond to another USB class, rejects it from being usable. However, open Trident prefs, select your device and use the right mouse button to open. Select "NONE" to prevent poseidon from touching the device. Now save settings. It should always work now. [[#top|...to the top]] ===Emulators=== ==== Amiberry ==== ==== Amiga Emu - Janus UAE ==== With Amibridge, AROS attempts to make the UAE emulator seem embedded within but it still is acting as an app There is no dynarec m68k for each hardware that Aros supports or direct patching of motorola calls to AROS hardware accelerated ones unless the emulator has that included Try starting Janus with a priority of -1 like this little script: <pre> cd sys:system/AmiBridge/emulator changetaskpri -1 run janus-uae -f my_uaerc.config >nil: cd sys:prefs endcli </pre> This stops Janus hogging all the CPU time. ===Miscellaneous=== ====Screensaver Blanker==== Most blankers on the amiga (i.e. aros) run as commodities (they are in the tools/commodities drawer). Double click on blanker. Control is with an app called Exchange, which you need to run first (double click on app) or run QUIET sys:tools/commodities/Exchange >NIL: but subsequently can use (Cntrl Alt h). Icon tool types (may be broken) or command line options <pre> seconds=number </pre> Once the timing is right then add the following to s:icaros-sequence or s:user-startup e.g. for 5 minutes run QUIET sys:tools/commodities/Blanker seconds=300 >NIL: *[http://archives.aros-exec.org/index.php?function=showfile&file=graphics/screenblanker/gblanker.i386-aros.zip Garshneblanker] can make Aros unstable or slow. Certain blankers crashes in Icaros 2.0.x like Dragon, Executor. *[ Acuario AROS version], the aquarium screen saver. Startup: extras:acuariofv-aros/acuario Kill: c:break name=extras:acuariofv-aros/acuario Managed to start Acuario by the Executor blanker. <pre> cx_priority= cx_popkey= ie CX_POPKEY="Shift F1" cx_popup=Yes or No </pre> <pre> Qualifier String Input Event Class ---------------- ----------------- "lshift" IEQUALIFIER_LSHIFT "rshift" IEQUALIFIER_RSHIFT "capslock" IEQUALIFIER_CAPSLOCK "control" IEQUALIFIER_CONTROL "lalt" IEQUALIFIER_LALT "ralt" IEQUALIFIER_RALT "lcommand" IEQUALIFIER_LCOMMAND "rcommand" IEQUALIFIER_RCOMMAND "numericpad" IEQUALIFIER_NUMERICPAD "repeat" IEQUALIFIER_REPEAT "midbutton" IEQUALIFIER_MIDBUTTON "rbutton" IEQUALIFIER_RBUTTON "leftbutton" IEQUALIFIER_LEFTBUTTON "relativemouse" IEQUALIFIER_RELATIVEMOUSE </pre> <pre> Synonym Synonym String Identifier ------- ---------- "shift" IXSYM_SHIFT /* look for either shift key */ "caps" IXSYM_CAPS /* look for either shift key or capslock */ "alt" IXSYM_ALT /* look for either alt key */ Highmap is one of the following strings: "space", "backspace", "tab", "enter", "return", "esc", "del", "up", "down", "right", "left", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "f10", "help". </pre> [[#top|...to the top]] ==== World Construction Set WCS (Version 2.031) ==== WCS is a fractal landscape software such as Scenery Animator, Vista Pro and Panorama. Open sourced February 2022, World Construction Set [https://3dnature.com/downloads/legacy-software/ legally and for free] and [https://github.com/AlphaPixel/3DNature c source]. Announced August 1994 this version dates from April 1996 developed by Gary R. Huber and Chris "Xenon" Hanson" from Questar <pre> Assign "WCSProjects:" "Volume:Dir/Dir/WCSProjects" Assign "WCSFrames:" "Volume:Dir/Dir/WCSFrames" </pre> <pre> Load projects .proj by accessing pull down menu Project -> Open then click on CanyonSunset.proj OK to changing .par file and enlarge Status Log window to show what is happening Render by pull down menu Modules -> Render with End equal 1 not 300 then click bottom middle button Render </pre> [https://www.youtube.com/watch?v=CxQDmf1ZWG0 Youtube walkthrough of above], [], [], Also try working with the already built file ColoDemo - Then open with the drop-down menu: Project/Open, then WCSProject:ColoDemo.proj Which allows you to use altimetric DEM files already included and Loading scene parameters from ColoDemo.par Once this is done, save everything with a new name to start working exclusively on your project. Then drop-down menu and select Save As ("NewName".proj name), then drop-down menu to open parameter and select Save All ( .par name) After launching the software, there is a the Module Control Panel composed of five icons. It is a dock type shortcut of the first few functions of the drop-down menu *Database - Load (#?.proj), Append, Create, Edit, Save, Dir List (of WCSProject drawer), *Data Ops - Extract / Convert Interp DEM, Import DLG, DXF, WDB and export LW map 3d formats *Map View - Database file Loader leading to Map View Control with option to the Database Editor *Parameters - Editor for Motion, Color, Ecosystem, Clouds, Waves, management of altimeter files DEM, sclock settings etc *Render - rendering terrain These are more in the pull down menu but not in the dock *Motion Editor *Color Editor *Ecosys Editor Simple minimal workflow *Load database (1st icon - 1st) *Set parameters and save .par file (4th icon) *Render scene (5th icon) [https://www.youtube.com/watch?v=ZbTwwR2qcc4 Youtube], [], <pre> .proj new project name which creates a drawer of additional files .binary array, ascii array .xyz , z buffer, DTED .dt0, vista 1990s dem, iff conversion .Obj with .elev, .frd with .hdr maps, - digital elevation model (DEM) is a 3D representation of elevation data in various formats USGS 7.5MinDEM, .par </pre> Since for the time being no project is loaded, a query window indicates a procedural error when clicking on the rendering icon (right end of the bar). The menu is quite traditional; it varies according to the activity of the windows. To display any altimetric file in the "Mapview" (third icon of the panel), There are three possibilities: * Loading of a demonstration project. * The import of a DEM file, followed by texturing and packaging from the "Database-Editor" and the "Color-Editor". * The creation of an altimetric file in WCS format, then texturing. The altimeter file editing (display in the menu) is only made possible if the "Mapview" window is active. The software is made up of many windows and won't be able to describe them all. Know that "Color-Editor" and the "Data-Editor" comprise sufficient functions for obtaining an almost real rendering quality. You have the possibility of inserting vector objects in the "Data-Editor" (creation of roads, railways, etc.) The Map View (MapView) window *Database - Objects and Topos *View - Align, Center, Zoom, Pan, Move *Draw - Maps and distance *Object - Find, highlight, add points, conform topo, duplicate *Motion - Camera, Focus, path, elevation *Windows - DEM designer, Cloud (.cld) and wave (.wve) editor, You will notice that by selecting this window and simply moving the pointer to various points on the map you will see latitude and longitude values ​​change, along with the height. Drop-down menu and Modules, then select MapView and change the width of the window with the map to arrange it in the best way on the screen. With the Auto button the center. Window that then displays the contents of my DEM file, in this case the Grand Canyon. MapView allows you to observe the shape of the landscape from above ZOOM button Press the Zoom button and then with the pointer position on a point on the map, press the left mouse button and then move to the opposite corner to circumscribe the chosen area and press the left mouse button again, then we will see the enlarged area selected on the map. Would add that there is a box next to the Zoom button that allows the direct insertion of a value which, the larger it is, the smaller the magnification and the smaller the value, the stronger the magnification. At each numerical change you will need to press the DRAW button to update the view. PAN button Under Zoom you will find the PAN button which allows you to move the map at will in all directions by the amount you want. This is done by drawing a line in one direction, then press PAN and point to an area on the map with the pointer and press the left mouse button. At this point, leave it and move the pointer in one direction by drawing a line and press the left mouse button again to trigger the movement of the map on the screen (origin and end points). Do some experiments and then use the Auto button immediately below to recenter everything. There are parameters such as TOPO, VEC to be left checked and immediately below one that allows different views of the map with the Style command (Single, Multi, Surface, Emboss, Slope, Contour), each with its own particularities to highlight different details. Now you have the first basics to manage your project visually on the map. Close the MapView window and go further... Let's start working on ECOSYSTEMS If we select Emboss from the MapView Style command we will have a clear idea of ​​how the landscape appears, realizing that it is a predominantly desert region of our planet. Therefore we will begin to act on any vegetation present and the appearance of the landscape. With WCS we will begin to break down the elements of the landscape by assigning defined characteristics. It will be necessary to determine the classes of the ecosystem (Class) with parameters of Elevation Line (maximum altitude), Relative Elevation (arrangement on basins or convexities with respectively positive or negative parameters), Min Slope and Max Slope (slope). WCS offers the possibility of making ecosystems coexist on the same terrain with the UnderEco function, by setting a Density value. Ecosys Ecosystem Editor Let's open it from Modules, then Ecosys Editor. In the left pane you will find the list of ecosystems referring to the files present in our project. It will be necessary to clean up that box to leave only the Water and Snow landscapes and a few other predefined ones. We can do this by selecting the items and pressing the Remove button (be careful not for all elements the button is activated, therefore they cannot all be eliminated). Once this is done we can start adding new ecosystems. Scroll through the various Unused and as soon as the Name item at the top is activated allowing you to write, type the name of your ecosystem, adding the necessary parameters. <pre> Ecosystem1: Name: RockBase Class: Rock Density: 80 MinSlope: 15 UnderEco: Terrain Ecosystem2: Name: RockIncl Clss: Rock Density: 80 MinSlope: 30 UnderEco: Terrain Ecosystem3: Name: Grass Class Low Veg Density: 50 Height: 1 Elev Line : 1500 Rel El Eff: 5 Max Slope: 10 – Min Slope: 0 UnderEco: Terrain Ecosistema4: Name: Shrubs Class: Low Veg Density: 40 Height: 8 Elev Line: 3000 Rel El Eff: -2 Max Slope: 20 Min Slope : 5 UnderEco: Terrain Ecosistema5: Name: Terrain Class: Ground Density: 100 UnderEco: Terrain </pre> Now we need to identify an intermediate ecosystem that guarantees a smooth transition between all, therefore we select as Understory Ecosystem the one called Terrain in all ecosystems, except Snow and Water . Now we need to 'emerge' the Colorado River in the Canyon and we can do this by raising the sea level to 900 (Sea Level) in the Ecosystem called Water. Please note that the order of the ecosystem list gives priority to those that come after. So our list must have the following order: Water, Snow, Shrubs, RockIncl, RockBase, Terrain. It is possible to carry out all movements with the Swap button at the bottom. To put order you can also press Short List. Press Keep to confirm all the work done so far with Ecosystem Editor. Remember every now and then to save both the Project 'Modules/Save' and 'Parameter/Save All' EcoModels are made up of .etp .fgp .iff8 for each model Color Editor Now it's time to define the colors of our scene and we can do this by going to Modules and then Color Editor. In the list we focus on our ecosystems, created first. Let's go to the bottom of the list and select the first white space, assigning the name 'empty1', with a color we like and then we will find this element again in other environments... It could serve as an example for other situations! So we move to 'grass' which already exists and assign the following colors: R 60 G 70 B50 <pre> 'shrubs': R 60 G 80 B 30 'RockIncl' R 110 G 65 B 60 'RockBase' R 110 G 80 B 80 ' Terrain' R 150 G 30 B 30 <pre> Now we can work on pre-existing colors <pre> 'SunLight' R 150 G 130 B 130 'Haze and Fog' R 190 G 170 B 170 'Horizon' R 209 G 185 B 190 'Zenith' R 140 G 150 B 200 'Water' R 90 G 125 B 170 </pre> Ambient R 0 G 0 B 0 So don't forget to close Color Editor by pressing Keep. Go once again to Ecosystem Editor and assign the corresponding color to each environment by selecting it using the Ecosystem Color button. Press it several times until the correct one appears. Then save the project and parameters again, as done previously. Motion Editor Now it's time to take care of the framing, so let's go to Modules and then to Motion Editor. An extremely feature-rich window will open. Following is the list of parameters regarding the Camera, position and other characteristics: <pre> -Camera Altitude: 7.0 -Camera Latitude: 36.075 -Camera Longitude: 112.133 -Focus Attitude: -2.0 -Focus Latitude: 36.275 -Focus Longitude: 112.386 -Camera : 512 → rendering window -Camera Y: 384 → rendering window -View Arc: 80 → View width in degrees -Sun Longitude: 172 -Sun Latitude: -0.9 -Haze Start: 3.8 -Haze Range: 78, 5 </pre> As soon as the values ​​shown in the relevant sliders have been modified, we will be ready to open the CamView window to observe the wireframe preview. Let's not consider all the controls that will appear. Well from the Motion Editor if you have selected Camera Altitude and open the CamView panel, you can change the height of the camera by holding down the right mouse button and moving the mouse up and down. To update the view, press the Terrain button in the adjacent window. As soon as you are convinced of the position, confirm again with Keep. You can carry out the same work with the other functions of the camera, such as Focus Altitude... Let's now see the next positioning step on the Camera map, but let's leave the CamView preview window open while we go to Modules to open the window at the same time MapView. We will thus be able to take advantage of the view from the other together with a subjective one. From the MapView window, select with the left mouse button and while it is pressed, move the Camera as desired. To update the subjective preview, always click on Terrain. While with the same procedure you can intervene on the direction of the camera lens, by selecting the cross and with the left button pressed you can choose the desired view. So with the pressure of Terrain I update the Preview. Possibly can enlarge or reduce the Map View using the Zoom button, for greater precision. Also write that the circle around the cameras indicates the beginning of the haze, there are two types (haze and fog) linked to the altitude. Would also add that the camera height is editable through the Motion Editor panel. The sun Let's see that changing the position of the sun from the Motion Editor. Press the SUN button at the bottom right and set the time and the date. Longitude and latitude are automatically obtained by the program. Always open the View Arc command from the Motion Editor panel, an item present in the Parameter List box. Once again confirm everything with Keep and then save again. Animation The animation part is not left-back and also occupies a window. The settings possibilities are enormous. A time line with dragging functions ("slide", "drag"...) comparable to that of LightWave completes this window. A small window is available for positioning the stars as a function of a date, in order to vary the seasons and their various events (and yes...). At the bottom of the "Motion-Editor", a "cam-view" function will give you access to a control panel. Different preview modes are possible. The rendering is also accessible through a window. No less than nine pages compose it. At this level, you will be able to determine the backup name of your images ("path"), the type of texture to be calculated, the resolution of the images, activate or deactivate functions such as the depth buffer ("zbuffer"), the blur, the background image, etc. Once all these parameters have been set, all you have to do is click on the "Render" button. For rendering go to Modules and then Render. Select the resolution, then under IMA select the name of the image. Move to FRA and indicate the level of fractal detail which of 4 is quite good. Then Keep to confirm and then reopen the window, pressing Render you will see the result. The image will be opened with any viewing program. Strengths: * Multi-window. * Quality of rendering. * Accuracy. * Opening, preview and rendering on CyberGraphX screen. * Extract / Convert Interp DEM, Import DLG, DXF, WDB and export LW map 3d formats * The "zbuffer" function. Weaknesses: * No OpenGL management * Calculation time. * No network computing tool. ====Writing CD / DVD - Frying Pan==== Can be backup DVDs (4GB ISO size limit due to use of FileInfoBlock), create audio cds from mp3's, and put .iso files on discs If using for the first time - click Drive button and Device set to ata.device and unit to 0 (zero) Click Tracks Button - Drive 1 - Create New Disc or Import Existing Disc Image (iso bin/cue etc.) - Session File open cue file If you're making a data cd, with files and drawers from your hard drive, you should be using the ISO Builder.. which is the MUI page on the left. ("Data/Audio Tracks" is on the right). You should use the "Data/Audio tracks" page if you want to create music cds with AIFF/WAV/MP3 files, or if you download an .iso file, and you want to put it on a cd. Click WRITE Button - set write speed - click on long Write button Examples Easiest way would be to burn a DATA CD, simply go to "Tracks" page "ISO Builder" and "ADD" everything you need to burn. On the "Write" page i have "Masterize Disc (DAO)", "Close Disc" and "Eject after Write" set. One must not "Blank disc before write" if one uses a CDR AUDIO CD from MP3's are as easy but tricky to deal with. FP only understands one MP3 format, Layer II, everything else will just create empty tracks Burning bootable CD's works only with .iso files. Go to "Tracks" page and "Data/Audio Tracks" and add the .iso ====odf==== Every ODF file is a collection of several subdocuments within a package (ZIP file), each of which stores part of the complete document. * content.xml – Document content and automatic styles used in the content. * styles.xml – Styles used in the document content and automatic styles used in the styles themselves. * meta.xml – Document meta information, such as the author or the time of the last save action. * settings.xml – Application-specific settings, such as the window size or printer information. To read document follow these steps: * Extracting .ods file. * Getting content.xml file (which contains sheets data). * Creating XmlDocument object from content.xml file. * Creating DataSet (that represent Spreadsheet file). * With XmlDocument select “table:table” elements, and then create adequate DataTables. * Parse child’s of “table:table” element and fill DataTables with those data. * At the end, return DataSet and show it in application’s interface. To write document follow these steps: * Extracting template.ods file (.ods file that we use as template). * Getting content.xml file. * Creating XmlDocument object from content.xml file. * Erasing all “table:table” elements from the content.xml file. * Reading data from our DataSet and composing adequate “table:table” elements. * Adding “table:table” elements to content.xml file. * Zipping that file as new .ods file. XLS file format The XLS file format contains streams, substreams, and records. These sheet substreams include worksheets, macro sheets, chart sheets, dialog sheets, and VBA module sheets. All the records in an XLS document start with a 2-byte unsigned integer to specify Record Type (rt), and another for Count of Bytes (cb). A record cannot exceed 8224 bytes. If larger than the rest is stored in one or more continue records. * Workbook stream **Globals substream ***BoundSheet8 record - info for Worksheet substream i.e. name, location, type, and visibility. (4bytes the lbPlyPos FilePointer, specifies the position in the Workbook stream where the sheet substream starts) **Worksheet substream (sheet) - Cell Table - Row record - Cells (2byte=row 2byte=column 2byte=XF format) ***Blank cell record ***RK cell record 32-bit number. ***BoolErr cell record (2-byte Bes structure that may be either a Boolean value or an error code) ***Number cell record (64-bit floating-point number) ***LabelSst cell record (4-byte integer that specifies a string in the Shared Strings Table (SST). Specifically, the integer corresponds to the array index in the RGB field of the SST) ***Formula cell record (FormulaValue structure in the 8 bytes that follow the cell structure. The next 6 bytes can be ignored, and the rest of the record is a CellParsedFormula structure that contains the formula itself) ***MulBlank record (first 2 bytes give the row, and the next 2 bytes give the column that the series of blanks starts at. Next, a variable length array of cell structures follows to store formatting information, and the last 2 bytes show what column the series of blanks ends on) ***MulRK record ***Shared String Table (SST) contains all of the string values in the workbook. ACCRINT(), ACCRINTM(), AMORDEGRC(), AMORLINC(), COUPDAYBS(), COUPDAYS(), COUPDAYSNC(), COUPNCD(), COUPNUM(), COUPPCD(), CUMIPMT(), CUMPRINC(), DB(), DDB(), DISC(), DOLLARDE(), DOLLARFR(), DURATION(), EFFECT(), FV(), FVSCHEDULE(), INTRATE(), IPMT(), IRR(), ISPMT(), MDURATION(), MIRR(), NOMINAL(), NPER(), NPV(), ODDFPRICE(), ODDFYIELD(), ODDLPRICE(), ODDLYIELD(), PMT(), PPMT(), PRICE(), PRICEDISC(), PRICEMAT(), PV(), RATE(), RECEIVED(), SLN(), SYD(), TBILLEQ(), TBILLPRICE(), TBILLYIELD(), VDB(), XIRR(), XNPV(), YIELD(), YIELDDISC(), YIELDMAT(), <pre> </pre> <pre> </pre> <pre> </pre> {{BookCat}} 7f4ev7t7uidghf9bxfxyp8g26zpzc89 History of Western Theatre: 17th Century to Now/English Pre-WWII or Edwardian 0 241497 4670031 4629377 2026-09-14T13:38:56Z -wuppertaler 875036 ([[c:GR|GR]]) [[c:COM:FR|File renamed]]: [[File:Bank of Engeland and foreign exchange.jpg]] → [[File:Bank of England and Royal Exchange, London.jpg]] [[c:COM:FR#FR3|Criterion 3]] (obvious error) · Mis-spelling. 4670031 wikitext text/x-wiki [[File:Phoenix Theatre by Night.jpg|thumb|The Phoenix Theatre opened in 1930 with Coward's Private Lives]] The Edwardian drama refers to the reign of King Edward VII (1901-1910). The realistic mode prevalent at the end of the past century prevailed at the start of the 20th. "The tendency of modern dramatic art is now to make the characters and the emotional and moral significance of the situations the most important elements, and to reduce the plot to a minimum. The characters in consequence are not merely presented during the early scenes, but go on developing till the end of the play, so that the spectator may have to alter his first impressions. In consequence, the faculty upon which the modern play tends to rely more and more in the spectator is no longer the power of following the indications of a complex story, but of seizing and remembering shades of character and emotion; and the spectator's pleasure depends now not so much on being unable to guess what is going to happen next as in being able to recognize that what does happen next is true and interesting" (MacCarthy, 1907 p 18-19). “The drama of today, through the influences of modern science, of contemporary democracy, of shifting moral values, of the critical rather than the worshipful attitude toward life, of an irresistible thrust toward increased naturalism and greater veracity, has become bourgeois, dealing with the world of every day; comic, verging upon the tearful, or serious, trenching upon the tragic; unheroic, suburban, and almost prosaic, yet intensely interesting by reason of its sincerity and its humanity; essentially critical in tone, proving all things, holding fast that which is good” (Henderson, 1914 p 309). “The English, as their drama represents them, are a nation endlessly communicative about love without ever enjoying it. Full-blooded physical relationships engaged in mutual delight are theatrically tabu. Thwarted love is preferred...At the end of a play on some quite different subject- religion, perhaps, or politics- it is customary for the two to say, as he does in [St John Ervine's Robert’s Wife (1938)]: ‘I was deeply in love with a fine woman’ and for the wife to reply: ‘My dear, dear husband!’ but there should be no hint elsewhere in the text that they have as much as brushed lips. In comedies, marriage is presented as the high road to divorce. Husband and wife begin the play at daggers drawn at their country house, and the whole point of the ensuing exercise is to lure them back into each other’s arms. The reconciliation takes place in the last act. Left alone on stage, the two lovers exchange coy salutations…Among younger people, the technique of courtship is even more rigorously codified...He is always bashful and ashamed in the presence of women to whom he is not closely related. The plays of the twenties were full of scenes in which the hero, contorted with grief, confessed to his mother that he had transferred his affections to another woman. A firmly established tenet of the English drama is that love which is only physical will not last, and is probably ghastly anyway...The idea that a man and a woman should...sexually exult in their discovery is deeply offensive to English taste. Someone should suffer for it, and our playwrights see that it sometimes does, harshly and irrevocably. Proposals are regarded with more tolerance, though the approach to them is often extremely oblique...English romantic drama is built around interrupted and frustrated embraces. Uninterrupted embraces only take place years before the curtain rises…Actresses, by an unjust dispensation, have far fewer chances. Prejudice forbids them any form of self-indulgence. Until she reaches the age of thirty, the English actress is allowed only to play ingenues, girls too young for love and scared of it” (Tynan, 1961 pp 61-64). "Until the modern period, great drama has possessed not only those deeper and subtler qualities which reveal themselves to the careful analyst and which constitute its greatness, it has also possessed more generally available qualities. It has appealed on different levels. It has appealed to the connoisseur and the amateur, the critic and the public. It has functioned as mere entertainment for some and as the highest art for others. A great deal of modern art, however, including drama, does not possess this double appeal. It appeals only to those who can discern high art, just as modern entertainment frequently appeals only to those who are satisfied with mere entertainment. Scandalized, our spiritual doctors call on the entertainers to be artistic or on the artists to be entertaining. The one class is censured as low-brow, the other as high-brow. Whatever the proposed solution, wherever the blame is to be placed, the facts themselves are inexorable. A peculiar, problematic, and perhaps revolutionary situation exists. Art and commodity have become direct antagonists" (Bentley, 1955 p xv). =George Bernard Shaw= [[File:George Bernard Shaw.jpg|thumb|George Bernard Shaw is the dominant English-speaking playwright of the early 20th century by presenting serious themes in comic tones, 1909]] The Irish-born playwright, George Bernard Shaw (1854-1950), continued work from the previous century by becoming one of the major dramatists prior to World War II (1939-1945), whose best-loved plays include "Mrs Warren's profession" (1902, first written in 1893), "Man and superman" (1903), "Major Barbara" (1905), "Pygmalion" (1912), and "Heartbreak House" (1919). "Mrs Warren's profession" resembles two stories by Guy de Maupassant (1850-1893): “Yvette” from the book of short stories of the same name (1884) and “Yveline Samoris” from the posthumous book of short stories “Father Milon” (1899) in which a daughter rejects the life-style of her courtesan mother, in the first story outliving an attempted suicide with chloroform in despair at being forced to live a similar life-style and in the other dying from the same cause. Early critics were offended by its theme. Chesterton (1914) explained that the play "is concerned with a coarse mother and a cold daughter; the mother drives the ordinary and dirty trade of harlotry; the daughter does not know until the end the atrocious origin of all her own comfort and refinement. The daughter, when the discovery is made, freezes up into an iceberg of contempt; which is indeed a very womanly thing to do. The mother explodes into pulverising cynicism and practicality; which is also very womanly. The dialogue is drastic and sweeping; the daughter says the trade is loathsome, the mother answers that she loathes it herself; that every healthy person does loathe the trade by which she lives. And beyond question the general effect of the play is that the trade is loathsome; supposing anyone to be so insensible as to require to be told of the fact. Undoubtedly the upshot is that a brothel is a miserable business, and a brothel-keeper a miserable woman" (pp 137-138). For his part, Grein (1902) refused to allow the subject of prostitution in a rational discussion. “The case of Mrs Warren has been invented with such ingenuity and surrounded by such impossibilities that it produces revolt instead of reasoning. For Mr Shaw has made the great mistake of tainting all the male characters with a streak of a demoralized tar brush; he has created a coldblooded, almost sexless daughter as the sympathetic element and he has built the unspeakable Mrs Warren of such motley material that in our own mind pity and disgust for the woman are constantly at loggerheads. If the theme was worth treating at all the human conflict was the tragedy of the daughter through the infamy of the mother. Instead of that we get long arguments- spiced with platform oratory and invective- between a mother really utterly degraded, but here and there whitewashed with sentimental effusions, and a daughter so un-English in her knowledge of the world, so cold of heart, and 'beyond human power' in reasoning that we end by hating both; the one who deserves it, as well as the other who is a victim of circumstances. Thus there are false notes all the time, and apart from a passing interest in a few scenes, saved by the author's cleverness, the play causes only pain and bewilderment, while it should have shaken our soul to its innermost chords” (pp 294-295). "Here, not only a stock subject of philanthropic reformers, but the whole of Nordic middle-class mentality with regard to the phenomenon of prostitution is taken by the horns. Shaw argues that it is either a social necessity, and then there is no reason for keeping poor Mrs Warren and her former lodgers in a state of inferiority (this state of inferiority, on the contrary, in its turn causes the evil to grow worse); or else it is an evil that can be corrected, in which case society should correct it by eliminating its causes, and not by reviling those who are the first and principal victims of such causes. This is a very good argument, but, as usual, one-sided, because it leaves out altogether the psychological and moral aspect of the problem, which is perhaps better and more generally understood in the Latin countries than among the puritan Anglo-Saxons. There remains the drama of Mrs Warren, who after all is an excellent woman, in relation to her daughter, who is also a striking figure, a girl who has been made hard and inhuman through a badly conceived system of education” (Pellizzi, 1935 pp 83-84). Henderson (1914) complained that “driven by his ineradicable sense of the ridiculous, Shaw has greatly weakened the play's effect by shattering unity of impression through the gruesome, cynical levity of Frank” (p 81). In contrast, Duffin (1939) appreciated Frank. "Regarded from a distance, the play appears as a setting for the three scenes: between Frank and Vivie: the babes in the wood, in the middle of Act III; the disclosure of the relationship, at the end of Act III; and Vivie’s renunciation in Act IV- with the scenes between Vivie and Mrs Warren as lower lights. As a reason for Vivie’s repudiation of her mother’s money, any other disgraceful way of getting rich would have served; but the fact that Mrs Warren is a leader in this special business makes possible also the most interesting psycho- logical problem of the play- the brother-and-sister-lover relationship. The situation is handled with such skill and sympathy by Shaw- mainly through the exquisite creation of Frank Gardner, who is among the most wonderful of Shaw’s young men- that it not only escapes all taint of unpleasantness, but actually becomes one of those gracious loves that are uncharacteristic of Shaw. Frank is not affected by the conventional idea of a necessary repulsion- he feels nothing of the sort, and does not trouble about what he ought to feel. His attempt to throw doubt on the facts of their relationship, as stated by Crofts, is undertaken merely for Vivie’s sake. She, too, declares she is unaffected by the revelation, though her denial is inconsistent with the despair and disgust she evinces when it is made, in contrast to Frank’s magnificent acceptance, which is, however, I suppose, only a romantic gesture in face of Vivie’s realistic grasp of the situation. The idyll flickers out abruptly, but its three brief scenes leave much that is beautiful upon the memory” (p 67). “Vivie is...offered 4 choices: Frank (romantic love), Praed (escape from reality into art through aestheticism), Mrs Warren (sentimental attachment to mother no matter what the mother does), and Sir George Crofts (co-opting within an evil system for the sake of money)...Vivie’s decision to join the law-firm of Honoria Fraser is neither cynical nor misanthropic. She simply makes the wisest and most mature choice available to her, a choice clearly superior to the other four” (Abbott, 1989 p 47). “Vivie, who began by reproaching her mother for her way of life, becomes gradually impressed by her energy and ability, and touched by the sacrifices she has made for her. But when she learns that her mother is still continuing to follow the same profession, her mood changes and in the final scene they face each other as enemies...Vivie...tells her that at heart she is a conventional woman, and that is why she is leaving her...What spoils this powerful drama is above all its tone, which is too light for the subject with which it is dealing” (Lamm, 1952 pp 260-261). Gassner (1954a) admitted that "Mrs Warren's Profession releases a powerful barrage, its larger purpose being defined by Shaw in his 1898 Preface with customary precision: "I believe that any society which desires to found itself on a high standard of integrity of character in its units should organize itself in such a fashion as to make it possible for all men and all women to maintain themselves in reasonable comfort by their industry without selling their affections and their convictions", but yet the critic moaned about the "dubious artistry of the piece; once Mrs Warren has made her forceful confession to her daughter, the action is whipped up into hopelessly thin lather concerning Vivie Warren's decisions respecting her own life, and despite affirmations of feminine independence (the New Woman!) she becomes a tiresome and chilly subject" (p 602). Likewise, Agate (1926) wrote that "there is one great flaw in the piece, which time has not altered, and that is the nature of Mrs Warren’s crime. To sin in one’s own person is one thing, to traffic in sin is another The woman’s case is too thin here, and the statement that her creatures were happier than the average barmaid or the average wife of a Deptford labourer is simply not true. Mrs Warren herself is drawn in the round, the rest of the characters are mere intellectual abstractions. Vivie, in so far as she is alive at all, is a prig, Crofts is a sawdust monster, Frank is very little removed from a scatter-brain, and the clergyman and the artist are just not anything at all" (p 233). In contrast to those critics, Mair and Ward (1939) felt that the play "made a brave and plain-spoken attempt to drag the public face to face with the nauseous realities of prostitution" (p 205). "The character of Mrs Warren is superb, the indictment of the economic conditions which beget Mrs Warren's and their bondwomen is thrilling and crushing, and the technique is throughout admirable, especially in the natural yet intensely dramatic manipulation of the great scenes. There are speeches whose irony takes you by the throat, both in the scene in which Mrs Warren expounds to her Girton-bred daughter the nature of her profession, and that in which Sir George Crofts, Mrs Warren's partner, in the private hotels which she manages, amplifies the mother's revelations. The former scene, to be sure, would be far more poignant if Vivie were a human girl instead of Mr Shaw's patent, imperturbable Girtonian paragon; but in that case it would be too painful for endurance. The scene with Crofts, on the other hand, gets its point from Vivie's intellectual competence...Much as I dislike and shrink from certain passages between Frank and Vivie, I have no hesitation in saying that Mrs Warren's Profession is not only intellectually but dramatically one of the very ablest plays of our time" (Archer, pp 9-10). Kitty Warren “is a thoroughly convincing portrait of a woman with little sensibility and plenty of character: practical and hard-headed in her business, peevish and possessive with her daughter, sensual but realistic with the daughter’s young man, proud of her success but commonplace in mind, vulgar but easy-going enough” (Ganz, 1983 p 92). “The characters in Mrs Warren's Profession are wonderfully well drawn, especially Mrs Warren, who is, as the author describes her, a disreputable old blackguard of a woman, but all the same she is alive and intensely interesting. But disreputable folk sometimes make better parents than the most respectable, when they make up their minds to it. They know their faults so well that they can keep them in the background. Both Frank and Vivian...are instances of their parents’ success in this respect. Mrs Warren's men friends are of the kind one might expect; at the same time they are the pick of her basket. Some may regard it as questionable taste on the author's part to have made the father of Frank a clergyman, but nature is no respecter of persons or parsons, and the author of such a play as Mrs Warren's Profession is scarcely the man to pander to superstition” (Armstrong, 1913 p 254). "There is a conflict between Mrs Warren, the well-balanced woman of business, reasonable, tenacious, active, hard-working, and ambitious, but a sentimentalist who has lived one kind of life while dreaming of another and Vivie, the true daughter of the mother, likewise well-balanced, reasonable, tenacious, active, hard-working, and ambitious, but stronger willed, positive, and realist, wishing to live a real life. There is a conflict between Vivie and Crofts, an elderly sensualist, still robust, maintaining the veneer of respectability, attracted by Vivie's youth and vigorous beauty. There is the conflict between Vivie and Frank, positive-minded but an idler, who wants a practical, sensible, and well-to-do woman for his wife, to enable him to continue his enjoyments as a gamester and a sportsman. There is the conflict between Frank and his father, the Rev Samuel, who is authoritative, irritable, and weak-willed—in fine, somewhat ridiculous, and really under his son's influence...All these conflicts taken together manifest to us also a general conflict, that between capitalist society and a moral ideal altogether different from traditional morality, one which finds no overt expression, but which is felt to exist all through the play, to which it gives a high moralizing value"(Hamon, 1916 pp 169-170). The play's "strength proceeds from the depth displayed in the consideration of the motives which prompt to action, the intellectual and emotional crises eventuating from the fierce clash of personalities and the sardonically unconscious self-scourging of the characters themselves...The tremendous dramatic power of the specious logic with which Mrs Warren defends her course; the sardonic irony of the parting between mother and daughter!...Devastating in its consummate irony is the passage in which Mrs Warren, conventional to her heart's core, lauds her own respectability; and that in which Crofts propounds his own code of honour...Mrs Warren's Profession is not only what Brunetière would call a work of combat: it is an act of declared hostility against capitalistic society, the inertia of public opinion, the lethargy of the public conscience, and the criminality of a social order which begets such appalling social conditions. Into this play Shaw has poured all his socialistic passion for a more just and humane social order" (Henderson, 1911 pp 306-307). "Mrs Warren’s Profession reads blazingly well today, mainly through its excellent construction (it is, in its revelations, closer than many plays Shaw wrote to the well-made play) and its character-drawing. Vivie, the matter-of-fact, scholastic, new woman daughter, is a genuine study (Shaw admitted her smoking was based on that of the real life person on whom she was modeled) and her difference from her mother, in natural temperament, education and outlook, provides the living human conflict of the play and keeps it strongly alive. Mrs Warren herself is depicted as coarse yet full of the feeling Vivie lacks. It is the kind of feeling, fairly shallow, by which Shaw does not set great store, but nevertheless portrays with compassion and skill. It is a clever and believable study and every scene in which Mrs Warren appears has a flesh-and-blood reality" (Williamson, 1916 p 112). Goldman (1914) also appreciated the mother-daughter conflict and also the irony in comparing Mrs Warren's fate with her sister's: "no, it is not respectable to talk about these things, because respectability cannot face the truth. Yet everybody knows that the majority of women, 'if they wish to provide for themselves decently, must be good to some man that can afford to be good to them.' The only difference then between Sister Liz, the respectable girl, and Mrs Warren, is hypocrisy and legal sanction. Sister Liz uses her money to buy back her reputation from the church and society. The respectable girl uses the sanction of the church to buy a decent income legitimately, and Mrs Warren plays her game without the sanction of either. Hence she is the greatest criminal in the eyes of the world. Yet Mrs Warren is no less human than most other women. In fact, as far as her love for her daughter Vivian is concerned, she is a superior sort of mother. That her daughter may not have to face the same alternative as she,- slave in a scullery for four shillings a week- Mrs Warren surrounds the girl with comfort and ease, gives her an education, and thereby establishes between her child and herself an abyss which nothing can bridge. Few respectable mothers would do as much for their daughters. However, Mrs Warren remains the outcast, while all those who benefit by her profession, including even her daughter Vivian, move in the best circles" (pp 182-183). “As Mrs Warren explains to her daughter, what drives her is not the profit motive, which Greer sees as the focal interest of Shaw’s play, but the sheer excitement of work and investment for its own sake as a lifestyle and pastime: ‘I must have work and excitement, or I should go melancholy mad. And what else is there for me to do?’ For Kitty Warren, it is not just about making more money. She continues to accumulate capital limitlessly not for the sake of profit (or surplus) but because she desires to desire” (Zhulina, 2024 pp 13-131). “Vivie Warren begins and closes the play, and Shaw reverses expectation and conventional pattern by placing the reconciliation and understanding between mother and daughter in act 2 and concluding with the child’s rejection of her parent...Vivie at the same time refuses the traditional alternative of love’s young dream in the shape of Frank Gardner” (Raby, 2004 p 200). “In the last scene of Mrs. Warren’s Profession, Kitty Warren is so distressed that her daughter Vivie has disowned her that she drops the social mask of proper English” (Zhulina, 2024 p 127). In Mrs Warren’s profession, Shaw declared himself just such a master-hand by writing a play that deliberately reversed every convention of the fallen-woman drama. His fallen woman is not a glamorous courtesan who wears silks and jewels for three acts and then dies of consumption but a vulgar matron who wears gay blouses and brilliant hats and ends the play in robust good health. When her daughter, Vivie, a self-sufficient Cambridge graduate, learns that her mother made her living through prostitution, Mrs Warren responds not with shame and repentance but with vigorous self-justification” (Eltis, 2004 p 229). In Man and Superman, “Tanner knows that he must flee the stifling bliss of marriage and domesticity to pursue his own purpose” (Donaghy, 1994 pp 2155). The play "retains its popularity as a comedy embodying humanity’s favorite theme for entertainment, the making of marriages by female will against the natural masculine instinct to escape the chains of a single, responsible relationship...Ann, for all the charm any actress can give her, is not an attractive creation, and close to satire in Shaw’s use of her uncomprisingly as a symbol of Victorian hypocrisy and a representative of feminine ruthlessness in sexual pursuit. If she showed the slightest interest in Tanner mentally, or appreciation of his work and its cost to him (for all work of his kind is costly in energy and mental peace), we might warm to her more; but actually Shaw is psychologically not unshrewd here, for frequently enough this is the kind of woman men of intelligence are basically attracted by, yield to, marry, and in a remarkable number of cases remain faithful to, even though they may sometimes secretly regret some deeper lack in the relationship. It is, of course, sex triumphant, a fact of life Shaw, despite his instinctive revulsion, was honest enough to recognize as overriding in action" (Williamson, 1916 pp 132-133). “The artistic effect of 'Man and Superman' is like that of Voltaire’s ‘Candide’, where a fundamentally serious point of view is expressed in a playful and improbable tale...Tanner is an extravert, a man entirely absorbed in his activities...an intellectual...and that is why in the end he becomes the helpless prey of Ann in her lust for marriage...He throws out bold truths, but with an undertone of skepticism” (Lamm, 1952 pp 272-273). “The joke on Tanner...is that all the time he is theorizing about the life force, he is being ensnared by it” (Brustein, 1964 p 219). "Tanner’s love of Ann is a sideline to his surrendering liberty as any philosopher should, for the purpose of perhaps breeding the first Nietzschean superman. Male critics often resent Ann Whitefield as an instance of the calculating woman, sometimes as a cold-blooded liar and hypocrite (Hobson, 1953a, p 149). In Man and Superman Shaw has also stated clearly and illustrated his peculiar attitude to the relation between the sexes. The main part of the story tells how Ann driven by the Life Force, tricks Jack Tanner, the revolutionary free-thinker, into marriage. Tanner knows perfectly veil what she is about, although the poetic Octavius would still regard woman as an angel sent on from high. Poor littlo ‘Ricky-ticky-tavy’ gets the worst of it. Ann, although se may play with him as a cat plays with a mouse, wants Tanner himself and even a modern automobile with the good services of the rash driver, like Enry Straker, cannot save him. Tanner and Octavius are set in close opposition. The one is the clear-eyed modern, the other the romantic poet” (Mullik, 1956 p 49). “The real artist-creator, according to Shaw, is a match for any woman bent on creating in her own more physical way...because, like her, he has a purpose. John Tanner is a talker rather than a creator, and is, therefore, quite properly captured by Ann” (Gassner, 1954b p 158). “Whereas Tanner’s mordant self-awareness gives him some minimal control of his dubious status, the other men in the play blunder on in amiable ignorance, their pretensions to dignity regularly betrayed by their relations with women. Ramsden, supposedly a liberal public man but actually the guardian of traditional familial and societal values, is swiftly diminished as ‘Annie’s granny’…Octavius wishes to be a poet (though he is a mere esthete- Tanner is the philosopher-artist of the play), but succeeds only in languishing permanently as a lovelorn suitor, the same role played the socialist brigand, Mendoza…Hector Malone, the romantic American moralist, is under the control of his determined wife, and even Malone Sr, the capitalist entrepreneur, finds himself slipping rapidly into Violet’s orbit”(Ganz, 1983 p 142). According to MacCarthy (1907), Shaw "set out purposely to write a play in which sexual attraction should be the main interest; but in his other plays also he has always made the nature of the attraction between his characters quite clear. What is remarkable about the scenes in which this is done, is the extent to which sexual passion is isolated from all other sentiments and emotions. His lovers, instead of using the language of admiration and affection, in which this passion is so often cloaked, simply convey by their words the kind of mental tumult they are in. Sexual attraction is stripped bare of all the accessories of poetry and sympathy" (p 57). "Shaw adheres first to the principle that comedy must have a fixed vantage-point, though he transforms it to suit his own purpose. He retains, too, the prerogatives and tricks of comedy, without, however, the necessity of being chained to them. He also keeps to stock types for comic purposes, but his new social philosophy gives him a new set of types. Even in incidentals he can follow well-worn grooves of the art; the Straker-Tanner relationship in 'Man and Superman' rests on the conventional master-valet set-up, given completely new vitality from the new social background" (Peacock, 1946 p 77). “Shaw’s writing was not hobbled, as Galsworthy’s was, by the self-imposed naturalistic requirement of copying the speech of floundering characters” (Gassner, 1956 p 43). In the play, "we have Violet, a practical-minded young woman, secretly married to Hector Malone, American, whose father, a multi-millionaire, is, like all the fathers in Shaw's plays, dictatorial, testy, and in the end submissive. We have Roebuck Ramsden, Ann's guardian, an elderly Radical, rather absurd with his superannuated and romantic notions, cutting a melancholy figure beside the triumphant young people of advanced ideas, represented by Ann, Tanner, Violet, and Hector. We have Miss Ramsden, Roebuck Ramsden's sister, also testy arid full of conventions. Finally, we have Octavius, poet arid lover, scorned and made a mock of by Ann, who loves Tanner, desires him, and takes him; but this defeat of Octavius the lover is the triumph of Octavius the poet, just as the defeat of Eugene the lover in 'Candida' (1898) is the triumph of Eugene the poet" (Hamon, 1916 p 181). “Octavius Robinson...would-be poet and playwright, is a highly conventional young man, firmly embedded in the manners and mores of English upper-middle-class society. His role as a poet is largely constructed by Jack Tanner” (McDonald, 2006 p 70). "Major Barbara" "has a first act that comes as close to the spirit of Wildean comedy as any other that Shaw ever wrote. Its witty sallies keep audiences laughing continuously; and the character of Lady Britomart, that formidable person, reminds one very much of Lady Bracknell in Wilde's The Importance of Being Earnest” (Lockhart, 1968 p 20). “Major Barbara" "revealed the master of social comedy, even if it marked no advance in content over 'Widower’s houses' (1893) with its point that tainted money is so widespread that it cannot be escaped anywhere. In a corrupted social order, everything is defiled by the same pitch, and there is no chance for individual salvation except in the cleansing of society. Cheap and easy philanthropy is as effective as painting cancer with mercurochrome. Major Barbara of the Salvation Army approaches this conclusion when she discovers that her benevolent organization receives money from distillers and munitions-makers like her father— in other words, from the very industries that produce more evil than a thousand Salvation Armies can ever cancel. Sufficiently honest to recognize a truth when she meets it, unhappy Barbara Undershaft cries out: 'My God, why hast Thou forsaken me?' and takes off her uniform. If the play marks an improvement over Shaw’s first drama, this is because Barbara is an affecting person and because the munitions-maker Andrew Undershaft is a superb character" (Gassner, 1954a pp 607-608). Shaw “can indict British capitalism and yet make the hero of his indictment an arch-capitalist like Undershaft. This is the secret of comic genius, and, at the heart of it, is common sense so resolutely pursued that it becomes startlingly uncommon sense” (Gassner, 1954b p 141). Shaw’s “first act is one of the masterpieces of drawing-room comedy. Lady Britomart (whose name from an obscure Greek divinity naturalized into English by Edmund Spenser) so trenchantly combines Britannia with a martinet, is, though an estranged, a strongly compatible wife for Undershaft. And indeed, Shaw, his evolutionist’s eye on heredity, points out that Barbara is her mother’s daughter and Sarah her father’s, though in both cases against the obvious grain. It was, however, pointedly in honour of her father’s trade that Shaw chose to call Barbara Barbara. St Barbara is the patron saint of gunners. The Undershaft marriage is the uneasy but effective alliance of capitalism and the Whig aristocracy that governed the British empire” (Brophy, 1987 p 95). “Undershaft, the arms dealer, built up as a stock sinister capitalist before his entrance, proves mild, sensitive, willing to listen to everyone...Barbara’s ‘My God, my God, why has Thou forsaken me?’ is convincingly in character...[since a] Christian...facing a spiritual crisis should echo the words most familiar to her” (Chothia, 1996 pp 161-163). "Barbara’s own realization that the helping of the poor through religious channels only scrapes the surface of the problem, and there is better work for her here in her father’s factory community, in which there is every material consideration and no spiritual fulfillment. But the decision is not arrived at without bitterness, any more than Barbara’s decision to leave the Salvation Army rather than to join them in accepting the bribe of the manufacturer of the whiskey which destroys their battle to revive human dignity....What matters theatrically is that this third act of Major Barbara- like that other long discussion scene between Warwick, Cauchon and de Stogumber in Saint Joan- has such argumentative force and wit that it habitually holds its audience’s rapt attention and therefore entertains it, in the best sense of the word, no less completely than if the dramatist were indulging in popular melodramatics. This, perhaps, has been Shaw’s greatest gift to the theatre of our time. To make an audience listen, think, and actually enjoy listening and thinking, was no mean feat after four hundred years of stage concentration on conventions far removed from thought or the real business of daily life. The gap between the literary worlds of the novel and the theatre has never been so wide since" (Williamson, 1916 pp 141-142). "Barbara Undershaft finds that the authorities of the Salvation Army are content to accept contributions from a distiller whose trade is one of the most powerful influences which they have to combat. This realization brings her world crashing about her ears; she at first feels that there is nothing left to live for. But this is only the peripeteia; as usual it is to provide a solution. Not only does this overthrow or recoil give the logical victory to her father's opposing point of view far more than that, as soon as she grows calm she discovers that her real life-work, which she had supposed inextricable from her allegiance to the Salvation Army- the work, that is, of organizing social sanity and happiness—is not in fact dependent upon that allegiance, but can survive it she goes on to perform the same task amid new surroundings" (Norwood, 1921 p 179). For Goldman (1914), the play "points to the fact that while charity and religion are supposed to minister to the poor, both institutions derive their main revenue from the poor by the perpetuation of the evils both pretend to fight. It is inevitable that the Salvation Army, like all other religious and charitable institutions, should by its very character foster cowardice and hypocrisy as a premium securing entry into heaven" (pp 186-188). “Adolphus Cusins discovers that Andrew Undershaft, the powerful arms dealer, has built a William Morris Labor Church in his would-be capitalist utopia of Perivale St. Andrews. Discerning the dark humor and perversity of the situation, Cusins immediately exclaims: ‘Oh! It needed only that. A Labor Church!’ The socialist ideas of William Morris, who was friends with Shaw for twelve years and gave regular lectures at the Fabian Society, are mangled and recycled in Undershaft’s domain to make workers, in Undershaft’s own words, ‘most economical’, ‘unselfish’, ‘indifferent to their own interests’, ‘conservative’, ‘with their thoughts on heavenly things’, and ‘not on trade unionism or socialism’, so that Undershaft’s ‘profits are larger’” (Zhulina, 2024 p 25). In writing "Major Barbara", Shaw "is stimulating in his criticism of certain tendencies in modern philanthropy, and consistent with his own individualistic philosophy in declaiming against all who make a virtue of poverty, starvation, and humility. He announces his preference for the avowed egoism of Undershaft as opposed to the masked egoism of the converters and the converted. Yet, while proposing Undershaft as a fair example of the philanthropic captain of industry, Shaw jibes at those who would accept his benefactions and condemn, in secret, his morality" (Chandler, 1914, p 348). When Snobby Price declares: 'I'm fly enough to know wots inside the law and wots outside it; and inside it I do as the capitalists do: pinch wot I can lay me ands on. In a proper state of society I am sober, industrious and honest: in Rome, so to speak, I do as the Romans do,' Jones (1962) agreed that ”only when men are safe enough from poverty and insecurity can they afford to consider questions of morality at all” (p 67). “When during their confrontation at Perivale, Cusins...asks if poverty is a crime, Undershaft responds with one of Shaw’s most penetrating social utterances. ‘The worst of crimes, poverty blights whole cities, spreads horrible pestilences, strikes dead the very soul of all who come within sight, sound or smell of it.’ The profound social empathy that Undershaft demonstrates here takes us far from the figure of the ruthless if mysterious entrepreneur whom we met in the earlier acts”(Ganz, 1983 p 160). Although Williams (1965) stated that "the emotional inadequacy of [Shaw's] plays denies him major status" (p 152), this notion is disputed. For example, in the Salvation Army scene, “the conflict of soul between Barbara and Bill is described with such sincerity that even deeply religious people have been carried away” (Lamm, 1952 p 276-277). “The appearance of the drum marks the high point of Barbara’s power as a salvanionist. The drum...catches the comedy and the seriousness of Adolphus Cusins’ devotion to Barbara and to the vital force he honors in her and in all the religions he collects. He and Barbara kiss over the drum” (Goldman, 1986 p 107), a sympathetically funny moment of discovery, at least for a 1905 audience, because the gesture can only be done with their having kissed several times before. “There is a brilliant parody of a ‘cognitio’ at the end of ‘Major Barbara’ (the fact that the hero of this play is a professor of Greek perhaps indicates an unusual affinity to the con­ventions of Euripides and Menander), where Undershaft is en­abled to break the rule that he cannot appoint his son-in-law as successor by the fact that the son-in-law's own father married his deceased wife's sister in Australia, so that the son-in-law is his own first cousin as well as himself. It sounds complicated, but the plots of comedy often are complicated because there is something inherently absurd about complications. As the main character interest in comedy is so often focussed on the defeated characters, comedy regularly illustrates a victory of arbitrary plot over consistency of character” (Frye, 1957 p 170). "Shaw, unlike Tolstoy, is both destructive and constructive. Even by the aid of the Mammon of Unrighteousness in the person of Undershaft, his mind is vigilant and alert to point the way to better things. For when Barbara visits her father’s munition works, expecting to see a group of noisome and pestilential factories surrounded by workmen’s and labourers’ hovels and slum buildings, she finds instead clean, spick-and-span, well-lighted buildings, to which is attached a garden city with all the amenities of civilization- public library, an art gallery, a concert hall, a theatre, public and private gardens, playgrounds, baths, clubs, co-operative associations, and all that helps to make life healthy, decent, and liveable" (Balmforth, 1928 p 37). "Shaw summarizes his constructive remedies for the situation at the end of the preface to Major Barbara. They are: a just distribution of property, a humane treatment of criminals, and the return of religious creeds to intellectual honesty. These three ideals may perhaps be realized when men in an influential position adopt a platform as broad and firm as Andrew Undershaft’s true faith of an armorer. Society cannot be saved until, as Undershaft paraphrases Plato, 'the Professors of Greek take to making gunpowder or else the makers of gunpowder become professors of Greek,' and until the Major Barbaras who yearn vaguely after righteousness make up their minds to die with the colors of a faith securely founded on scientific accuracy. The power obtained through fighting may become a cult and sweep away with it the petty insecurity of halfway measures, taking with it all sense of safety and security for the average well-meaning but timid citizen of the upper middle class" (Perry, 1939 p 384). "In this modernizing of ancient themes of [Pygmalion] and in treating ancient characters with the familiarity and lack of prejudice that one uses with contemporaries, Shaw has influenced the whole of modern literary taste and culture, and he may be considered as one of the forerunners of 'novelized' history" (Pellizzi, 1935 p 87). “In the original romance, so lyrically revived by Shaw's friend William Morris, Pygmalion marries Galatea. Might not something of the kind be possible for Shaw, since Pygmalion is a life-giver, a symbol of vitality, since in Eliza the crime of poverty has been overcome, the sin of ignorance cancelled? Or might not Higgins and Eliza be the 'artist man' and 'mother woman' discussed in 'Man and superman'? They might if Shaw actually went to work so allegorically, so abstractly, so idealistically. Actually Pygmalion: a romance stands related to romance precisely as "The devil’s disciple' stands to melodrama or 'Candida' to domestic drama. It is a serious parody, a translation into the language of 'natural history'. The primary inversion is that of Pygmalion's character. The Pygmalion of romance turns a statue into a human being. The Pygmalion of 'natural history' tries to turn a human being into a statue, tries to make of Eliza Doolittle a mechanical doll in the role of a duchess. Or rather he tries to make from one kind of doll a flower girl who cannot afford the luxury of being human another kind of doll, a duchess to whom manners are an adequate substitute for morals...If the first stage of Higgins' experiment was reached when Eliza made her faux pas before Mrs Higgins' friends, and the second when she appeared in triumph at the ball, Shaw, who does not believe in endings, sees her through two more stages in the final acts of his play, leaving her still very much in flux at the end. The third stage is rebellion. Eliza's feelings are wounded because, after the reception, Higgins does not treat her kindly, but talks of her as a guinea pig. Eliza has acquired finer feelings...The play ends with Higgins' knowingly declaring that Eliza is about to do his shopping for him despite her protestations to the contrary: a statement which actors and critics often take to mean that the pair are a Benedick and Beatrice who will marry in the end. One need not quote Shaw's own sequel to prove the contrary. The whole point of the great culminating scene is that Eliza has now become not only a person but an independent person” (pp 120-123). “It is [Higgins] who would need the intercession of a deity to be turned from marble to man” (Freedman, 1967 p 49). “England in the early decades of the 20th century was obsessed by the matter of class status, by the gradations of the rigid social structure...Shaw observes in ‘Pygmalion’ that the right accent together with the right clothes could carry the day...that class distinctions lose their force when a decent education can transform a street vendor into a ‘duchess’, that education made available to all those with the intellectual means of profiting from it would eliminate the outworn concepts of caste and class” (Goldstone, 1969 p 17). "Pygmalion is a study in the transference of an individual from one social class to another. Shaw argues that, since the capacity of speech is one of the most divine of human attributes, a person who can change the sounds made by another’s voice alters at the same time the soul to which the voice gives expression; also that a person who changes the economic status of another individual is responsible for changing his mentality. Shaw makes the latter point by introducing into Pygmalion the picturesque subsidiary character of Eliza’s father, one of the 'undeserving poor'. In his unregenerate state, he prefers not to have too much money, for fear he might acquire the damning virtue of prudence. Later, when Higgins has been accidentally instrumental in procuring £3000 a year for him, Doolittle has to adopt middle-class morality and marry the 'missus', who would not tie herself up to him for life when he was poor. Doolittle appears only twice in the play, once in each of his economic incarnations" (Perry, 1939 p 389). “The real delight of the play is the character of her father, the dustman Doolittle, spokesman of the undeserving poor until a legacy from a misguided American philanthropist lands him in an unhappy respectability” (Cunliffe, 1919 p 144). "Shaw chuckled over the success of his play, writing that 'it is so intensely and deliberately didactic, and its subject so dry, that I delight in throwing it at the heads of the wiseacres who repeat the parrot cry that art should never be didactic. It goes to prove my contention that art should never be anything else.' He might have noted, however, that the didacticism was largely imbedded in the Dickensian characterization of that proletarian philosopher Doolittle and in his daughter Eliza herself when she emerges in her Pygmalion's studio not only as a pseudo-duchess but as a living woman. In fact, this Galatea becomes so completely alive that she disturbs the scientific equanimity of her sculptor, who is himself a vivid personality despite the mother-fixation that deprives Higgins of the conventional qualification of sexual passion" (Gassner, 1954a p 609). In the myth, Pygmalion gives Galatea life without mating; so Henry. In some respect, he has given life to her, but Eliza’s complaint is that such a life is useless to her. Lewisohn (1922) described "Heartbreak house" as "softer in tone than many of Shaw's plays; it is, for him, extraordinarily symbolistic in fable and structure...He saw a society divided between 'barbarism and Capua' in which 'power and culture were in separate compartments'. 'Are we,' asks the half-mythical Captain Shotover, 'are we to be kept forever in the mud by these hogs to whom the universe is nothing but a machine for greasing their bristles and filling their snouts?' His children and their friends played at love and art and even at theories of social reconstruction. Meanwhile the ship of state drifted. 'The captain is in his bunk,' Shotover declares further on, 'drinking bottled ditch-water, and the crew is gambling in the forecastle'...In the result of the symbolical air-raid he sounds a note of fine and lasting hope. The two burglars, the two practical men of business are blown to atoms. So is the parsonage. 'The poor clergyman will have to get a new house'. There is left the patient idealist who pities the poor fellows in the Zeppelin because they are driven toward death by the same evil forces; there are left those among the loiterers in Heartbreak House who are capable of a purging experience and a revolution of the soul" (pp 160-161). "The immediate result of the air raid is the death of two practical men, a burglar who acts like a man of affairs and a man of affairs who acts like a burglar. These two men have interchanged functions and between them exhibit all the characteristics of predatory capitalistic finance. The relations between Boss Mangan, the employer, and Mazzini Dunn, his employee, an earnest, incompetent 'soldier of freedom', are like those existing between organized industry and the spirit of noble optimism, which had at first hoped to be the master, not the slave, in its partnership with big business. This analogy is further carried out by Mangan's desire to marry Dunn’s daughter, Ellie, brought up by her father in financial poverty, but endowed with rich spiritual possessions in the knowledge of Shakespeare"(Perry, 1939 pp 391-392). "The greatness of this play, for all its incidental coldnesses and cruelties and comic intrusions, is its oldest inhabitant, Captain Shotover, a figure rough-hewn out of his own poop like a figurehead on the prow of a ship, a King Lear without the tragedy (though certainly with hints of pathos) and still in spite of his calculated senile absent-mindedness in full command of his kingdom and his daughters. He is a prophet thundering in navigational terms of Britain’s danger, but much more than that a prophet of war through the ages, now coming like a messenger of death, on wing, to destroy mankind...At the heart is human disillusion- the disillusion of love which finds its hardness in rebuilding a life without it, and its wisdom and resignation from the aged who have experienced all things, as Ellie does from Shotover. But there is valiancy, too, in the face of the bombs that suggests at the last the human will to survive, the life force still not spent. And in this the old Shaw thunders beneath the iridescent lightning of the future. It is his work of purest imagination, in character and vision and therefore his nearest to poetry, the highest expression of genius. By it he lives on, dispelling wisdom and warning into the future. For this is a lion of a play, with a roar to waken the sleeping conscience of every generation" (Williamson, 1916 pp 172-173). It is "a magnificent comedy of humors and a powerful symbol wrapped in whimsy. Captain Shotover’s house is a Noah’s ark where the characters gather before the flood. They and the classes they represent have been making a hopeless muddle of both society and themselves. The only half-rational Hector Hushabye and his wife display the futility of the upper classes; a British aristocrat exemplifies the bankruptcy of Britain’s rulers; the capitalist Mangan represents the predatory force of Mammon. All are equally blind to the wrath of God and to the storm they have been raising unknowingly. The innocents are helpless or they must compromise like the hard-headed poor girl who is willing to marry the capitalist for his money, and the one knowing person among them, Captain Shotover, has taken refuge in eccentricity. Then the storm breaks loose and death comes raining from the skies in an air raid. The despair in the play is manifest, for Shaw’s pity and moral earnestness did not decrease with age; the harlequinade of Heartbreak House is a Dance of Death. Still, Shaw the Fabian and one-time agitator was loath to renounce all expectation of salvation through a new order. Hope was implicit in the death of the thieves of the play who are blown to pieces by the bombardment; did not many socialists believe that predatory capitalism was finished by the war just as the capitalist Mangan was finished by a bomb! Amid the wreckage Shaw’s remaining characters try to pull themselves together. The call for courage is sounded resonantly with Shaw’s customary eloquence, as is the call for action when the antagonists of society’s malefactors declare 'we must win powers of life and death over them...They believe in themselves. When we believe in ourselves, we shall kill them'" (Gassner, 1954a p 611). Bentley (1947) pointed out that “we never learn what happens to the disillusioned antagonists of such plays as 'Candida' in which Morell is at the end crushed and speechless. In 'Heartbreak house', however, we are not allowed to remain in doubt. Ellie's peace of mind is not lasting, for she finds that ‘there seems to be nothing real in the world except my father and Shakespeare. Marcus's tigers are false; Mr Mangan's millions are false; there is nothing really strong and true about Hesione but her beautiful black hair; and Lady Utterword's is too pretty to be real. The one thing that was left to me was the Captain's seventh degree of concentration; and that turns out to be’: 'Rum,' says the captain, while Hesione confesses that her hair is dyed. The play ends with an air raid that is fatal to two members of the group. Hesione expresses the wish that the bombers will come again and Ellie, 'radiant at the prospect', cries 'Oh, I hope so!' She has been thrice disillusioned once in each act, by Hector, by Mangan, by Shotover and is, in a sense, back at the beginning again, in love with romance. Only the romance which now brings color into her life is that of a kind of warfare that threatens civilization...Ellie stumbles in disenchantment from romantic love, to 'marriage of convenience', to 'spiritual marriage', the latter gained by spirits (rum bottle) not the spirit...The story of Ellie Dunn, neatly arranged in three acts, could easily have made a personal play. But if in 'Heartbreak house' her story is the center of the action it is a center not very much more important than anything on the periphery. In the theme of the play it is the group that matters. Although the method is Chekhovian, Shaw's characters are not. Chekhov's people are felt, so to say, from the inside; they are creatures of feeling, never very far from the pathetic. Shaw's are closer to traditional puppets of comedy. They are more crudely representative of classes of men, more deliberately allegorical, than Chekhov's. Later, in 'The simpleton of the unexpected isles', Shaw would frankly state that four of his people simply represent Love, Pride, Heroism, and Empire. And it has been pointed out that the Shotover daughters and their men represent the same four forces: Hesione is Love, Ariadne is Empire, Randall Utterword is Pride, and Hector is Heroism. One might add that all the other characters 'stand for things', Mangan for business and realism, Shotover for aged intellect and that, in general, one of Shaw's worst tendencies is to create characters who have no function except to illustrate a point. The burglar episode, for instance, makes a point that is repeated in Shaw's great pamphlet imprisonment...'Heartbreak House' might be called The Nightmare of a Fabian. All Shaw's themes are in it. You might learn from it his teachings on love, religion, education, politics. But you are unlikely to do so, not only because the treatment is so brief and allusive but because the play is not an argument in their favor. It is a demonstration that they are all being disregarded or defeated. It is a picture of failure. The world belongs to the Mangans, the Utterwords, and the Hushabyes. In the world where these men wield the power stands the lonely figure of old Captain Shotover, the man of mind. What he is seeking is what Shaw has always been seeking, like Plato before him: a way of uniting wisdom and power. The Fabians had tried by 'permeation' to make the men of power wise. But the men of power preferred a world war to the world's wisdom. Shotover has given them up as hopeless. He is trying to attain power by means of mind. When he attains the 'seventh degree of concentration' he will be able to explode dynamite by mere thinking. 'A mind ray that will explode the ammunition in the belt of my adversary before he can point his gun at me' will implement thought with power" (pp 137-140). “Shaw’s thinking is done in terms not of persons or groups but of the community as a whole. He is, so to speak, standing farther back, taking a wider view, observing the movement of the whole contemporary mass of men and women. It may be objected that too often his generalizations are too large and sweeping, that he over-simplifies too much, that he presses great names into his argument often in the most unscrupulous fashion, that he performs platform tricks where they are unwelcome. But the breadth of his outlook, together with his frequent flashes of insight, would make us forgive faults far worse than any of his, if only because in reading him or hearing his dialogue we seem to be breathing exhilarating mountain air and to be looking down upon the world from a great height” (Priestley, 1946 p 53). Shaw “has widened the field and scope of the drama immensely. No other living writer has covered such an enormous area, or peopled it with such a wide variety of characters. To my sense, Mr. Shaw excels in that department more than any other present-day writer, and it is largely owing to his skill in this respect that he is able to be so extraordinarily interesting and fiercely entertaining. The way in which he says a thing is always excellent, even if the thing itself is not always sound. It always sounds sound, I admit” (Armstrong, 1913 p 320). Shaw "carries out the theory of the drama of ideas by making his play an attack upon some accepted opinion and carrying a dramatic opposition into the minds of his audience" (Moody and Lovett, 1930 pp 480-481). "Shaw’s greatest foes are sham idealism and sentimentality" (Wilson, 1937 p 242). “The seeds of Shaw's structural innovation, the discussion play, may be observed in nearly all the early works. The method of the well-made playwrights may be simply described as exposition-complication-denouement; one event leads to another until the original force has spent itself. But in the Shavian play, events exist only for the discussion they may provoke. The intellectual rather than the physical complication is the dramatist's main concern, and it is Shaw's distinction that he has made the conflict of ideas as exciting as any of Boucicault's last-minute rescues. The secret may lie in the fact that Shaw is no abstract philosopher, but one who sees ideas always as a part of human problems. The essence of Bernard Shaw is his wit, the quintessence is his humanity” (Downer, 1950 p 306). Different views have appeared regarding Shaw's dialogues. Despite possessing "an ability to make people think by making them laugh", "a kind of dramatic encyclopedism, to ridicule “persons and institutions on the principle of topsy-turvy", "a penetrating knowledge of theatrical effect", and "an Olympian indifference to conventional dramatic construction", some critics resent the author's voice in the plays, resembling "a marionette show where the master of the puppets talks all the time" (Reynolds, 1949, pp 131-132). "His amazing brilliance and fecundity of dialogue ought to have given him an immediate and lasting grip of the stage. There has probably never been a dramatist who could invest conversation with the same vivacity and point, the same combination of surprise and inevitableness that distinguishes his best work" (Mair and Ward, 1939 p 206). “To come no later down in his career, Caesar and Bluntschli and Brassbound and John Tanner are pure figures of romance. No doubt the figures of an earlier romance exhibited their prowess in a different way. That remarkable survival, Cyrano de Bergerac, pinked his enemy to the tune of extremely acrobatic versifying. Mr Shaw’s heroes pink their opponents intellectually amid a shower of dazzling debating points. They are heroes of the intellect, perhaps, but they are romantic heroes nonetheless. They are neither conceived nor executed in a realistic attitude of mind. Mr Shaw, it should be noted, is not, like Ibsen, an innovating genius in technique; and technique being so obvious and important, this helps to conceal the magnitude of the revolution he has effected. Ibsen’s novelties were of the simple kind of which only a great revolutionary is capable. Mr Shaw is simply one of the greatest writers for the stage that ever lived. Liszt invented no new method of using the piano; but he under- stood better than any other composer how to make the technical resources of the piano effective. There is no definite method of using the stage to be set to Mr Shaw’s credit; but no dramatist has ever used the scene and the actors with greater effect. He has made such dazzling use of Ibsen’s reformed technique as almost to conceal the fact that he is moving in a quite contrary direction” (Shanks, 1923 p 201). Shaw "was the first to fight for the free discussion of serious social problems on the English stage, and whose own plays were the native pioneers of such work" (Pearson, 1950 p 188). "No other man of letters in England since the death of Shelley was so completely devoid of a sense of guilt” (Gassner, 1954b p 148). “Mr Shaw, it seems to me, is the most versatile and cosmopolitan genius in the drama of ideas that Great Britain has yet produced...Sympathetically appreciated in the spirit of the evolutional trend of modern, even ultra-modern, drama, he is a figure of unusual significance… Just as Zola enlarged the conception of the function of the novel, sublimating it into a powerful and far reaching instrument for social and moral propagandism, so this new dramaturgic iconoclast demands the stage as an instrumentality for the exposition, diffusion and wide dissemination of his views and theories upon standards of morality, rules of conduct, codes of ethics and philosophies of life...His fundamental claim to our attention consists in his effort toward the destruction of false ideals and of the illusions which obsess the soul of man” (Henderson, 1907 pp 297-300). Shaw’s “treatment of human relations, particularly between the sexes, strikes the audiences today as arch and intellectualized...By the time he was forty, he had managed to fabricate for himself a philosophy that seemed to synthesize a majority of the major ideas of the 19th century and tie them together so that everything came out right in the end...He persuaded himself that the world was being nudged forward by a Bergsonian ‘élan vital’, or life force, toward a higher consciousness and a more just society. Our job as responsible Shavians was to plug into this force and translate it into action...Possibly, then, it is this fundamentally jaunty belief in human progress that has lately caused students and audiences to shrug him off...Yet maybe, like Dickens, Shaw is to be considered one of those writers who transcend their own limitations. Certainly we can find elements in many of his plays that seem to go against the grain and give him a surprising thickness and ambiguity” (Gurney, 2004 pp 196-197). "Shaw’s plays will last; that in a century from now, they will appear on the stage more frequently than they do to-day; but if not, it will be because of their modernity. The very reason for their interest and applicability may be the reason for their remaining on the shelves...But if they cease to attract audiences, it is incredible that they should cease to attract readers" (Phelps, 1921 p 98). "What first strikes us in the Shavian theatre is, perhaps, the frequency of excited scenes, of explosive arguments, violent protestations, gesticulations and agitations. Apart from the frequency of abstract discussions and the vigour of the dialogue there would be nothing very strange in this excitement, were not the passions and emotions, so violently displayed, represented as being also startlingly brief. This emphasis upon brevity of emotions is very characteristic, and one cause of the charge of cynicism which is so often brought against him. The typical scene is one in which the characters are represented in violent states of moral indignation, rage, perplexity, mortification, infatuation, despair, which subside as suddenly as they rise. The Shavian hero is a man who does not take all this hubble-bubble for more than it is worth. He preserves an exasperating good humour through it, however energetic his retorts may be, because he reckons on human nature being moved, in the long run, only by a few fundamental considerations and instincts. The hostility which he excites does not therefore trouble him the least. He counts upon the phenomenon, ultimately working in his favor, that puzzles Tanner in himself when confronted with Ann; that is, upon the contradiction between moral judgments and instinctive likings and respect. Valentine is not dismayed by Gloria's disapproval, nor Bluntschli by Raina's contempt for his lack of conventionally soldier-like qualities; both are confident that the ultimate decisions of these ladies will depend on other things. Even Tanner soon finds himself on excellent terms with Roebuck Ramsden, who began by abusing him as an infamous fellow. But it is not only the fact that the confidence of the 'realists' is always justified in the plays, which emphasizes the instability of human emotions and judgments; it is one of the fundamental assumptions with regard to human nature which lie at the back of the plays themselves. It is one of the chief causes, too, why they are regarded as fantastic; for the normal instability of emotion has hitherto found very little reflection in literature or on the stage; vacillations, flaggings, changes of mind and inconsequences of thought having been generally confined to characters intended to be obviously weak. But Mr Shaw represents, quite truly, characters of considerable firmness in many respects as subject to them" (MacCarthy, 1907 pp 53-54). =="Mrs Warren's profession"== [[File:EN BESKYTTERINDE AF INDUSTRIEN.gif|thumb|Engraving of a 19th century prostitute]] Time: 1900s. Place: England. Text at http://en.wikisource.org/wiki/Mrs._Warren%27s_Profession https://en.wikisource.org/wiki/Mrs._Warren's_Profession Vivie Warren, fresh from attending mathematic studies at Cambridge University, receives the visit of Praed, her mother's friend, followed by her mother along with her business-partner, Crofts, and then Vivie's friend, Frank, with his father, a rector at the local church. After being scolded for his spendthrift life by his father, Frank reminds him of his own youthful follies, including those of a sexual nature. The father is dismayed and embarrassed after finding out that Mrs Warren is Miss Vavasar, an old flame of his. Crofts has his eye on Vivie for no less than marriage, but so does Frank. Mrs Warren is compelled to explain to her daughter about her career, rising from a hotel servant to the manager of a brothel. Thinking that this refers to events of the faraway past, Vivie considers her mother "stronger than England" and shows pride at her accomplishments. The next morning, Vivie receives a marriage proposal from Crofts. Knowing the nature of his business affairs with her mother from the past and his type personnality, she unhesitatingly refuses. She then learns that the business relation between Crofts and her mother is ongoing. Angry at the refusal and smarting with jealousy towards the more favoured Frank, Crofts reveals to both that they are half-brother-and-sister. Sick of this atmosphere, Vivie suddenly leaves her mother's house to attempt earning a living on her own as an accountant. At her office, she receives the visit of Praed, intent on experiencing art in Italy, and also Frank, followed by Mrs Warren. Despite her mother's pleadings, Vivie wants nothing more to do with her and despite her friendly feelings towards Frank, she tears up the note of his declaration of love, reaching out instead for a new life dedicated to work. =="Man and superman"== [[File:Man_and_Superman_Royal_Court_Theatre_1906.jpg|thumb|John Tanner seeks to prepare the way of the superman but is foiled by Ann Whitefield, whose main intention is to perpetuate the species, played respectively by Harley Granville-Barker (1877-1946) and Lillah McCarthy (1875-1960), Royal Court Theatre, London, 1905, photographed by Alfred Ellis]] [[File:Nietzsche1882.jpg|thumb|Friedreich Nietzsche (1844-1900) evoked the idea that man can evolve into a superman]] Time: 1900s. Place: England, Spain. Text at http://www.bartleby.com/157/ https://en.wikisource.org/wiki/Man_and_Superman As a result of her father's death, Roebuck Ramsden and John Tanner are appointed as Ann Whitefield's guardians, neither of whom wanting the job, though yielding to the apparently submissive Ann. John's friend, Octavius, would like to take her off their hands by marrying her. "If it were only the first half hour’s happiness, Tavy, I would buy it for you with my last penny," John tells him. "But a lifetime of happiness! No man alive could bear it: it would be hell on earth." "It is the self-sacrificing women that sacrifice others most recklessly. Because they are unselfish, they are kind in little things. Because they have a purpose which is not their own purpose, but that of the whole universe, a man is nothing to them but an instrument of that purpose." Since Octavius intends to become a writer, a struggle may be expected. "Of all human struggles there is none so treacherous and remorseless as the struggle between the artist man and the mother woman," John continues. The two are interrupted by news of the elopement of Octavius' sister, Violet. They assume that the wedding ring she was seen to wear is false. Roebuck and Octavius agree that she should leave London, but Ann does not. "Violet is going to do the state a service; consequently she must be packed abroad like a criminal until it’s over," John wrily comments. When Violet arrives, she assures them that the ring is genuine, though she refuses to name the husband. Following a slight roadside accident in his motor car, John explains to Octavius that his chauffeur represents the new man in evolution: the polytechnic man. Octavius narrates the outcome of his marriage proposal to Ann: she wept, a dangerous sign according to John, who offers to take Ann in his car and, for the sake of social conventions, her younger sister, Rhoda, along with them. Ann objects to their submitting to social conventions. "Come with me to Marseilles and across to Algiers and to Biskra, at sixty miles an hour," John offers rhetorically. He is aghast when she accepts. An American guest of theirs, Hector, proposes to join them. John, Roebuck, and Octavius are embarrassed while explaining that such a suggestion is impossible to effect in England, since Violet is married and he is not part of the family. Hector receives this bit of news stiffly, causing further embarrassessment. When everyone leaves except Hector and Violet, she walks over to kiss him. Hector argues that they should forget about his father's objection to his marrying a middle-class English woman. "We cant afford it. You can be as romantic as you please about love, Hector; but you mustnt be romantic about money," she retorts. Meanwhile, John learns from his chauffeur that Ann's ultimate design is to marry him, not Octavius. In a garden of a villa in Granada, Spain, Hector's father, old Malone, receives by mistake an intimate note left by Violet for her husbqnd. When Malone confronts her with the meaning of the note, she deviously says that she and Hector only intend to marry. "If he marries you, he shall not have a rap from me," the irate father blares out. But Hector has enough of pretending. He informs his father of his marriage and his intention to work for a living. Malone sneers at this proposal, but when John and Octavius offer monetary help, he changes his mind. Nevertheless, Hector refuses everybody's money. Alone with Ann, Octavius declares once again he loves her. "You know that my mother is determined that I shall marry Jack," she misleadingly answers. Though seeing his depressed condition, she consoles him by saying: "A broken heart is a very pleasant complaint for a man in London if he has a comfortable income." When Anne's mother learns of Ann's comment on her wishes, she is astonished, having never formed such an idea. "But she would not say it unless she believed it. Surely you dont suspect Ann of- of deceit!" Octavius naively exclaims. But Ann believes in hypocrisy, as she tells John, who, though he loves her, too, is yet intent on resisting marriage. At the end of her resources, Ann pretends to feel faint and as the others arrive is only able to pant out: "I have promised to marry Jack." The comedy succeeds, as John would not dare humiliate her by contradicting. "What we have both done this afternoon is to renounce happiness, renounce freedom, renounce tranquility, above all, renounce the romantic possibilities of an unknown future, for the cares of a household and a family," he concludes. =="Major Barbara"== [[File:Maud Ballington Booth.jpg|thumb|A Salvation Army officer, 1902]] Time: 1900s. Place: England. Text at http://www.fullbooks.com/MAJOR-BARBARA.html https://en.wikisource.org/wiki/Major_Barbara Now that her daughters, Sarah is married to Charles and Barbara engaged to Adolphus Cusins, Lady Britomart intends to establish them on a better financial footing. She thereby invites her long-estranged husband, Andrew Undershaft, a wealthy arms dealer, to the house. Before meeting him, she explains to her son, Stephen, his family background, never spoken of before: "The Undershafts are descended from a foundling in the parish of St Andrew Undershaft in the city. That was long ago, in the reign of James the First. Well, this foundling was adopted by an armorer and gun-maker. In the course of time the foundling succeeded to the business; and from some notion of gratitude, or some vow or something, he adopted another foundling, and left the business to him. And that foundling did the same. Ever since then, the cannon business has always been left to an adopted foundling named Andrew Undershaft." Barbara works as a major in a Salvation Army shelter, where an angry Bill Walker threatens Jenny Hill for stealing his girl-friend to work for that institution. A client, Rummy Mitchens, interferes. Bill strikes his and Jenny's face, but stops of doing so to Major Barbara as an earl's grand-daughter. On learning of his daughter's benevolent endeavors, Andrew Undershaft becomes convinced that it is not her rightful place. "Barbara must belong to us, not to the Salvation Army," he declares. "Do I understand you to imply that you can buy Barbara?" Adolphus inquires. "No," he answers, "but I can buy the Salvation Army." There is much pretense surrounding that institution. One of if its members, Snobby Price, only pretends to be saved after beating his mother, and thereby attracts money from all sorts of charitable people. Mrs Barnes, a commissioner in the Salvation Army, arrives with exciting news. "Lord Saxmundham has promised us five thousand pounds...if five other gentlemen will give a thousand each to make it up to ten thousand," she reports. But since that lord is a distiller, Barbara has scruples about accepting his money. Andrew gives them the entire five. "Every convert you make is a vote against war. Yet I give you this money to help you to hasten my own commercial ruin," he announces. The gift makes Major Barbara realize her work at the Salvation Army is a sham and so she quits. On meeting her estranged husband, Lady Britomart comes down to business: "Sarah must have 800 pounds a year until Charles Lomax comes into his property. Barbara will need more, and need it permanently, because Adolphus hasn't any property." He agrees, but with respect to Stephen, tradition prevents him from making him his heir. "He knows nothing; and he thinks he knows everything. That points clearly to a political career," he remarks. The entire family is curious to visit his arms plant, Adolphus judging the place to be: "horribly, frightfully, immorally, unanswerably perfect." Indeed, he is impressed to the extent of admitting the foundling difficulty may be got over when the following is considered: "My mother is my father's deceased wife's sister," he reflects, and so consequently legal in Australia but not in England. Andrew agrees that in such a case Adolphus may indeed be considered a foundling and so liable to take his place after his death, provided he stick to his creed: "to give arms to all men who offer an honest price for them, without respect of persons or principles-" For Barbara he has this advice: "If your old religion broke down yesterday, get a newer and a better one for tomorrow." Nevertheless, Adolphus mulls over the moral dilemma of selling arms. "It is not the sale of my soul that troubles me: I have sold it too often to care about that," he says, "I have sold it for a professorship. I have sold it for an income. I have sold it to escape being imprisoned for refusing to pay taxes for hangmen's ropes and unjust wars and things that I abhor. What is all human conduct but the daily and hourly sale of our souls for trifles? What I am now selling it for is neither money nor position nor comfort, but for reality and for power." Barbara is also tempted by the job. "I have got rid of the bribe of bread. I have got rid of the bribe of heaven," she admits. Husband and wife agree with Andrew to make war on war and war on poverty. "For Major Barbara will die with the colours," she affirms. =="Pygmalion"== [[File:Gerome pygmalion-galatee.jpg|thumb|Like Pygmalion's statue, Galatea, depicted by Jean-Léon Gérôme (1824-1904), Eliza Doolittle comes to life]] [[File:Pygmalion-1914.jpg|thumb|Professor Higgins (played by Philip Merivale) beams in satisfaction after creating the illusion that Eliza (played by Mrs Patrick Campbell), a mere flower girl, is successfully introduced as a duchess. Broadway, New York, 1914]] Time: 1910s. Place: London, England. Text at http://en.wikisource.org/wiki/Pygmalion http://www.bartleby.com/138/ After a musical performance, the Eynsford-Hills shelter from the rain under a portico. Unable to find a cab for his mother and sister, Freddy bumps into a flower-girl, Eliza Doolittle. While she attempts to sell her flowers, Colonel Pickering enters. A bystander informs both that a suspicious-looking man is writing down everything they say. The crowd begins to grow hostile or afraid, when Pickering and Henry Higgins discover they know each other from their common interest in phonetics. Henry boasts that his teaching ability is such as to pass off the flower-girl as a duchess, creating her anew, akin to what the sculptor in antiquity did with his statue, Pygmalion. The next day, Eliza turns up to pay for speaking lessons at Professor Higgins' house, since she has ambitions to work at a flower shop, which he agrees to help her with, confident to make a duchess of "this draggle-tailed guttersnipe". He and Pickering bet on the outcome with Eliza staying at Henry's household all the while. The lesson is interrupted by the arrival of Eliza's father, Alfred, a part-time dustman and full-time drunkard, pretending to be outraged at their supposed designs on his daughter. Higgins calms him down with only a 5-pound note. Henry and Pickering make a first trial of her at the at-home day of Henry' mother, when the Eynsford-Hills are invited. Despite some awkwardness in subject and choice of expression, as when she speaks of gin as "mother's milk", Eliza, to Henry's delight, is far from the flower-girl she once was. She particularly impresses the shy Freddy. After many further sessions, Eliza is ready for the embassy ball. A Hungarian guest, Nepommuck, Higgins' first student he no longer remembers, informs the guests he has detected Eliza as a fraud, only to reveal that she is surely a Hungarian of royal blood. For this and other feats, Pickering admits that Henry has won his bet "ten times over". At Higgins' house after the ball, Pickering congratulates Henry, at which the latter scoffs, declaring the entire project a bore. As they begin to retire for the night, Eliza throws Henry's slippers at his face, for her entire life has changed, no one takes any notice of her, and now what is she to do? Without much interest, Henry suggests a few things, but seeing Eliza still sorrowful and angry, declares her to be a "heartless guttersnipe". The next morning, the two worried friends discover Eliza lodged at Mrs Higgins' house, where Alfred enters, dressed for his wedding, miserable at no longer being part of the "undeserving poor", furious at Henry for having recommended him as the "most original moralist in England", now with 3-thousand-a-year and intimidated into "middle-class morality". Eliza arrives as her frustrated father leaves with Pickering. Henry and Eliza cannot agree on continuing as they did in the past, whereupon she mentions she may accept Freddy as her husband, at which Henry laughs. =="Heartbreak house"== [[File:Heartbreak_House,_act_2_(Shotover_%26_Ellie).jpg|thumb|Leaning on Captain Shotover, Ellie becomes disillusioned about love and the occupants of Heartbreak House agree with her. Played by Albert Perry (1869-1933) and Elisabeth Risdon (1887-1958) at the Garrick Theatre, New York, 1920]] Time: 1910s. Place: England. Text at http://en.wikisource.org/wiki/Heartbreak_House Hesione Hushabye invites her friend, Ellie Dunn, at her house. No one in there household notices Ellie until Nurse Guinness eventually shows up along with Hesione's father, Captain Shotover, a captain no more, rather an eccentric inventor seeking to achieve "the seventh degree of concentration", who comes and goes unpredictably inside his own house as if in passing. Ellie confides to Hesione that she loves a man named Marcus, but out of duty to her father, Mazzini, intends to marry his boss, Mangan. Heart-broken Ellie discovers her "white Othello" to be none other than Hesione's husband, Hector, kept as a "household pet" by his wife. Ellie and Hesione are surprised by the visit of the latter's estranged sister, Lady Ariadne Utterword, aggrieved and shocked at not being recognized by either of them or by her father. The party is completed by the arrival of Boss Mangan, Mazzini, and Randall Utterword, Ariadne's brother-in-law. Alone with her in the garden, Hector flirts with Ariadne until his wife arrives, ar which point husband and wife discuss their humdrum marriage, both too cynical to be heart-broken. When speaking of her father, intent on discoveries of an undefined nature, Hesione casually mentions he keeps "dynamite and things like that" in a gravel pit. Shotover enters to discuss world affairs with Hector. The captain opines that one should kill such men as Boss Mangan and reveals his intention of discovering an engine fit to destroy all the world's armaments. Hesione flirts with Mangan, flattered by such attention, which leads him to admit to Ellie he has manipulated her father's financial affairs to obtain money from failed businesses. To his surprise, the apathetic Ellie wishes to marry him in any case. Shocked by such cynicism, he has a fit, but she hypnotizes him into sleep. When left alone in the dark, Nurse Guinness falls over him, and, when he fails to respond, thinks she has killed him. Alerted by her cries, Hesione and Ellie enter hurriedly, and, before Mangan's sleeping face, express their true opinion of the apprently heartless businessman. He starts up to reveal he had only been pretending sleep. Heart-broken, he confronts Hesione about her cruel words, at which she admits her "very bones blushed red". Suddenly, a pistol shot is heard, a burglar having been discovered upstairs. The captain blows his whistle: "All hands aloft!", he cries out, where the entire company discover the burglar to be Billy Dunn, Shotover's old acquaintance, deliberately confused by him with Mazzini Dunn, and also Nurse Guinness' estranged husband. Unheeding his pleas to get what he deserves, they refuse to hand him over to the police, but keep him in the house. Shotover agrees with Hesione that Ellie should not marry Mangan, but she, being poor, believes that to keep one's soul one must possess a considerable amount of money. Meanwhile, Randall has observed Hector's designs on Ariade and, in love with her himself, warns him to take care. When Ariadne scolds Randall for one thing or another, he breaks down weeping, broken-hearted on realizing she can never love him. In the garden at night-time, Hesione hears a "splendid drumming in the sky", an unidentified impending danger hovering over the house. The party being unconcerned by this, Ariadne and the others discuss English society. She defines two classes: "the equestrian class and the neurotic class", her tyrannical husband being the only one who can save it. The discussion becomes so personal and shameless, in Boss Mangan's view, that he starts to take his clothes off, but is prevented from going farther. When the conversation returns to Ellie's marriage prospects, she says she cannot commit bigamy, to the shock of all the company, only to say she wishes to become the captain's "white wife", considering him as her "soul's captain". The drumming in the sky gets louder. "Batten down the hatches!" the captain orders. Mangan and the robber run to hide in the gravel pit, where Shotover keeps his dynamite, into which a bomb falls, so that both are killed. "Thirty pounds of good dynamite wasted!" the captain exclaims. The nonchalant or indifferent survive the attack from above. Nevertheless, the company expect to be killed next, Hector turning on all the lights and tearing down the curtains to facilitate their end until the drumming stops, to the disappointment of Hesione, Ellie, and Hector, each hoping that the mysterious sound spelling their doom will return the following day. =Sean O'Casey= [[File:Sean ocasey 1924.jpg|thumb|Sean O'Casey exposed the underlying causes and futility of some forms of heroism, 1924]] Another Irish playwright of major interest is Sean O'Casey (1880-1964), author of "The shadow of a gunman" (1923), "Juno and the paycock" (1924), and "The plough and the stars" (1926). The Shadow of a Gunman "takes place during the violent period of the so-called Anglo-Irish war, when the Irish Republican Army was engaged in guerrilla warfare with the English Black and Tans. One of the tactics used by the Irish was to strike the enemy and run; they were often hidden by sympathetic citizens, who referred to them as gunmen on the run” (Darin, 1976 p 24). “It shows the other side of the heroic medal which to many is the whole of the war; and it does it all with a naturalness, a humor and a bite which have proved quite irresistible…The characters lay bare what was happening, and what was being thought, behind the ambushing and the shooting. Ireland, in the years of that war, began to see the other side of heroism, began to see the excesses of a popularization of force. And this play, dealing wholly with the common people, and in their familiar vocabulary, came right out of the midst of them and put them on the stage as they were and as they thought” (O'Hegarty, 1927 pp 317-318). "The theme of the play concerns the difference between true and false bravery. The characters who are truly brave— Maguire, Minnie, Mrs Henderson- are not talkers, but doers. Maguire has only three speeches, Minnie in the crucial second act has only four. The characters who are falsely brave- [Donal] Davoren, Seumas, Grigson, Tommy— are all voluble braggarts" (Hogan, 1960 p 39). Donal Davoren “repeatedly quotes a line from Shelley’s Prometheus Unbound, ‘Ah me! alas, pain, pain ever, forever!’ (Act 1), but does so in situations that scarcely do justice to the poet’s original context. In Shelley’s work this line is spoken by Prometheus, who has attempted an act of cosmic significance in stealing fire from Zeus, and whose subsequent punishment is the torment of being ‘nailed to this wall of eagle-baffling mountain’. By contrast, in O’Casey’s play, Davoren quotes the line in humdrum situations, such as when a landlord demands the rent, and when intrusive conversation stymies the poet’s creativity” (Moran, 2013 p 39). “Donal Davoren, like Christie Mahon in JM Synge’s Playboy of the Western World, accepts the role that local gossip thrusts on him: in his case the role of republican gunman on the run. Glamour does attach to shadowy presences coming and going, to willingness to sacrifice self-interest for a cause, so Davoren’s enjoyment of such borrowed glamour is understandable, his encouraging it as enjoyable as Christie’s, except that the specific political context gives the audience a more ominous insight into the dirty deed behind the ‘gallous story’. Davoren and Seumas, the pedlar whose tenement room he shares, through their fears and fantasies bring about the death of Minnie, a naïve romantic. Far from Minnie’s death making Davoren see himself with terrifying clarity..., this would-be poet immediately, like the similarly self-deluded Hjalmar Ekdal at the close of Henrik Ibsen’s The Wild Duck, begins to adjust the innocent death to his own self-aggrandizing, signalled in his recourse to his habitual Shelleyan sigh: ‘Ah me, alas! Pain, pain, pain ever, for ever!’ (Chothia, 2006 p 129). “Minnie is initially to Davoren just one more of those hundred- and-one disturbers of his poetry-writing peace. Her blithe unawareness of his point of view is written into their opening exchange when she comes to borrow milk...But by the end of the play...to warn Davoren of the coming raid, she saves the situation by cool-headedly and self-sacrificingly removing the bag of bombs which the men have only just discovered. The ignorance of the value of privacy, the lack of respect for Davoren’s much-needed room of his own, are turned into a heroic ideal of communal solidarity” (Grene, 1999 p 123). "Religion offers people like Seumas and Grigson a convenient way of sugar-coating their hostility and aggression. So Seumas can unashamedly delight in picturing Shelley 'doing a jazz dance below'. And Grigson happily justifies the exploitation of his wife in terms of Holy Writ...The English government in the form of the Black and Tans appears as an amoral force and is rightly resented. But the Irish patriots offer the characters little hope of political redemption...Like Mrs Grigson, Mr Gallogher is a victim of exploitation. His letter, comic as it is, describes intolerable conditions...The life of the tenement is contagiously and effortlessly destructive. Through some fatal mixture of personality and environment, decent characters like Mrs Henderson and egotists like Tommy Owens turn into unpleasant bullies...In one sense, Minnie offers herself of her own free will...In another, Minnie is set up as sacrificial victim...Minnie's action in this light is not so much a matter of rational decision as of impulsive gesture based on several seemingly trivial and harmless, yet mistaken, beliefs. Firstly, Minnie believes she loves Donal. Secondly, she believes that Donal is a gunman on the run. These two beliefs are intimately related. The Donal of Minnie's heart is a poet and a patriot. But her Donal is a fiction which the real Donal does not contradict because it feeds his growing vanity. Thirdly, Minnie assumes the bombs belong to Donal. Since Minnie thinks Donal is a gunman, her assumption, particularly under the pressure of a Black and Tan raid, is understandable even if it is wrong. Finally, Minnie accepts that it is heroic to die for Ireland, an idea put abroad by real gunmen and paid lip-service to by the rest of the population. Minnie's beliefs are thus a complicated and dangerous amalgam of passion, patriotism, propaganda and romantic fantasy...The sacrifice of Minnie, the exploitive relationships in the tenements, the economic political strife, the religious hypocrisy and the vacuum in the sky convey a sense of chaotic conditions and man's inadequate responses...For Maguire, language is a diversionary tactic. For Gallogher, Owens, Grigson, Shields, and Davoren, talk is a form of escape from the slums, from the 'troubles', and from a nagging sense of their own impotence...The most vital characters like Minnie are destroyed and weaker characters like Donal understand yet cannot alter the fact that their energies are being dissipated and perverted. No character escapes the general demoralization because the world O'Casey creates...is in all its aspects hostile to life" (Schrank, 1977 pp 55-60). Landlord Mulligan, who owns the tenement, is a pretentious man who tries to amass wealth at the expense of his impoverished tenants, yet he considers himself a good Irishman. Tommy Owens reveals himself as a clown who sheds tears for Ireland but has never held a gun in his hand or a sober thought in his head; he is so eager to be associated with the gunmen that he jeopardizes Davoren’s life by talking about his presumed rebel activities in a bar” (Darin, 1976 p 33). In Juno and the Paycock, “the time of the play is 1922 when the Irish civil war was being fought over the peace treaty that ended the Anglo-Irish war and, with other parliamentary acts, provided for the division of Ireland into the Irish Free State and Northern Ireland, which remained within the United Kingdom. So-called Free Staters and Republicans, formerly comrades in the Anglo-Irish war, were now bent upon destruction of one another” (Darin, 1976 p 38). “The classical Juno was always associated with peacocks, the patron birds who are always near her or draw her chariot, but [O’Casey] used this aspect of the legend in a completely ironic way by giving his Juno a peacock of a husband who takes his name from the common association of strutting vanity” (Krause, 1975 p 99). “It might well be argued that the characters are defeated because they pursue their own personal ends rather than considering the hopes of the others“ (Hogan, 1960, p 39). In "O'Casey's dialectical approach...the characters appear in a surprisingly regular series of balancing pairs: Mary and Johnny; Bentham and Devine; Mrs Madigan and Mr Nugent; Mrs Tancred and Mrs Boyle; Juno and the Paycock; Boyle and Joxer...every action in the play has its opposing reaction: the tea party intersects the Tancred funeral procession; Mary's pregnancy sets off Johnny's death; Boyle's drunken entrance in the last act qualifies Juno's exit. Clearly nothing in the play exists by itself; thesis balances antithesis...Whereas Boyle embraces a deterministic world view, Juno evolves a doctrine of free will...Boyle without money is emasculated and cannot make his family take him seriously. Group status, like family status, is determined by money. Mrs Madigan willingly loans Boyle money when she thinks he has an inheritance, and just as willingly confiscates his gramophone when she thinks he does not...A series of animal allusions emphasizes this predatoriness, the most frequent, [being] the reference to Boyle as peacock...The peacock image has the obvious connotations of pride and useless display; but more important is its association with unearned money. Juno and Maisie's outrage originates in the simple fact that Boyle's display depends on other people's work...Only in the second act, when the Boyles think they have money, do animal references become benign...[such as] Maisie Madigan's 'I remember the time when Madigan could sing like a nightingale at matin' time'...The play's title in juxtaposing 'Juno' and 'paycock', that is godliness and animality, comments not only on its two main characters, but on human nature...In attempting to insulate the family from history, Juno only contributes to Johnny's death. All the symptoms of guilt, panic, and hysteria glossed over with a cup of tea...Boyle, by making history function as a self-serving rhetorical ornament with only accidental relevance to the real world, debases it. Because the past, for Boyle, does not illuminate the present, the possibility of meaningful action is destroyed...What Johnny's death demonstrates is the interpenetration of the past and present, the public and the private through causality. Past actions continue to have consequences in the present and the future. The Civil War, the historical moment, creates Johnny's objective and subjective realities and ultimately leads to his death. Neither Boyle who debases history nor Juno who denies its scope can fully understand what happens to them or to Johnny...In terms of O'Casey's dialectical vision, the conclusion of Juno and the Paycock dramatizes the destruction of the Boyle home, but it also indicates the potential for synthesis...Mary and Juno going off together form a continuity chronologically and philosophically: they unite the past and the future with the present; and they prove that, out of betrayal and death, rebirth and progress are possible" (Schrank, 1977 pp 438-448). “Captain Boyle’s account of his adventures on the sea has that comic touch of fantastic imagination which characterized Captain Falstaff’s version of his explots on Gadshill” (Krause, 1975 p 100). “Mr O’Casey has seasoned his second act with the pungent flavor of high-spirited characterization. Even the sharp-tongued Juno, the real anchor of the Boyle family, buries her complaints and responsibilities. Drinking, singing, dancing catch up the entire Boyle ménage in a whirl of happy celebration, welcome Joxer back, swallow the voluble Mrs Madigan and almost captivate the intellectually snobbish Bentham” (Atkinson, 1982 pp 21-22). “Boyle is the center of his own universe, a blusterer whose pride far surpasses his merit. While his family sinks slowly into tragedy, the paycock with his consequential strut evades the opportunity to work by pretending illness, fabricates stories of heroism about himself, and storms out when confronted with his own lies. He mocks his daughter for her attempts at self-improvement, denounces his wife for wanting him to get a job, and dismisses his son, who is in a constant state of terror. Now pompous, now querulous, Boyle is always wise in his own conceit, and his family pays dearly for his vanity”(Darin, 1976 p 49). "In the dialogues between Boyle and Joxer, even the undefined is comic, as in the following: 'Boyle. She has her rights- there’s no one denyin’ it, but haven’t I me rights too? Joxer. Of course you have, the sacred rights of man!' What can those sacred rights of man be? Not even Joxer knows. Boyle’s comic vanity...has their vicious extension in his daughter's pregnancy, his role-playing in his self-centered assumption of the part of offended patriarch, and his sloth in the eventual exhaustion of affection and collapse of the family” (Chothia, 1996 pp 95-96). "Joxer...is always ready with a made-to-measure, custom-worn quotation to fit any occasion, whether it be a celebration of military bravery (Boyle's imaginary deeds in Easter week) or of martial valour, or of life at sea...there is the credibility gap between what is said and the speaker...the frequent inappropriateness between what is said and the situation and...what is resolved..and what [he does]" (Ayling, 1972 p 496). The concluding scene “is funny as the same time that it is bitter, hopeless, and terrible. It would, in fact, be difficult to find anywhere in dramatic literature so extraordinary a combination of farce with loathing and bleak despair” (Krutch, 1953 p 99). “Captain Jack Boyle, although amusing in action, is an irresponsible, lazy, lying, easily manipulated person. He is a poor husband and father, and he is a drunkard. In making Boyle such an extreme character, O'Casey satirizes all that could possibly be wrong with some working-class Irish men. Jack and Joxer are funny, of course, but a dark truth lies under the surface of the humor: impoverished Irish men, burdened with family, repress or ignore the stark realities of their sad lives through blustering belligerence, fantasizing, and mind-numbing intoxication. Juno Boyle is one of the great female characters of Irish drama. She stands for all the suffering of Irish womanhood. She is the epitome of Irish mother- hood. Unlike the men in the play, Juno is neither political nor ideological. She is a pragmatic, compassionate human being who sees that no "ism" is of value to workers if they must have their bodies broken or their lives taken in its service. Juno grows in the course of the play. At first, she is not especially concerned when a neighbor's son is killed during the fratricidal warfare, but when she faces the death of her own son, she realizes that all mothers are losers in the masculinist struggles that consume young men...Johnny Boyle, Jack and Juno's son, is both a disagreeable character and a victim to be pitied. He has given his health and sacrificed his future for the most radical version of the Irish nationalism: the Irish Republican Army. As a working-class youth, he had nothing to gain by fighting for Irish independence from Britain or against the new Free State government because no one cared about the welfare of the poor workers. Johnny's wiser mother knew that a worker's best principle is his ability to work...Jerry Devine, a labor leader and Mary's suitor, at first seems to redeem Irish manhood. He tries to get Boyle a job; he appears to love Mary even after she has jilted him for smooth-talking Bentham. Jerry offers to marry her despite that fact. The audience is silently cheering him when O'Casey smashes our hopes for Mary by having Devine do a quick about-face when he learns that Mary is pregnant with his rival's child” (Sternlicht, 2005 pp 36-37). Joxer “is one of the most memorable characters in Irish literature and his character is exactly embodied in the vitality of his speech, as it must be in great drama. He is largely an echo to Captain Boyle, the parasite of Boyle’s braggart; they have the clarity of outline of types of humours, and yet the immediacy and reality of two men you might overhear in a pubic house...Joxer devotes most of his energies to fostering the vanity and indignation of the victim whom in a sense he loves. He flatters and fosters so well that we enjoy him as an artist; when he is revealed as a hypocrite, we admire his snarling exits; and, most amazing of all, we understand why Boyle wants him back” (Simmons, 1983 pp 59-60). “Juno is a real tragic figure, not of ignoble but of high and ennobling import. She is true metal, true mother and true woman, and true to actual life, from the first to the last line. The...drunken but not evil father, the drunken but not evil hanger-on…are recognizable and true types. The two wastrels, one feels, cannot help being wastrels. It was in their blood, or in their circumstances. There they are. But you cannot hate them, or feel disgust at them, any more than Juno can. They have no special virtues but also no ugly vices, and when they are drunk they are maudlin perhaps but not brutal or vicious. Juno is the high test of the play, and stands it triumphantly. She is there to do her daily work, her daily round, for husband and children, however unworthy they may be, and she does it, unchanged by good or by ill fortune. Fate deals its heaviest blows at her, but she meets everything with courage and fortitude, and at the end is nobly undismayed” (O'Hegarty, 1927 pp 318-319). After the Easter uprising of 1916 where The plough and the stars emblem of the Irish Citizen Army against British rule was waved aloft, the 1922 civil war was waged between the Irish Free State, accepting the treaty of partition, and the Republican Army which rejected it. The Easter rising presented as the “betrayal of the Dublin working class...absurd and inhumane” (Bloom, 2005a pp 191-194). “The style of the play is naturalistic, but the structure in non-linear, plot lines are thematic rather than narrative-driven, and there is an awareness of the slippage between language and meaning later utilised by Absurdist writers” (D’Monté, 2015 p 104). “The central figure is really neither Jack Clitheroe, who commands a battalion of rebels and is left dead in a burning hotel, nor his wife Nora, who becomes insane on account of it; these two characters, who are superior in soul and intellect to their plebeian surroundings, only give a relief to the real protagonist of the drama, which is the crowd, with its multiform, mean, passionate, incoherent soul. Comedy and tragedy are interwoven in the same scenes, sometimes in the same moment; and the Dublin populace, whom O’Casey, first among all the writers mentioned here, brought thronging to the pit of the Abbey Theatre, to-day still feel him to be above all a comic, and almost a farcical writer. The intellectuals, on the other hand, try to classify him according to their old mentality; they elaborate his ‘philosophy’, and try to formulate a moral for his story, as, for example, that men live and talk, kill and die for dreams, while women suffer and die for realities. These attempts only show the narrow, patchy mentality of these gentlemen, a Protestant, Puritan mentality, seeking for possible alternatives, as compared to the disordered, patchy genius of O’Casey, who comes of an old and Catholic race, and is really of the people, with all the good and bad points, and all the genuine variety of instincts which his own nature brings with it” (Pellizzi, 1935 pp 238-239). “There are eight main actions in the The Plough and the Stars: that of Nora, of Jack, Bessie, Fluther, Peter, the Covey, Mrs Gogan, and Mollser. These characters find themselves set in circumstances which render them powerless, and all attempt in various ways to adapt themselves to the circumstances, to ignore them, to accept them, or to change them” (Hogan, p 43). The characters "are the rag, tag and bobtail of the Dublin slums, shiftless of character and romantic of temperament, great phrase-makers and soil for the most grandiose flowers of speech. Yet what a lot they are if we stop to consider them dispassionately! Consider Fluther Good, the drunken carpenter, whose abhorrence of the ‘derogatory' is only equalled by his knack of falling into it; Young Covey, the fitter, who has a passion for communism in the abstract and a practical taste in plunder and loot; Clitheroe, the bricklayer, whose patriotism and personal ambition are like a pair of horses pulling away from one another; Peter Flynn, the mindless labourer, eternally maundering about the grave of some patriot of long ago; Mrs Gogan, the charwoman, with a ghoulish delight in all the appurtenances of death and burial; Bessie Burgess, the fruit-vendor, with vileness on her tongue and something that is not vileness in her heart; Rosie Redmond, street walker and pure pragmatist...It moves to its tragic close through scenes of high humour and rich, racy fooling, about which there is something of Elizabethan gusto” (Agate, 1944 p 234). “Rather than presenting Nora as one woman who like many others suffered through losing her husband to the noble nationalist cause, O'Casey made her an outspoken critic of the rebels who repeatedly strives to keep her husband at home and away from the fighting. It was thus because of O'Casey's incisive and unambiguous presentation of a heretical analysis of Easter Week that The Plough and the Stars cut so close to the bone” (Blackadder, 2003 p 126). “The fragile barrier between inside and outside world is penetrated literally when Bessie, like Old Hilse in Hauptmann’s The Weavers, supposedly safe from the fighting outside, is killed by the mischance of a bullet through the window. The ironies and implications are registered by the audience, not the characters, when the intruding British soldiers sit for their cup of tea amid the chaos and catastrophe and casually comment, ‘there gows the general attack on the powst office’. The decisive moment in the collapse of the Rising is registered in the deepening red flares, visible through the window, while the home- sick soldiers sing ‘Keep the home fires burning’” (Chothia, 2006 p 133). In the view of Krasner (2012), “The Young Covey...spouts aimless socialistic platitudes” (p 180), but may also be considered as socialistic truths, aimless because the man is passive and eventually as egotistical as the others, funny truths because they appear amid lies and irrelevancies all around. Gassner (1954a) commented that "the profound critic of The Nation, Mr Joseph Wood Krutch, has complained that he has never discovered 'just where the author’s sympathies lie'. This confusion exists because of O’Casey’s fairness, although the Abbey’s audience had no doubt that his sympathies were anti-Irish. He recognizes the nobility and courage of the rebels, but he resents their intoxication with romantic and superficial objectives. Through the class-conscious Covey, in fact, he presents the trenchant criticism that the patriots who fought for political independence neglected the far more immediate problem of eradicating the pressing problems of poverty and social evil that are so vividly realized in this slum tragedy. But beyond this pertinent criticism is the immediate tragedy of women who lose their men for causes that do not touch the direct and ever-present realities of eating, home building, love, and childbearing...Other tragedies transpire while the men are bleeding for something that seems abstract and remote by comparison. There is, for example, the poverty that makes termagants of some of the women; there is the shiftlessness of men like the remarkable Fluther Good and old Peter, both flamboyant patriots who talk well and drink better; there is the ailing and neglected child that dies in the tenement; there is the crowded tenement itself" (pp 569-570). “There is one perfect comedy character, Fluther Good, worthy to be put with Captain Boyle and Joxer or Juno” (O'Hegarty, 1927 p 319). “Fluther Good is a roistering fellow, a drinking and bragging clown...And yet the windy Fluther is capable of courageous deeds where women are concerned, for he is knight-errant of the tenements- he rescues pregnant women in distress and defends the honour of insulted prostitutes” (Krause, 1975 p 102-103). "No writer of our time has caught the whole atmosphere of working-class life more beautifully than O’Casey, or has been able to raise that atmosphere, as he has, to the pitch of tragic dignity" (Fraser, 1960 p 143). “Both Juno and the Paycock and The Plough and the Stars are bitter, brutal ironies, so strongly felt and so passionately stated that, in spite of their broad comedy and their gorgeous wit, they scorch and bruise the spectator. In both of them the sorry story of the waste of revolution is told, and innocent bystanders suffer most cruelly from its havoc. In Juno revolution creeps up those sinister backstairs, which lead from the streets of Dublin that are blood-stained from the battles of the Free Staters and the Die Hards, fairly bursting in upon what might otherwise have been a droll little character comedy about a legacy which never materialized. In The Plough it is the story that is forced to climb the stairs of the tenement house to escape the woes of a ravaged city… In Juno, where the trite little plot is more self-reliant, the course of the playwright is always clear, but in The Plough he seems lost in a pleasing labyrinth of mixed modes until suddenly, in the last act, all of his by-paths converge and his meaning rings out with a deafening clarity. He is without a rival in snatching people of the backstairs out of their pubs and tenements, and transferring them to the stage in such a way that they remain people seen in the round instead of dwindling into types observed from only one convenient angle. His plots are minor, almost incidental, and he interrupts them at will to dally with protracted interludes of character comedy, or terrifying moments of anguish. He is not above using some tricks again and again as the standard of his comic currency, repeating a word like ‘darling’ or ‘derogatory’, or a phrase like ‘God give me patience’, until he fairly flagellates his comic point” (Macgowan, 1950 p 612). O'Casey seems like "an Elizabethan reborn. Elizabethans knew how to keep their plays moving on a full, free tide of speech. No want there of either colour or action; audiences expected both and they had them. The smallest of dramatists could toss off the resounding line. The most minor parts had their burnish. Undeniably, there was a good deal of rant and fustian, but there was also this abounding vitality, this love of words that shone and rang, of continuous imagery, speeches that quickened and excited a theatre and were not plumped down like wet wool upon the spongy turf. Suddenly, in the Dublin of the twenties, the Elizabethan voice sounded again. Playgoers at the Abbey saw once more the Elizabethan juxtaposition of tragedy and farce, found a torchlight-procession of words, recognised a new, a prodigal, an exciting dramatist. Granville Barker called O’Casey’s early work plays of ‘a spontaneous realism’. They flamed into life: first The Shadow of a Gunman, then the great twin brethren, Juno and the Paycock and The Plough and the Stars, compact of the blackest tragedy and the most exuberant farce, written in a high tumble of words, rich in the unexpected epithet and lit always by a spontaneous poetic fire. O’Casey had then, and has still, faults that would be dark indeed in a routine playwright. He is too voluble. He will award the prizes of his speech- again in the Elizabethan manner- to anyone; whether the words are in character or not" (Trewin, 1951 p 187). But Williams (1965) disparaged O'Casey's use of language in comparison to Synge's. "The distance between the language of O'Casey and the language of poetic drama is considerable, but perhaps a more significant distance is that between his language and that of Synge. It is not a simple difference of status between the two as writers, although Synge's sensibility is clearly the finer; it is also a change in the language of society, a change from the speech of isolated peasants and fishermen, where dignity and vitality of language were directly based on an organic living process, to the speech of townsmen, normally colourless and drab, containing the undiscriminated rhythms of the scriptures, popular hymns, and commercial songs, which, when it wishes to be impressive, must become either drunken or hysterical, and end in extravagance" (p 171). However, one can argue that O'Casey's use of language fits the characters as well as Synge's. O'Casey is at his best debunking. Male characters especially make themselves out to be of larger soul than they are. O'Casey is weakest in scenes of dramatic tension as pointed out by Williams (1965): "the point which seems to confirm my analysis of the nature of O'Casey's language is the routine nature of the words which pass between Jack and Nora Clitheroe as he goes to his death in the fighting: Jack. My Nora; my little beautiful Nora, I wish to God I'd never left you. Nora: It doesn't matter, not now, not now, Jack. It will make us dearer than ever to each other. Kiss me, kiss me again. This, confined to sobriety, is simply the language of the novelette." "Since the eighteenth century England has grown used to finding its best dramatists among the Irish. Sean O’Casey’s Juno and the Paycock and The Plough and the Stars showed that the Dublin Abbey Theatre group was still potent, and that the tragic poetry of life salted by rough comedy could be found among city tenements just as it had been found by Synge among the glens of Aran" (Mair and Ward, 1939 p 215). =="The shadow of a gunman"== Time: 1920. Place: Dublin, Ireland. Text at https://archive.org/details/in.ernet.dli.2015.159873 Without informing his landlord, Seumas, a peddler and admirer of poetry, has offered Donal, a poet, to share his apartment. The landlord complains of that and also that the rent is long overdue, but Seumas defies him and gives permission to his friend, Maguire, a member of the Irish Republican Army (IRA), to leave a bag in their apartment. Seumas and Donal next receive a visit from Tommy, who professes to be ready to die for Ireland in its troubles, although not yet called on, followed by Mrs Henderson and Mr Gallogher, who consult Donal about a letter addressed to the IRA, complaining of the foul language used by a tenant in their building. Seumas keeps the letter to see about improving it. Another neighbor, Minnie, arrives to borrow milk for tea. She sees the poet in a romantic light, feeling sure he would die for his country, thinking also that he might be "a gunman on the run". Soon, Seumas and Donal hear about Maguire's murder in an ambush at the hands of the Black and Tan, British soldiers seeking to undermine the Irish revolution for independence. Late that night, Seumas hears suspicious taps on the wall. He and Donal are then unnerved by gunshots heard from the street. They next hear about Tommy's boasts in a pub, his knowing "a general in the IRA" and his ability to "lay his hand on tons of revolvers". Very much afraid, Seumas curses his imprudence. Even more afraid, Donal searches for Mrs Gallogher's compromising letter but is unable to find it until his friend suggests his coat pocket. Both tremble worse of all after discovering Maguire's bag full of Mills bombs. Donal blames Seumas for not being on his guard while knowing the type of man Maguire was. "I knew things ud go wrong when I missed mass this morning," Seumas moans. Suddenly, Minnie rushes in to inform them that the house is surrounded by the Tans, then notices the bombs. She takes them to her room while both men stand stiff with fright. "Holy Saint Anthony grant that she'll keep her mouth shut," Seumas prays. "We'll never again be able to lift up our heads if anything happens to Minny," Donal moans. They next hear that the Tans discovered the bombs, that Minnie jumped from the lorry carrying her away, and that she was shot to death. =="Juno and the paycock"== [[File:Edith_Campion_in_1946.jpg|thumb|Played by Edith Campion (1923-2007) at the Unity Theatre, Wellington, New Zealand in 1946, Juno wonders about what to do with her shiftless, peacock husband, Jack]] Time: 1922. Place: Dublin, Ireland. Text at https://www.archive.org/details/selectedplaysofs00ocas https://archive.org/details/fivegreatmoderni00unse https://archive.org/details/in.ernet.dli.2015.159873 Captain Jack Boyle is unemployed but yet strutting like a "paycock" (peacock) while his wife, Juno, takes care of household matters and goes out to work for him and their invalid, son, Johnny, who a few years ago was shot in the arm and hip during an uprising against the Irish Free State. After hearing of an opportunity to work, Jack suddenly develops twinges in his legs. Happily, Jack learns from Charlie, a notary who courts his daughter, Mary, that he is the recipient of an important legacy following the death of a cousin of his. Jack means to start a new life, ridding himself of his shiftless friend, Joxer. "He'll never blow the froth off a pint o' mine again, that's a sure thing," Jack declares, but yet Joxer stays on. In view of their expected fortune, the Boyles buy furniture and a gramophone on credit. One day, Johnny is heard screaming from his room, caused by an hallucination, the sight of a recently dead neighbor praying in front of a statue and looking at him. The vision concerns Robbie, a die-hard leader of a deadly ambush against a Free State soldier who was shot in reprisal by Free Staters. Two months later, the legacy money has not yet arrived. A friend takes back clothes obtained on credit by the Boyles and another friend their unpaid gramophone. At the same time, Charlie leaves Mary and Juno tells Jack that their daughter is pregnant. Jack angrily throws Mary out of the house. When Juno counters that she will follow her, he suggests she do so. He then discovers that Charlie has messed up the will, for, instead of specifying his name, he only wrote "cousin", and so a large number of other claimants have shown up, which explains the notary's sudden departure. Johnny angrily accuses his father of running up credit just to pay for his beer. Mary learns of the disastrous turn in the family's fortune. Hearing Charlie has gone, Jerry, an old rival for Mary's favors, offers to care for her, but changes his mind after finding out about her pregnancy. Left alone, Johnny sees two men enter to take back the furniture, then two armed men, Republicans informed about his treachery against one of their own, Robbie, come to take him away to his death in reprisal. While Juno leaves with Mary to her sister's house, Jack and Joxer drunkenly reel in. =="The plough and the stars"== [[File:StarryPlough.svg|thumb|Starry plough flag since 1930]] Time: 1915-1916. Place: Dublin, Ireland. Text at https://archive.org/details/twentyfivemodern001705mbp http://www.archive.org/details/selectedplaysofs00ocas https://pdfcoffee.com/the-plough-and-the-stars-ox27casey-pdf-free.html Violent arguments about politics erupt in the apartment of Jack and Nora Clitheroe between The Covey, a Marxist and Jack's cousin, on one hand, and Peter, a conservative and Nora's uncle, on the other. Fluther, a carpenter called to put in a new lock, also joins in the fray, calling The Covey "an ignorant yahoo", while he in turn calls him an "ignorant savage". Bessie, a neighbor, hating Nora's liberated manner, also joins in the fray by grabbing and shaking her, but Fluther breaks Bessie's hold and Jack pushes her out. In the evening, there is a demonstration of the Citizen Army bearing 'The plough and the stars'. The Covey informs Jack that this symbol was originally meant for the proletariat: "Used when we're buildin' th'barricades to fight for a workers' republic," he explains. Jack learns from Captain Brennan that he was named commandant in the Citizen Army, but the letter never reached him, because it was intercepted by Nora. He warns her never to intercept any of his letters again, takes no account of her fears, and goes out with Brennan. In a pub, Rosie, a prostitute, gives homage to the demonstration held outside. "It's up to us all, anyway, to fight for our freedom," she says, to which The Covey responds: "There's only one freedom for the' working man: conthrol o' th' means o' production, rates of exchange, an' th' means of disthribution." When she approaches him for business purposes, he becomes frightened and moves away. Peter tearfully complains to Fluther about The Covey's insults. "It's th' way he says it: he never says it straight out, but murmurs it with curious quiverin' ripples, like variations on a flute," he complains. A charwoman, Mrs Gogan, quarrels with Bessie. She hands her baby over to Peter, who does not know what to do with it, and so leaves it on the floor and cries out for Fluther to follow her. "D'ye think Fluther's like yourself, destitute of a titther of undherstandin'?" Luther cries out sarcastically. More quarrels ensue, whereby The Covey is pushed out of the bar by the barman, Rosie impressed by the way Fluther defended himself against him. "Oh, Fluther, I'm afraid you're a terrible man for th' women," she avers. The demonstration outside degenerates into a riot. From an upper window, Bessie taunts Mrs Gogan, The Covey, and Peter. "Yous are all nicely shanghaied now," she warns, at which Mrs Gogan recommends them not to answer the "Orange bitch". In the mass confusion which ensues, Bessie goes out and returns with stolen items, including three umbrellas, at which sight The Covey and Fluther hurry away to loot for their own selves, but Peter is too fearful to do so because of the sporadic shooting. Bessie and Mrs Gogan fight over a perambulator used to carry more looted items, but finally go off together. The Covey returns with a heavy sack, a piece of ham lying on top. Bessie and Mrs Gogan return with the pram filled with clothes and a table. In the melee, Brennan and Jack carry in the latter's apartment a shot comrade. Nora begs her husband to stay at home, but, in his view, she is shaming him and so he rushes away a second time. During the tumult, Fluther staggers in, carrying a huge jar of whiskey. A few days later, the consumptive daughter of Mrs Gogan dies with her stillborn baby. While The Covey, Peter, and Fluther nervously play cards in view of probable reprisals by the British army, Brennan enters to announce that Jack is dead. Nora deliriously calls for him and considers his companions murderers. The Covey and Peter panic, the former crying out to Brennan: "There's no place here to lie low, th' Tommies'll be hoppin' in here any minute." Indeed, Sergeant Stoddart declares that the men are to be rounded up to prevent sniper-fire. When Nora stands incautiously near the window, Bessie seizes her and receives a bullet for her kindness. "I've got this through you, you bitch, you," she cries out in her dying throes. =JM Synge= [[File:John Millington Synge.jpg|thumb|Like Shaw and O'Casey, John Millington Synge was an outstanding Irish playwright]] A third irish-born dramatist, JM Synge (1871-1909), contributed two of the best comedies of the period: "The well of the saints" (1905) and "The playboy of the western world" (1907). In both, dramatic characters prefer dreams over reality (Bickley, 1912 p 38). In The well of the Saints, "the fable, which is among the simplest and most moving ones ever chosen by a modern dramatist, has in it all the searching beauty of an ancient parable...Nothing can be more pathetic and also more depressing than the two blind people's disillusionment and the complaint of Martin Doul when reference is made to the "grand day" when he was healed: ‘Grand day, is it? black day when I was roused up and found I was the like of little children do be listening to the stories of an old woman and do be dreaming after in the dark night that it's in grand houses of gold they are, with speckled horses to ride, and do be waking again, in a short while, and they destroyed with the cold, and the thatch dripping, maybe, and the starved ass braying in the yard.’” (Bourgeois, 1913 pp 183-192). “The word ‘doul’ is Irish for ‘blind’” (Sternlicht, 2010 p 71). "The blind beggars, Martin and Mary Doul, are sustained in joy and self-respect by the illusion of their own beauty and comeliness. When their sight is restored by the holy water of the saint, their revealed ugliness comes near to destroying them. But when their sight fades once more, they achieve a new illusion: of their dignity in old age, the woman with her white hair, and the man with his flowing beard. They fly in terror from a renewed offer to restore their sight of the real world; although their neighbours realise that their continued blindness, leading them along a stony path, with the north wind blowing behind, will mean their death" (Williams, 1965 pp 160-161). "Rarely has the bitter conflict between reality and the ideal been more poignantly set forth" (Andrews, 1913a, p 164). “The play concludes...with the wedding of Timmy...and Molly, a conclusion which reinforces the isolation of the two beggars...The saint warns Martin and Mary that when he has given them sight, they should look on self...With sight, however, they attempt to become part of ordinary humanity- a world which they find to be cruel and self-centered and one in which a beautiful face conceals a cruel heart” (Gerstenberger, 1964 pp 59-60). “At the outset of The Well of the Saints, Mary and Martin Doul share an unselfconscious contentment, dwelling in what they alone perceive to be an Arcadian idyll. However, their fall to knowledge on being cured of blindness by the saint reveals their own moral corrosion as well as that of the wider community, and they come to understand that the capitalist misfortunes of ill- paid labour and hunger will supplant their former pre-modern ease...The Christian metaphors of ‘light’ and ‘dark’ are invoked in a subversive manner in The Well of the Saints. Once Martin has been led ‘into the light’- which involves being cured of blindness and forced to take a stake in the religio-capitalist order- he labels the world of work, property and propriety as ‘dark’. Similarly, the Douls only begin again to notice the sunlight and the joys of nature with which they were first associated once they are about to be expelled from the community. Given the use of the plural noun in the title of a play concerned with an individual church representative and with the muddying of moral hierarchies, the ‘saints’ referred to can only be the Douls. Here...Synge elevates the wanderer as the noble remnant of a threatened native culture that had valued expression and freedom over social climbing, avariciousness and close-mouthed conformity...In a further sense of his personal identification with the marginalised, the display of individual conscience of peoples of the road in The Well of the Saints takes on overtones of the evangelical Protestant tradition within which the young Synge had been raised; despite his predilection for cures, the austere wandering saint who does not intend to charge a fee to wed Molly and Timmy is a sympathetic figure drawn both from traditions of the ‘uncorrupted’ Celtic Church from which Irish Protestantism claims lineal descent and from Biblical narratives of desert-dwelling ascetics...Thus, the ‘Protestant’ saint is implicitly contrasted with the house-dwelling and rapacious Catholic priest, even if equally implicated in the religious establishment’s enforcement of sedentary norms in the end” (Burke, 2009, pp 41-48). “Although the blind couple are driven out onto the road by the villagers, a higher place is clearly waiting for them. It is the palace of self-knowledge, reason, sensuality, and confidence, as evidenced by Mary’s curtain line: ‘The Lord protect us from the saints of God” (Sternlicht, 2010 p 71). "The playboy of the western world" "is a study of character, terrible in its clarity, but never losing the savour of imagination and of the astringency and saltness that was characteristic of his temper. He had at his command an instrument of incomparable fineness and range in the language which he fashioned out of the speech of the common people amongst whom he lived. In his dramatic writings this language took on a kind of rhythm which had the effect of producing a certain remoteness of the highest possible artistic value" (Mair and Ward, 1939 p 208). “The distinctive language of The Playboy of the Western World derives from several sources the Hiberno-English dialects of the west of Ireland, vestiges of Tudor English still found in Ireland, popular sermons, and Synge’s own penchant for musical rhythmic prose” (Owens, 1994 p 2352). It "is a play so unexpected in action, so racy in idiom, so perplexing in its first paradox of the murderer honored and respected, so satisfying in its final revelation of laughable, vain, miserable, heroic human nature, that to discuss it in a cursory manner is neither tempting nor fitting" (Hackett, 1919 p 195). It is "a work of true dramatic stature: lyric imagination in full satiric flower and embellished with the ribbons of some of the most beautifully cadenced speech the modern stage has known" (Nathan, 1947 p 136). The play "satirizes, with poetic sympathy, the danger that besets an airy, imaginative temperament, unballasted with culture, to lose itself in divagations of extravagant absurdity..." (Hamilton, 1914 p 142). “Christy creeps into Flaherty's inn and the fostering warmth is enough. The ‘polis' never come there; it is a safe house, so', and the crime for which he had fled in terror on the roads of Ireland since ‘Tuesday was a week', becomes maybe something big. The mystery quickens the blood of his audience, they draw nearer with delighted curiosity and, looking into his own mind for the first time by the illumination of this tribute to his art, he perceives that there is not 'any person, gentle, simple, judge or jury, did the like of me'. From that moment a glorious and brilliant magnification of his deed and his situation sets in, he has ‘prison behind him, and hanging before, and hell's gap gaping below'. Once the confession is out his audience contributes royally. They perceive that he is no ‘common, week-day kind of a murderer', but a man ‘should be a great terror when his temper's roused' and 'a close man' 'into the bargain’ (in fact, a complete Machiavellian, lion and fox together). As the legend expands at the hands of his audience, he accepts the additions, assimilating them so rapidly that they soon become part of his own memory of the event" (Ellis-Fermor, 1971 p 177). "Christy Mahon's illusion of greatness is nourished and raised to the heights by a community where the mythology of force (compare the tales they spin of Red Jack Smith and Bartley Fallon) is dominant. Yet Christy realises that it is not the deed which made him glorious, but the telling of the deed, that 'poet's talking'. And this he retains" (Williams, 1965 p 164). “The general humor of the situation lies in the fact that a timid young bumpkin, who supposes that he has killed his father, finds himself admired for his crime, and grows vain of it. The girls in particular think him a darling. But in the midst of his glory, his father appears, little the worse for a blow that had merely felled him, and determined to chastise the scapegrace. Then those who bowed before the gallant patricide turn upon him with contempt. The girls who adored only laugh. And Christy, in desperation, endeavors to live up to his notoriety by slaying his father in very truth. A bad deed actually observed, however, is less romantic than one merely told of, and the hero worshippers promptly seize upon Christy with a view to handing him over to the police” (Chandler, 1914 p 272). "Thus ends the making of a hero who is glorious only when he commits his crimes out of sight. Thus also ends the self-delusion of young Christy, who learns like other 'heroes' how quickly admirers become enemies in foul weather" (Gassner, 1954a p 560). "Let no one forget those lines with which Christy Mahon cries defiance to the Mayo folk who have known his greatness and his fall: 'Ten thousand blessings upon all that's here, for you ve turned me a likely gaffer in the end of all, the way I'll go romancing through a romping lifetime from this hour to the dawning of the judgment day," I do not deny that these words are in a sense wrung from the playboy, but what I do hold is that they prove how vital was the genius of the man who wrote them, who saw the joy there was yet in life for this braggart wastrel just as he saw that even such a miserable boyhood as Christy's knew a kind of poacher's joy in running wild on the bogs" (Weygandt, 1913 p 161). The play is “joyous in its presentation but what it reflects is squalor, credulity, brutal cupidity- a world of drunken louts and hopelessly desperate women. The only exception is Christy Mahon...[At the end] he goes out and the spirit of romance goes with him” (Bloom, 2005a pp 191-194). “Liberation in this play is confined to one character, who becomes a hero accordingly, while Pegeen is plunged back into a diminished world. It is still difficult for the audience today to accept Synge’s unconventional ending. The pastoral world reclaims only Christy, transmogrified into a genuine rogue” (Murray, 2006 p 119). "Once [Christy’s] claim is unmasked as a falsehood, he truly becomes nothing in her eyes. In her case the deepfelt unsocial wish vicariously fulfilled by Christy is less the overthrow of Ireland’s English oppressors than the rebellion against her own personal oppressor, her father. It is likely that in actually witnessing Christy’s attempt as patricide (rather than simply hearing about it) she becomes conscious of this wish, whereupon her loyalty to Flaherty and to social convention, evident, for example, in her earlier willingness to marry a man she did not love because her father chose him, again takes over” (Finney, 1989 p 114). When Pegeen Mike is afraid of sleeping alone, the townspeople agree that Christy is the solution, “judged by Jimmy to be brave, by Pegeen to be wise, by Philly to be such a terror to the police that they would stay away from the shebeen where illegal whiskey is sold...Christy’s retelling of the parricide in Act 2 involves some repetition...but when contrasted with the bare, prosaic account in Act 1, shows his development as a mock hero” (Benson, 1982 pp 121-124). “The major action of the play, the recognition of self, demands the second murder of the old man...necessary as an index of Christy’s transformation...At the confrontation of his father in the last act...he remembers the image of self...and acts accordingly...His isolation is complete...Upon Pegeen’s rejection...the knowledge that the realized self is of inestimable and intrinsic value gives Christy...a strange exultation, which pervades his every speech in the conclusion of the play” (Gerstenberger, 1964 pp 81-82). "When Christy enters the cottage, Pegeen Mike, the daughter of the house, has just been left alone by her pusillanimous admirer and future husband, Shawn Keogh. Shawn would not stay unchaperoned with a young girl, so great is his deference to ecclesiastical authority. Pegeen Mike, disgusted at this supreme exhibition of timidity, is only too glad when the mysterious stranger comes upon the scene, and when it transpires that Christy has murdered his 'da', she is the most interested of the group of villagers who crowd around to lionize the hero. The two are left alone and become increasingly attracted towards one another, the girl contrasting this brave and spirited young fellow with the miserable coward her parents have chosen for her, a typical specimen of a bad lot whose defects are all the more manifest now that Christy is among them" (Boyd, 1917 p 114). “In the cast list for the play, while both Philly and Jimmy are described as ‘small farmers’, Shawn is given simply as ‘farmer’. This demonstrates Synge’s awareness of the class divisions operating in rural Ireland in which ‘small farmers’, who still largely survived on the basis of an economy of potato cultivation, were subordinate to the ‘strong farmers’, who were progressively consolidating their land holdings and shaping the transition to an agrarian capitalism based on cattle. The fact that Shawn has promised Michael a ‘drift of heifers’ and a ‘blue bull from Sneem’ as part of the marriage arrangements demonstrates that he is part of this economic elite- while also showing that this coupling is based more on property than passion, Shaun referring to the match as ‘a good bargain’. That Michael is a publican who adds to his income by selling illegal poteen, further adds to the grim picture that Synge is painting of rural Ireland in which the ‘congested districts’, the poverty-stricken regions of the rural west, were becoming the preserves of vested interests who consolidated their power and wealth; much as Michael aims to do by marrying Pegeen off to Shawn, her second cousin” (Richards, 2009, p 32). According to Sternlicht (2005), “Widow Quin, like Pegeen is a strong, combative, and self-sufficient woman. She desires another husband, even though she caused the death of her first one. But she really cares for Christy, and when she realizes he won't marry her because he loves young Pegeen, she tries to save him from his father's revenge by first diverting the raging old man and then trying to hide Christy in woman's clothing so that he might escape the police. In many ways, Widow Quin is the most likable character in the play" (p 15). Many may agree from what we see of her on stage, but yet she is described as the murderess of her husband previous to the start of the play. “When it appears that Christy has committed parricide after all, the villagers declare that they will lynch him, and demonstrate their readiness to follow through on this threat by treating him like an animal. So a play that seems all along to have suggested Irish peasants glorify violence, but has done so within an apparently comic mode, now vividly shows those peasants unhesitatingly engaging in violence themselves. If Synge just had Old Mahon turn up, thus exposing his son as a fraud, and then go off with Christy, The Playboy would still on the face of it imply that villagers in rural Ireland are overly credulous and inclined to admire violent crimes, but the force of that critique would be attenuated by the simple comic resolution. Instead, Synge added a phase during which the villagers believe that the man whom they had adulated on the grounds that he had killed his father, then despised be- cause he had lied to them, did just murder his father, and in response they reveal their own capacity for vengeful, immoral aggression- so rather than mitigating the criticism suggested by the rest of the play, the ending expands it. The final twist, whereby Old Mahon returns from the dead a second time, thus making the hanging unnecessary and allowing father and son to leave together, comes too late to alter the apparently disparaging representation of the villagers” (Blackadder, 2003 p 76). =="The well of the saints"== [[File:St Patrick's Well at Ardtole with the Irish Sea in the background - geograph.org.uk - 1535121.jpg|thumb|An Irish well is often reputed to possess curative powers]] Time: 19th century. Place: East Ireland. Text at https://archive.org/details/in.ernet.dli.2015.186282 https://www.bibliomania.com/0/6/289/2378/frameset.html A blind old couple, Martin and Mary Doul, sit by the cross-road begging to survive. Timmy the smith has good news for them: "Did ever you hear tell of a place across a bit of the sea, where there is an island, and the grave of the four beautiful saints?" he asks. "There’s a green ferny well, I’m told, behind of that place, and if you put a drop of the water out of it on the eyes of a blind man, you’ll make him see as well as any person is walking the world." Two young village women, Molly and Bride, bring the water over in a can. "God bless you, Martin. I’ve holy water here, from the grave of the four saints of the west, will have you cured in a short while and seeing like ourselves -" Molly announces. When a wandering friar arrives, considered a saint, he invites Martin to enter inside the church. While Martin is on his way, Timmy anxiously asks himself: "God help him...What will he be doing when he sees his wife this day? I’m thinking it was bad work we did when we let on she was fine-looking, and not a wrinkled, wizened hag the way she is." As Martin comes out of the church, he cries out: "Oh, glory be to God, I see now surely...I see the walls of the church, and the green bits of ferns in them, and yourself, holy father, and the great width of the sky." He passes past Mary also on her way to the church without knowing her. On seeing the beautiful Molly, Timmy's intended, he feels sure she is his wife, then makes the same mistake with two other women. When Mary comes out from the church, also with her sight miraculously restored, the married couple stare at each other blankly and abuse each other's ugliness. Frustrated, he threatens her with a stick till Timmy catches his arm. Husband and wife must now work for a living, he cutting sticks for Timmy's forge, she picking nettles for Widow O'Flinn. But at least he has the blessing of seeing pretty women the like of Molly, with whom he flirts, till she complains to Timmy. "Is it a storm of thunder is coming, or the last end of the world? The heavens is closing, I’m thinking, with darkness and great trouble passing in the sky," Martin suddenly cries out as he begins to lose his sight again. Shredding rushes, Mary moans: "Ah, God help me...God help me; the blackness wasn’t so black at all the other time as it is this time, and it’s destroyed I’ll be now, and hard set to get my living working alone, when it’s few are passing and the winds are cold." Martin gropes forward towards Mary. He makes further sarcastic remarks on her looks again. Mary says he need not. "For when I seen myself in them pools, I seen my hair would be gray or white, maybe, in a short while, and I seen with it that I’d a face would be a great wonder when it’ll have soft white hair falling around it, the way when I’m an old woman there won’t be the like of me surely in the seven counties of the east," she declares. Martin hesitates: could it be true? With dismay, they hear the saint's bell and hide in the briar next to the church, though plainly visible. The saint offers them the holy water again, this time to recover sight till their dying day, but Martin and Mary turn away. Martin refuses, but Mary doubtfully accepts. Martin pushes the saint away from her, then seems to acquiesce till with a sudden movement strikes the can from the saint’s hand. "For if it’s a right some of you have to be working and sweating the like of Timmy the smith, and a right some of you have to be fasting and praying and talking holy talk the like of yourself, I’m thinking it’s a good right ourselves have to be sitting blind, hearing a soft wind turning round the little leaves of the spring and feeling the sun, and we not tormenting our souls with the sight of the gray days, and the holy men, and the dirty feet is trampling the world," he declares. Angry at anyone refusing a miracle, the village people throw objects at him, so that the couple are forced to head south, away from those who now enter the church as witnesses to Timmy and Molly's wedding. =="The playboy of the western world"== [[File:Allgood-Kerrigan 1911.jpg|thumb|Shawn Keogh does his best to marry Pegeen Mike but falls short, played by JM Kerrigan and Sara Allgood, respectively, at the Plymouth Theatre, Boston, 1911]] Time: 1900s. Place: Ireland. Text at http://www.bartleby.com/1010/ https://archive.org/details/fivegreatmoderni00unse https://archive.org/details/in.ernet.dli.2015.151773/page/n13 In Michael James' shebeen, Shawn admits, to the shop-girl Pegeen's disgust, that he recently heard a fellow's groans, perhaps a man dying in a ditch, without reporting it. To protect his employee against the possible threat of this stranger, Michael proposes that Shawn should stay with his daughter all night, but Shawn, afraid of Father Reilly's condemnation of such a suggestion, refuses. Michael corners him but he escapes, leaving a coward's coat on his hands. The stranger, Christy Mahon, arrives to say he is wanted by the police for "something big". Pegeen does not believe him. "That’s an unkindly thing to be saying to a poor orphaned traveller, has a prison behind him, and hanging before, and hell’s gap gaping below," Christy asserts, who confesses he killed his father. "Bravery’s a treasure in a lonesome place, and a lad would kill his father, I’m thinking, would face a foxy divil with a pitchpike on the flags of hell," a fellow villager named Jimmy affirms with admiration. Pegeen agrees. "It’s the truth they’re saying, and if I’d that lad in the house, I wouldn’t be fearing the loosed kharki cut-throats, or the walking dead," she says. Also impressed, Michael offers him a job as a pot-boy in the shop. When alone with Pegeen, Christy is startled to hear a knock at the door. It is Widow Quin, come to take away Pegeen's "curiosity man" to her own house, as Father Reilly suggested to her. She is somewhat of a local celebrity, too, having one day struck her husband so that he died from poisoned blood, "a sneaky kind of murder" according to Pegeen. The widow will not have Christy "kidnabbed". The two women argue over who should have him. Pegeen wins. Out of curiosity to see the handsome killer, several women (Susan, Nelly, Honor, and Sara) enter the shebeen to offer him eggs, butter, cake, and pullet. To them and Widow Quin, Christy explains how he was driven to murder by his father's attempt at forcing him into an undesired marriage. "A walking terror from beyond the hills, and she two score and five years, and two hundredweights and five pounds in the weighing scales, with a limping leg on her, and a blinded eye, and she a woman of noted misbehaviour with the old and young," he assserts. His father threatened with a scythe. To defend himself, he lifted a loy. Seeing the women all gawking at him, Pegeen angrily shoos them away. She terrorizes him by suggesting they might spread around the story of this murder. While Pegeen goes out to do her chores, Shawn, intent on marrying her himself and worried about a rival, attempts to bribe Christy to leave town. Christy tries out the clothes offered him. "I’d inform again him, but he’d burst from Kilmainham and he’d be sure and certain to destroy me," Shawn ponders. Widow Quin is considering to marry him herself. A grateful Shawn promises her many gifts should she do so. While Shawn leaves to contribute to upcoming sporting events, Christy struts about with new clothes, until to his horror he discovers his father outside and runs away to hide. Old Mahon asks the widow about news of his son, giving details of his shiftlessness. "What way was he so foolish?" the surprised widow inquires, "It was running wild after the girls maybe?" "Running wild, is it? If he seen a red petticoat coming swinging over the hill, he’d be off to hide in the sticks, and you’d see him shooting out his sheep’s eyes between the little twigs and the leaves, and his two ears rising like a hare looking out through a gap," Mahon retorts with contempt. When he leaves to find his son following her directions, Christy returns. The widow laughs at him. "Well, you’re the walking playboy of the western world, and that’s the poor man you had divided to his breeches belt," she chortles. Nevertheless, she offers to marry him. However, he wants Pegeen instead with her help, to which she agrees provided he give her gifts and advantages. Despite noticing afar off a man who looks like his son being successful at sporting games, which the widow pretends not to believe, Mahon is still doubtful whether it is truly he. Christy and Pegeen are now strongly attached with each other. To her father's surprise, she refuses Shawn for the sake of Christy, "wet and crusted with his father’s blood". Michael encourages Shawn to fight him, but Shawn encourages him to do the same. Faced with his rival, Christy picks up a loy and Shawn disappears. Michael agrees to his daughter's proposed marriage, but they are interrupted by the enraged Mahon, who beats Christy as soon as he sees him. Pegeen backs off from the altercation, thinking perhaps that the old man was raised from the dead, then she discovers the truth. "And it’s lies you told, letting on you had him slitted, and you nothing at all," she cries out outraged. Humiliated by her as well as the crowd gathering around, Christy runs to the door after his father with loy in hand and seems to strike him dead. Christy returns half dazed but refuses to leave town without Pegeen. With Pegeen's help, the villagers double-hitch his arms to capture the murderer, but have difficulty in taking him away. Mahon crawls back inside and father and son go off together. With his rival gone, Shawn sees nothing to prevent his marriage now. "Quit my sight," a frustrated Pegeen says. Putting a shawl over her head, she breaks out into wild lamentations: "Oh my grief, I’ve lost him surely. I’ve lost the only playboy of the western world." =St John Ervine= [[File:St. John Ervine by Underwood & Underwood.jpg|thumb|Ervine evoked a man's treachery towards a young woman and the response of her family to it. Photograph of the author, 1920]] Another Irish playwright, St John Ervine (1883-1971), achieved his best with "John Ferguson" (1919), a sickly farmer whose troubles worsen when he cannot pay the mortgage, his daughter is raped, and his son is guilty of murdering the violator. "John Ferguson" "is to some small extent Synge-like for Ervine uncharacteristically introduced a few poetical phrases and local idioms to provide colour. His sturdily prosaic cast of mind preserved him from undue influence by Synge or any other poet…It is indisputable that he has left us a handful of plays and novels which vividly recreate the Protestant face of Belfast and the North-East as it used to be two or three generations ago” (Greacen, 1983 p 234). "John Ferguson" "is a play written in Stoic mood. We are conscious of complete isolation from all that makes life gay and comely. John Ferguson's house is comfortable within, for Mrs Ferguson prides herself on maintaining the appearance of fortune. But it lies surrounded by lonely fields where bleak weather and a stubborn soil breed poverty and despair. The gray shadow of undeserved but inevitable misfortune broods over it from the first, and soon takes shape in the betrayal of Hannah Ferguson and the murder of the man who had wronged her. The murderer is not Jimmy Caesar, who loved Hannah and talks, as a coward talks, of vengeance. Hannah's brother Andrew, egged on by the sly malevolent chatter of Clutie John, the half-wit, took swift action while Jimmy blustered and trembled. At the end of lives of toil and upright dealing, John and Sarah Ferguson are the helpless spectators of the ruin of those fine-spirited children whom they brought up in the fear of God. The fate of the young people is ordered, not by their parents' integrity, but by the evil forces that brood in the confined life of a village-lust, cowardice and the furtive impulse's of a half-wit. And John Ferguson's faith deserts him at the moment of testing...John Ferguson's faith neither braces him to meet the facts of life, nor comforts him when action is unavailing, and for his wife it lacks potency even as a drug to deaden sorrow. The play is burdened with a sense of the futility of little lives that fret and suffer for a moment between the pangs of birth and the pains of death” (Lothian, 1922 pp 648-649). The play “contains a larger number of memorable characters than Jane Clegg (1913); besides the patriarchal hero, as noble and as simple as Wordsworth's Michael, and his wife and children, there is that strange and living creature of cowardice and generosity, Jimmy Caesar, and the inimitable Clutie John. The setting gives an impression of extraordinary richness and depth ; the reader feels that he has lived in that rural Ulster community, and that he is at home there” (Woodbridge, 1925 pp 205-206). "The play overflows with the material of character- every person and his motives are revealed relentlessly, and understanding of the moves of complex characters is immediate. There is nothing puzzling about the action of Clutie John, the wise half-wit, or of Jimmy Caesar, the coward whose life ambition is to be brave...It is correct drama, for the incidents are controlled and grow out of the characters. It is vigorous writing and a searching portrayal of the admirable, the picturesque and the despicable in Ulster-men" (Eddy, 1916 pp 466-467). "It is a play deeply felt and sincere, and in the character of John Ferguson, Ervine created a man the stage had not previously known. His faith did not brace him to meet the facts of life, nor did it comfort him when action was useless, but it was all he had to use merely as a drug to deaden his sorrow. For his wife it lacked even that. Fate plays with these little lives as Hardy made it play with Tess or Jude, and there is as much of Hardy in the play as there is of Ulster...It is John himself who makes the play great...[for] nothing can break his ‘unconquerable soul’. These Fergusons are little people, but they can show life great, life tragic, as well as the kings and the aristocrats. Their stoicism is ennobling to the audience, even if they wear no crowns and work with their hands. They do not speak a language that rises to poetry, their emotions are all subdued but they do present the Northern Irish peasant as he had never before been presented to the world. His very defects come from his qualities, his dourness, his staccato speech, his religious fanaticism, his contempt for his more soft-spoken compatriots in Ireland’s other provinces" (Malone, 1929 pp 204-205). "The momentum for John Ferguson, Mr Ervine stated frankly, was derived from the Book of Job. He was intrigued by the possibilities of a lonely God-fearing figure grappling with blind forces and events that defied pious rationalization, a modern Job who still sought solace in the Scriptures and in a Divine Principle when fate so obscenely betrayed its hand. In this way John Ferguson took hold of him. But as the play unfolded in his mind, he stumbled upon Jimmie Caesar, and so fascinated was he by the maudlin, pusillanimous grocer that he felt the reins of the action snatched from his grasp by one whom he intended but for a minor part in the play. In point of fact, a play all by itself lay implicit in Jimmie Caesar. In order, therefore, to mete out common dramatic justice to the stoical John Ferguson, who had a prior lien on his imagination, he removed Jimmie by the main force of the dramatist's permissible intervention. This he did in the last act by clapping Jimmie in gaol. All things considered, the device was not altogether successful, for throughout the playing of that act the audience is fitfully haunted by the remote whine of the panicky Jimmie behind a grilled door" (Loving, 1921 p 108). "The Ferguson family, in whose kitchen the four acts take place, is made up of strong natures. John Ferguson is an aged and Bible-reading invalid. He is a fanatic with redeeming qualities...Even to save the farm John Ferguson would not dream of urging Hannah into a wretched marriage...After Henry Witherow, the wicked landlord, has ruined Hannah, John Ferguson stumbles out into the night to prevent a wrong being avenged by a murder and to warn Witherow that his life is in danger...Only at the very end is this faith shaken- when his son Andrew confesses himself Witherow's murderer...The money which arrived too late to prevent two tragedies may prevent a third...Mrs Ferguson is a simple, motherly soul. Handsome, full-blown Hannah is a headstrong, passionate girl, attracted perhaps in spite of herself, for a moment, by the masterful ways and imposing person of Witherow. But when he jokes coarsely about her beauty and mocks at her possible marriage with Caesar, the coward, she strikes him in the face and orders him from the house. Andrew, the son, is a sensitive, thoughtful boy. He had studied for the ministry, but his father's resources gave out before this could be accomplished. He has little but conscientious effort to bring to farm work...James Caesar, the village grocer, is the most skillfully drawn character of the play. He has been repeatedly wronged by Witherow. But although forced to stand by and see his people turned out of their home, he only brags of the revenge he will one day have upon his tormentor. His tongue is his only weapon. He is oily and cringing and at best a sensualist...But when Hannah cannot endure his caresses, and sustained by her father goes to tell Witherow that the money will not be forthcoming, when the girl he loves has been the victim of bestial brutality, even then, Caesar does not dare to kill the oppressor...Clutie John, a beggar, is made a vital force in the development of the story; for Clutie paints such a vivid picture of Caesar's uselessness as an avenger and of Witherow's blackness of heart, in disjointed but eloquent words, that Andrew seizes his gun and sets out to do the work himself. When the tragedy has been accomplished and Andrew has gone down to the jail with Hannah to give himself up to justice, thus releasing Caesar from the suspicion of having committed the murder, John Ferguson again turns to his Bible for consolation in supreme distress" (Wright, 1919 pp 43-45). “Witherow has no redeeming qualities...He is a brilliantly drawn one-dimensional character” (Buckmaster, 1994 p 704). =="John Ferguson"== [[File:Helen Freeman in John Ferguson - 1919 MunseysMag.jpg|thumb|Hannah is unable to wed a man she dislikes, although this decision is certain to be of disastrous consequence to her family's fortunes. Helen Freeman (1886-1960) as Hannah, November 1919 Munsey's Magazine]] Time: 1919. Place: Rural County Down, Ireland. Text at https://archive.org/details/johnfergusonplay00ervi https://archive.org/details/johnfergusonapl03ervigoog https://archive.org/details/theatreguildanth00thea John Ferguson has been too sick to attend effectively to his farm and has no money to pay for the mortgage on it. His son, Andrew, has tried his best since failing to complete his course as a minister of religion but the contribution of this slight, delicate-looking lad to farm-work has been weak. To continue living on the farm, John expects to receive a loan from his brother living in America, but has received no word from him as yet. John’s daughter, Hannah, is courted by James Ceasar, owner of a grocer’s shop, but she shows no interest in him. When Henry Whiterow, who possesses the mortgage on the farm, comes over to claim his money, the Fergusons admit that they have nothing. Henry counters that he must foreclose. Despite Hannah’s reluctance to have anything to do with him, James proposes to pay their mortgage provided she agree to marry him. Feeling cornered and loving her parents, Hannah reluctantly accepts. But when left alone with James, she is so disgusted by his attempt to kiss her that she backs down from her promise. “I can’t thole him, da,” she says sobbing. Her mother, Sarah, tries to dissuade her from refusing him, but John and Andrew defend her choice. Hannah walks over to Henry’s house to inform him that they cannot pay the mortgage, while the rest of the family tell James that Hannah has changed her mind about marrying him. As James tries to overcome his disappointment, Hannah re-enters in a distracted state after being raped by Henry. “I was a poor trembling creature,” James declares rushing off, “but I’ll tremble no more.” Fearing the man might kill Henry, John asks his son to prevent it, but he refuses, so that John himself leaves the house in the hope of preventing murder. Andrew’s late-night meditations are interrupted by Clutie John, a weak-brained derelict whom the family harbored for the night. Clutie suggests that it is Andrew’s duty to protect his sister. Andrew decides it is so and leaves the house with a gun in his hands. The next day, James returns to the Fergusons to admit his disgrace. He had first headed for Henry’s house without a weapon, then walked over to his house to get one. But on the way back, he tripped in a field and when the gun went off, he could no longer move the rest of the night. To everyone’s surprise, Clutie returns to say that Henry has been found shot through the heart. Fearing to be charged with murder, James requests the Fergusons’ help, but John, suspecting him as the murderer, declares that he must surrender to the law, which he is forced to do. Two weeks later, James is in prison on the point of being tried for murder when Andrew is told that John’s brother has at last sent the money for the farm. Appreciating the irony of the situation, Andrew announces that he is the murderer and intends to surrender to the law. A stunned John tries to dissuade him from it, proposing that he take the money to join his brother in America, but Andrew declines, feeling remorse at the thought of James lying in prison for his crime. Instead, he takes his coat and cap and heads for the police station in Hannah’s company. =James Joyce= [[File:James Joyce by Alex Ehrenzweig, 1915 restored.jpg|thumb|James Joyce delved into the multiple levels of adultery in his only play, Exiles]] Yet another Irish writer and famous as a novelist, James Joyce (1882-1941), contributed a drama on marital relations, "Exiles" (1918), much in the manner of Ibsen, in particular "When we dead awaken" (1899) on the subject of "the nature of love as predicated on the personality of the artist...Both male protagonists are artists who have returned to their homelands from exile- Rubek is a sculptor, Richard Rowan a writer. The main opposition in Exiles, the satyr-like Robert Hand, is a more refined Irish descendent of the Gyntian bear-hunter, Ulfheim. Of Joyce's two women, Bertha Rowan, simple, loyal, generous, a server like Irene, yet seems to reflect Maia's childlike qualities; while Beatrice Justice, the intellectual, is rather vague and negative in quality, perhaps a projection of the bleaker qualities of Irene- one who is denied self-fulfillment" (Macleod, 1945 pp 891-894). In "Exiles", Tindall (1963) found confusion in intent. “Conflicts are the stuff of drama, and Richard has them in abundance, externally, between self and circumstance, internally, between feeling and idea or between parts of self. There are moral, social, and psychological conflicts, all centering in him. So furnished, the play about Richard should be better than it seems. A trouble may be overabundance of conflicts, each good in itself, but each conflicting with the others. None emerges to claim our notice as each cancels others out. Moreover, a conflict of conflicts, though intricate, subtle, and worthy of admiration may be too complicated for audience or reader to follow. Puzzled rather than moved, we are lost in the intricate diffusion. Beatrice, Bertha, and Robert are no better off. Even Richard, trying to know himself, seems disconcerted by the mess” (p 111). Joyce “has failed to make his characters conscious of what fate has in store for them. Had he made these men fully aware of what their lives held for them, the roles fate meant them to play, and he, furthermore, made them struggle valiantly against it, then if they had won in the end we should have had great comedy, and if they lost we should have had sublime tragedy. Consciousness would have made of them such responsible human beings as would have engaged our sympathies to the utmost; whereas unconsciousness has left them feeble victims blindly wallowing to no purpose” (Solon, 1970 p 150). Other critics were happier with the conflicting elements. “One of the qualities which delighted me in Exiles was that evidently nothing would induce Mr Joyce to make his characters less complex and interesting than he saw them to be. He would rather obscure his theme than do that, and though a fault, it is a fault on the right side- on the interesting side. The second respect in which he has learnt from [Ibsen] is his practice of intensifying our interest in the present by dialogue which implies a past. What a little scrap of people’s lives a dramatist can show us- just an hour or two! In life, it is usually what has gone before that makes talk between two people significant…Was she Robert’s mistress? The dramatist leaves that ambiguous. He does not mean us to bother much one way or another about that. Richard says at the end he will never know what they were to each other; but I do not think he is thinking of divorce court facts. He means how completely Bertha still belongs to him. Bertha tells Robert to tell Richard everything; but does he? She also tells him to think of what has passed between them as something like ‘a dream’. That, I think, is the line on which one must fix one’s attention to get the focus. Robert is happy; quite content with that. Perhaps because less hot for certainties in life than Richard, he thinks he has enjoyed a solid reality. I do not know” (McCarthy, 1970 pp 141-143). "Exiles is a play in which two men are struggling to preserve each his own essential integrity in a confusing situation where rules of thumb seem clumsy guides; and between them is a bewildered, passionate woman- generous, angry, tender, and lonely. To understand Bertha, one need only remember that she has lived nine years with Richard Rowan in that intimacy of mind and feeling which admits of no disguises, merciful or treacherous, that she has known all the satisfactions and disappointments of such an intimacy. Her nature cries out for things to be simple as they once were for her; but she, too, has eaten of the tree of knowledge and knows that they are not...The scene in Act II between the two men is wonderful in its gradually deepening sincerity. Hand is a coward at first, but he gets over that. Then Richard is tormented by misgivings about himself. Is not there something in him (for ties, however precious, are also chains) which is attracted by the idea that Bertha might now owe most to another- now, at any rate, that their own first love is over? How far is he sincere in leaving her her liberty? Is it his own that he is really thinking of? Bertha taunts him with that. And Bertha’s relation to Robert- what is that? I think it is the attraction of peace. To be adored, to be loved in a simpler, more romantic, coarser way, what a rest! Besides, Robert is the sort of man a woman can easily make happy; Richard certainly is not. Yet, just as she decided between them years ago, in the end it is her strange, elusive lover who comes so close and is so far away whom she chooses" (MacCarthy, 1940 pp 210-212). Aitken (1958) underlined two frames at work: "in the drama of the artist versus Ireland, Richard's 'archetype' stands pitted against those of his wife and friends all together, and in the second drama there is a four-way struggle in which each strives to retain his integrity and yet achieve union...Richard, to begin with, is a writer without an audience, and a potential leader without a voice (he has no position in Ireland, and his books, significantly, do not sell). Currently sleeping alone, he is thus, effectively, divorced from his wife. Robert Hand is a writer with an audience (to which he could introduce Richard if Richard would let him), but the futility of his idealism, emphasized by the comical terms in which it was presented, and his desire to be led by his friend, signals his essential mindlessness...Bertha is formless...and lost, and she appeals in vain to the shaping spirit of her husband for guidance. Beatrice's timidity has isolated her from Robert, while her weak, feminine love for Richard alienates him; the emotional Bertha, suspicious of her intellect, holds her at a distance" (pp 43-44). "The condition of exile...is not so much banishment from the heart or the home as banishment from spontaneity...In Richard's presence, everyone forgets...what he wanted, or thought, or remembered...a character who exerts a pull on those around him, drawing them toward the place of his incertitude...Richard dislodges Robert, Beatrice, and Bertha...He insists that they confront their own inability to articulate a permanent principle for their lives...Robert enunciates a principle of behaviour based in a half-hearted liberalism" (Voelker, 1988 pp 501-513). "Robert is the creature of [Richard's] youth...Richard, the ape of God, has made Robert; he has made Bertha and he sets them in a country-house with a garden, his new man and new woman...Each inquisition of the isolated person exposes that...each is alone" (Kenner, 1952 pp 393-395). "Because each of the four major characters constructs his or her own narrative, and because all four in some sense exclude the other three, all are finally exiled into mutually exclusive worlds...Richard and Robert speak to each other at cross purposes- out of different worlds. Robert angles to occupy Richard so that the would-be lover can meet Bertha at his cottage, while Richard wears the 'iron mask' not only of his bitterness towards the Ireland that will accept him only if he lives by its own rules but also of his understanding of Robert's machinations to keep him in Dublin so that Bertha will be available for the journalist's pleasure...Robert's self-pity and self-contempt only strengthen the reader's sense of Robert's conventionality- his care not to offend the populace, whether writing one of his 'leading articles' or spreading rumors to adjust public opinion and insure the stay of Richard and Bertha in Dublin...When Bertha is most delighted by Robert, he reminds her of Richard...Bertha's final speech shows her rejection of [Richard's] always inadequate plan. She lives not in the throes of doubt but in the time 'when we met first'" (Herr, 1987 pp 190-203). Richard “is utterly incapable of making love to a woman or of loving one unless he is or has been in love with a man to whom he is attached; for this reason he connives at his life-long friend’s, Robert Hand’s wooing of his wife and urges her- nay, goads her on to be unfaithful to him. The author subtly and delicately leads us to infer that Richard and Bertha are living a life of abstinence ever since his betrayal of her nine years before and that he gives her full freedom only that they might thus be reunited...He delights in putting himself in situations that entail a great deal of anguish for him, and he compels his wife to give him the fullest details of his friend’s assaults upon her honor. That he can be cruel too on occasion is not at all surprising; by virtue of the law of bi-polarity the masochist is also a sadist. The portraits of the wife, the friend, the other woman and even the child are interesting characterizations that will repay careful study. They are all intensely individualized and unquestionably human though not conventional. Archie, aged eight, is one of the few life-like children to be found in literature and is introduced into the play very effectively“ (Tannenbaum, 1970 pp 151-152). “Bertha is the first notable woman character that James Joyce has created. She is a subtle character. We get the suggestion that she has had little education, yet she carries herself with real simplicity and dignity. For all her contact with the super-subtle Richard, she remains unspoiled, alluring, unconventional, faithful. She has her outbreaks and she knows where to strike at Richard. Her simplicity and her good sense are shown in her last dialogue with Beatrice Justice, the woman who is able to understand her husband’s mind and work” (Colum, 1970 p 145). “What first strikes one upon consideration of Exiles is the irrelevance of God. There is simply no need for Him. The characters’ exile and sorrow is the human one of incompatible desires and unrealized hopes, a sorrow suffered in a universe with God in all times as well as in a universe without Him. Their longing is not for God and their exile is not from Him” (Bandler, 1970 pp 159-160). =="Exiles"== [[File:Affiche Kaaitheater naar James Joyce - Exiles (promotiemateriaal).pdf|thumb|An Ibsen-like atmosphere prevails when two men clash for the sake of the same woman. Promotional poster of the play in Holland, 1993]] Time: 1912. Place: Dublin, Ireland. Text at https://archive.org/details/exilesaplayinth00joycgoog https://archive.org/details/dli.ernet.235176 https://archive.org/details/dli.ernet.3049 After several years of self-imposed exile out of Ireland, Richard Rowan, a writer, has decided to return. He receives the visit of Beatrice, music teacher to his 8-year-old son. She had once loved Richard, breaking off from a friend of hers because in her eyes he seemed only a pale reflection of him. Her cousin, Robert, a journalist and Richard's boyhood friend, carries in a bunch of roses for Richard's wife, Bertha. To keep Bertha near him, Robert begs her to use her influence on Richard so that he comes to accept a local university position. He then asks her to come over to his cottage this very evening, but she promises nothing. When Richard re-enters, Robert immediately mentions he has spoken to the vice-chancellor on his behalf, a man who believes that Richard is most qualified to obtain the chair of romance literature. The vice-chancellor has invited Richard over to dinner this evening. He accepts the invitation. After Robert leaves, Bertha divulges to her husband how his supposed friend flirted with her and invited her to his cottage. Knowing about her husband's extramarital relation with another woman, she asks him whether she should go to him. "Decide yourself," he coolly answers. He unexpectedly shows up at Robert's place to inform him that his wife only felt pity for him. Regretting his disloyal attempt at seducing his wife, Robert only wishes that his friend could curse him. "You are so strong that you attract me even through her," he specifies. "Have you the luminous certitude that yours is the brain in contact with which she must think and understand and that yours is the body with which her body must feel?" Richard asks. Nonplussed, Robert returns the question. Richard replies that it was once so and that if he believed this was true in Robert's case, he would go away. Out of feelings of guilt, he fears that her acceptance of his adulteries has made her life "poorer in love". When a knock on the door is heard, Richard reveals it is his wife. Unnerved, Robert proposes to leave the room. "Solve the question between you," Richard proposes. As Bertha enters, Robert hurries in a panic towards the porch in the rain without an umbrella. "Bertha, love him, be his, give yourself to him if you desire, or if you can," Richard suggests before leaving. A drenched Robert tells her that Richard longs to be delivered from every bond and that the two of them together is the only one not yet broken asunder. "I am sure no law made by man is sacred before the impulse of passion," he adds while kissing her hair. Richard eventually accepts the university position. Next morning, a distraught Beatrice informs Bertha that her cousin, after publishing a favorable article on her husband, shows signs of preparing to move away, for which she feels guilty, having encouraged him to favor the writer's return. An equally distraught Bertha sends a written message to him to prevent such a possibility. Alone with her husband, Bertha asks him whether he wants to know what happened last night. "You will tell me. But I will never know," he retorts. After reminding her she is free to do as she wishes, he walks into his study as Robert arrives to tell her he is going away. He then tells Richard he failed in his mission, but the latter doubts whether that is true. A still hopeful Bertha asks that her husband return to her. =George Shiels= A sixth Irish dramatist, George Shiels (1881-1949), described the impact of the young in "The new gossoon" (1930), the name derived from the French 'garçon' (boy), a "charming peasant comedy graced by one of the most delightful rogues of the stage- Rabit Hamil, a very Autolycus of a poacher" (Gassner, 1954a p 571). George Shiels also wrote "Professor Tim" (1925), in which a geology professor pretends to have turned into a drunken fool to know more about his sister's family and her abusine ways. In "Paul Twyning" (1922), a plasterer becomes involved in family squabbles while seeking to promote a marriage between Dan, who regularly cowers before his father, and Rose, defenseless according to the whims of her own. In "The passing day" (1936), John Fibbs passes the happiest day of his life, also his last, by leaving trivial sums in his will to wife and nephew. In "The jailbird" (1936), a released convict, unjustly condemned, experiences great difficulty in being re-integrated back into town-life. In "The rugged path" (1940), father and son follow the difficult choice of denouncing a murderer in view of town pressure against denouncing anyone, rather than the easier way of keeping silent. In the sequel, "The summit" (1941), the murderer nevertheless goes free because of insufficient evidence and a feud breaks out between the accused and the informers. "The New Gosson is a state of the nation piece which cleverly deals with the conflict between the anti-colonial generation who forged the conditions of the fledgling free state and the younger post-colonial generation who prefer a carefree life of flirting, motor bikes, and frittering away the inheritance which their forebears earned through toil and sacrifice” (Murphy, 2010 p 225). =="The new gossoon"== [[File:Overgrown Trespassers Sign at Bryncrug - panoramio.jpg|thumb|Trouble starts when Rabit Hamil sees a "no trespassing" sign on hunting grounds he once had access to. A sign in Bryncrug, Wales]] Time: 1930s. Place: Rural Ireland. Text at ? Given hunting rights on the mountain once owned by a farmer named Cary and now by Ellen, his widow, Rabit Hamil is angry at seeing a sign put up on the property stating that trespassers will be prosecuted and dogs shot. Knowing that Rabit, whom she generally looks down on, is a friend of Mag, her servant at the farm, Ellen discharges her. Although discontented with the work required of her, Mag protests by revealing that Ellen's son, Luke, is also to be found there. When Rabit confronts Luke about the sign, he declares that in a few more days he will reach 21 years of age and become the master of the place and that the sign will remain. A frustrated Rabit reveals to Ellen that her son in part obtained his motorcycle, leather jacket, helmet, and goggles, from the proceeds of her secretly sold sheep. Angry at her son's riding after dark with the machine, Ellen promises to uphold Rabit's hunting rights. Wishing to marry Mag at the same time as getting rid of his daughter, Sally, he boasts of the latter's accomplishments about the house, all lies, in the hope that Luke will marry her. Sally accuses Luke of falsely promising marriage to her, which he denies. Rabit counters by threatening to take him to court. To keep Luke from seeing another girl-friend, Biddy Henly, at least for one night, Sally removes the plug from the motorcycle and gives it to his mother, who wants him around the house when her brother, Peter, comes over to speak with him about his wild behaviors. When he arrives, his old childhood friend, Rabit, arrives soon after in an angry mood because Luke pushed his daughter over to the hedge with his motorcycle for carrying his possibly incriminating love-letters to her. To subdue Rabit's anger, Ellen reminds him that she nursed his wife on her death-bed and bailed out his son from jail after he stole money from his employer. When Sally learns of the nursing, she promises to burn the letters. Worried about Luke's way of living, Peter reveals to the servant-man about the farm, Ned, that he intends to doctor the will so that his sister will still own the farm when his nephew reaches 21. To avoid a clash, Ned advises him to leave without speaking to Luke. Yet Peter bares his teeth against Luke, who sharply answers back. Fed up over the entire business, especially concerning the matter of the new head of the farm, Ned quits, news which dismays Ellen. To counter Luke's claim, Peter advises her to check over the exact contents of her dead husband's will. As Rabit and Mag plan their wedding, Biddy enters along with her father armed with a cudgel to threaten Luke, so that Rabit gives him wrong directions about where to find him. Learning about Henly's intention but not about Rabit's, Luke chases out both Rabit and Mag. When Henly returns, Sally defends Luke by specifying that his daughter's frolicsome manner was at least partly responsible for Luke's doings. A grateful Luke takes the will from his mother's hand and tears it up to follow Sally. However, Sally, likewise grateful to Ellen for her past kindness, refuses to leave the area, agreeing instead to live with him in a nearby farm bought by his mother, who agrees to marry Ned while Rabit and Mag separate. =Charles McEvoy= A choice between two women at different levels of social class figures prominently in The Three Barrows (1924), written by Charles McEvoy (1879-1919), who also wrote “David Ballard” (1907), a play described as “severely realistic” (Dickinson, 1917a p 170) about a young man intending to become a writer despite a lack of encouragement from his family. Although merely considered by some as “a colorful but cumbersome drama” (Clark, 1926b p 574), The Three Barrows is as severely realistic as the other. == The Three Barrows”== [[File:Home Farm House in the 1920s - geograph.org.uk - 1054862.jpg|thumb|A farmhouse is the scene of Victor's attempt at securing the love of a local farm-girl. A 1920s farm-house]] Time: 1920s. Place: Wiltshire county, England. Text at ? After an exhilarating horseback romp through the countryside, Sir George Ossler and Louise Parker, the friend of his daughter, Clara, join her for tea, followed by Louise’s brother, Geoffry, also back from riding in the company of a young widow. Geoffry mentions that he has something to say to Clara but then hesitates about whether he should. Encouraged by George and Louise, Geoffry blurts out how he saw Clara’s fiancé, Victor Meux, at the rick yard of the Three Barrows farmhouse, which all three consider unlikely since he is thought to be working in London. George is reminded that, as a magistrate, he ordered a fine to be imposed on a farmhand working at the Three Barrows for shooting a partridge. Geoffry defends his viewpoint by stating that three years ago, he accompanied Victor to that farmhouse while waiting for a train and that, moreover, Victor was struck by the sight of a girl working there. Clara is upset, even more so after learning that Victor has sent a message declaring his intention of coming over at their house. Two hours later, despite George and Louise’s advice of avoiding Victor, Clara insists on being present. As soon as he arrives, Victor explains that he felt overworked and so followed his doctor’s advice of resting at a quiet place. After being questioned by Clara about the residents there, he downplays his relations to Anna and Robert, twin sibling half-gypsies, niece and nephew of Farmer Frith. “My boy, be frank,” George advises Victor when alone with him. “How far has this gone?” Victor has nothing more to say. “I accept your explanation unreservedly,” George declares. Next morning in the kitchen at the Three Barrows farmhouse, Anna weeps at being unable to understand Robert Browning’s poetry. Victor comforts her by suggesting that she attempt easier material to read. She finds his demeanor more distant than before. He defends himself by indicating that he has had difficulty in adjusting to her growing to womanhood. They are startled by the unexpected arrival of Clara, Louise, and Geoffry by motor-car. While Victor leaves the room to fetch a beer for Geoffry, Louise is annoyed at watching her brother ogle Anna. She suggests that he check the motor-car in case of a dysfunction, so that he leaves reluctantly. When Clara begins to interrogate Anna, she attempts to back away. “I think the only thing interesting about me is that I’ve never been to school,” Anna states. Yet Clara perseveres and grows all the more alarmed and angry at what she hears until Anna, hearing of her friend’s engagement, expresses surprise that he is still unmarried. Relieved at her rival’s innocence, Clara requests Anna to show her Victor’s room. On his return, Victor angrily admonishes Louise for failing to prevent Clara’s visit, but switches to an appearance of good humor as Claire and Anna come back down. They are interrupted by Robert passing by in a shy manner and then Geoffry who encourages his sister and Clara to enter the motor-car before their petrol runs out. Next day as a thunderstorm approaches, Victor guides an unwilling Anna towards shelter inside a barn. Suspecting what he intends to say, Anna confesses that she promised his fiancée to prevent any further relation with each other. He retorts that he no longer intends to marry Clara and covers her face with kisses, at which she stands immobile, slaps his face, and staggers back against the woodwork. “She found you out,” she accuses. “So you say it must be Anna just to spite her, that’s all, it must be Anna.” He denies the notion by promising her marriage, but their talk is interrupted by Robert’s voice outside. Fearing that their meeting might be misconstrued, he guides her to an inner enclosure before her brother appears. Having learned of Victor’s engagement, an irate Robert insults him, then, discovering his sister’s hair-comb dropped in the straw, shouts her name until she emerges from hiding. Enraged, he loads his gun and aims it at him, then falters. Victor repeats his promise to marry as he did to his sister. “Robert, if you’ve got the nature that I credit you with, you’ll be ashamed of yourself within the hour,” he declares. Unwilling to believe his good intention, Robert watches his sister lean her head on Victor’s shoulder, who offers him his hand. “Keep it for your own class,” Robert retorts and heads towards the Ossler residence to inform them of these matters. Uncertain about the nature of his resolution, Anna requests Victor to follow Robert and explain his sentiments to Clara’s family. At first hesitating, he eventually accepts. In the evening, the Ossler and Parker families’ bridge-playing is interrupted by Clara’s aimless agitation over Victor’s wire of his impending visit, though nevertheless attending on Sir George’s demented mother. They are surprised to hear a man arriving on horseback and wishing to speak to them about Mr Meux. Louise guesses it is Robert and George the poacher he punished. He orders his servant to offer him a drink while waiting for Victor’s arrival. Although his daughter says to have reached an understanding with Victor, George worries that a quarrel with him would lead to problems with their mutual investments. On arriving and securing a talk with George alone, Victor manifests an eagerness to hear about a business case in the midst of his hesitations about announcing the purpose of his visit. Unable to come to the point in time, Clara insists on speaking to him alone. When he reveals that they should break up, she crumbles to her knees and deploys the frightened child game. He falters, kisses her when requested, and tries to disengage his arm as her father enters. She clings to him and he yields. Ashamed of his conduct as Victor predicted, Robert enters to speak with him alone. Victor is forced to give up Anna. On their way out, Clara and Victor are startled by Mrs Ossler’s frightful cackle of laughter. ==“David Ballard”== [[File:Trondheim wholesale office with telephone 1900s.jpg|thumb|As a would-be writer, Ballard is impatient of the drudgery of office work at a store. Wholesale office in Norway, 1900s]] Time: 1900s. Place: London, England. Text at https://archive.org/details/davidballardapl00mcevgoog David Ballard returns home dispirited from the nature of his work as an office worker in a store to his mother (Ellen), father (Simon), sister (Gladys), younger brother (Percy), and cousin (Mercy). “I’ve been drawn to this horrible, ghastly drudgery at the store and I can’t see any end to it,” he confesses to his mother. “I’ve no time for study, or quiet thought, or serious work of any kind.” For he wants to become a writer. She attempts in vain to encourage him, after which Simon, now retired, returns to reminisce about the 42 years he spent at work, a matter objected to by a Gladys uninterested in “talk shop”. Their lodger, Darwin Snodge, a portrait painter, arrives to pay his rent. When the family and Darwin hear that David intends on leaving the house and quitting his job, everyone except Mercy tries to convince him otherwise. “My boy, if you’d only stop there at your work patiently and try to cultivate a liking for it,” Simon pleads, “you’d soon get a substantial raise and everything would look rosy again.” David obtained a 10-shilling raise, but still wants to quit. In Darwin’s view, the lad lacks “patience, perseverance and hope”. “You can’t do good work unless you’ve got the stomach behind you to put into it,” he specifically advises. Because he has no intention of starving, David asks for a loan of 5 pounds, but is refused. As a result, he rushes out, at which only Mercy is glad. As Gladys and Darwin celebrate their engagement in a restaurant, Simon breaks down in tears after learning that his son left their home exactly one year ago. He is further innerved after spotting out the window David himself looking like a derelict. Darwin thinks the old man imagined it. “I foresaw this all along,” Gladys affirms. “I said we’d no business to bring him with us.” It is David, overwhelmed with shame but defiant. He has been unable to make a living out of writing. “Exactly as I predicted,” Darwin notes. Although Mr and Mrs Ballard want him back to the house, Gladys does not. However, Darwin objects to having his future brother–in-law “walking about the streets like that”. Percy agrees. One year later, David has taken over the job once held by his father, now dead. While Gladys fusses over her twins, Percy takes Mercy apart to tell her something, but they are interrupted by a Gladys in a frenzy because her cousin ignored her call. Percy begs Mercy to help him restore 700 pounds he took out of the till at work, which he has used to amuse himself with the higher social classes. David advises her to refuse his brother such a loan. Gladys interrupts a second time, exasperated at Mercy’s slackness in helping out with her babies. She reveals that Mercy is not her cousin after all, but an orphan the family picked up out of charity. “You will leave this house within an hour, creature,” she commands. Mercy is willing as David receives the news that one of his poems has won a 100 pound prize, to be handed over to his brother, Mercy advises. David reluctantly agrees and, having finally spoken of their love of each other, leaves the house in her company. =John Galsworthy= [[File:John galsworthy.jpg|thumb|Galsworthy exposed the antisemitic nature of a men's social club]] Among other British dramatists of interest, John Galsworthy (1867-1933) stands out as a social critic, especially for "Loyalties" (1922). Galsworthy’s plays are rife with legal questions, in particular the contrast between legal and moral justice and how class-conscious legal and moral judgments are (Lamm, 1952 p 286-87). In “The silver box” (1906), a man of the higher class robs as a joke his girlfriend’s purse, stolen in turn by a man of a lower class, who takes as well a silver box. When the woman challenges her young man, the father pays for it, but when the lower-class man is caught, only he is punished. “Strife” (1909) concerns a conflict between owners and factory workers. An agreement is refused on both sides, but after strife, suffering, and a fatality, both sides agree with the original plan. In Lamm’s view (1952), the play reflects that in society “there is less and less room for men of conviction and strong ideas” in favor of “moderate men who win the day with comprises and half measures” (p 289). Galsworthy also wrote "A little bit of love" (1915) when "the curate Strangway refuses either to hold or persecute his wife, who has gone to the man she always really loved, the people of the parish rise up against Strangway as a coward and a pagan. They despise a man who will not fight for what is his own" (Lewisohn 1922 p 170). Next in line comes "The skin game" (1920), "who touches pitch shall be defiled" is the motto of 'The skin game'...The pitch that defiled the Hillcrists and the Horn blowers was not in either of them but in the conflict that arose between them" (Lewisohn, 1922 p 170-172). “The play’s three acts emphasize three different kinds of loyalties in three appropriate settings. In the first act, at a country estate near Newmarket, De Levis’ accusations against Dancy are attacked by Canynge and Charles Winsor out of personal loyalty: the code of the gentleman. In the second act, at a London club, social loyalty is the subject: Canynge and Winsor fear for the reputation of the club and the army; for De Levis loyalty to his race motivates him to refuse to sign an apology. In act three, at the law office, loyalty to an institution, the profession of law, is emphasized. Finally, in the last scene, the inspector embodies loyalty to a similar but more abstract institution, the law itself” (Smith, 1994 p 893). Some critics denied the existence of such "loyalties": “to be quite frank, I don't believe it. I believe that Mr Galsworthy, touching this real problem of loyalties, has made an unreal, though theatrically effective, debating case of it. Here though, as elsewhere, he is the friend of the under-dog. In this play his sympathies are with de Levis, the man robbed, and with Dancy, the man betrayed by his temperament and by the foolish loyalties of his friends. To be on the side of the underdog is, with him, a real passion; and had he had any gift of lyrical expression his work might have taken on another, a more poetical and ideal poise. But, as his one volume of verse shows, this gift has been denied to him: and his passion for the oppressed shows itself more often in special pleading than in lyrical outbursts” (Shanks, 1927 p 50). Most critics considered the play objective: indeed, the play is "distinguished for its objective exposition of antisemitism in genteel English circles and of social alignments in general. The over scrupulous playwright left the issues too neatly balanced from the social standpoint but not from the psychological one owing to his firm characterization" (Gassner, 1954a p 618). This objectivity occurs because Dancy’s friends consider an attack against Dancy’s honor as an attack against theirs. Gassner (1968) further comments that ”it requires no great imagination to understand that the provocativeness of Loyalties was reduced to absurdly small dimensions by Hitler’s gas ovens...The effect on the nobly intended work of a gentlemanly liberal like Galsworthy was inevitably that of an earthquake on a mud-hut” (p 667). Not inevitably when one considers the date of the play and the action. When Loyalties was first presented on stage in 1922, Hitler was irrelevant; the play shook the theatre-going public across the British isles. "In this drama, as in all his novels, as in all his other dramas, Mr Galsworthy is constantly seeing and portraying how conflicting loyalties both are right; he is never interested in the larger loyalty and cannot keep his eye on it through consecutive chapters or through a single act; he is forever presenting the two or more sides and taking none" (Overton, 1924 p 15). "In the first sixty lines, an enormous amount of ground is covered; we learn what people are slaying with the Winsors, we are given portraits of the two principal characters, as well as a thumbnail sketch of Mabel, also a plan of the sleeping quarters of the guests which will have its importance a little later; a significant incident, which prepares the way for the theft, is described, and, finally, the theft itself is announced" (Dupont, 1942 p 102). “The robust and full-flavoured dramatic elements of the play were so strong that the public could, if it chose, enjoy them without bothering its head about the rest- an opportunity of which, it must be added, it was quick to avail itself. The point is clinched by the fact that the three of the four Galsworthy plays of which this is true The Skin Game, Loyalties, and Escape- were the outstanding commercial successes of his dramatic career” (Marrott, 1936 p 516). "The theme of this play in three acts and seven scenes dramatically one of the author’s most effective- may be said to be intemational. In every country, and every caste, in politics, in all national, racial and religious questions, in ail corporations, unions and cliques, in all marriage, family, amical and social relations, does the conception of loyalty of faithful adherence, of esprit de corps crop up. Repeatedly, the problem arises: if one of ourselves puts himself into the wrong, is guilty of a shady action, how fair are his social equals, his intimate friends and relatives, under an obligation to warn and advise him, to shield him and parry his assailant. For, if his unprincipled behaviour becomes public, not he alone is compromised thereby; it may lead to the exposure, and humiliation of the whole community, family, or what not of which he is a member, the closer and stronger the tie of friendship or blood, the higher the opinion we have of the person implicated, the more difficult is for us to believe in his guilt ! We reject all suspicion as long as possible. But too often we find that such sticking together leads in the end to the hushing up of shady actions. Often the culprit goes scot-free if, however, his opponent be powerful and pertinacious enough to unveil the true facts of the case, and bring him before a court competent to deal with him, he ends by being broken and defeated. And the same society, which before shielded him well, must leave him in the lurch so soon as the truth is revealed. Better, then, to warn him at the outset, help him as best we can, but not blindly follow him through thick and thin… The great interest of this drama, the technique of which is masterly from first to last, consists in the attitude taken by each individual to the accusation brought against the leading character...De Levis has many antipathetic traits: he is proud, hyper-senstitive, dogmatic, revengeful, a boaster; still, he is a man who would fain live at peace with his fellow men. 'It is indeed hard to decide which of the two shows up better or worse- this young Jew or the officer who, after all steals, lies, insults, keeps everything from his wife, deceives his friends, and would like to exercise an atavistic club-law, and yet, in spite of all, has about him a queer halo of coinage and adventure...It is his unbridled temperament, his inconsiderate willfulness, his arrogant nature which have brought him to this pass. During the war, he was in his element; after the war, he is at a loose ends, his resolute strength come to grief against his adversary’s courage of conviction and brain power, and this it is which finally drives him to his death...Twisden, the lawyer, has been caustically and falsely criticized. A lawyer, they say, has no right to abandon his client’s cause...We have here a lawyer of the old school, bred in the great pre-war tradition of professional honour and integrity. Through Gilman, the truth must have come out. To say noting of the fact that de Levis would have forced the issue a second time...It jars curiously that, in some quarters, the author's great dexterity in the manipulation of the scenes, the telling power and peculiarly strong dramatic effect of this play have been taken amiss. It is very seldom that a writer not only understands the theatre but can also create a drama of ideas. In Galsworthy we find this combination, rare today, yet this is sometimes put to the debit of his reputation. Theft, police, cross-examinations, court of justice, suicide, elements, despised of some, are absolutely essential in Loyalties for the furthering of the theme. They are not the end but the means to the end. The theft here is as little a vulgar theft as that in The Silver Box, and the more striking the drama of the piece, the more surely has the writer gained his end; i.e. to stir up the audience, to make them reflect, to awake in them a new perception and conscience, more humanitarian sentiments and deeper sympathy” (Schalit, 1929 pp 294-303). "In order to give of his best, Galsworthy must feel the presence of a great, elementary motive, not a motive which implies a too delicate or intimate drama, but a problem, a torment, a tragedy of the whole of society, or of entire masses or classes of society" (Pellizzi, 1935 p 120). Wilson (1937) criticized that, in general, "an undoubted flaw is the lack of humour in Galsworthy’s writing. This may have been due in part to his sense of discipline. It was more likely temperamental. At all events his work, so true to life, so admirably constructed and so essentially dramatic, does reveal here and there a certain stiffness and want of spontaneity. This is his only serious fault and it shows itself chiefly in the dialogue. His plays are so impartial that they seem almost artificially balanced and the characters appear at times to speak with reluctance. Yet there is nothing cold about Galsworthy. He wrote chiefly of a limited social class, but he dealt with wide social problems" (p 237). "The special note of Galsworthy's art is its restraint. His vision is wonderfully keen and clear and sober. He is intensely watchful not to overstep the modesty of emotions and events. He is never showy, never violent, never a special pleader. In his plays the forces of life themselves come into conflict and grow into crises with all the quiet impressiveness of an operation of nature. A man commits a crime; he is tried and punished. Workingmen strike and are forced to compromise. The inheritors of two sharply divided social traditions are on the point of marriage, and the division is seen to be too deep. A woman flees from a wretched union and wears herself out against the hard prison-walls of the social order...In choosing the angle from which, at a given moment, to envisage life, Galsworthy is fond of selecting such living incidents as have in themselves the inevitable structure of drama...Galsworthy has not always, of course, been able to attain such magnificent severity of structure. Life itself forbids it. But he has always striven to approach it, economising his strength for the creation of character" (Lewisohn, 1915 pp 209-211). =="Loyalties"== Time: 1920s. Place: England. Text at https://archive.org/details/in.ernet.dli.2015.214030 http://www.gutenberg.org/ebooks/4765 https://archive.org/details/loyaltiesdramain00gals http://www.fullbooks.com/Loyalties-from-the-5th-Series-Plays-.html http://books.google.fr/books?id=ATetNPyPs1MC https://www.gutenberg.org/ebooks/4765 As an invited guest in Charles Winsor's country house, his friend, De Levis, informs him he has just been robbed of money kept in his room and obtained by selling a horse. De Levis believes the thief is Ronald Dancy, who jumped from his balcony to his and back again. Another guest, General Canynge, tells Charles, but not the inspector called to the scene, that though Dancy denied he went out in the rain, his sleeve is observed to be wet. Nevertheless, Canynge declares to De Levis: "No one who makes such an insinuation against a fellow-guest in a country house, except on absolute proof, can do so without complete ostracism. Have we your word to say nothing?" "I'll say nothing about it, unless I get more proof," De Levis answers. Nevertheless, three weeks later, in a London club, Major Colford announces to his fellow members what De Levis has told him about the robbery. "He's saying it was Ronald Dancy robbed him down at Winsor's," says Colford. "The fellow's mad over losing the price of that filly now she's won the Cambridgeshire." De Levis avers that, contrary to his assertion, Dancy knew of the sale of the horse. In front of members of their club, De Levis accuses Dancy, who wishes to settle the matter with weapons, has no explanation on the points raised against him, and curses De Levis as a "damned Jew". Lord St Erth pronounces De Levis' membership suspended. Trembling with rage, De Levis resigns. As this concerns the honor of the club, the members encourage Dancy to take court action for defamation of character, which he does. Three months later, Jacob Twisden, Dancy's lawyer, discovers that his client used one of the bank-notes of the sale of the horse when he was blackmailed by another man, proving he is the culprit. As a result, Twisden drops the case and recommends that his client leave the country. Hearing of Dancy's difficulties, De Levis has a change of heart and goes over to speak with him. "I came to say that- that I overheard- I am afraid a warrant is to be issued. I wanted you to realise- it's not my doing. I'll give it no support. I'm content. I don't want my money. I don't even want costs. Dancy, do you understand?" Despite this plea of leniency, left alone at his house, before the police can enter, Dancy shoots himself to death. =Somerset Maugham= [[File:Maugham retouched.jpg|thumb|Maugham proved that our betters are not always so, 1934]] Though more famous as a novelist, Somerset Maugham (1874-1965) wrote several plays of interest, particularly "Our betters" (1923). Maugham also wrote "The unknown" (1920). On three-week leave from World War I, John returns home to the house of his parents, the Whartons, to marry Sylvia. His parents' friend, Charlotte Littlewood, has recently lost her second son to the war and is now alone. To the surprise of the Whartons, Charlotte wears no mourning clothes and plays bridge. When questioned about these, she answers: "I feel that I have nothing more to do with the world and the world has nothing more to do with me. So far as I’m concerned it’s a failure. You know I wasn’t very happy in my married life, but I loved my two sons, and they made everything worthwhile, and now they’re gone. Let others take up the adventure. I step aside." Even graver to the Wharton's view, John expresses disbelief in God. Sylvia is dismayed and no longer wants to marry him. John is aghast. "You are not the John I loved and promised myself to," she asserts. "It’s a different man that has come back from abroad. I have nothing in common with that man." She nevertheless tries to have him regain his faith by concealing his father's death and saying he would want him to go to communion. Although he accedes to her wish, she fails of her purpose. Maugham's psychological insight is all as keen in showing the results of restraining one's jealous emotions in "Caesar's wife" (1919), in which Violet loves Ronald, about to receive a promotion to an important secretary's position thanks to the recommendation of her husband, Arthur, a counsel in Egypt. Afraid of being unfaithful, she requests her husband to use his influence so that his nephew will obtain the post instead, so that Ronald can accept a position in Paris. When he demurs because Ronald is the better man, she specifies that the man loves her. Arthur receives the information coolly. Even after telling him she loves Ronald in return, he prefers to do what is best for the Foreign Office. "I put myself in your hands, Violet," he declares. "I shall never suspect that you can do anything not that I should reproach you for- I will never reproach you- but that you may reproach yourself for." She does not disappoint. The play is similar to "Penelope" (1912), in which a wife shows exceptional patience to save her marriage except when the husband commits adultery. The matter is treated more like a light comedy than "Caesar's wife", as if a husband's straying were more trivial than a wife's, the old double standard rearing up. Our betters is a "satirical title that might be supposed to refer to the upper classes. Actually the reference is to rich Americans who buy their way into British society. The women are the daughters of American industrial royalty. They search out impecunious gentlemen of title and pay their debts in return for a marriage ceremony. Then, titled themselves, and bored by their husbands, they tread the primrose path, unembarrassed by any respect for marital obligations. The men are of the same breed. Thornton Clay, who dines out in the best houses on the strength of scandalous stories about either his friends or his relatives, is ashamed of being an American. In nasal tones he boasts of not having a trace of American accent. His clothes are aggressively Savile Row. When Fleming Hervey, a young American who does not think that the Middle West is the Ultima Thule of civilization, arrives, Thornton Clay devotes himself at once to the congenial task of trying to turn him into an imitation Englishman” (Hobson, 1948 p 21). “The characters...sinned with the elegance of people bred to vice and ease” (Atkinson, 1974 p 231). Maugham “lashes with contempt the American expatriate who buys his or her way into a London society which reprobates while it accepts. It is a sordid and ugly picture, limned in with hard, brittle strokes. Explicitly a comedy, the play is implicitly a terrifying tragedy. It wears a grin that is cadaverous, on a second glance. The young American visitor, who revolts at the empty round of dissipation, is a stereotyped figure, whose function is to voice the protest of the play. Through him the author sits in judgment on his characters, and it is this moral consciousness that flaws the authenticity of the comedy as a specimen of the manners type” (Sawyer, 1931 p 227). "The play itself is a mercilessly amusing picture of a rootless, fruitless, extremely vulgar, smart set of people, a much paragraphed, photographed set, whose habits are luxurious, whose standards are common and cynical, whose love-affairs, relieved by a certain engaging candour, are canine. And who are the ladies with high-sounding names? They are American heiresses who have married for rank...Our Betters is rather a sardonically detached comedy, an exposure in the manner of Maupassant of one luxuriant corner of the social jungle" (MacCarthy, 1940 pp 235-236). It is "a devastating satire on the snobbery of American expatriates and their English set. The American girl, Bessie Saunders, is so aghast at the society into which she is being introduced by her titled sister that she takes a boat home. Here are noblemen like Lord Bleane who are eager to lay their coronets at the feet of every American heiress, duchesses like de Surennes whose maiden name in Chicago was Miss Hodgson and who favor good-looking boys less than half their age, and expatriated fops like Clay who speak condescendingly of 'you Americans in America'...A scintillating satire on the leisure class and on snobbishness or 'the spirit of romance in a reach-me-down', 'Our Betters' is one of the best comedies of manners since the Restoration" (Gassner, 1954a p 625). The play “shows how heartless and degenerate is the world in which his cunningly contrived comedy so skilfully moves. At times he seems to have returned to the moods of Restoration comedy, though one feels that he lacks gaiety, and that he despises these puppets who provide the wit which he contorts with a genial malice” (Evans, 1950 p 134). "This fine comedy is the play of Maugham most nearly comparable with the theatre of Wycherley and Congreve. It satirizes in masterly fashion the empty morality of a section of the London aristocracy at the time of the First World War. In the character of Pearl Grayston, one of the most unpleasant women ever introduced to the London stage, Maugham concentrates all his venom. The cold-hearted emotional imbroglio and her relations with her stockbroker admirer is managed with consummate theatrical skill, and the way in which the threatened social fabric is preserved after the degrading climax gives a specially cutting edge to the implications of the title...Our Betters must always rank very high as an unpleasant comedy of manners" (Reynolds, 1949 p 168). “Our Betters is directly in line with the glittering comedies of manners of the Restoration...The satire and cynicism of the play, suggested by the title, suited the post-war mood of disillusion; its hard, merciless wit and its absolute freedom from sentimentality pleased a new generation who felt themselves duped and cheated by their emotions...There are characters in Our Betters who are decadent and some who are perilously close to degenerate; but at no time does the play pretend to picture anything more than a tiny fragment of society...The author maintains a remorseless detachment throughout, which by no means indicates a callous lack of sympathy or understanding, but which gives an anti-septic cleanliness to the comedy...Although the straight-laced affected to be shocked by it, Our Betters is as relentlessly moral as Mrs Warren’s Profession. The two decent young Americans, who are minor characters, do not dull the hard polish of the comedy. The characters and situation offer numerous possibilities for tragedy or sentiment, but the play does not swerve from its comic course. It ends on a note of laughter not muffled by repentance or censure…The repartee is more brilliant than ever, but it fits the characters and situation and dims when removed from its content. When Clay, the snobbish opportunist, remarks: ‘Poor Flora with her good works! She takes to philanthropy as a drug to allay the pangs of unrequited love!’, we must know both Clay and Flora to appreciate the humour. When the princess asks: ‘Has it ever occurred to you that snobbishness is the spirit of romance in a reach-me-dowm?’ we feel that years of her own experience prompt the question; it is not merely a bon mot transferred from the playwright’s notebook. For purposes of dramatic contrast, and not from any didactic motive, the cynical humour pauses occasionally for the commonsense comments of the two young Americans and Lord Bleane, who serve as an unobtrusive chorus. They do not seriously touch the comedy. Our Betters is cynical, satirical, and hard, but diverting and funny” (Cordell, 1954 pp 107-110). “Interspersed with this intrigue are scenes in which the misery of people who marry for false reasons and the hopelessness of women who have been brought up to no purpose is examined. On the whole, the play denounces the human waste produced by a frivolous, even a vicious civilization that puts wealth and leisure into the hands of people who have neither the responsibility, the education, nor the instincts to employ it creatively (Knepper, 1994 p 1639). “This serious problem comedy satirizes the manners and tastes of the post-war Anglo-American wealthy crowd. The play reveals his familiarity with this particular social set and gives Mr Maugham an opportunity to display his superior powers as a writer of brilliantly constructed comedy” (Jurgensen, 1948 p 35). “Mr Maugham, in this brilliant and almost heartless comedy, has rewritten one of Henry James’s short stories in the manner of Congreve...And he is really much nearer to Congreve than he is to James...This play is really extraordinarily deft, and its matter is handled with any amount of style. Think, for a moment, of the way in which heavier-handed, more ‘sincere’ playwrights would have treated that cold, calculating blonde, Lady George Grayston, that lightning calculator with the air of an inconscient featherbrain...How would any one of these playwrights have treated that dark and common beauty, the duchess de Surennes, divided between passion and parsimony, torn between her sentiment- forgive the word- for Gilbert Paxton and that blackguard’s drain upon her purse?” (Agate, 1924 pp 118-121). The play contains "two groups of parvenus: the native and the transatlantic...Of the latter it is said: ‘They’ve got too much money and too few responsibilities. English women in our station have duties that are part of their birthright, but we, strangers in a strange land, have nothing to do but enjoy ourselves.’ The whole play is a comment on the quality of that enjoyment. It is this savage irony which makes Maugham a comic writer of the school of Jonson” (Greenwood, 1950 p 168). “Our Betters...is generally, and rightly, considered his masterpiece and it is likely to make his name known to theatregoers as yet unborn” (Stokes, 1950 p 157). “The play itself is a mercilessly amusing picture of a rootless, fruitless, extremely vulgar, smart set of people; a much paragraphed, photographed set, whose habits are luxurious, whose standards are common and cynical, whose love-affairs, relieved by a certain engaging candour, are canine. And who are the ladies with high-sounding names? They are American heiresses who have married for rank...All the characters in the set, sympathetic as well as vulgar, are American, with the exception of the fair Tony, who gets his living in it by complaisances which used to be considered unmasculine and dishonourable, and of the harmless Lord Bleane, who fails to secure in the end his scared young transatlantic heiress...Yet satire is not the right word to describe the play. It is only a ‘satire’ for those who attribute to the author their own moral reactions to what he shows them. Each character is allowed rope, and if, at the end of the performance, in your estimation the whole set is left dangling from the gibbet, either it was you who strung them up or they hanged themselves; it was not Mr Maugham who put on the black cap. Our Betters is rather a sardonically detached comedy, an exposure in the manner of Maupassant of one luxuriant corner of the social jungle” (MacCarthy, 1997 pp 215-216). Maugham “won popularity by combining his own sardonic sense of humour and objective detachment with a strong story-line in comedies of situation rather than character-development that managed to surprise and please his audiences” (Wickham, 1994 p 238). “Maugham very often strikes a bitter note; he contemplates reality, and the human soul, and tries to understand and bring out hidden motives, but refuses to pass judgement; he has the eye of the doctor, the relativism of the scientific man, and hardly ever the passionate mind of the moralist. His only thesis seems to be that man should be different from what he is. He has not any striking passion of his own, and therefore has no epos, and lacking this at heart, he lacks also the clash of feelings, the crisis, the real drama. His passion, if anything, is intellectual; he likes to probe the inward processes of the human mind, and to extract tragedy and comedy from those most deeply hidden, and essentially physical forces, which are the most common and yet the least commonly understood” (Pellizzi, 1935 p 274). =="Our betters"== [[File:Ina Claire-Edwin Marcus.png|thumb|Played by Ina Claire (1893-1985), Lady Pearl Grayston already has a lover but is also assailed by the lover of her friend, Minnie, at Henry Miller's Theatre as documented in the New York Times, February 19, 1928]] Time: 1910s. Place: England. Text at http://openlibrary.org/books/OL13536092M/The_Maugham_reader https://archive.org/details/in.ernet.dli.2015.51689 https://archive.org/details/in.ernet.dli.2015.38764 https://archive.org/details/in.ernet.dli.2015.185782 https://archive.org/details/in.ernet.dli.2015.526709 https://archive.org/details/in.ernet.dli.2015.51689 Lady Pearl Grayston leads a very active social life. While talking to her sister, Bessie, she suddenly remembers having invited twelve people over to dinner. "Does George know?" asks Bessie "Who is George?" asks Pearl. "Don't be absurd, Pearl" Bessie admonishes, "George, your husband." "Oh! I couldn't make out who you meant," she answers. One of Pearl's friends, Minnie, requests from her a favor: finding a position for her lover, Tony. Pearl is told he has no gift for languages, cannot type or take shorthand, and has no head for figures. "Well, the only thing I can see that he'd do for is a government office," Pearl concludes. Another of her friends, Flora, is organizing a concert for charity. Pearl agrees to have her own lover, Arthur, help out with tickets. "But don't harrow me with revolting stories of starving children. I'm not interested in the poor," she specifies. "I have plenty of heart, but it beats for people of my own class." The unprincipled Tony, showing few signs of gratitude towards Minnie, begins to flirt with Pearl. "You're somebody else's property," she informs him while leaving him with a perhaps. A few months later, Tony complains to Minnie of often being embarrassed to ask for one of her automobiles instead of having one of his own. When he shows signs of wanting to end their relationship, she panics and offers him one. Though pleased about the gift, Tony soon proposes to meet Pearl inside her tea-house, to which she agrees. This is observed by Minnie. During a game of poker, Minnie pretends to have forgotten her bag in the tea-house. Bessie offers to get it for her. When she returns, she appears so upset that Arthur guesses the reason why. When Pearl enters, Minnie looks over at her in angry triumph. Nevertheless, the next day, Minnie becomes downcast at Tony's intent of leaving her, and so offers to marry him and yield him independent means. Pearl refuses to allow Minnie to leave her house even in a luggage-cart until she explains she obtained a job for Tony in the Education Office, where he is to do nothing from ten to four o'clock. To appease the furious Arthur, Pearl violently rubs her cheeks to appear pale, but then agrees to their separation and refuses to receive any more money from him. Moved at this apparent weakness, he forgives her, but Bessie does not. She leaves her sister and refuses to marry a lord she once had an eye on, to avoid living as shamefully, in her view, as her sister does. =St John Hankin= St John Hankin (1869-1909)'s main contribution is "The return of the prodigal" (1905). Reynolds (1949) complained of "The return of the prodigal" as the "acme of cynicism" whereby "the conventional ending of 19th century melodrama is turned upside down...There is no point in destructive criticism of society unless a remedy is suggested" (p 146-147). But other critics consider that Hankin has more than cynicism to offer. “The prodigal son who returns from Australia is an airy youth, willing but inconclusive, doomed to eternal failure. In his absence the father and the brother, two types of Philistines greedy for gains and honours, have made their fortune in industry, and the brother is engaged to the most aristocratic and charming girl of the neighbourhood. All biblical hypocrisy is soon unmasked; the return of the prodigal son is a disaster for everyone: for the father, who has to guarantee him a living; for the brother, who is afraid of losing his aristocratic fiancée, and she naturally has eyes for no one but this reckless, romantic young man; and also for the sister, a resigned ‘souffre-douleurs’ of the whole house, because only now does she see and understand her unavoidable destiny as a perpetual victim in this selfish family. But the most amusing figure, and the most bitter, is that of the young prodigal, who has not repented at all, because, seeing that his misfortunes are consequences of his nature, he does not know what to repent of; and after he has succeeded in gauging exactly the selfishness of his father and his brother, he casts his nets and plays his catch with a logical and persuasive shamelessness” (Pellizzi, 1935 pp 108-109). “In The Return of the Prodigal a very dumpy, conventionally correct parvenu family, the Jacksons, suddenly find their political and social aspirations jeopardized by the return of a ne’er-do-well son, whose sang-froid and embarrassingly clear appraisals of the family furnish excellent comedy” (Sawyer, 1931 p 216). "The Return of the Prodigal...is still a well-proportioned comedy with several recognizably human personages, many quivers of a wit that is both theatrical and civilized, one excellent serious scene for a stay-at-home sister whom life is passing by, and always an unwavering sense of style. Hankin presents a prodigal son who is not ashamed of himself, and who returns for a few days to the heart (more or less) of his wealthy-manufacturing people in Gloucestershire, only to strike off again, as charmingly insolent and unredeemed as when he arrived. He is a prodigal, that is to say, who neatly inverts the old conventions such as 'People in the Colonies always do write for money' (Lady Faringford). Eustace prefers to seek the fatted calf in person. In his time he has flicked at many professions from liner steward to driver of a cable car in San Francisco. When he has returned to Chedleigh and deflated his pompous father and brother (that pair of insolent balloons), he moves once more into the unknown- at least London- with 250 pounds a year, to be paid quarterly. 'Make it three hundred, father,' Eustace adds, 'and I won’t write.' The play, I suppose, lacks certain things. It has no part to tear a cat in...Much of Hankin’s wit, unlike much of Wilde’s, derives from the situation and is always in character. Observe Mrs Jackson, the prodigal’s mother, who manages to be at once literal and fluffy. 'He allowed my girls to begin French directly they went to school, at Miss Thursby’s,' the rector’s wife says, 'but I’m bound to say they never seem to have learnt any. So perhaps it did no harm.' 'Yes,' Mrs Jackson answers comfortably, 'I’ve always heard Miss Thursby’s was an excellent school.' 'The Two Mr Wetherbys', 'The charity that began at home'...and 'The Cassilis engagement' are other works of Hankin that should have more than the tribute of a sigh. We have heard too much about his cynicism. He may often look at society with a detached amusement, but he can also besiege and reach the heart" (Trewin, 1951 p 63-64). MacCarthy (1907) pointed out that the author "puts forward a good case for a real ne'er-do-weel, who has about him no touch of the stage romance which usually surrounds such a character" (p 16). “Such a plot is of course a direct violation of all the laws of theatrical propriety, but Hankin insisted upon its verisimilitude. If a tragedy must come to a realistic conclusion, he reasoned, so also may comedy. The Jackson family are middle-class, like the Voyseys, with middle-class ideas and ideals, and are the slaves of middle-class morality. An intelligent man who genuinely comprehends himself and his family and refuses to exaggerate the importance of money or money-making will inevitably become master of the situation. Eustace, therefore, is permitted to have his own life as a character and is not forced into the stereotype of the repentant prodigal gratefully chewing on that fatted calf which is a symbol of his submission to familial convention” (Downer, 1950 p 317). "The scapegrace son is generally either a romantic or a sordid figure. Here he shows the most disarming effrontery and, disdaining the offer of a job, coolly blackmails his father into making him an allowance. Such is the comic theme of a play which also contains a highly moving, yet restrained portrait of the prodigal’s sister, who fills the thankless role of the unwanted woman" (Wilson, 1937 p 254). The play "evinces real observation and artistic sincerity. It is the story of a wastrel who really is a wastrel; he is not a victim of circumstances or a rough diamond, or a good trusting fellow betrayed and badgered by his villainous rival through three acts, only to save the heroine from a burning mill in the fourth. No; he is by birth inefficient- a gentleman, good-natured, and discreet, but material prosperity flees from his most crafty stalking. There are such people, and Hankin gives us a first-rate study of one of them, a study both amusing and pathetic, unmarred by a cowardly happy ending" (Norwood, 1921 pp 77-78). “Violet...is revealed as trapped...by the social proprieties attaching to marriage and social intercourse...She registers her situation: ‘we are to be great people, but you don’t find Sir John Faringford’s son proposing to me...so the great people won’t marry me and I mustn’t marry the little people.’...Unlike her wastrel bother, she has no means of relaxing her father’s iron authority” (Chothia, 1996 pp 72-73). "The first characteristic of Mr Hankin as a dramatist is that he is easy to act; his characters are very clearly drawn, and the emotions and situations with which his plays deal are within the reach of a very moderate range of experience. The parts do not call for 'temperament' or imagination in the actors so much as intelligence and sympathy, which are easier to mind. His other qualities are lightness of touch, an original humour, the power of weighing character in a very even balance, and dexterity in introducing into a very ordinary series of events which the audience is certain will be evolved along the most natural lines an element of surprise and suspense. 'The return of the prodigal' shows all these qualities at their best...This may seem a slender theme for a play, and the solution of a problem into which the spectator has entered with an almost parental perplexity by the allowance of £250 may sound flat, but the denouement is not flat and the suspense is kept up till the last. The dialogue is most spirited and natural, and often extremely amusing. The prodigal excites a good deal of sympathy, because he is moved by the sympathy of his mother and sister, and because he is miserable and aware of his own feebleness, which he makes the justification of his claim, as he really believes himself incapable of earning a living; while a scene between brother and sister, very touching in its matter-of-factness, makes one feel that father and son are fair game, by revealing that her prospects of a free and happy future have been ruined by being dragged by them into a society where for her there is little chance of marriage. Stella Faringford will probably marry Henry Jackson. Some kind of a love-liking springs up between her and the prodigal in the course of the four acts, just enough to make the sense of his own incompetence harder to bear and the conclusion of the play doubtful" (MacCarthy, 1907 pp 20-22). “In St John Hankin is much of the intellectual curiosity and honesty of Shaw in approaching contemporary social life, but while the latter is shaking his fist, the former is merely shrugging his shoulders. In his detestation of bourgeois cheapness of mind and soul, Hankin never forgets that he is writing plays and not theses, and therefore does not exploit his characters by subjecting them to his dictation, but allows a. social truth to evolve from what they do and say...It is characteristic of him that he should champion the under dog, the social misfit, who protests against the conventionality of the comfortably adjusted and the unrespectability of the respectable. He likes audacious people who disturb the sanctified peace of society. And yet, uncompromising as he is, he has not quite the philosophy to let his sense of the comic rise above his irritation. He is a little prejudiced in his very gesture of eschewing prejudice. Hankin never broke through into a full, clear utterance...But he was a substantial workman, who, unafraid and clear sighted, brought healthy ideas into comedy. His milieu is not primarily that of the aristocracy, but in his observation, in his moral inconclusiveness, and in his amused cynicism he is eminently qualified as exponent of the comedy of manners” (Sawyer, 1931 pp 213-214). "Shaw is an interested optimist, and Hankin is a disinterested pessimist; Shaw always hopes for the best and fully intends to make himself heard and to be successful: while Hankin contemplates the irremediable weaknesses of human nature and seems only to desire that men should see and recognize them, trusting perhaps in the beneficial effects, not social or historical, but individual and moral, of contrition and charity. This is a Catholic attitude, of which perhaps the author was not conscious, and which I believe he would not have accepted intellectually. In each of his works there is a character or a situation which all but attains the tragic, yet has not the strength of passion to reach it; and it is not through virtue, but through weakness, that these men and women fall back into the atmosphere of comedy" (Pellizzi, 1935 pp 107-108). =="The return of the prodigal"== [[File:Rembrandt - The Return of the Prodigal Son (detail) - WGA19134.jpg|thumb|Eustace's return fails to induce a father's tenderness, unlike the one portrayed by Rembrandt (1606-1669) from the Biblical source]] Time: 1900s. Place: Gloucestershire, England. Text at http://www.archive.org/details/returnofprodigal00hank https://archive.org/details/in.ernet.dli.2015.45361 https://archive.org/details/dli.ernet.503892 Henry Jackson, a prosperous textile manufacturer working with his father, Sam, is at the point of asking Stella Faringford in marriage, when she interrupts and asks him to forbear for awhile. Family and friends learn that Eustace, Sam's other son, sent to Australia with a thousand pounds as a misfit, was discovered by a servant lying on the ground near the house, having apparently fainted. He is led in unconscious. Sam asks Henry not to delay in obtaining Stella's hand, since the Faringford influence may be decisive in his candidacy for a seat in Parliament. Eustace is examined by the family doctor, unable to detect, as he humorously tells his brother, that his fainting fit was feigned, to draw pity on his person, since he returns as a prodigal with nothing to show out of the money he previously received. Sam has had enough of his son's loafing about the house, especially after learning he coolly ordered expensive new clothes for himself and arranged to have the bill sent to his care. Sam orders him out of the house. Eustace counters that, should he be forced to leave, he will make a scandal of the treatment he receives, reducing his father's chances to win his seat in Parliament and compromising Henry's marriage prospects with Stella. "I don't like work," he comically informs them,"so there's nothing left but to beg." They negotiate. Sam proposes to send him back to Australia with another thousand pounds, but Eustace reminds him that they have already tried that strategy, which amounted to a dismal failure. Instead, the prodigal wants an annual stipend of 300 pounds, which Henry finds attractive, because, should his brother cause trouble, all they need do is cancel the allowance. Sam insists on 250 pounds and politely asks him to write sometimes. "Make it 300, father," Eustace retorts cynically, "and I won't write." Sam signs a cheque as a first installment and contemptuously waves it away. =Harley Granville-Barker= [[File:Harley Granville-Barker.jpg|thumb|Harley Granville-Barker showed much ado about a kiss during business hours, 1906]] Harley Granville-Barker (1877-1946) contributed an important social drama of people at work with "The Madras house" (1909), "that incomplete work of genius which is more exasperatingly characteristic of its time than any play written in our day in the English language" (Woolcott, 1922 p 113). "So far as the present writer knows, Mr GB Shaw, in Mrs Warren's Profession, is the only dramatist who has treated the whole question of the fallen woman from its sociological side. For the rest, he has cast off accepted conventions in sexual relations as in others, and might even be accused of teaching the unimportance of the marriage ceremony, when the Life-Force is impelling the woman to seek a father for her child. Here Mr Granville Barker, in The Madras House, shows himself a disciple of Mr Shaw, by his representation of the unrepentant sinner, Miss Yates" (May, 1911 p 166). Some early critics such as Andrews (1913b) dismissed Granville-Barker's plays as drab. "Mr Barker finds nothing too commonplace, too dreary, nor too impertinent to be included in the conversation of his characters. Through long pages of perhaps characteristic, but utteriy unimportant, talk struggles a thin thread of narrative, scarcely strong enough to hold the piece even loosely together. All this is deplorable; for nothing worth while is accomplished; the stage is brought no nearer to reality, and a vital illuminant- if the metaphor may be so manipulated- is almost cunningly concealed, like Gratiano's reasons, in a bushel of chaff. It is not the art that is true to life, but rather the life that is in no wise true to art. The Madras House, for example, a play without hero, heroine, or plot, sets forth, in the familiar atmosphere of middle-class English life, the varying English views upon the woman question" (pp 142-143). "In The Madras House...there is not even the pretense at a plot. Nothing takes place from act to act except conversation. There are themes enough,- certainly, enough for a season's output,- but they are only so many expressions from various angles of a sex-ridden society, and if Mr Barker believed in one thesis more than another, his conviction is not so clear as is the state of things he has satirized. A household of six unmarried daughters; a drapery-establishment where the employees live in, Constantine's retirement to the east to keep a harem so that his mind need not be distracted during hours of serious business,- all contribute to a fantastic picture of contemporary life from the point of view of sex" (Haskell, 1918 pp 288-289). “Complex in theme, bold and original in treatment, it may be best described as a satire on the thwarted lives led by women in England in the first decade of the century” (Evans, 1950 p 128). “Each act shows a different kind of woman and a different perspective- familial, marital, and professional- upon women’s economic dependence on men. Act 1 counterpoints Mrs Huxtable, the paragon of respectability that inhibits all spontaneous impulses and reduces life to domestic conventions, to her six no longer young daughters...The Huxtable daughters have no expressive language of their own, only a code of verbal behavior imposed upon [those who] govern them and threatens all who approach them” (Maloney, 1994a p 991). "Has anybody noticed, I wonder, that each of the four married women in this play is an awful warning against marriage? First there is Katherine Huxtable, a British matron bound in triple hide of ignorance, prejudice and convention. Second is Amelia Madras, whose placid obstinacy of self-martyrdom would drive any man into sin. More awful still is Mrs Brigstock, that embittered, jealous, charmless spouse with one eye fixed on the main chance and the other on her husband’s discomfort. Last there is Jessica Madras, who must come down to the office instead of telephoning and cannot see why she should not be taken out to lunch, who feels herself neglected and chooses her husband’s best friend as the repairer of that neglect" (Agate, 1926 p 235). “The six unmarried daughters of the Huxtable household display their barren life in their repetitious conversation…[They] will stay in their comfortable nest, making occasional flurries for freedom, like Jane’s rebellion when her suitor was rejected by her parents, or indulging in adolescent fantasies, like the 34-year-old Julia swooning over Lewis Waller’s collar and crying when her mother removed it. They will continue to be told when to keep their hats on, asked where they are going when they leave the room and mildly reprimanded for taking the long way home from church- the lot of unemployed, unmarried women of the middle class at the turn of the century” (McDonald, 1986 pp 92-93). “The Madras house manufactures women’s clothes...Sex is commercially profitable, very profitable...The dramatic characters shift in every act. Only one of them appears in all four...The play is amazing in its broadness and seeming completeness” (Moderwell, 1972 p 218). The play has no "plot, or rather the formal plot is strangely sundered from the genuine interest of the play; it recounts merely the sale of a great costume business to a commercial but romantic American. On this a magnificent fabric of discussion, mainly about the social position of women. Female assistants in large shops, the living-in system, the life of the normal married woman in England, the effect on men's work of the presence and co-operation of women- these topics are handled with brilliant originality and fluent eloquence. The study is made dramatic by the contrast between Henry Huxtable and his partner Constantine Madras. Huxtable is positively steeped in home affections and Victorian stolidities, feels that he could not be happy in heaven without antimacassars and a marble clock. Madras is elaborately contrasted with him at every point. Not only has he so revolted against English home life that he has deserted his wife and son many years ago, Mr Barker, in order to provide the external point of view, has actually converted him to Mohammedanism, and conferred upon him a house and harem in an Arabian village. This person's comments on the Englishman's attitude towards women are both novel and deadly, provoking a healthy reaction or commanding revolution. The upshot is that women are a disturbing and destructive factor in the ordinary business of the world confined to the house in the Eastern fashion, they would perform their function of brightening life and soothing the wearied soul" (Norwood, 1921 pp 90-91). The Madras House "consists of four juxtaposed episodes. The life of every character is shaped by his or her particular relationship to the couture firm...There is no resolution to any of the characters in marriage, divorce or suicide, and even the pregnancy of Marion Yates and her refusal to name the father of her child results in no denouement" (Chothia, 1996 pp 60-61). "This piece reveals no definite beginning and the author has deliberately planned it in such a way that it shall show no end. Structurally, this work is, so to speak, a succession of four middles" (Hamilton, 1914 p 94). "The play is organized as a presentation of social problems with a deliberate plan of non-development. The "playwright adopted a loose form that enabled him to play with problems like a master rather than a journeyman of the theatre of ideas. Clever satirization of a respectable draper’s household and of another middle-class prison, a drapery establishment or 'industrial seraglio' where the employees 'live in' and must abstain from marriage, is supplemented by the pointed whimsy of the wife-deserting Constantine Madras who has become a Mohammedan. To the worthy pater familias Huxtable with his half dozen cowed and unmarried daughters Constantine paints the advantages of polygamy; all the daughters could be taken care of by a single man! Moreover, the segregation of women would promote a rational life and society: 'From seventeen to thirty-four- the years which a man should consecrate to the acquiring of political virtue- wherever he turns he is distracted, provoked, tantalized by the barefaced presence of women. How’s he to keep a clear brain for the larger issues of life...All politics, all religion, all economy is being brought down to the level of women’s emotions.' This is the bee in Constantine’s turban, and it buzzes agreeably. Only his serious-minded son Philip, who concerns himself with human misery and fears that 'we good and clever people are costing the world too much' is a proper foil to both the easy-going Constantine and the smug Huxtable. The drapery establishment of which he is part owner recalls both Carlyle’s dour fulminations against the dandiacal English habit and Ruskin’s views on art. Philip wants an 'art and a culture that shan’t be just a veneer on savagery', something that must come 'from the happiness of a whole people'. Therefore he is going into politics. Neither lightness of treatment nor weight of thought is absent in this rambling but fertile comedy of ideas" (Gassner, 1954a pp 619-620). “All is brought to a head in the extraordinary third act where the business is sold...The beauties of costume, textile, body are at the same time dependent on the exploitation of young women. The moment the deal is sealed takes ten lines of dialogue. The lushness of theatre is paid by, but obscures the operation of money” (Shepherd, 2009 pp 150-152). “The play reveals the fashion business as one in which women are dressed for display in a sexual market; the women modeling the clothes are treated as animated mannequins, dressed in revealing garments which prevent them from even sitting down” (Eltis, 2004 p 233). "The rhythm of action- emphasis and suppression in the service of unity of effect- is abandoned. Each act ends in the midst of a conversation; so does the whole play, and the stage-direction remarks: 'she doesn't finish, for really there is no end to the subject.' All of which means that Mr Barker seeks to follow the broken rhythm of life- the helpless swaying hither and thither of human talk, the pause of embarrassment or sudden blankness which leads to irrelevant changes of subject. In addition, he seeks to illustrate, as in the second act of The Madras House, the fact that human affairs run parallel to each other and have often no connection except the accidental one of a single man or woman's being a participant in each. Thus the scandal among the employees of the house and the sale of the house to the American, Eustice P State, have nothing in common except that Philip Madras must, necessarily, give his attention to both. Each, to be sure has, upon reflection, a bearing upon the theme of the play which is, once more, the problem of sex. But from the aspect of fable and structure The Madras House marks a point at which the avoidance of artifice touches the negation of form. Negation of form! Having written the words, I am almost ready to retract them. For in truth The Madras House is one of the most fascinating of modern plays. Its strange inconsequentialities of structure, its act endings which trail off into a natural silence or simply blend with the ceaseless hum of life seem but to sharpen the peculiar tang of art and thought, extremely keen and personal, that exhales from the play. The thesis of The Madras House is no less arresting than its form. The gradual emancipation of woman in the West has led to the constant, enervating preoccupation with the instinct of sex. Society, politics, education- all bring men and women into contacts which are, consciously or not, sexually stimulating. The vast industries that serve the adornment of even the most cultured of modern women prove these very women to be primarily bent upon emphasizing the sexual appeal. To this menace there are two effective retaliations: one, that of the elder Madras, to segregate women as in the Orient, and let men do their work in the world in virile cleanness; the other, that of the younger Madras, to force our civilisation to be less of a 'barnyard' in spirit, to wring from it a culture that is not simply a veneer over sexual savagery" (Lewisohn, 1915 pp 203-205). “The plays of Granville Barker are thoroughly modern both in form and content. In his Madras House (1909) the question of guilt might have played an important role, but does not. The one character who is really culpable according to the old accepted standards of ethics considers himself far above these standards. He disregards them or tramples them underfoot without the slightest feeling of guilt” (Cast, 1917 p 538). The Madras House "shows two cross-sections of early-twentieth-century society, the first being a respectable suburban home at Denmark Hill, and the second the drapery store of Messrs Roberts and Huxtable. In each the primitive natural feelings of the inmates have been repressed" (Reynolds, 1949 p 139). "This is a study in repression (there are seventeen women in a cast of twenty-five): the repression of the younger generation of suburban Denmark Hill- the suburbs had a bad time in the New Drama- and of the drapers’ employees of that harem of industry, Messrs Roberts and Huxtable’s at Peckham, and of ‘the Madras House’, the Bond Street dress-shop that gives a name to the piece. It contains an invigorating debate on the place of women in society. It is acute and it is courageous. This is one of the most notable plays of rebellion in a rebellious period when so many lids were being lifted from so many cauldrons, when we heard both a singing and a growling in the air, and suffragettes had become front-page news" (Trewin, 1951 p 81). "When the situation between his characters reaches the most serious pitch, instead of speaking impulsively out of themselves, they tend to transfer their predicament to the plane of generalities, discussing it as one not peculiar to themselves but to many (vide the dialogue between husband and wife with which The Madras House closes). In short the drama of Granville-Barker is that of a man to whom the significance of life has been most excitingly revealed, not at moments when, so to speak, he has banged up against other human beings, but when intimacy has taken the form of sounding the depths of experience together, and the condition of mutual proximity has been on both sides a high personal detachment...We can get a bird’s eye view of a gigantic theme much too big for treatment in a single action drama. He has constructed his conversation drama with a skill which it is a delight to remember afterwards. I can understand a spectator thinking that the dramatist was spending too much time on the construction of a realistic atmosphere, but on reflection these little touches, like the perpetual polite introductions of the many daughters of Mr Huxtable (Admirable, perfect Mr Aubrey Mather!) to Major Thomas, are superfluous. Not at all. They suggest the dire extent to which human relationships in that household have been fossilized into prim formalities, just as the mannequin show illustrates the 'moral' and commercial exploitation of sex interest...Thus the play is a scheme of ingeniously contrived talk through which illuminating rays from different temperamental quarters are thrown on the theme. Old Madras is a man to whom sex is the spice of life, but he does not like the whole of life to be flavoured with it; the sentimental American, Mr Eustace Perrin State, wants every dish saturated with it— but in a diluted, romantic form; old Huxtable has thought all his life that the proper thing to do was to ignore it- and a nice mess the Huxtable family have made of that. The point of view of the desiccated Miss Chancellor is given, and- wonder of wonders- she is properly allowed to keep her dignity; in the hands of a lesser draughtsman she would have been just a poor old cockshy; the young mother who has thrown her cap over the windmill gives hers; the cramped and harried Brigstocks exhibit the predicament into which industrial civilization has forced them" (MacCarthy, 1940 pp 215-219). “Although The Madras House clearly deals with the fashion industry, the marriage market, ‘surplus’ women, the morality of the ‘live-in’ system of industrial labour, and the commodification of women…, I am not arguing that Barker’s plays are about sex any more than they are about politics or social policy. Barker’s ostensible topics (legislation, finance, fashion) are stand-ins for more complex issues: the life of the mind, the soul and the imagination, as it is manifest in the most basic of human relationships and the shape, structure and spirit of the larger community. In Barker’s dramatic universe, the personal and the political are enmeshed and inseparable” (Mazer, 2006 p 76). =="The Madras house"== Time: 1900s. Place: England. Text at http://www.archive.org/details/madrashouseacom00bargoog Philip Madras and his uncle, Henry Huxtable, prepare to sell their clothing shop, Roberts & Huxtable, to an American financier by the name of State. For this purpose, they will soon meet with Philip's father, Constantine, separated from his wife, Amelia, 30 years ago due to his adulterous relations with several of his employees. Amelia wishes to see him, too. "I am his wife still, I should hope,” she tells her son. He went away from me when he was young. But I have never forgotten my duty. And now that he is an old man, and past such sin, and I am an old woman, I am still ready to be a comfort to his declining years, and it's right that I should be allowed to tell him so.” Recently, Henry has heard news that two of their employees, William Brigstock and Marion Yates, were seen kissing at work by the housekeeper, Miss Chancellor. News of improper conduct quickly spread around, all the more so since William is married and Marion unmarried but pregnant. Although William's wife, Freda, believes her husband innocent of adultery, Henry wants to sack both. In his office, Philip asks Marion to explain what happened in front of William and Miss Chancellor. ”And when I told him- all I chose to tell him as to what had happened to me, I asked him to kiss me just to show he didn't think so much the worse of me. And he gave me one kiss - here,” Marion explains while pointing to her forehead. Miss Chancellor believes that she is lying, that they are in fact lovers, but Philip is prepared to let the matter drop. However, husband and wife consider the accusation slander and insist on a public retraction, which Philip refuses to consider. “How is Mr Brigstock to remain in the firm if Miss Chancellor does?” Freda retorts. Miss Chancellor is outraged, Freda threatens her with a lawsuit, Miss Chancellor threatens to leave the firm unless believed. "It would be good manners to believe her,” Philip tells Miss Chancellor. “We must believe so much of what we're told in this world.” Philip’s friend and State’s representative, Major Thomas, arrives for the business meeting. He amuses Philip by requesting him to be invited less often at his house and see less of Philip’s wife, Jessica. "Phil, I don't like women, and I never did," Thomas confesses, "but I'm hardly exaggerating when I say I married simply to get out of the habit of finding myself once every six months in such a position with one of them that I was supposed to be making love to her.” The owners agree to sell the company to State, who waxes poetical over the new line of women's dresses he intends to exhibit. "It is the middle class woman of England that is waiting for me, the woman who still sits at the parlour window of her provincial villa, pensively gazing through the laurel bushes. I have seen her on my solitary walks. She must have her chance to dazzle and conquer," he muses enthusiastically. He thinks that the economic independence of women is the next step in civilization. Constantine disagrees, having converted to Islam. Henry is disgusted at this bit of news. "I've not spoken to you for thirty years, have I? That is I've not taken more notice of you than I could help. And I come here today full of forgiveness and curiosity to see what you're really like now and whether I've changed my mind or whether I never really felt all that about you at all and damned if you don't go and put up a fresh game on me! What about Amelia? Religion this time!” he exclaims. Constantine opines that the world's interest is best served by keeping women at home. "From seventeen to thirty-four, the years which a man should consecrate to the acquiring of political virtue, wherever he turns he is distracted, provoked, tantalized by the barefaced presence of women,” he declares. “How's he to keep a clear brain for the larger issues of life? Women haven't morals or intellect in our sense of the words. They have other incompatible qualities quite as important, no doubt. But shut them away from public life and public exhibition. It's degrading to compete with them, it’s as degrading to compete for them.” Furthermore, he accuses the affronted Henry of keeping "an industrial seraglio". "What do we slow-breeding, civilized people get out of love and the beauty of women and the artistic setting that beauty demands? For which we do pay rather a big price, you know, Tommy. What do we get for it?" Philip asks Major Thomas. At this, Thomas is utterly at sea. When Constantine encounters Amelia, she lets him know she wants to follow him to Arabia. He refuses. She then asks him to stay in England in a different house than hers. After being refused again, she exits while looking at him hatefully. When Philip asks his father was there no other way to treat her, he answers: "Was I meant to pass the rest of a lifetime making her forget that she was as unhappy as people who have outlived their purpose always are?" Philip receives a letter from William's solicitor for compensation to the slanders his client was exposed. As suspected, he learns his father was Marion's lover and humiliated because she refused his money. He advises his son to sack William and Marion, though offering him monetary compensation and her a position later on at the new company. Philip acquiesces. To Jessica, he cheerfully conveys Thomas' message. She angrily thanks him for it. He concludes that they must live less expensively and that he contribute to society with meetings at the town council, but she, on her side, does not know what to do with herself. "You don't always let us have the fairest of chances, do you?" she asks. =Githa Sowerby= [[File:GeorgeJacombHood-1912-GithaSowerby.png|thumb|Githa Sowerby delved into what happens when a man's two sons refuse to take up his business. Portrait of the author by George Jacomb Hood (1857-1929)]] Githa Sowerby (1876-1970) contributed a fine family saga during this period with "Rutherford and son" (1912), "Rutherford and son" is "a drama of domestic tyranny centering around the granite figure of the industrialist Rutherford whose children escape his tyranny only after being virtually broken by him. Dramatic power is also furnished by excellent characterizations of an old sister who fears him, a frustrated daughter who runs away with his foreman, and a weak willed son who can only free himself by abandoning his wife and his child and breaking his father’s cash box. Only the son’s wife remains, and it is she alone who finally masters the hard old man now that he wants an heir to the house of Rutherford and is in need of such affection as he can find" (Gassner, 1954a p 621). Andrews (1913b) complained that "Miss Githa Sowerby...sets before us with notable vitality and force the ruthlessly dominant male. Like [Elizabeth Baker's 'Chains' (1909)], this play is gloomy, sordid, and depressing, admirable in characterization and dialogue, and almost devoid of action. Its popularity, in the face of its hard and repellent subject-matter, surely adds point to Molière's reflection that 'the business of amusing honest folk is a strange one' (p 145). In contrast, George (1914) described the play along with Houghton's "Hindle Wakes" (1910) as the "finest recent instances of stage realism...In both plays life is represented not as it might be, which would be romance, but as it is. In both the atmosphere is extraordinary; in both the position of woman, alliance, motherhood, responsibility, seriously figure. But there is no strain, there is hardly any preaching; the characters seldom explain themselves, and throughout they reveal themselves. And there is passion, enthusiasm, suffering, and hope, all the things the common men understand" (p 57). “Githa Sowerby, with Rutherford and Son (1912), succeeded in creating almost a synthetic personality out of all the middle-class characters against which this sort of drama is directed, in Rutherford, the manufacturer, for whom nothing has any value that is not connected with the prosperity of his factory. Thus, while his machines multiply and prosper, and seem to devour every other life, human life languishes in the dreary, misty northern scene. One by one Rutherford’s sons and daughters go away from him, to seek liberty and life elsewhere; for a breath of real humanity they face misery and death. Only at the end of the play the daughter-in-law, abandoned by her husband, returns to ask the old man’s protection, and brings him her son, who in the future will be able to inherit the business. This hope, and the sense of a tragic solitude, finally move the heart of Rutherford, who for this reason receives the two outcasts” (Pellizzi, 1935 pp 116-117). "John Rutherford, the owner of the firm 'Rutherford and Son', is possessed by the phantom of the past- the thing handed down to him by his father and which he must pass on to his son with undiminished luster; the thing that has turned his soul to iron and his heart to stone; the thing for the sake of which he has never known joy and because of which no one else must know joy,- 'Rutherford and son'...Not only the Rutherford children, their withered Aunt Ann, and old Rutherford himself, but even Martin, the faithful servant in the employ of the Rutherfords for twenty-five years, is 'dedicated', and when he ceases to be of use to their Moloch, he is turned into a thief and then cast off, even as Janet and John...Janet knows her father better than John; she knows that 'no one ever stands out against father for long- or else they get so knocked about, they don't matter any more.' Janet knows, and when the moment arrives that brings her father's blow upon her head, it does not come as a surprise to her. When old Rutherford discovers her relation with Martin, his indignation is as characteristic of the man as everything else in his life. It is not outraged morality or a father's love. It is always and forever the House of Rutherford. Moreover, the discovery of the affair between his daughter and his workman comes at a psychologic moment: Rutherford is determined to get hold of John's invention- for the Rutherfords, of course- and now that Martin has broken faith with his master, his offense serves an easy pretext for Rutherford to break faith with Martin" (Goldman, 1914 pp 236-241). “Mary, as a mother, wants a good life for her son- which, hitherto, she and her husband have been unable to give him- and it is her father-in-law who has the material means (‘the power’, as it is said in the play) to provide such a life. As for the son, Tony, he will always be his mother’s son, the way Mary educates him will see to that, so that even when (in 10 years’ time) he becomes Rutherford’s ‘son’ as the one to take over the running of the glassworks, he will not be dominated by Rutherford (who will be an old man), but, rather, will run the family firm in accordance with the values he gets from his mother. Through the son (who becomes materially better off in the process), Mary will have reshaped the future of Rutherford and Son, bringing John Rutherford’s particular type of patriarchal tyranny to an end’ (Farnell, 2014 p 511). =="Rutherford and son"== [[File:Glass Factory - geograph.org.uk - 486146.jpg|thumb|Trouble starts when a glass factory owner enters in conflict with his son over the latter's invention of a metal alloy. Yorkshire glass factory]] Time: 1910s. Place: Grantley, North Yorkshire, England. Text at https://archive.org/details/cu31924013224666 https://archive.org/details/rutherfordsonpla00soweiala https://archive.org/details/rutherfordsonpla00soweuoft https://archive.org/details/rutherfordsonpla00sowe Because of a coal miners' strike, John Rutherford’s glass-works factory is short on coal. Other problems have led to uncertainties regarding the survival of the company. Rutherford’s most trusted workingman, Martin, informs him that he caught an employee, Henderson, with his hand in the till. Despite his youth, Rutherford dismisses him. Rutherford’s son, John Junior, has invented a new type of metal alloy which, according to him and Martin, might be worth a fortune. Without having studied the matter, Rutherford downplays its importance. Rutherford is nevertheless outraged that John wants to keep the formula secret until he buys the invention from him and then leaves with the money, so that no one would be left to manage the company, since his other son, Richard, is the local clergyman. Having been offered a curacy in another region, Richard asks his father permission to go. “Wear your collar-stud at the back if you like, it's all one to me,” Rutherford answers indifferently, “You can’t make a silk purse out of a sow’s ear: you were no good for my purpose, and there's an end. For the matter o' that, you might just as well never ha’ been born except that you give not trouble either way.” He is only annoyed when Richard tells him he has promised Henderson’s mother to speak on behalf of his son for another chance to stay in his employ. Although Rutherford hears her plea, her son’s dismissal is a foregone conclusion. Before going, however, she blurts out rumors concerning an underhand relation between Martin and his daughter, Janet, which he sternly disapproves of. Alone with Martin, Rutherford requests the content of the alloy. Although aware of his treachery towards John, Martin promises to hand it over to him the following day. Rutherford then tells Janet he wants her out of his house and the next day, once he obtains the content of the alloy, fires Martin. When a broken Martin reveals to Janet that he must go, she tries to make him see the positive side. “You're free,” she declares, "free for the first time since you were a lad mebbee to make a fresh start.” “A fresh start?” he echoes affronted. “Wi' treachery and a lyin' tongue behind me?” He offers her money so that she can live in another village, but, recognizing that he has little interest in starting anew with her, she refuses and leaves the house. When John learns of Martin’s treachery, he steals money from his father’s cash-box and proposes to go away with his wife, Mary. However, Mary doubts her husband’s ability to care for her and her young son and has no wish to return to her former occupation. Instead, she proposes to Rutherford that she remain in his house to raise the son as his his heir and eventual owner of the company. He accepts. =JB Priestley= [[File:J B Priestley at work in his study, 1940. (7893553148).jpg|thumb|Priestley outlined the anatomy of a bankruptcy, 1940]] Another play on business, "Cornelius" (1935), is a worthy drama written by John Boynton Priestley (1894-1984). =="Cornelius"== [[File:Bank of England and Royal Exchange, London.jpg|thumb|A bank declines to support Briggs & Murrison. Bank of England, London, 1930s]] Time: 1930s. Place: England. Text at https://archive.org/details/dli.ernet.17025 At Briggs & Murrison aluminium importers while Bob Murrison is up north in the Midlands visiting all their customers, his partner, Jim Cornelius, receives a solicitor’s letter from Cattermole, Maclvor & Pritchet, authorised to represent the claims of French clients. A salesman enters breezily into the office, carrying two rugs over his arm but is immediately ousted by Cornelius. When their bank calls for a meeting, Cornelius advises his cashier, Mr Biddle, to request a delay should they insist on a meeting. “There’s no point in our creditors meeting before Murrison does come back,” he affirms, “simply because we’re hoping his trip will have saved the situation.” As expected, the representative of a claim from the Excelsior Transport Company shows up, Eric Shefford. Cornelius refuses to pay because their description of the shipping cost for the transported aluminium was misleading. After ousting another salesman, Cornelius learns that there is an embargo on shipping aluminium from Canada. Biddle returns despondent from the bank, reporting that he was forced to promise a definite statement on their part on Wednesday afternoon. A saleswoman enters breezily into the office, carrying cleaning items. Charmed, Cornelius buys shaving cream to the disapproval of his secretary, Miss Porrin. Then another salesman enters breezily into the office, an ex-officer of the Air Force, carrying office supplies. While Cornelius angrily declines, the ex-officer totters, in danger of collapsing, so that Cornelius hands him money for a meal. An employee, Ann Evison, is late for work, and so her sister, Judy, enters to explain that she went away to Newcastle to take care of her husband stricken with pneumonia. In the meantime, Judy proposes to replace her. Cornelius accepts her offer. Cornelius then receives a puzzling telegram from Murrison, stating that two men are following him, a strange joke in Cornelius’ mind. On Wednesday afternoon, Cornelius explains the company’s troubles during the last three years to three of the main creditors, the niece to the owner of the company’s premises, Mrs Reade, and the bank representative. Although late, Murrison shows up. Instantly disliking and fearing the irritable look on Murrison’s face, Mrs Reade leaves. When Cornelius requests Murrison to sum up the outcome of his visits to their customers, “it’s very difficult,” he replies in an uncertain tone. “There were two men following me all the time- no, not all the time, not at first, but nearly all the time.” He adds that people were trying to poison his food. Faced with his partner’s paranoia, Cornelius is forced to end the meeting. Two weeks later, while the employees close up shop in bankruptcy proceedings, Mrs Reade asks Cornelius about his partner, only to learn that Murrison shot himself to death. Cornelius shows her the revolver. To Biddle, Cornelius ponders about the subject of suicides: “We like to pretend that suicides are cowards when all the time we know damned well they’re not. We condemn them because they walk out while we still stay fiddling and frigging behind. They annoy us because they call our bluff.” Biddle is offended at this kind of talk. Ready to leave but secretly in love with her boss, Miss Porrin proposes that they meet to talk, but Cornelius declines. Left with Judy, she blurts out her distress. “Because you’re young and pretty now, you think it’s going to be always like this. It isn’t, it isn’t, it isn’t,” she says breaking down. In contrast to his attitude towards Miss Porrin, Cornelius prevents Judy from leaving. He tries to kiss her lips but it falls lamely on her cheek. She already has a lover, whom Cornelius desires to see. To his surprise, it is Eric Shefford. “My God, it’s the twister,” he blurts out. Judy wans to know why. Eric admits that he obtained the contract under false pretenses. Although aware of her lover's weaknesses, Judy nevertheless leaves with him. With everyone gone, Cornelius takes the revolver out of the drawer, flings it away, reads an often consulted travel book, and hurls a ledger through the door so that he can walk through. =Horace Annesley Vachell= [[File:Horace_Annesley_Vachell_circa_1920.jpg|thumb|Vachell exposed the mixing of bank practices with personal relations]] Horace Annesley Vachell (1861-1955) offered a worthy bank drama with Jelf’s (1912) when finances conflict with personal relations. =="Jelf’s"== [[File:HSBC_in_Pall_Mall,_London.jpg|thumb|Richard, the owner of Jelf's bank, is involved in a conflict between helping out a friend who is also a rival to the woman he intends to marry. Hongkong and Shanghai Banking Corporation in Pall Mall, London]] Time: 1910s. Place: London and fictional Shepperford, England. Text at https://archive.org/details/jelfsacomedyinf00vachgoog https://archive.org/details/jelfscomedyinfou00vachiala After spending several years on a ranch in California, Richard Jelf has taken over the family business in a London bank for the past 6 months. His friend, Archie Mull, takes the opportunity to ask to be invited at Richard’s house in Shepperford along with Sir Jonathan Dunne, chairman of the Amalgamated Association of Bankers and father of his intended, Dorothy, without mentioning he is coming, since the prospective father-in-law is against the marriage. As the friend of Richard’s uncle and founder of the bank, Sir Jonathan is relieved to hear that Richard along with Adam Winslow, chief clerk and senior adviser, are proceeding along conservative lines, unlike the “wildcat speculations” of other banks such as Palliser’s. Remembering his friend’s request, Richard invites Jonathan over at his house and he accepts. Richard next receives the visit of Archie’s mother, the countess of Skene and Skye, desperate for money but relieved by Richard at the level of 500 pounds. In return, the countess advises him as to deportment and dress to fit in London society. More advice as to clothes is provided by James Palliser, head of the family bank in financial difficulties. James is surprised to hear that Richard is engaged to be married to Fenella Mull, Archie’ sister and, unknown to Richard, James’ lover, whose offer of marriage was repulsed by her mother, the countess of Skene and Skye. Richard offers to help James out of financial difficulties by inviting him over at Shepperford to meet Sir Jonathan, which James gladly accepts. Still fond of her old lover, Fenella asks Richard to help James out of his bank’s troubles. Richard agrees and offers Fenella a pearl necklace and diamond tiara, which frightens her to the point of requesting him to stow them till their wedding day. At Shepperford, Richard offers to settle down a nervous Archie by pretending to be Jonathan in a made-up dialogue favoring the young man’s offer of marriage to his daughter. But when the true Jonathan arrives, the result is the contrary, as Dorothy’s father declares he will only accept the idle youngster provided he obtain a responsible position, which is secured when Richard offers Archie the position of manager at his California ranch. Richard also rescues Dorothy from some difficulty while punting on the water. Unaware of the identity of her rescuer, Dorothy reveals the close relation that existed between Fenella and James along with inadequacies in Richard’s choice of clothing. When James meets Fenella, he tells her that he needs to keep their past relations quiet in view of Richard’s offer of help and yet attempts to win her back. On meeting her intended, Fenella notices changes in Richard’s appearance. “I like the man who does fine things, not wears them,” she reassures him. Next evening, Dorothy announces her engagement to Lady Sken and Fenella and her gratitude at what made it possible, Richard’s offer of Archie’s employment. “Too much consideration for one's father is a sort of reversion to type,” the countess declares, “a sentimental mistake.” “That sounds awfully immoral, Lady Skene,” Dorothy comments. “I lived in an absurd age which preached morality as successfully as it practiced the other thing,” the countess replies. Fenella reads that according to the London Observer, Jelf’s has come to the aid of Palliser’s. Meanwhile, unaware of Richard’s ignorance in the matter, Archie blurts out the existence of the past relation between Fenella and James. But when Richard inquires about whether Fenella had any past relation, she denies the existence of any. She discovers that the article in the London Observer was conveyed by James without Richard’s consent, an item which alarms Adam Winslow to the point of his tendering his resignation unless Richard retracts the article. Against Jonathan’s advice, Richard refuses to retract it but demands to find out the nature of the current situation between James and Fenella. James admits that he still loves her and intends to marry her, while Fenella remains committed to neither. The news of Jelf’s position sets off a panic reaction among its clients, threatening to take out their accounts in massive numbers. The situation becomes even more threatening when Jonathan, a vital depositor, shows up with the possibility of removing his own account at Jelf’s. More impending disaster appears when a bookmaker threatens to take out his large account unless Richard submits to being blackmailed for a small amount by a friend of his, a newspaper editor who felt insulted recently after Richard declined to meet him personally but instead passed him off to Adam. Richard declines to be blackmailed. Despite the double threat, Fenella stands by Richard and Richard stands firm, a move which pays off when both the bookmaker and Jonathan support him as well, considerably relieving the anxieties of the large band of customers ready to cancel their accounts. =Frederick Hazlitt Brennan= Frederick Hazlitt Brennan (1901-1962) attracted attention with a rough war-time comedy-drama, “The Wookey” (1941). “The Wookey of the title is Mr Horace Wookey, a tugboat captain who lives in the East End slums of London, near the docks. Mr Wookey, however, aspires to higher class standing: he is the benevolent monarch of his home, and his authority is unquestioned; his home, filled with the bric-a-brac he has salvaged on his various voyages, is indeed his castle, and he insists that it be kept orderly; he raises his daughter and son to think of themselves and to treat each other as a lady and a gentleman; he has high moral standards and has no patience with family members, especially his music-hall performer sister-in-law, who do not live up to them…Mr Wookey gets involved in the war when it becomes personal. He takes his tug to Dunkirk, not because of the desperate need to evacuate the British Expeditionary Force, but because his brother-in-law is among the trapped soldiers…He will convince the dockworkers to continue unloading the ships, even under enemy bombardment and strafing. This decision entails sending away his remaining family, something he has been loath to do, and opening what’s left of his beloved house, the basement, as a public shelter. His motivation to fight has shifted from the immediate- the presence of his family in the physical security of his home- to the abstract: his children represent the hope for the future” (McLaughlin and Parry, 2021 pp 67-68). ==“The Wookey”== [[File:Civilian Service Medal, 1939-1945.png|thumb|Winning a civilian service medal, 1939-1945, fails to impress the Wookey]] Time: 1939-1940. Place: London, England. Text at ? Just released from prison for indecent exposure during a show, Genevieve heads for the house of her sister, Bella, but first encounters her nephew, Ernie, hiding a dachshund from his mother inside the bed of his sister, Primrose. In view of the likelihood of war, Gen offers Bella her house in Lynmouth, but she declines. In storms Walt, anxious to marry Gen, but she rejects him. Refusing to accept her answer, he pulls at her and the two women defend themselves with difficulty until Bella’s husband, Horace, nicknamed the Wookey, enters and throws him out. To protect his family from scandal, Horace insists that his sister-in-law marry Walt. She backs down. Horace shows Primrose the present he brought over for his wife: a section of an iron fence tied with roses, while Ernie gets a used air-rifle. To his father, he reveals the hidden dachshund, saved from stoning by the local boys. Holding the dog with one hand, Horace spanks his son with the other for hiding it in the wrong place, but permits him to keep it. He hands over to his daughter a gift of French lingerie and, while heading for his bath, Rory, Irish first mate of Horace’s tug-boat, carries in with Hector, Bella’s cousin, and Mr Archibald another present for his wife: a brand-new toilet bowl, at the sight of which Bella pretends to be reserved as Constable Simpson enters with Cheltenham, Air Raid Precaution warden, arrived to check on the equipment given to the family, which they have carelessly handled. A scowling Horace tears a gas mask to shreds. “They mucks about till ‘Itler gets strong enough ter bomb us, then they sends us thrupenny marsks and biscit tin back’ouses,” he challenges. For his negligence, despite Horace’s three medals from the previous war, Cheltenham hands him a summons. Wanting no part of this war, Horace heads for the pub. In the Wookeys’ back-yard a year later, Rory courts Primrose and kisses her as Horace enters. “Less of it,” he commands. Primrose informs her father that the government has issued boats for the war, a matter that fails to interest him. Although as a mate Rory’s work has been satisfactory, Horace refuses to consider his offer of marriage for the moment. “Your qualifications and character needs further testin’,” he declares. Consistent with his views, Horace refuses to hand over his boat to Dr Lewisohn and factory workers for the conduct of the war, but accepts the same when Gen begs him to bring back her husband with the retreating army. But Walter dies and Horace and Rory have been gone for three weeks. Because of the bomb threat, Ernie is sent on his way to Wessex. But soon Horace and Rory return with a bath-tub and firearms, the delay caused by the time spent in prison for debt to the oil company because of their inability to pay the petrol and lubricant for going back and forth from Dunkirk to save the soldiers. Moreover, the oil company seized the boat. Horace rushes out after learning that Ernie has been taken away. But the boy escapes and hides in an out-house. When Horace discovers his son, he gives him a 10-bob note for hiding but several thwacks for letting his dog bite the vack woman. Amid the writing of a letter to Winston Churchill to get his money back, a fire bomb drops on the house but he manages to smother it in sand. Angry at the damage to his house, he now offers his “qualified support” to the British cause. After Horace is named chief fire warden, more bomb attacks follow so that Ernie is eventually found by rescue workers under the stairs surrounded by rubble, his dog injured and his mother dead. Instead of heading for a shelter, his father remains with him in the cellar, where Rory the Irishman draws ire from the British for his discouraging remarks. For his service at Dunkirk, Horace obtains the king’s civilian medal but no word on recovering his boat. He criticizes all aspects of the British conduct of the war and, to minimize the damage, allows his basement to become an official shelter while he commands his family to head towards Lynmouth, though he himself only pretends to go. =JM Barrie= [[File:James Matthew Barrie00.jpg|thumb|James Matthew Barrie draws immortal plaudits for his character of Peter Pan, 1890s]] In a comic vein, JM Barrie (1860-1937), the Scottish playwright, achieved lasting fame with "Peter Pan" (1904). “As his name implies, Peter Pan is linked to the Greek god of the wild, nature and the pagan, the opposite of social conformity. He may be narcissistic and impetuous, but he is also able to create a magic world with his mind” (D’Monté, 2015 p 22). "In the year 1904 came Peter Pan, and it had an insane success. This is no spring flower, or hothouse plant; it is a hardy perennial, and will delight thousands of spectators after we shall have all made our exit from the planet. It is one of the most profound, original, and universal plays of our epoch...Barrie created a character, a personality; Peter Pan is an addition to literature and an addition to humanity. He is a real person, already proverbial and it seems incredible that he can ever be forgotten" (Phelps, 1920b p 837). The playwright "knows how children revel in the game of make-believe, with what elaborate care they will build up the machinery for their romances, and he has carried out the splendid idea of bringing all the resources of the stage to the service of a whimsical tale, in which sprites and pirates, red Indians, wolves, and crocodiles, are mingled in moments of rich amusement or participate in deeds of derring-do such as Fenimore Cooper or George Henty have made familiar to the bigger boys. There is a pleasing softness, and just a tinge of sadness, about much of this story of Peter Pan” (Agate, 1947 pp 133). "Peter Pan is perhaps the most escapist play ever written, and the reality that is so resolutely avoided in this charming fantasy is the entire adult world" (Gassner, 1954a p 623). For Andrews (1913b), the play "is in reality not a drama, but a strangely iridescent poetic pantomime, full of bizarre and tender gayety. It is sometimes difficult, indeed, to determine when Mr Barrie's intention is serious and when merely humorous. Perhaps as a result of this peculiarity, his plays often fail to create an impression of depth or solidity. He is particularly felicitous in the portrayal of the lighter phases of feminine character, though he has rarely achieved a full-length study of a truly womanly woman" (pp 156-157). “Wendy, Tinker Bell (the fairy) and Tiger Lily (the Indian maid) are all attracted to Peter Pan, who doesn’t reciprocate their interest...Each of the three female figures attracted to Peter Pan recognizes the other’s desire for him, even if he is oblivious. Tinker Bell reacts with obvious jealousy, pulling at Wendy’s hair and, when Wendy is arriving in Never Land, telling the boys that Peter has ordered them to shoot her” (Wilson, 2003 p 136), scenes reflecting the real-life delay in adolescence of boys relative to girls and girls’ jealousies against each other even for non-receptive boys. Boyishness includes the refusal of marriage ties. “Peter and Wendy played house in the Neverland as if they might have been mother and father, hence wife and husband. Yet, when Wendy queries Peter: ‘What are your exact feelings to me?’ Peter replies: ‘Those of a devoted son, Wendy’” (Mavor, 2007 p 388). Peter is “illogical, inconsiderate, irresponsible, and irrepressible, but nevertheless endearing. His insouciance sets him apart from Wendy, who is already burdened with responsibilities and is happy to assume more” (Silet, 1994 p 160). “The parents...who see their offspring unexpectedly disappear, the lost boys who surround the hero, Wendy, who seems to nourish a precocious feeling for the impossible boy (without his understanding in the least what is expected of him), and the family dog who laments the escape of her little charges, are all figures which have a principle of real personality, and for that reason blossom into the dramatic. When the children return to home and reality, after having lost themselves in a marvellous dream, the incorrigible Peter abandons them and never returns again. On the other hand, JM Barrie returns, to follow these children, or others similar to them, on the path of life, towards real, adult existence, towards drama and reality. But as in their childhood Peter Pan flew in at the open window of their night-nursery one spring night, and took them away with him to the Never Never Land, so now, when they are grown up, there returns instead James Barrie himself, always ready to insert a magical element into their human, and therefore tragi-comical, affairs” (Pellizzi, 1935 pp 163-164). "'Peter Pan' captivated the grown-ups and even more so the most hardened critics. The Stage said of it: 'Mr Barrie has entered fully into the joys and delights of childhood days, and he has peopled his newest fantasy with the choicest personages from the pages of Marryat or Cooper, side by side with the heroes of our youth, who interpret incidents which only the most elastic imagination could conceive. The whole is impregnated by the nimble wit and facile fancy which the eminent dramatist has at command and the blend of humour and pretty sentiment constitutes a piece that no one, old or young, should resist.' The Illustrated London News said that it combined the child's passion for make-believe and the average little girl's maternal instinct and described it as 'an artfully artless play which has all the pretty inconsequences of an imaginative child's improvisations'" (Wilson, 1951 p 149-150). Wilson (1937) had a harsher view of the protagonist. "Peter is a pathetic figure clinging desperately to a pretence. Normal children (and even adults who are not insufferably intellectual) indulge in day dreams. But they know perfectly well that the world of their fancy is not a real one. Peter will not give up his dreams and becomes a kind of waif" (p 247). =="Peter Pan"== [[File:Captain Hook.PNG|thumb|Final showdown between Peter and Captain Hook, illustrated by FD Bedford (1864-1954)]] Time: 1900s. Place: London, England and Never Land. Text at http://www.gutenberg.org/ebooks/16 Before being put to bed, the three children of Mr and Mrs Darling (Wendy, John, and Michael), ask many of the usual questions. Thus Michael: "Mother, how did you get to know me?" and "At what time was I born, mother?" She does not answer the first question but only the second. "At two o'clock in the night-time, dearest," to which, worried, he answers: "O, mother, I hope I didn't wake you." She tells her husband she saw a boy's face at their window three floors up. The boy escaped but the window cut his shadow, which she shows him and then returns it inside a drawer. He was accompanied by a ball of light. After the parents leave, Peter Pan and Tinker Bell fly up to the children's room. He retrieves his shadow, sown on by Wendy, who proposes to kiss him, too. He holds out his hand for it, to Wendy's disappointment. In return, he offers what eh considers a kiss, an acorn button, which she puts on. Despite Tinker Bell's irritation at their increasing friendliness, Peter shows the children how to fly and they go away to Never Land, where a pirate, Captain Hook, is seething for revenge, because on one of their encounters he fell and a crocodile ate off one of his arms and would have eaten the rest of him had it not swallowed an alarm-clock, since which time he hears its ticking now and then. Peter's companions at Never Land receive a false message from the vengeful Tinker Bell, whereby they are commanded to shoot Wendy down as she flies overheard. One of these, Tootles, succeeds in striking her down with an arrow. She looks dead, but, to everyone's relief, was saved from grievous harm by the acorn button placed over her heart. While Wendy lies unconscious, the boys build a house all around her and she agrees to keep house for them, as a sort of substitute mother. Meanwhile, the pirates attack a band of Indians led by Tiger Lilly, saved by Peter, who, imitating the captain's voice, orders the pirates to release her. The pirates next attack the children, but Captain Hook is unable to conquer them and forced to escape on hearing the ticking of the alarm clock. However, Peter and Wendy find themselves standing on a rock with the water level rising. She succeeds in flying away on a kite, while Peter hesitates on what to do next, at no point afraid, even of death. "To die will be an awfully big adventure," he considers, but eventually succeeds in flying away by unfurling his shirt like a sail, naked and victorious. Though acting as the boys' father, a worried Peter seeks reassurance from Wendy that it is all pretense, to which she droopingly responds: "Oh yes." Eventually, the Darling children recognize they must return home, Peter's companions wishing to follow them, but not Peter himself. All except Peter are captured when the pirates convince them that Tiger Lilly has won the battle against them by beating her tom-tom. However, thanks to Peter's abilities in warfare, one by one the pirates are killed in their ship. At last, Captain Hook confronts Peter but is unable to get the better of him in a sword-fight, neither can he blow them all by firing a powder magazine, all the more discouraged in seeing Peter play on pipes while sitting on a barrel in the air. Overcome by grief, Hook deliberately prostrates himself in the water and is swallowed down by the crocodile. During all that time, Mrs Darling has kept the window open for her children's return. To keep Wendy with him, Peter asks Tinker Bell to bar the window, but when the mother appears, he opens the window and flies out, enabling the children to enter. As years go by, Peter regularly comes back to the house. One day, Wendy asks him: "You don't feel you would like to say anything to my parents, Peter, about a very sweet subject?" "No," he answers. Eventually, his adventures are so many that he forgets who Tinker Bell is. Wendy asks him whether he will one day forget her, too, but, soaring away, he does not answer. =Hubert Henry Davies= [[File:Hubert Henry Davies (1869–1917).png|thumb|Davies delved into family woes arising from laziness. Photograph of the author, 1903]] Also with the lighter comic touch is Hubert Henry Davies (1869-1917) with “The mollusc” (1907). In The Mollusc, the author "abandons the vein of ironical and photographic realism, and tries to deepen the psychological analysis by using more imaginative methods" (Pelluzzi, 1935 p 57). "The author has given his attention more to the moment than to the magnitude of his theme, though he has consistently portrayed a certain spineless phase of languid indolence with telling effect. Perhaps for the portrait intended, a quicker conflict would not serve as well. Certainly no character development is demanded, for the chief trait of his heroine is her utter void of worthwhile attributes" (Anthony, 1914 p 489). “Davies’ most memorable contribution to our modern drama is primarily a character study, but Mrs Baxter in The Mollusc (1907) is so sentient a creation that she becomes the symbol of a class of women in society who coax and wheedle their way through the world. She is a potential comedy of manners in herself. Placid, unvexed, she makes flunkeys of her family and her friends but exacts the service with an indolent amiability that is disarming. She embraces routine and serenity and evades responsibility with the ardor with which some people welcome adventure. Her brother, Tom, brings into the serenity of the Baxter household a quickening presence that awakens the Mollusc to at least a momentary sense of her womanly duty. The author has been shrewd enough to bring his play to an indeterminate conclusion and has thereby enhanced its comic potency. Can the mollusc ever slough its shell? The comedy attracts our attention also by the neat adequacy of its technique. With a cast of only four characters, the situations are never forced. It is the comedy of manners in its most intimate form, as contrasted with the An Ideal Husband or Our Betters” (Sawyer, 1931 pp 217-218). "For Mrs Baxter, ‘the rest which is glorious is that of the chamois couched breathless in its granite bed, not of the stalled ox over his fodder’. Ruskin’s aphorism might be the moral of Mr Davies’ charming play if anything so dull as a moral could be attached to so delicate a work of art” (Walbrook, 1911 pp 136-137). "Mrs Baxter, according to Tom, began to display a family tendency toward molluscry, a syndrome that leads to avoidance of physical and emotional effort and engagement and to a clinging hold on home base and things as they are...Fancying Miss Roberts himself from their first meeting, Tom takes it upon himself to reverse his sister's down ward spiral. Although Tom's confrontational and manipulative tactics are not exactly successful, in the end, relationships improve once interpersonal pressures and counter-pressures have been exerted...Each character's perspective and the intersubjectivity of the four characters are important to the plot. For example, when the Baxters and Miss Roberts try to recall the details of the upcoming arrival of their long-awaited guest, the dialogue, as Mrs Baxter tries to remember where she left brother Tom's letter, reveals their psychological interdependence: Miss Roberts (making a slight movement as if to go): Shall I go and look? Mrs. Baxter: Hush. I'm trying to think where I put it. (staring in front of her) I had it in my hand before tea. I remember dropping it? I had it again after tea; I remember thinking it was another letter, but it wasn't. That's how I know. (then to the others) I'm surprised neither of you remembers where I put it" (Crochunis, 2008 pp 309-310). “In sharp distinction to Hankin’s trenchant social criticism is the geniality and charm of Hubert Henry Davies’ social picturing, with just a fillip of satire here and there, a blending of elements that bespeaks the Robertson tradition. Davies is a master of gay and graceful comedy of middle-class manners, finding its setting in a natural world, not in an effulgent, artificial one. If his range of experience is limited, his dramatic performance is sound. He has the genuine enthusiasm of the recorder of manners for the kaleidoscopic social scene. He maintains consistently an amused, detached attitude that is rarely tinged with scorn. Like Hankin he is an observer of men but in him a lambent humor replaces wit. His comedies have caught the contagion of his own affability, but it is a geniality that does not degenerate into the sentimental. They are luminous with a warm glow of sunshine, not with the icy glitter of Maugham, let us say. It is this sympathy of his that enkindles his characters and endears them to us in a way that was impossible for Sutro or Hankin” (Sawyer, 1931 p 217). ==“The mollusc”== [[File:Common limpets1.jpg|thumb|Dulcie Baxter’s behavior is akin to that of a limpet, moving with the tide and clinging to a rock]] Time: 1900s. Place: Rural England. Text at https://archive.org/details/playsofhuberthen02davi https://archive.org/details/in.ernet.dli.2015.214517 Richard Baxter is disagreeably surprised to learn that the governess of his two young daughters, Miss Roberts, wants to quit her job. "I think you need a governess with a college education, or, at any rate, some one who doesn't get all at sea in algebra and Latin," she declares. His wife, Dulcie, is also disagreeably surprised. After Miss Roberts hands over a footstool to make her more comfortable, she suggests that her husband may help out with the Latin. "I read Virgil at school. I haven't looked at him since," he responds. "Why teach the girls Latin?" she then wonders. When her brother, Tom, arrives from a lengthy journey in the state of Colorado, USA, he is charmed by Miss Roberts and quickly expresses the wish that she stay. He also quickly sizes up his sister's manner about the house. "She's a mollusc," he announces to Richard. "People who are like a mollusc of the sea, which clings to a rock and lets the tide flow over its head, people who spend all their energy and ingenuity in sticking instead of moving, in whom the instinct for what I call molluscry is as dominating as an inborn vice." She appears to be moving but it is only the waves that beat her about. In view of Richard's inability to change her, Tom wants to take charge of the matter, but quickly realizes the difficulty. When Tom suggests that he and his sister should prepare a bouquet of flowers, he winds up doing all the work. She resists moving about for the least reason, such as a picnic, preferring to order people about while staying put. She is displeased on observing Tom express interest for Miss Roberts and attempts to interfere. "I find your attitude towards my brother Tom a trifle too encouraging," she says to Miss Roberts. "Last evening, for instance, you monopolised a good deal of the conversation and this morning you took a walk with him before breakfast and altogether it looks just a little bit as if you were trying to flirt, doesn't it?" An angry Miss Roberts denies it and withdraws. Tom realizes what she has done and becomes angry, too. He opens his heart to Richard. "You married to her?" says the dismayed husband. "Oh no, oh no, I couldn't bear that." Tom is stunned on learning that Richard loves Miss Roberts, though, according to him, in a platonic fashion. When Richard opens his heart to Miss Roberts, it only distresses her and more than ever she wants to leave the house. When Richard sees her distress, he tries to comfort her and is discovered by his wife in a compromising position. She promptly arranges to appear sick, so that Richard and Miss Roberts, to Tom's disgust, take turns in taking care of her. "To a mollusc there is no pleasure like lying in bed feeling strong enough to get up," he comments. He gets her to move only after suggesting that her husband may be enjoying himself in the governess' company. On reintroducing the subject of his love to her and his desire to return to Colorado, Miss Roberts' pride falters and she confesses she wants to go with him. Dulcie then realizes that the only way to save her marriage is for her and Richard to engage equally in various activities together. =Noël Coward= [[File:Noël Coward 01.jpg|thumb|In Noël Coward's view, a quarelling couple love each other more than a non-quarreling couple]] Even lighter in the comic scale is Noël Coward (1899-1973) with "Private lives" (1930). In Private Lives “we are in the most fashionable milieu of the new generation: a husband and wife, still young, have had a divorce and have each married again; but chance brings them together after a short time, the old flame is revived, and they escape from their respective second partners and live together, each committing adultery with their former legitimate half. The dialogue is a masterpiece of subtlety, humour and moral laxity. If one felt that the mind of the author was anchored to a firm principle, to a fixed moral standard, it would be a ferocious satire. But this is really irony which is ironical at its own expense and hides its bitterness under a smile which sees no future; Wilde and the Naughty 'Nineties did not produce anything so desperate, so fluently amusing and so inwardly empty as this” (Pellizzi, 1935 pp 293-294). Private Lives, “a triumph of personality and pace, caught the mood of dissolution. The bright, breezy veneer of its cross-talk hid disenchantment with a smile. The old narrative stage conventions had disappeared as well as anything remotely resembling the old values. Romance is a put-on, honour a masquerade, loyalty hardly an issue, communication a kind of truce between flying lamps” (Lahr, 2002 p 59). “The nimbleness of Elyot and Amanda’s responses, complementing their moral independence, distinguishes them from Victor and Sybil, who are far slower on the uptake and inhabit happily (in his case, belligerently) the commonplaces of society. For them, kissing is what they ought to do at appropriate moments of endearment or consolation, while for Elyot and Amanda it is something passionate and pleasurable that they can’t resist...The fullest explanation of the play’s title, and clue to the play’s ‘psychology’, is saved for Amanda in her first scene with Victor...Having explained that she is ‘not so sure I’m normal’, Amanda is at pains to explain to Victor that ‘very few people are completely normal, deep down in their private lives’” (Jackson, 2022 p 50). The first act “contains a great deal of skillfully modulated and finely shaded emotion, and it is nothing to the point that we do not approve of the people who are moved, that they do not belong to the world’s workers, and that this place of travail will be no better for their having passed through it...The second act shows the pretty creatures tearing each other to pieces. The third shows Victor and Sybil quarrelling not wittily, but as people without breeding quarrel. And under cover of this brawl the prettier pair steal hand in hand away...Mr Coward’s genius consists in this, that he catches admirably the conversational tone of the day, the fool-born jests of the wise, the world-weary banter of the modish restaurant’s most privileged table” (Agate, 1944 pp 244-245). “The supreme achievement of the play is the second act when, except for a few moments Elyot and Amanda are alone on stage...Each surrenders to the imp of malice and the desire to have the last word...The anger quickly mounts, and, although they soon manage to atop the quarrel, the pattern has been set: the act develops through a sequence of ever more violent and irreconcilable altercations until both are on the floor rolling over in paroxysms of rage” (Levin, 1989 pp 84-85). “Much of the fun and poignancy of the play resides in the absurdly symmetrical action...Amanda goes in from the terrace, saying she will bring the cocktails out; a moment later, Elyot comes out on to his carrying cocktails...Amanda and Elyot both try to substitute a common sense marriage for the intensities and endless quarrels of their earlier failed relationship” (Chothia, 1996 pp 150-152). "In Private Lives two honeymoons are entertainingly contrasted. The relation between Amanda Prynne and Elyot Chase is based upon the only kind of attraction which, in the dramatist’s opinion, matters between man and woman; while their respective relations to their lawful spouses are represented as unreal and conventional...We are told what Chapter I of the lives of Amanda and Elyot was like: their marriage had ended after exasperated quarrels in divorce and in their remarriage to other partners. Though we only watch on the stage Chapter II, namely the first three days of their joint lives after they have come together again, having just bilked their just-wedded partners, this glimpse shows that Chapter III will probably repeat Chapter I. We watch scenes of rapturous tenderness modulate into the exchange of such sentiments as 'you damned sadistic bully’, “you loose-living wicked little beast!' and finally into a scrimmage on the floor...So, although his play apparently ends happily, and the story is so deftly and amusingly conducted that the audience actually envies Mr Coward’s lovers, no one can agree with Amanda’s pronouncement upon their predicament: 'we may be all right in the eyes of heaven, but we look like being in a hell of a mess socially.' No: they are in a hell of a mess all round, and it is a proof of Mr Coward’s adroitness that he has managed to disguise the grimness of his comedy and to conceal from the audience that his conception of love is desolating and false...Mr Coward’s gift as a dramatist, as I have occasion to repeat whenever I write about him, is that his dialogue has the rhythm of modern life, which is more broken and much quicker than that of twenty years ago. He understands, too, that it is more important that a joke on the stage should be spontaneous than witty. If it is also a brilliant piece of wit so much the better, but the important thing is that it should seem spontaneous" (MacCarthy, 1940 pp 244-245). In act 1, in contrast to typical French Boulevard plays, “Amanda tries to persuade her new husband to leave before he discovers her former husband is honeymooning in the same hotel. Rather than milk the situation for concealment and chases, Coward throws it away with the utmost economy: Victor enters grumbling ‘Why on earth didn’t you think of your sister’s tragedy before?’ and lets Amanda improvise for less than a minute- ‘I can see her now, lying dead with that dreadful expression on her face’- before she sulkily admits defeat” (Gray, 2006 p 229). “The key to the future developments of the tangled situation comes in the paralleled conversations as each couple talks about Elyot and Amanda’s previous honeymoon in terms that make the absent partner the guilty one: each considers the nature of their previous and current relationships and both couples talk about sunbathing. Elyot may have been somewhat disappointed with Sybil’s conventional attitude to sunbathing, but now Victor and Amanda develop the argument: ‘Amanda: I want to get a nice sunburn. Victor (reproachfully): Mandy! Amanda: Why, what’s the matter? Victor: I hate sunburnt women. Amanda: Why? Victor: It’s somehow, well, unsuitable.’ Sybil has already used the word ‘suitable’ when she says it’s suitable for men to be tanned. This demonstrates one of the ways in which the two minor spouses are bought together by their shared vocabulary and their shared attitudes" (Griffiths, 2022 pp 127-128). “Amanda and Elyot are interesting, well-drawn characters...Victor and Sibyl are two-dimensional and only provide a surface off which to bounce the stinging repartee of the reunited couple” (Duffy, 1994b p 530). “Sybil is a childish, spoiled, demanding, young woman who thinks that a husband is a man who can be molded to her specifications. She has married out of her league if not her class. Sybil thinks that a wife's tears is the spur to move a husband in the direction she wants him to go. By refusing to leave the hotel when Elyot has pointed out the difficulty, if not the danger, of staying in the same hotel with his ex-wife and new husband, Sybil sealed her fate. Elyot and Sybil could never be happy with each other. Victor is a brusque, cocky, not-too-bright, insensitive, bullying man in his early thirties. He seems such an unlikely choice as a husband for Amanda that surely Amanda must have been bored with the dating game and ready to settle for a stable suitor who would provide security. Victor will never be passionate about a woman. His intransigence in not wanting to leave the hotel when Amanda has told him of Elyot's presence and the situation in the hotel is a fatal act of what the ancient Greeks called hubris” (Sternlicht, 2005 p 45). Mair and Ward (1939) unduly draped themselves in moral robes in summarizing the Coward cannon. “The most discussed younger dramatist between the World Wars was Noel Coward, who at times reflected and at other times seemed to initiate the moral mood of the moment. His work had little intellectual content, being concerned mainly with auto-parasitic types who feed upon their own nerves and desires. The wit is thin and febrile; the characters are bloodless and aimless creatures caught in a moral vacuum. It is a drama of disgust, more bitter in the mouth (but also more moral in intention) than the Restoration drama, where the playwrights were disgusting without being disgusted and gave sign of being weighed down by the enormities of the small world scanned by them. That world was, indeed, a world of pure artifice, insusceptible to moral law. Noel Coward’s plays are excellent theatre even if poor literature; and in this connection it must be acknowledged that inasmuch as it is the function of a playwright to fit his material to the requirements of stage entertainment, it is no fatal sign of inferiority if he comes short of meeting the sterner but duller demands of textual study” (pp 214-215). “Certain recurring themes emerge from an overview of Coward’s plays. In several of them, characters either escape from the restrictions of conventional society or attempt to do so, while in others (notably Private Lives and Design for Living) the protagonists have already cut themselves free. In Hay Fever the conventional characters even have to make a furtive escape from the world of the blithely ‘abnormal’ Bliss family. Recurrent character types include detached, sophisticated witty observers; older ladies with either an independence of mind derived from social class or an endearing lack of connection with the modern world and its fashions; and uncomprehending and stolid members of the upper classes who act as a foil for the witty and sophisticated” (Jackson, 2022 p 7). “Coward’s finest comedies, by his own estimate, Hay Fever (1925), Private Lives (1930), Design for Living (1933), Present Laughter (1939), and Blithe Spirit (1941), are refined manifestations of central attributes of modernism: metatheatrical, performative, recursive, and teasingly self-conscious. Coward’s elegant protagonists constantly perform, projecting their personas and commenting upon them. Essentially static, these comedies loop back to their beginnings: the Blisses argue amongst themselves, oblivious to their guests’ surreptitious departure in Hay Fever; remarried divorcés Elyot and Amanda tiptoe away from their recently acquired spouses in Private Lives, having made up after yet another vicious quarrel. The plays’ unconventional forms eschew the imposition of social conformity, ending not with marriage but with self-perpetuating and responsibility-free pleasure, as in the triangular joys of Design for Living’s ménage à trois. Northrop Frye’s comic cycle of fertility and renewal is rendered sterile with not a child in sight nor the prospect of one. Love does not bring rebirth, quite the opposite in the form of Charles Condomine’s murderous dead wives in Blithe Spirit, determined to kill him and thereby secure permanent proprietorship. But Coward’s insouciant stylists remain defiantly superficial, like Wilde’s dandies, rejecting social orthodoxy and the manners that impose conformity; as Elyot advises Amanda in Private Lives: ‘Be flippant. Laugh at everything, all their sacred shibboleths. Flippancy brings out the acid in their damned sweetness and light.' (Eltis, 2025 pp 146-147). =="Private lives"== [[File:Private-Lives-1931-3.jpg|thumb|Amanda (played by Getrude Lawrence) and Elyot (played by Noël Coward) mainly agree to disagree, yet stay together, Broadway, 1931]] Time: 1930s. Place: France. Text at https://archive.org/details/in.ernet.dli.2015.76330 https://archive.org/details/in.ernet.dli.2015.210130 https://archive.org/details/in.ernet.dli.2015.185872 https://archive.org/details/in.ernet.dli.2015.123448 https://archive.org/details/in.ernet.dli.2015.113896 https://archive.org/details/in.ernet.dli.2015.470059 https://pdfcoffee.com/private-lives-noel-coward-pdf-free.html Elyot and Sybil are on their honeymoon. On the terrace of their hotel, Sybil becomes curious about his former wife, Amanda, which irritates him. As they go inside their room, Amanda, by coincidence, comes out on the terrace with Victor, her new husband, also on their honeymoon. When Elyot notices Amanda, he quickly tells Sybil they must go away, but she refuses. Likewise, Amanda insists that she and Victor go, a request he considers unreasonable at this hour. Elyot and Amanda confront each other. Though still angry, they are yet swayed by the romantic music around them. "Extraordinary how potent cheap music is!" she comments. Both recognize that, even after five years of divorce, they are more in love with each other than with their respective spouses, and so they abandon them and leave together for Paris. At her apartment, Amanda and Elyot renew their old lost love, but he is startled on hearing her say she did not expect him to be celibate "anymore than I was", and is irritated about her "yap-yap-yap-yapping" about Victor, at which she cries out "Sollocks" as a sign that they should stop arguing at that point. As he cuddles up to kiss her, she says: "It is so soon after dinner," infuriating him. She complains about his drinking and he about her gramophone-playing, until the "Sollocks" danger signal no longer works and they hit each other as the bewildered pair of Victor and Sybil, having located their whereabouts, enter their room. The following morning, Amanda is wearing her traveling clothes and carrying her suitcase on her way out, but Victor convinces her to stay awhile. He demands to know Elyot's intentions, who answers he does not know. As discussions heat up, Elyot, wearing his traveling clothes and carrying a suitcase, is on his way to Canada, but Victor convinces him to remain as well. Sybil decides to keep Elyot for a year, as Victo will with his wife. All four seek to make light of the situation, Elyot and Amanda being more flippant, to the extent that an aggravated Victor scolds Elyot, who is defended by Sybil. While Victor and Sybil quarrel, Elyot and Amanda slip away together again. {{BookCat}} 2yirqwu7a1sadzxa1v6aot1wx8679t0 Aros/Platforms/Arm Raspberry Pi support 0 286123 4670071 4670001 2026-09-14T17:12:50Z Jeff1138 301139 4670071 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] [[#Build]] [[#Hardware]] [[#References]] [[#Future]] ==Introduction== [[File:Scalos00.png|thumb|Scalos on Aros Pi3b]] Aros aims to cover Pi 3 to 5 1Gb+ RAM ideally as you may have to switch to 256Mb gfx mode depending on the application running Options to boot from using a good power source to prevent the yellow lightning symbol. *With Pi3b+ the max you can get is 5.1V 2.5A with micro usb. *With Pi4 5.1V 3A with usb-c *With Pi5 5.1V 5A, the amps went ever upwards, even to 5.1V 9A with usb-c Pi500+ keyboard wedge - Pi400 RPI-400 keyboard wedge - resolution changing and audio from micro hdmi0 (near 40pin) and micro hdmi1 (near usb-c psu) - Fn F10 0x5e power on and off works or held down for over 7 seconds auto shutdown - keyboard ok but not great - wifi and lan ethernet testing - * Pi 5 - Quad A76 64bit ARMv8 and RP1 "southbridge" with VideoCore 7 Pre-D0 (Rev1.0) or D0 (rev1.1) * Pi 4 - Quad A72 64bit ARMv8 with VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] ARMv8 with VideoCore 4 with heatsink/fan on 3b to prevent cpu 82C+ throttling * Pi 2 - Quad 32bit ARMv6 with VideoCore 4 - mostly not 64bit compatible * Pi Model B+ 32bit ARMv6 with VideoCore 4 - not 64bit compatible * Pi Model A and B 32bit ARMv6 with VideoCore 4 - not 64bit compatible ===Native=== * 2013-03 Kalamatee starts work * 2015-04 Work continues with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume adding BE big endian support], [https://www.patreon.com/michal_schulz/posts Big endian on Pi] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3b, 4 and 5 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=metaneutrons latest commits for Pi5] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bitplane latest commits for ARM] '''Download''' [https://aros.sourceforge.io/nightly1.html RaspberryPi 3, 3+, 4 and 5 64bit ArmV8 builds] [https://sourceforge.net/projects/aros/files/ Alternative site and nightly2] both raspi-aarch64-system and raspi-aarch64-contrib can be unbz2'd and copied to fat32 8GB+ microSD card (there will be folders - boot c Classes Demos Developer Devs Extras etc only showing). The SD can be plugged in to the Pi 64bit build works well on a single core LE little endian. Multicore [https://github.com/aros-development-team/AROS/commit/1df0747c2bda3523a43029725a709b1f377d84ec may follow]. Any issues booting could be down to the SD card so please use another SD to see if it is resolved. Please report your experiences in the [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2019&rowstart=80 Aros Raspberry pi 3 64bit thread] Boots with '''USB3''' port based sata3 ssd on Pi400 but untested on Pi4 (may need eeprom update from PiOS or Pi SD Imager) and Pi5 Pi 3 B+ is pre-configured for USB sata3 boot - untested Pi 3 B may need [https://www.youtube.com/watch?v=ubnwvxF3Klc PiOS to set OTP to boot from usb - do so at your own risk] - if OTP set to usb, boot works but slower than SD card Speed write wise (top faster) <pre> *NVME Pi5 untested >1000MB/sec or faster if matched correctly *Sata3 ssd 500MB/sec *SD V90 90MB/sec 4K maybe 8K *SD V60 60MB/sec 1080p *SD U3 V30 30MB/sec 720p *SD C10 U1 V10 A1 A2 10MB/sec minimum should be used now *SD C06 6MB/sec *SD C04 4MB/sec </pre> As a homage to the past, Aros shows a reduced number of icons but this can be changed by left mouse click in the window and then right click down to Window -> View -> All files Windows can be manipulated by the top (moving) and the bottom right corner (resizing) only. Like most amiga like OSs the audio and networking need to be setup manually Audio AHI prefs - Mode settings tab - needs both Music unit and Unit 0 set to RPiHDMI:16 bit stereo++ or RPiPWM:16 bit stereo++ at 44100Hz. Press '''Save or Use''' button after each choice Double left mouse click on most picture (Developer/Debug/Tests/Datatypes), audio and video files are supported, via datatypes, by the multiview application. Esc escape key usually closes open windows even the desktop In Prefs/Appearance some decorative theming elements need work. There is a few Mason icons in /Prefs/Presets/Icons/Mason/ and the ever present default Gorilla - Icon exchange in works Printing only with Postscript but [https://github.com/bohunamiga/MintPRINT one] of [https://github.com/boingball/MintPRINT two] [https://github.com/Andiweli/AmiAirPrint/tree/main AirPrint] IPP has been attempted with [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2061&pid=13954#post_13954 discussion] For more intensive graphics applications, you may need to edit config.txt in the root folder and change 128M to 256M to adjust more memory to graphics usage [http://archives.arosworld.org/index.php?function=browse&cat=network/browser amelinium web browser] is available with an [https://eab.abime.net/showthread.php?t=122494&page=51 eab thread] reminiscent of [https://github.com/zapek/Voyager Voyager] and to a lesser extent [https://github.com/amigazen/aweb3/ Aweb]. [[File:Wifi00.png|thumb|Setup wifi on Aros Pi3b]] [[File:Wifi01.png|thumb|Setup wifi on Aros Pi3b]] [[File:Wifi02.png|thumb|Setup wifi on Aros Pi3b]] Wifi setup needs the network prefs with the TCP/IP tab click add interface -> change Device to bwfm.device as net0:, IP Mode as DHCP and IPv4 Once you’ve configured the device, simply save the Wireless Networks tab Wi-Fi configuration even if it’s empty. This will create the Wireless.prefs file in the Prefs/Env-Archive/SYS drawer, and should see the Wireless Manager icon in Wanderer. Although a reboot maybe necessary. Wireless tab gets your router settings. If it does not set to start at boot, settings are preserved. Instead, add this to the user-startup: <pre> execute sys:system/network/arostcp/s/startnet run wirelessmanager device=bwfm.device >nil: </pre> Network will start automatically on boot. If you don't want the wirelessmanager icon on Wanderer desktop, just add 'nogui' to the wirelessmanager line Lan ethernet port on *lan9514 Pi3b Pi2 no support at the moment *lan7515 Pi3b+ type into Device usblan78xx.device as net0: remove other device(s) *bcmgenet Pi4 Pi400 choose for Device bcmgenet.device Summary *3b ethernet not supported, setup wireless manager (with interface issues) *3b+ seems to work wifi and ethernet *4 untested *400 seems to work wifi and ethernet (with interface issues) There is normally no Bluetooth support for most amiga like OSs but Aros has one [https://github.com/aros-development-team/AROS/commit/6942cbfbf66426d21963a7fcd8aba6aff611a9e0 work in progress] [https://forums.raspberrypi.com/viewtopic.php?t=338466 firmware] *Bluetooth 4.1 BCM43430A1.hcd Pi3B, Pi3A, Zero W *Bluetooth 4.2 BCM4345C0.hcd Pi3B+, Pi4 *Bluetooth 5.0 BCM4345C5.hcd Pi4B rev, CM4 and maybe Pi5 and CM5 *bthid keyboard mouse support *btserial serial *btpan short range wireless connecting devices Only the Pi5 has a RTC real time clock, the other Pis will need to use Extras:Networking/utils/ntpsync/ or [https://archives.arosworld.org/index.php?function=browse&cat=network PiNTP] to get the date and time from the internet USB classes support from Prefs/Trident is still work in process *usbaudio working on usb3 port (blue) on pi4, 400 but not working (no rt isochronous) on usb2otg (white or black) for pi3b, zero 2w *[https://aminet.net/package/mus/midi/camd camdusbmidi] detects midi devices without a preferences file (Prefs/Env-Archive/sys/midi.prefs) as [https://www.youtube.com/watch?v=RBxHkwy4Nrw auto setup now] possibly with [https://github.com/dwhinham/mt32-pi mt32-pi pi3+] as well as need developer gcc tools to look at 64bit ports of [https://archives.arosworld.org/?function=showfile&file=driver/audio/usbmidi.i386-aros.lha usbmidi], [https://aminet.net/package/mus/midi/CAMD_Toolkit CAMD_Toolkit], [https://aminet.net/package/mus/midi/camdtools camdtools], [https://github.com/cnvogelg/amiditools amiditools], [https://github.com/timoinutilis/midi-sequencer-amigaos horny src], [https://aminet.net/package/mus/midi/horny-base horny-base], [http://bnp.hansfaust.de/index.html BnP], [], Regarding 680x0 emulation, there are several options that could be considered *[https://github.com/aros-development-team/AROS/blob/6722a0ae9e03fe5d26e32703360bd2059e0864cc/rom/m68kemu/README.md?plain=1#L424 m68kemu.library] for some Amiga productivity where the cpu is emulated and the system calls are redirected to Aros ones *[https://github.com/BlitterStudio/amiberry amiberry] (winuae) for everything else like games *[https://github.com/jonx/AROS/tree/aarch64-darwin-graft/arch/all-darwin/libs/emu68k emu68k] *[https://scriptedamigaemulator.net/ Scripted Amiga] with [https://github.com/naTmeg/ScriptedAmigaEmulator ScriptedAmigaEmulator] or older [https://github.com/gbraad-amiga/ScriptedAmigaEmulator2 ScriptedAmigaEmulator2] [https://pinout.xyz/ GPIO 40 pins] [https://learn.sparkfun.com/tutorials/raspberry-gpio/gpio-pinout pinout] Some exceptions: *Physical pins 27, 28 (GPIO0, 1) are an internal I2C bus and should not be used *The other I2C on pins 3, 5 (GPIO 2, 3) can be used generally, but be aware they have permanent pull-up resistors to 3.3V *For MIDI use USB but there are dedicated UART pins 8, 10 (GPIO 14, 15). With a HAT it's more awkward -- you need to know which pins are used by the HAT and avoid them. Hopefully this will be documented. Remember all GPIOs are 3.3V (not 5V tolerant), floating/noisy inputs can cause odd behavior, and that shorting the power supplies can cause instant death of the Pi. In the shell GPIO PIN/A/N,SET/N,GET/S,MODE/K,PULL/K Controls and queries hardware GPIO pins via gpio.resource which is stored in the rom or Devs/ '''please test''' *PIN -- (Required) Target GPIO pin number (e.g. 12). *SET -- Set pin output value to 0 (LOW) or 1 (HIGH). *GET -- Read and print current digital input level (0 or 1). *MODE -- Configure pin mode: IN (Input), OUT (Output), ALT (Alternate). *PULL -- Configure pull resistor: NONE, UP, DOWN. EXAMPLES <pre> GPIO 12 MODE OUT GPIO 12 SET 1 GPIO 12 GET GPIO 13 PULL UP </pre> [https://gpiozero.readthedocs.io/en/stable/installing.html Current] [https://gpiozero.readthedocs.io/en/v1.2.0/api_boards.html old support for gpiozero is unknown at present] [https://energenie4u.co.uk/res/pdfs/ENER314%20UM.pdf and associated 433MHz equipment] [ USA X10 security and lights via USB] [ OpenHab with Shelly Smart Plug connected over Wi-Fi, controlled by MQTT or HTTP] Youtube [], [], [https://www.youtube.com/watch?v=X4fmWAIv7FE Aros native on Pi3b], [], [], [https://www.youtube.com/watch?v=TSxlYb1eQWU Installed on Pi3b+], [], [], [https://www.youtube.com/watch?v=NFF1H3jCoz8 testing Aros native on Pi400], [], [], [https://www.youtube.com/watch?v=nIVx7mh1E1Q&pp=ygUHYXJvcyBwadIHCQkTDAGHKiGM7w%3D%3D Aros on Thumb 2 based 32bit-ish ARM STM32H743 board], The status of AROS native ARMv6 for 32bit RasPi was OK. System booting, USB working (although with some issues but plans to fix them). 32bit native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] raspi-armhf-system raspi-armhf-contrib unbz2'd to fat32 microSD ===Hosted=== AArch64 CPU backend for AROS, a Cocoa/Metal display, clipboard / host-volume / CoreAudio / BSD-sockets bridges, GPU 2D via gpufx.library, a 68k→AArch64 JIT (run68k), and a full Rust std port. On [https://www.jkn.me/blog/macaros-aros-on-apple-silicon/ latest Apple Silicon] [https://github.com/jonx/Macaros early buggy alpha version of hosted Aros .dmg on MacOS12+]. Please use [https://github.com/jonx/Macaros/issues MACAros github] for issues, features etc and possibly [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2030&pid=13910#post_13910 here] [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://www.raspberrypi.com/documentation/computers/software-sources.html Documentation] *[https://rpilocator.com/ RPiLocator] Linux only *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.raspberrypi.com/software/operating-systems/ PiOS Lite] and then [https://hstwb.firstrealize.com/ HST] *[https://dietpi.com/ DietPi] *[http://www.tinycorelinux.net/ports.html piCore] *[https://wiki.alpinelinux.org/wiki/Raspberry_Pi Alpine Linux] *[https://github.com/armbian/build Armbian] *[ PiMiga] *[ FydeOS] *[ TwisterOS based on ChromiumOS] *[https://note.com/jamesmondo/n/nc76e31402be8?hl=en BSD] Other alternative lighter smaller than Pi OS *[https://aros.sourceforge.io/nightly1.html Aros 64bit ARMV8 single core] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/michalsc/Emu68 ARM based realtime JIT 68k for amiga computers] *[https://github.com/JJDSNT/bellatrix/releases/ Alternative use of Emu68 on Pi3b] *[https://github.com/stevereaver/uaos uaOS with Emu68k] *[https://github.com/aros-development-team/AROS/commit/f80a268607dfae81b2db94755ab4e4d31ccb72d6 m68kemu library reference] *[ HaikuOS] *[https://github.com/raspberrypi/noobs NOOBS] os loader with successor [https://github.com/procount/pinn PINN] *[https://github.com/maxnet/berryboot berryboot] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==== Hosted ==== =====64bit===== [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2019&rowstart=80&pid=13667#post_13667 Linux hosted Pi build] [https://github.com/BlitterStudio/aros-compiler-docker Aros Docker for various systems], [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd Apple Silicon support] =====32bit===== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> sizeof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load the arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) Help building AROS hosted on Linux ARM Was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but ask an help to have an automated way to correctly build without modify mmakefiles. Last time built armhf target was around 2 years ago. At that point built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Need to find where to enable build libaeabi.a so can build the entire toolchain with option 21 of rebuild.sh Found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. Try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. == Hardware == ===64bit=== ====BCM2712==== With the Pi5 Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] hopefully be merged for Mesa 23.3 *Raspberry Pi M.2 HAT+ Expansion Board *Geekworm X1001 PCIe to M.2 Key-M NVMe *Geekworm X1003 PCIe to M.2 HAT NVMe SSD PIP Board for Raspberry Pi 5 *Pineboards Pi Hut HatDrive! M.2 HAT 2024/V4 *Hat+ Gen2 Gen3 Nvme *GeeekPi 52Pi N04 for Raspberry Pi 5 NVME M.2 * *2024 RPI AI HAT - Hailo 20TOPs no LLMs *2026 RPI AI HAT+ 2 - Hailo 40TOPs slightly better? [https://www.raspberrypi.com/documentation/accessories/camera.html Cameras for Pi] *Raspberry Pi camera module, the V3 with Sony IMX708 back-illuminated CMOS 12 Megapixel sensor *Raspberry Pi Camera Module V2 – 8MP Sony IMX219 Sensor *Raspberry Pi camera Rev 1.3, 5MP 1080P OV5647 image/video module, 2592 x 1944 pixels ====BCM2711==== With the Pi4 an ARM a72 cpu is about x3 times the size of an a53 in the Pi3 the 2711b line used more power when idle, compared to the 2711c *2018 Raspberry Pi PoE HAT Power Over Ethernet Hat - design issues *2020 Raspberry Pi PoE+ HAT Power Over Ethernet Hat Pi3b+ Pi4 only - better design *Waveshare PoE HAT (B) with cooling fan for Raspberry Pi 3B+/4B 802.3af PoE *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhx but it looks like a lot of effort has been put putting those theoretical FLOPs to better use. *vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. *vc5 added a four thread per QPU mode, with 16 registers per thread. *vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. A fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.0 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> Faster LPDDR4 memory. ====BCM2837==== With the Pi3 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] The overclock ability has diminished with each chip version as the energy usage has increased. BCM2837 is one of the warmest yet and benefits from active fan cooling if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. Dual VDP and scalable QPU in VC4 ARMv8-A has [https://developer.arm.com/documentation/102412/0100/Privilege-and-Exception-levels privilege levels] where userspace typically runs at ‘EL0’, the kernel at ‘EL1’ or ‘EL2’ and the firmware at the highest level ‘EL3’. ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up typical for most other OSs before the open sourcing of many binary blobs from 2017 onwards On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. GPU VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS or Amiga OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs splintering. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? Have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) So far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Kickstart The idea is to minimize amount of archirecture-specific modules to make the user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). USB Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). AFAIK its HCI 1.0 compliant but not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... Miscellanous hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. == References == Testing procedure is put sd card in, connect board to board if necessary, plug in hdmi and then power nothing else is done especially CSI DSI etc [https://www.raspberrypi.com/documentation/computers/compute-module.html CM5] has the same 55mm x 40mm 2x100pin connectors form factor as the CM4 but [https://www.epdtonthenet.net/article/214508/Key-Considerations-When-Migrating-from-Raspberry-Pi-CM4-to-CM5.aspx some pins and other small things] have changed. Will need the [https://raspipcb.com/tech-blog/raspberry-pi-cm4-vs-cm5-difference-in-booting-from-sd-card/ right IO board to suit] *Green [ Raspberry Pi Compute Module 5 IO Board REV2 [https://pip.raspberrypi.com/categories/1097-raspberry-pi-compute-module-5-io-board SC1967]] - untested *Green [ RPi Compute Module 5 IO board REV1 [https://pip.raspberrypi.com/categories/1097-raspberry-pi-compute-module-5-io-board SC1751]] - untested *Black SupTronics Geekbord X1500 CM5 IO Carrier Board - untested *Black DeskPi Super6C Cluster Mini-ITX Board - untested *[https://sipeed.com/nanocluster Sipeed NanoCluster] - untested up to 7 CM5 *Green BentoIO CMX0 - untested *Box EDATec ED-CLAWBOX - untested *Home Assistant Yellow - Kit with PoE with Raspberry Pi Compute Module 5 - untested *Blue [https://www.waveshare.com/wiki/CM5_PoE_BASE_A Waveshare CM5-PoE-BASE-A] - untested *Box Waveshare [ CM5-POE-BOX-A] - untested *Blue [https://www.waveshare.com/wiki/CM5-IO-BASE-B Waveshare CM5-IO-BASE-B] - untested *Blue [https://www.waveshare.com/wiki/CM5-IO-BASE-A Waveshare CM5-IO-BASE-A] - untested *Blue Waveshare [https://www.waveshare.com/wiki/CM5-NANO-B CM5-NANO-B] - untested *[https://carboncomputers.us/products/pi-flux piFlux] *[https://carboncomputers.us/products/ Zitaotech Hackberry] CM5 lite only - *Portable [https://www.waveshare.com/pocketterm35.htm Waveshare PocketTerm35] with Pi4B or Pi5 - untested *Box [https://www.clockworkpi.com/uconsole ClockworkPi uConsole][https://www.youtube.com/watch?v=EtI_bAahbR8 CM4 into an adapter or CM3 into so-dimm - Cyberdeck] - untested *Green RPi [https://datasheets.raspberrypi.com/cm4io/CM4IO-KiCAD.zip Compute Module 4] [https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf IO board] V1.4 [https://datasheets.raspberrypi.com/cm4io/CM4IOUSB3-KiCAD.zip USB3] [https://datasheets.raspberrypi.com/cm4io/cm4iousb3-appnote.pdf CM4ISO] [https://datasheets.raspberrypi.com/cm4/cm4-datasheet.pdf Dual100pin] (2020) aka Development Platform Board - untested *Purple Pi Hut Cytron CM4 Maker Board - untested *Black DeskPi Super6C Cluster Mini-ITX Board - untested *[ KubeSail PiBox mini 2] *Home Assistant Yellow with Raspberry Pi Compute Module 4 - untested *[ Turing Pi V2] - untested CM4 with 260-pin SO-DIMM socket adapters and/or nvidia jetson nanos - untested *Blue [https://www.waveshare.com/wiki/CM4-IO-BASE-B Waveshare CM4-IO-BASE-B] - untested but binary blobs *Blue [https://www.waveshare.com/wiki/CM4-IO-BASE-A Waveshare CM4-IO-BASE-A] - untested but binary blobs CM3 has a 200 pin sodimm ddr2 connector form factor but not electrically SC0028, SC0029 *Blue [https://wiki.geekworm.com/CM_IO_Board Geekworm RPi Compute Module IO Board] [https://github.com/geekworm-com/cm-io-board CSI DSI] with CM3 in ddr2 slot underside - '''works''' if SW1 on but CM3+ '''does not''' *Green [https://cdn-shop.adafruit.com/product-files/3442/CMIO_schematic.pdf RPi V3 IO board CM3IO] and CM3 Lite - untested *Green [https://turingpi.com/ turingpi v1 cluster] - untested up to 7 cm3 7xlan9514 12V discontinued, 3 x Pi4 homelab maybe better *Blue [https://www.waveshare.com/wiki/Compute_Module_PoE_Board Waveshare Compute Module PoE Board] and CM3 lite (if not lite, write files to internal eMMC fat32) '''AVOID''' bin blobs *Blue [https://www.waveshare.com/compute-module-io-board-plus.htm Waveshare Compute Module IO Board Plus] [https://www.waveshare.com/wiki/Compute_Module_IO_Board_Plus wiki] [https://forums.raspberrypi.com/viewtopic.php?t=235695 pin settings] with CM3+ Lite - '''AVOID''' binary blob *[ Pi02w on Geekworm SupTronics X305 Raspberry Pi Zero IO Baseboard] - untested *[ Spotpear Pi Zero 2w to Pi3b format-ish] - untested *[ pi-top v4] box has 128x64 oled display, micro hdmi, 19Whr battery with pi4 and 15V PD 36W min needed *[ pi-top v3] three green pieces, heatsink covers most of the base tray, pi-top hub mk1 lhs and Pi1B Pi2b Pi3b rhs secured from below, black rounded strip with pi-top above keyboard, 13.3" HD 1366 x 768 display, small touchpad, *[ pi-top Model 2.0] pi-top on bottom bezel of 14-inch green laptop, large trackpad, keyboard slide down to reveal main system hub on slide rails moved to the right, Raspberry Pi3b screws down, hub slides in, 18V 2.5A 45W charger brick, battery 11.1V 3500mAh 38.85Wh and storage PiTopOS *[ Pi-Top CEED Raspberry Pi Modular Educational Desktop with RPI3] monitor *[https://www.indiegogo.com/en/projects/jesselozano/pi-top-a-raspberry-pi-laptop-you-build-yourself Pi-Top v1] wedge laptop with RPi2 <pre> 2008 Trustees collected for Foundation 2009 Pi Foundation charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the 32bit Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold 2014 Pi 1 Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 no ethernet and 1 usb - a little smaller - 2015 Over four million first gen pis sold 2015 Pi Zero 1.2 BCM2835 first production revision released with no camera port 2016 Pi0 1.3 released with camera csi connector 2017 Pi Zero W v1.1 1GHz Pi0W, single-core 32bit CPU BCM2835 released with Cypress CYW43438 wireless 2020 Raspberry Pi Pico SC0919 with RP2040 32-bit 2Core ARM Cortex-M0+ up to 133 MHz - 264KB of SRAM and 2MB of on-board QSPI Flash - 2024 Raspberry Pi Pico 2 with RP2350 2Core 32bit Arm Cortex-M33 and 2core open-hardware [https://github.com/wren6991/hazard3 Hazard3 RISC-V] 2015 Pi 2 Model B v1.1 BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit, 32bit VideoCore IV GPU - 1Gb RAM - 5V 2A micro usb - SMSC LAN9514 chip - 2015 Over a million pi2s sold 2015 Raspberry Pi 2 Model B version 1.2 Pi2bv1.2, aka Pi2B2 has armv8 BCM2837 underclocked to 900Mhz without wifi/bluetooth module 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz 32bit 1080p VideoCore IV GPU - 1Gb DDR2 - bluetooth 4.1, Cypress CYW43438 wireless 802.11n - 4 x USB2.0 ports - 5.1V 2.5A - SMSC LAN9514 chip 2016 PIs total over 10 million worldwide 2017 Compute Module 3 CM3 with BCM2837B0 armv8 Quad 64-bit - small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible which plugs into needed IO board - beware of the I2C protocol issue 1Gb LPDDR2 RAM - Lite or 4Gb Emmc storage 2017 12 million pis sold in total 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 1.4Ghz - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports - Microchip LAN7515 chip 2019 Over 15 million sold 2019 Pi 3 Model A+ with BCM2837b0 Cortex-A53 64-bit SoC @ 1.4 GHz with 512Mb LPDDR2, 1 usb2, 1 hdmi, 1 micro usb 5V 2A - no ethernet - 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0 1.2Ghz, Cortex-A53 (ARMv8) 64-bit SoC on DDR2 SODIMM mechanically compatible only factor - IO board required 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC 2021 Pi zero 2 (w or no W) RP3A0 quad 1GHz Cortex-A53 64bit BCM2710A1 512mB SDRam 2025 edaTEC CM0 ED-CM0NANA with additional dev board with quad 1Ghz A53 with 512Mb Raysan RAM, 2 USB2 and 10/100 ethernet - pico castellated edge 2019 Pi 4 Model B RPI4B - BCM2711B0T quad 64bit A72 1.5GHz, 4K VideoCore VI, AC wifi, Bluetooth 5.0, GbE Broadcom BCM54213PE (PHY ID 0x600d84a2), 2 micro hdmi decode up to 4K, USB-C 5.1V 3A power, 2xVLI VL805 USB 3, 2xUSB 2.0, 2GB 9LDWW D9WHZ or 4GB 9FDWW D9WHV, 8GB 0AA47 D9ZCL ddr4 ram 2020 Silent Pi 4 v1.2 upgrade with more USB-c psu support 2020 PI400 BCM2711C0T 1.8GHz 4Gb DDR4 inside keyboard, 5.1V 5A 27W usb-c psu, 2 micro hdmi, external ide style 40pin gpio, no audio port - 2020 Raspberry Pi Compute Module 4 BCM2711B0T on new 55mm x 40mm 2x100 pin form factor with extra breakout IO board CM4101000 1Gb RAM Lite SOM CM4102000 2GB RAM Lite CM4104000 4GB RAM Lite CM4004008-4GB-RAM 8GB-EMMC SOM System on Modules CM4104032 4GB RAM 32GB emmc CM4108000 8GB RAM Lite CM4008016 8GB RAM 16Gb eMMc 2021 Raspberry Pi SC0763 Compute Module 4S CM4S with ddr2 sodimm pinouts but not electrically the same with suitable IO board extra cost - CM4S01000 1GB RAM Lite CM4S01008 1GB RAM 8GB eMMC Flash CM4S02000 2GB RAM Lite CM4S04000 4GB RAM Lite CM4S08000 8GB RAM Lite 2021 Pi 4 v1.4 BCM2711B1 upgraded power regulator, to deal with 8gig of ram being more power hungry - 2021-48 Raspberry Pi 4 model B v1.5 2GB 2023 Pi 5 v1.0 BCM2712 Quad A76 @2.4Ghz - VideoCore VII - no audio socket - dual 4k from mini hdmi - fan connector - 5.1V 5A psu 2024 Pi 5 2GB DDR4 version uses BCM2712D0 2024 Pi-500 with 8Gb LPDDR5 and membrane keyboard 2024 Pi 5 v1.1 2024 Raspberry Pi Compute Module 5 CM5 BCM2712 55mm x 40mm form factor with additional IO board CM5004000 04GB RAM 0GB eMMC Lite CM5008000 08GB RAM 0GB eMMC Lite CM5016000 16GB RAM 0GB eMMC Lite 2025 Pi-500+ with 256GB NVMe storage, 16GB LPDDR4 RAM, and Gateron KS-33 Low Profile Blue mechanical keyboard switches 2025 Pi5 1GB DDR4 announced 2022 PiOS linux goes 64bit 2024 Pi Trading IPO stockmarket stock exchange listing 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 LE little endian builds start 2026 August Pi 4, 400, 5 and 500 DTBs added, expanding existing support and wifi for Pi4 and Pi5 2026 August Pi5 HAT+ nvme and HDMI, AHI RPiI2S added, Pi4 HVS5 video scaler started, 2026 2027 2028 Pi 6 </pre> ==Future== [https://github.com/ARMSX2/ARMSX2 Arm pi of pcsx2] {{BookCat}} dlglv8y543o3rere0sij2nyknd97zsn 4670072 4670071 2026-09-14T17:17:05Z Jeff1138 301139 4670072 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] [[#Build]] [[#Hardware]] [[#References]] [[#Future]] ==Introduction== [[File:Scalos00.png|thumb|Scalos on Aros Pi3b]] Aros aims to cover Pi 3 to 5 1Gb+ RAM ideally as you may have to switch to 256Mb gfx mode depending on the application running Options to boot from using a good power source to prevent the yellow lightning symbol. *With Pi3b+ the max you can get is 5.1V 2.5A with micro usb. *With Pi4 5.1V 3A with usb-c *With Pi5 5.1V 5A, the amps went ever upwards, even to 5.1V 9A with usb-c Pi500+ keyboard wedge - Pi400 RPI-400 keyboard wedge - resolution changing and audio from micro hdmi0 (near 40pin) and micro hdmi1 (near usb-c psu) - Fn F10 0x5e power on and off works or held down for over 7 seconds auto shutdown - keyboard ok but not great - wifi and lan ethernet testing - * Pi 5 - Quad A76 64bit ARMv8 and RP1 "southbridge" with VideoCore 7 Pre-D0 (Rev1.0) or D0 (rev1.1) * Pi 4 - Quad A72 64bit ARMv8 with VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] ARMv8 with VideoCore 4 with heatsink/fan on 3b to prevent cpu 82C+ throttling * Pi 2 - Quad 32bit ARMv6 with VideoCore 4 - mostly not 64bit compatible * Pi Model B+ 32bit ARMv6 with VideoCore 4 - not 64bit compatible * Pi Model A and B 32bit ARMv6 with VideoCore 4 - not 64bit compatible ===Native=== * 2013-03 Kalamatee starts work * 2015-04 Work continues with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume adding BE big endian support], [https://www.patreon.com/michal_schulz/posts Big endian on Pi] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3b, 4 and 5 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=metaneutrons latest commits for Pi5] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bitplane latest commits for ARM] '''Download''' [https://aros.sourceforge.io/nightly1.html RaspberryPi 3, 3+, 4 and 5 64bit ArmV8 builds] [https://sourceforge.net/projects/aros/files/ Alternative site and nightly2] both raspi-aarch64-system and raspi-aarch64-contrib can be unbz2'd and copied to fat32 8GB+ microSD card (there will be folders - boot c Classes Demos Developer Devs Extras etc only showing). The SD can be plugged in to the Pi 64bit build works well on a single core LE little endian. Multicore [https://github.com/aros-development-team/AROS/commit/1df0747c2bda3523a43029725a709b1f377d84ec may follow]. Any issues booting could be down to the SD card so please use another SD to see if it is resolved. Please report your experiences in the [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2019&rowstart=80 Aros Raspberry pi 3 64bit thread] Boots with '''USB3''' port based sata3 ssd on Pi400 but untested on Pi4 (may need eeprom update from PiOS or Pi SD Imager) and Pi5 Pi 3 B+ is pre-configured for USB sata3 boot - untested Pi 3 B may need [https://www.youtube.com/watch?v=ubnwvxF3Klc PiOS to set OTP to boot from usb - do so at your own risk] - if OTP set to usb, boot works but slower than SD card Speed write wise (top faster) <pre> *NVME Pi5 untested >1000MB/sec or faster if matched correctly *Sata3 ssd 500MB/sec *SD V90 90MB/sec 4K maybe 8K *SD V60 60MB/sec 1080p *SD U3 V30 30MB/sec 720p *SD C10 U1 V10 A1 A2 10MB/sec minimum should be used now *SD C06 6MB/sec *SD C04 4MB/sec </pre> As a homage to the past, Aros shows a reduced number of icons but this can be changed by left mouse click in the window and then right click down to Window -> View -> All files Windows can be manipulated by the top (moving) and the bottom right corner (resizing) only. Like most amiga like OSs the audio and networking need to be setup manually Audio AHI prefs - Mode settings tab - needs both Music unit and Unit 0 set to RPiHDMI:16 bit stereo++ or RPiPWM:16 bit stereo++ at 44100Hz. Press '''Save or Use''' button after each choice Double left mouse click on most picture (Developer/Debug/Tests/Datatypes), audio and video files are supported, via datatypes, by the multiview application. Esc escape key usually closes open windows even the desktop In Prefs/Appearance some decorative theming elements need work. There is a few Mason icons in /Prefs/Presets/Icons/Mason/ and the ever present default Gorilla - Icon exchange in works For more intensive graphics applications, you may need to edit config.txt in the root folder and change 128M to 256M to adjust more memory to graphics usage [http://archives.arosworld.org/index.php?function=browse&cat=network/browser amelinium web browser] is available with an [https://eab.abime.net/showthread.php?t=122494&page=51 eab thread] reminiscent of [https://github.com/zapek/Voyager Voyager] and to a lesser extent [https://github.com/amigazen/aweb3/ Aweb]. [[File:Wifi00.png|thumb|Setup wifi on Aros Pi3b]] [[File:Wifi01.png|thumb|Setup wifi on Aros Pi3b]] [[File:Wifi02.png|thumb|Setup wifi on Aros Pi3b]] Wifi setup needs the network prefs with the TCP/IP tab click add interface -> change Device to bwfm.device as net0:, IP Mode as DHCP and IPv4 Once you’ve configured the device, simply save the Wireless Networks tab Wi-Fi configuration even if it’s empty. This will create the Wireless.prefs file in the Prefs/Env-Archive/SYS drawer, and should see the Wireless Manager icon in Wanderer. Although a reboot maybe necessary. Wireless tab gets your router settings. If it does not set to start at boot, settings are preserved. Instead, add this to the user-startup: <pre> execute sys:system/network/arostcp/s/startnet run wirelessmanager device=bwfm.device >nil: </pre> Network will start automatically on boot. If you don't want the wirelessmanager icon on Wanderer desktop, just add 'nogui' to the wirelessmanager line Lan ethernet port on *lan9514 Pi3b Pi2 no support at the moment *lan7515 Pi3b+ type into Device usblan78xx.device as net0: remove other device(s) *bcmgenet Pi4 Pi400 choose for Device bcmgenet.device Summary *3b ethernet not supported, setup wireless manager (with interface issues) *3b+ seems to work wifi and ethernet *4 untested *400 seems to work wifi and ethernet (with interface issues) There is normally no Bluetooth support for most amiga like OSs but Aros has one [https://github.com/aros-development-team/AROS/commit/6942cbfbf66426d21963a7fcd8aba6aff611a9e0 work in progress] [https://forums.raspberrypi.com/viewtopic.php?t=338466 firmware] *Bluetooth 4.1 BCM43430A1.hcd Pi3B, Pi3A, Zero W *Bluetooth 4.2 BCM4345C0.hcd Pi3B+, Pi4 *Bluetooth 5.0 BCM4345C5.hcd Pi4B rev, CM4 and maybe Pi5 and CM5 *bthid keyboard mouse support *btserial serial *btpan short range wireless connecting devices Only the Pi5 has a RTC real time clock, the other Pis will need to use Extras:Networking/utils/ntpsync/ or [https://archives.arosworld.org/index.php?function=browse&cat=network PiNTP] to get the date and time from the internet USB classes support from Prefs/Trident is still work in process *usbaudio working on usb3 port (blue) on pi4, 400 but not working (no rt isochronous) on usb2otg (white or black) for pi3b, zero 2w *[https://aminet.net/package/mus/midi/camd camdusbmidi] detects midi devices without a preferences file (Prefs/Env-Archive/sys/midi.prefs) as [https://www.youtube.com/watch?v=RBxHkwy4Nrw auto setup now] possibly with [https://github.com/dwhinham/mt32-pi mt32-pi pi3+] as well as need developer gcc tools to look at 64bit ports of [https://archives.arosworld.org/?function=showfile&file=driver/audio/usbmidi.i386-aros.lha usbmidi], [https://aminet.net/package/mus/midi/CAMD_Toolkit CAMD_Toolkit], [https://aminet.net/package/mus/midi/camdtools camdtools], [https://github.com/cnvogelg/amiditools amiditools], [https://github.com/timoinutilis/midi-sequencer-amigaos horny src], [https://aminet.net/package/mus/midi/horny-base horny-base], [http://bnp.hansfaust.de/index.html BnP], [], Regarding 680x0 emulation, there are several options that could be considered *[https://github.com/aros-development-team/AROS/blob/6722a0ae9e03fe5d26e32703360bd2059e0864cc/rom/m68kemu/README.md?plain=1#L424 m68kemu.library] for some Amiga productivity where the cpu is emulated and the system calls are redirected to Aros ones *[https://github.com/BlitterStudio/amiberry amiberry] (winuae) for everything else like games *[https://github.com/jonx/AROS/tree/aarch64-darwin-graft/arch/all-darwin/libs/emu68k emu68k] *[https://scriptedamigaemulator.net/ Scripted Amiga] with [https://github.com/naTmeg/ScriptedAmigaEmulator ScriptedAmigaEmulator] or older [https://github.com/gbraad-amiga/ScriptedAmigaEmulator2 ScriptedAmigaEmulator2] [https://pinout.xyz/ GPIO 40 pins] [https://learn.sparkfun.com/tutorials/raspberry-gpio/gpio-pinout pinout] Some exceptions: *Physical pins 27, 28 (GPIO0, 1) are an internal I2C bus and should not be used *The other I2C on pins 3, 5 (GPIO 2, 3) can be used generally, but be aware they have permanent pull-up resistors to 3.3V *For MIDI use USB but there are dedicated UART pins 8, 10 (GPIO 14, 15). With a HAT it's more awkward -- you need to know which pins are used by the HAT and avoid them. Hopefully this will be documented. Remember all GPIOs are 3.3V (not 5V tolerant), floating/noisy inputs can cause odd behavior, and that shorting the power supplies can cause instant death of the Pi. In the shell GPIO PIN/A/N,SET/N,GET/S,MODE/K,PULL/K Controls and queries hardware GPIO pins via gpio.resource which is stored in the rom or Devs/ '''please test''' *PIN -- (Required) Target GPIO pin number (e.g. 12). *SET -- Set pin output value to 0 (LOW) or 1 (HIGH). *GET -- Read and print current digital input level (0 or 1). *MODE -- Configure pin mode: IN (Input), OUT (Output), ALT (Alternate). *PULL -- Configure pull resistor: NONE, UP, DOWN. EXAMPLES <pre> GPIO 12 MODE OUT GPIO 12 SET 1 GPIO 12 GET GPIO 13 PULL UP </pre> [https://gpiozero.readthedocs.io/en/stable/installing.html Current] [https://gpiozero.readthedocs.io/en/v1.2.0/api_boards.html old support for gpiozero is unknown at present] [https://energenie4u.co.uk/res/pdfs/ENER314%20UM.pdf and associated 433MHz equipment] [ USA X10 security and lights via USB] [ OpenHab with Shelly Smart Plug connected over Wi-Fi, controlled by MQTT or HTTP] Printing only with Postscript but [https://github.com/bohunamiga/MintPRINT one] of [https://github.com/boingball/MintPRINT two] [https://github.com/Andiweli/AmiAirPrint/tree/main AirPrint] IPP has been attempted with [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2061&pid=13954#post_13954 discussion] Youtube [], [], [https://www.youtube.com/watch?v=X4fmWAIv7FE Aros native on Pi3b], [], [], [https://www.youtube.com/watch?v=TSxlYb1eQWU Installed on Pi3b+], [], [], [https://www.youtube.com/watch?v=NFF1H3jCoz8 testing Aros native on Pi400], [], [], [https://www.youtube.com/watch?v=nIVx7mh1E1Q&pp=ygUHYXJvcyBwadIHCQkTDAGHKiGM7w%3D%3D Aros on Thumb 2 based 32bit-ish ARM STM32H743 board], The status of AROS native ARMv6 for 32bit RasPi was OK. System booting, USB working (although with some issues but plans to fix them). 32bit native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] raspi-armhf-system raspi-armhf-contrib unbz2'd to fat32 microSD ===Hosted=== AArch64 CPU backend for AROS, a Cocoa/Metal display, clipboard / host-volume / CoreAudio / BSD-sockets bridges, GPU 2D via gpufx.library, a 68k→AArch64 JIT (run68k), and a full Rust std port. On [https://www.jkn.me/blog/macaros-aros-on-apple-silicon/ latest Apple Silicon] [https://github.com/jonx/Macaros early buggy alpha version of hosted Aros .dmg on MacOS12+]. Please use [https://github.com/jonx/Macaros/issues MACAros github] for issues, features etc and possibly [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2030&pid=13910#post_13910 here] [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://www.raspberrypi.com/documentation/computers/software-sources.html Documentation] *[https://rpilocator.com/ RPiLocator] Linux only *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.raspberrypi.com/software/operating-systems/ PiOS Lite] and then [https://hstwb.firstrealize.com/ HST] *[https://dietpi.com/ DietPi] *[http://www.tinycorelinux.net/ports.html piCore] *[https://wiki.alpinelinux.org/wiki/Raspberry_Pi Alpine Linux] *[https://github.com/armbian/build Armbian] *[ PiMiga] *[ FydeOS] *[ TwisterOS based on ChromiumOS] *[https://note.com/jamesmondo/n/nc76e31402be8?hl=en BSD] Other alternative lighter smaller than Pi OS *[https://aros.sourceforge.io/nightly1.html Aros 64bit ARMV8 single core] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/michalsc/Emu68 ARM based realtime JIT 68k for amiga computers] *[https://github.com/JJDSNT/bellatrix/releases/ Alternative use of Emu68 on Pi3b] *[https://github.com/stevereaver/uaos uaOS with Emu68k] *[https://github.com/aros-development-team/AROS/commit/f80a268607dfae81b2db94755ab4e4d31ccb72d6 m68kemu library reference] *[ HaikuOS] *[https://github.com/raspberrypi/noobs NOOBS] os loader with successor [https://github.com/procount/pinn PINN] *[https://github.com/maxnet/berryboot berryboot] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==== Hosted ==== =====64bit===== [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2019&rowstart=80&pid=13667#post_13667 Linux hosted Pi build] [https://github.com/BlitterStudio/aros-compiler-docker Aros Docker for various systems], [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd Apple Silicon support] =====32bit===== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> sizeof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load the arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) Help building AROS hosted on Linux ARM Was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but ask an help to have an automated way to correctly build without modify mmakefiles. Last time built armhf target was around 2 years ago. At that point built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Need to find where to enable build libaeabi.a so can build the entire toolchain with option 21 of rebuild.sh Found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. Try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. == Hardware == ===64bit=== ====BCM2712==== With the Pi5 Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] hopefully be merged for Mesa 23.3 *Raspberry Pi M.2 HAT+ Expansion Board *Geekworm X1001 PCIe to M.2 Key-M NVMe *Geekworm X1003 PCIe to M.2 HAT NVMe SSD PIP Board for Raspberry Pi 5 *Pineboards Pi Hut HatDrive! M.2 HAT 2024/V4 *Hat+ Gen2 Gen3 Nvme *GeeekPi 52Pi N04 for Raspberry Pi 5 NVME M.2 * *2024 RPI AI HAT - Hailo 20TOPs no LLMs *2026 RPI AI HAT+ 2 - Hailo 40TOPs slightly better? [https://www.raspberrypi.com/documentation/accessories/camera.html Cameras for Pi] *Raspberry Pi camera module, the V3 with Sony IMX708 back-illuminated CMOS 12 Megapixel sensor *Raspberry Pi Camera Module V2 – 8MP Sony IMX219 Sensor *Raspberry Pi camera Rev 1.3, 5MP 1080P OV5647 image/video module, 2592 x 1944 pixels ====BCM2711==== With the Pi4 an ARM a72 cpu is about x3 times the size of an a53 in the Pi3 the 2711b line used more power when idle, compared to the 2711c *2018 Raspberry Pi PoE HAT Power Over Ethernet Hat - design issues *2020 Raspberry Pi PoE+ HAT Power Over Ethernet Hat Pi3b+ Pi4 only - better design *Waveshare PoE HAT (B) with cooling fan for Raspberry Pi 3B+/4B 802.3af PoE *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhx but it looks like a lot of effort has been put putting those theoretical FLOPs to better use. *vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. *vc5 added a four thread per QPU mode, with 16 registers per thread. *vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. A fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.0 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> Faster LPDDR4 memory. ====BCM2837==== With the Pi3 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] The overclock ability has diminished with each chip version as the energy usage has increased. BCM2837 is one of the warmest yet and benefits from active fan cooling if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. Dual VDP and scalable QPU in VC4 ARMv8-A has [https://developer.arm.com/documentation/102412/0100/Privilege-and-Exception-levels privilege levels] where userspace typically runs at ‘EL0’, the kernel at ‘EL1’ or ‘EL2’ and the firmware at the highest level ‘EL3’. ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up typical for most other OSs before the open sourcing of many binary blobs from 2017 onwards On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. GPU VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS or Amiga OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs splintering. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? Have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) So far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Kickstart The idea is to minimize amount of archirecture-specific modules to make the user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). USB Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). AFAIK its HCI 1.0 compliant but not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... Miscellanous hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. == References == Testing procedure is put sd card in, connect board to board if necessary, plug in hdmi and then power nothing else is done especially CSI DSI etc [https://www.raspberrypi.com/documentation/computers/compute-module.html CM5] has the same 55mm x 40mm 2x100pin connectors form factor as the CM4 but [https://www.epdtonthenet.net/article/214508/Key-Considerations-When-Migrating-from-Raspberry-Pi-CM4-to-CM5.aspx some pins and other small things] have changed. Will need the [https://raspipcb.com/tech-blog/raspberry-pi-cm4-vs-cm5-difference-in-booting-from-sd-card/ right IO board to suit] *Green [ Raspberry Pi Compute Module 5 IO Board REV2 [https://pip.raspberrypi.com/categories/1097-raspberry-pi-compute-module-5-io-board SC1967]] - untested *Green [ RPi Compute Module 5 IO board REV1 [https://pip.raspberrypi.com/categories/1097-raspberry-pi-compute-module-5-io-board SC1751]] - untested *Black SupTronics Geekbord X1500 CM5 IO Carrier Board - untested *Black DeskPi Super6C Cluster Mini-ITX Board - untested *[https://sipeed.com/nanocluster Sipeed NanoCluster] - untested up to 7 CM5 *Green BentoIO CMX0 - untested *Box EDATec ED-CLAWBOX - untested *Home Assistant Yellow - Kit with PoE with Raspberry Pi Compute Module 5 - untested *Blue [https://www.waveshare.com/wiki/CM5_PoE_BASE_A Waveshare CM5-PoE-BASE-A] - untested *Box Waveshare [ CM5-POE-BOX-A] - untested *Blue [https://www.waveshare.com/wiki/CM5-IO-BASE-B Waveshare CM5-IO-BASE-B] - untested *Blue [https://www.waveshare.com/wiki/CM5-IO-BASE-A Waveshare CM5-IO-BASE-A] - untested *Blue Waveshare [https://www.waveshare.com/wiki/CM5-NANO-B CM5-NANO-B] - untested *[https://carboncomputers.us/products/pi-flux piFlux] *[https://carboncomputers.us/products/ Zitaotech Hackberry] CM5 lite only - *Portable [https://www.waveshare.com/pocketterm35.htm Waveshare PocketTerm35] with Pi4B or Pi5 - untested *Box [https://www.clockworkpi.com/uconsole ClockworkPi uConsole][https://www.youtube.com/watch?v=EtI_bAahbR8 CM4 into an adapter or CM3 into so-dimm - Cyberdeck] - untested *Green RPi [https://datasheets.raspberrypi.com/cm4io/CM4IO-KiCAD.zip Compute Module 4] [https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf IO board] V1.4 [https://datasheets.raspberrypi.com/cm4io/CM4IOUSB3-KiCAD.zip USB3] [https://datasheets.raspberrypi.com/cm4io/cm4iousb3-appnote.pdf CM4ISO] [https://datasheets.raspberrypi.com/cm4/cm4-datasheet.pdf Dual100pin] (2020) aka Development Platform Board - untested *Purple Pi Hut Cytron CM4 Maker Board - untested *Black DeskPi Super6C Cluster Mini-ITX Board - untested *[ KubeSail PiBox mini 2] *Home Assistant Yellow with Raspberry Pi Compute Module 4 - untested *[ Turing Pi V2] - untested CM4 with 260-pin SO-DIMM socket adapters and/or nvidia jetson nanos - untested *Blue [https://www.waveshare.com/wiki/CM4-IO-BASE-B Waveshare CM4-IO-BASE-B] - untested but binary blobs *Blue [https://www.waveshare.com/wiki/CM4-IO-BASE-A Waveshare CM4-IO-BASE-A] - untested but binary blobs CM3 has a 200 pin sodimm ddr2 connector form factor but not electrically SC0028, SC0029 *Blue [https://wiki.geekworm.com/CM_IO_Board Geekworm RPi Compute Module IO Board] [https://github.com/geekworm-com/cm-io-board CSI DSI] with CM3 in ddr2 slot underside - '''works''' if SW1 on but CM3+ '''does not''' *Green [https://cdn-shop.adafruit.com/product-files/3442/CMIO_schematic.pdf RPi V3 IO board CM3IO] and CM3 Lite - untested *Green [https://turingpi.com/ turingpi v1 cluster] - untested up to 7 cm3 7xlan9514 12V discontinued, 3 x Pi4 homelab maybe better *Blue [https://www.waveshare.com/wiki/Compute_Module_PoE_Board Waveshare Compute Module PoE Board] and CM3 lite (if not lite, write files to internal eMMC fat32) '''AVOID''' bin blobs *Blue [https://www.waveshare.com/compute-module-io-board-plus.htm Waveshare Compute Module IO Board Plus] [https://www.waveshare.com/wiki/Compute_Module_IO_Board_Plus wiki] [https://forums.raspberrypi.com/viewtopic.php?t=235695 pin settings] with CM3+ Lite - '''AVOID''' binary blob *[ Pi02w on Geekworm SupTronics X305 Raspberry Pi Zero IO Baseboard] - untested *[ Spotpear Pi Zero 2w to Pi3b format-ish] - untested *[ pi-top v4] box has 128x64 oled display, micro hdmi, 19Whr battery with pi4 and 15V PD 36W min needed *[ pi-top v3] three green pieces, heatsink covers most of the base tray, pi-top hub mk1 lhs and Pi1B Pi2b Pi3b rhs secured from below, black rounded strip with pi-top above keyboard, 13.3" HD 1366 x 768 display, small touchpad, *[ pi-top Model 2.0] pi-top on bottom bezel of 14-inch green laptop, large trackpad, keyboard slide down to reveal main system hub on slide rails moved to the right, Raspberry Pi3b screws down, hub slides in, 18V 2.5A 45W charger brick, battery 11.1V 3500mAh 38.85Wh and storage PiTopOS *[ Pi-Top CEED Raspberry Pi Modular Educational Desktop with RPI3] monitor *[https://www.indiegogo.com/en/projects/jesselozano/pi-top-a-raspberry-pi-laptop-you-build-yourself Pi-Top v1] wedge laptop with RPi2 <pre> 2008 Trustees collected for Foundation 2009 Pi Foundation charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the 32bit Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold 2014 Pi 1 Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 no ethernet and 1 usb - a little smaller - 2015 Over four million first gen pis sold 2015 Pi Zero 1.2 BCM2835 first production revision released with no camera port 2016 Pi0 1.3 released with camera csi connector 2017 Pi Zero W v1.1 1GHz Pi0W, single-core 32bit CPU BCM2835 released with Cypress CYW43438 wireless 2020 Raspberry Pi Pico SC0919 with RP2040 32-bit 2Core ARM Cortex-M0+ up to 133 MHz - 264KB of SRAM and 2MB of on-board QSPI Flash - 2024 Raspberry Pi Pico 2 with RP2350 2Core 32bit Arm Cortex-M33 and 2core open-hardware [https://github.com/wren6991/hazard3 Hazard3 RISC-V] 2015 Pi 2 Model B v1.1 BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit, 32bit VideoCore IV GPU - 1Gb RAM - 5V 2A micro usb - SMSC LAN9514 chip - 2015 Over a million pi2s sold 2015 Raspberry Pi 2 Model B version 1.2 Pi2bv1.2, aka Pi2B2 has armv8 BCM2837 underclocked to 900Mhz without wifi/bluetooth module 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz 32bit 1080p VideoCore IV GPU - 1Gb DDR2 - bluetooth 4.1, Cypress CYW43438 wireless 802.11n - 4 x USB2.0 ports - 5.1V 2.5A - SMSC LAN9514 chip 2016 PIs total over 10 million worldwide 2017 Compute Module 3 CM3 with BCM2837B0 armv8 Quad 64-bit - small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible which plugs into needed IO board - beware of the I2C protocol issue 1Gb LPDDR2 RAM - Lite or 4Gb Emmc storage 2017 12 million pis sold in total 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 1.4Ghz - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports - Microchip LAN7515 chip 2019 Over 15 million sold 2019 Pi 3 Model A+ with BCM2837b0 Cortex-A53 64-bit SoC @ 1.4 GHz with 512Mb LPDDR2, 1 usb2, 1 hdmi, 1 micro usb 5V 2A - no ethernet - 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0 1.2Ghz, Cortex-A53 (ARMv8) 64-bit SoC on DDR2 SODIMM mechanically compatible only factor - IO board required 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC 2021 Pi zero 2 (w or no W) RP3A0 quad 1GHz Cortex-A53 64bit BCM2710A1 512mB SDRam 2025 edaTEC CM0 ED-CM0NANA with additional dev board with quad 1Ghz A53 with 512Mb Raysan RAM, 2 USB2 and 10/100 ethernet - pico castellated edge 2019 Pi 4 Model B RPI4B - BCM2711B0T quad 64bit A72 1.5GHz, 4K VideoCore VI, AC wifi, Bluetooth 5.0, GbE Broadcom BCM54213PE (PHY ID 0x600d84a2), 2 micro hdmi decode up to 4K, USB-C 5.1V 3A power, 2xVLI VL805 USB 3, 2xUSB 2.0, 2GB 9LDWW D9WHZ or 4GB 9FDWW D9WHV, 8GB 0AA47 D9ZCL ddr4 ram 2020 Silent Pi 4 v1.2 upgrade with more USB-c psu support 2020 PI400 BCM2711C0T 1.8GHz 4Gb DDR4 inside keyboard, 5.1V 5A 27W usb-c psu, 2 micro hdmi, external ide style 40pin gpio, no audio port - 2020 Raspberry Pi Compute Module 4 BCM2711B0T on new 55mm x 40mm 2x100 pin form factor with extra breakout IO board CM4101000 1Gb RAM Lite SOM CM4102000 2GB RAM Lite CM4104000 4GB RAM Lite CM4004008-4GB-RAM 8GB-EMMC SOM System on Modules CM4104032 4GB RAM 32GB emmc CM4108000 8GB RAM Lite CM4008016 8GB RAM 16Gb eMMc 2021 Raspberry Pi SC0763 Compute Module 4S CM4S with ddr2 sodimm pinouts but not electrically the same with suitable IO board extra cost - CM4S01000 1GB RAM Lite CM4S01008 1GB RAM 8GB eMMC Flash CM4S02000 2GB RAM Lite CM4S04000 4GB RAM Lite CM4S08000 8GB RAM Lite 2021 Pi 4 v1.4 BCM2711B1 upgraded power regulator, to deal with 8gig of ram being more power hungry - 2021-48 Raspberry Pi 4 model B v1.5 2GB 2023 Pi 5 v1.0 BCM2712 Quad A76 @2.4Ghz - VideoCore VII - no audio socket - dual 4k from mini hdmi - fan connector - 5.1V 5A psu 2024 Pi 5 2GB DDR4 version uses BCM2712D0 2024 Pi-500 with 8Gb LPDDR5 and membrane keyboard 2024 Pi 5 v1.1 2024 Raspberry Pi Compute Module 5 CM5 BCM2712 55mm x 40mm form factor with additional IO board CM5004000 04GB RAM 0GB eMMC Lite CM5008000 08GB RAM 0GB eMMC Lite CM5016000 16GB RAM 0GB eMMC Lite 2025 Pi-500+ with 256GB NVMe storage, 16GB LPDDR4 RAM, and Gateron KS-33 Low Profile Blue mechanical keyboard switches 2025 Pi5 1GB DDR4 announced 2022 PiOS linux goes 64bit 2024 Pi Trading IPO stockmarket stock exchange listing 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 LE little endian builds start 2026 August Pi 4, 400, 5 and 500 DTBs added, expanding existing support and wifi for Pi4 and Pi5 2026 August Pi5 HAT+ nvme and HDMI, AHI RPiI2S added, Pi4 HVS5 video scaler started, 2026 2027 2028 Pi 6 </pre> ==Future== [https://github.com/ARMSX2/ARMSX2 Arm pi of pcsx2] {{BookCat}} r8s485glk4ueo14b31yak1qtjgecn3o 4670073 4670072 2026-09-14T17:20:42Z Jeff1138 301139 4670073 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] [[#Build]] [[#Hardware]] [[#References]] [[#Future]] ==Introduction== [[File:Scalos00.png|thumb|Scalos on Aros Pi3b]] Aros aims to cover Pi 3 to 5 1Gb+ RAM ideally as you may have to switch to 256Mb gfx mode depending on the application running Options to boot from using a good power source to prevent the yellow lightning symbol. *With Pi3b+ the max you can get is 5.1V 2.5A with micro usb. *With Pi4 5.1V 3A with usb-c *With Pi5 5.1V 5A, the amps went ever upwards, even to 5.1V 9A with usb-c Pi500+ keyboard wedge - Pi400 RPI-400 keyboard wedge - resolution changing and audio from micro hdmi0 (near 40pin) and micro hdmi1 (near usb-c psu) - Fn F10 0x5e power on and off works or held down for over 7 seconds auto shutdown - keyboard ok but not great - wifi and lan ethernet testing - * Pi 5 - Quad A76 64bit ARMv8 and RP1 "southbridge" with VideoCore 7 Pre-D0 (Rev1.0) or D0 (rev1.1) * Pi 4 - Quad A72 64bit ARMv8 with VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] ARMv8 with VideoCore 4 with heatsink/fan on 3b to prevent cpu 82C+ throttling * Pi 2 - Quad 32bit ARMv6 with VideoCore 4 - mostly not 64bit compatible * Pi Model B+ 32bit ARMv6 with VideoCore 4 - not 64bit compatible * Pi Model A and B 32bit ARMv6 with VideoCore 4 - not 64bit compatible ===Native=== * 2013-03 Kalamatee starts work * 2015-04 Work continues with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume adding BE big endian support], [https://www.patreon.com/michal_schulz/posts Big endian on Pi] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3b, 4 and 5 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=metaneutrons latest commits for Pi5] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bitplane latest commits for ARM] '''Download''' [https://aros.sourceforge.io/nightly1.html RaspberryPi 3, 3+, 4 and 5 64bit ArmV8 builds] [https://sourceforge.net/projects/aros/files/ Alternative site and nightly2] both raspi-aarch64-system and raspi-aarch64-contrib can be unbz2'd and copied to fat32 8GB+ microSD card (there will be folders - boot c Classes Demos Developer Devs Extras etc only showing). The SD can be plugged in to the Pi 64bit build works well on a single core LE little endian. Multicore [https://github.com/aros-development-team/AROS/commit/1df0747c2bda3523a43029725a709b1f377d84ec may follow]. Any issues booting could be down to the SD card so please use another SD to see if it is resolved. Please report your experiences in the [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2019&rowstart=80 Aros Raspberry pi 3 64bit thread] Boots with '''USB3''' port based sata3 ssd on Pi400 but untested on Pi4 (may need eeprom update from PiOS or Pi SD Imager) and Pi5 Pi 3 B+ is pre-configured for USB sata3 boot - untested Pi 3 B may need [https://www.youtube.com/watch?v=ubnwvxF3Klc PiOS to set OTP to boot from usb - do so at your own risk] - if OTP set to usb, boot works but slower than SD card Speed write wise (top faster) <pre> *NVME Pi5 untested >1000MB/sec or faster if matched correctly *Sata3 ssd 500MB/sec *SD V90 90MB/sec 4K maybe 8K *SD V60 60MB/sec 1080p *SD U3 V30 30MB/sec 720p *SD C10 U1 V10 A1 A2 10MB/sec minimum should be used now *SD C06 6MB/sec *SD C04 4MB/sec </pre> As a homage to the past, Aros shows a reduced number of icons but this can be changed by left mouse click in the window and then right click down to Window -> View -> All files Windows can be manipulated by the top (moving) and the bottom right corner (resizing) only. Like most amiga like OSs the audio and networking need to be setup manually Audio AHI prefs - Mode settings tab - needs both Music unit and Unit 0 set to RPiHDMI:16 bit stereo++ or RPiPWM:16 bit stereo++ at 44100Hz. Press '''Save or Use''' button after each choice Double left mouse click on most picture (Developer/Debug/Tests/Datatypes), audio and video files are supported, via datatypes, by the multiview application. Esc escape key usually closes open windows even the desktop In Prefs/Appearance some decorative theming elements need work. There is a few Mason icons in /Prefs/Presets/Icons/Mason/ and the ever present default Gorilla - Icon exchange in works For more intensive graphics applications, you may need to edit config.txt in the root folder and change 128M to 256M to adjust more memory to graphics usage [http://archives.arosworld.org/index.php?function=browse&cat=network/browser amelinium web browser] is available with an [https://eab.abime.net/showthread.php?t=122494&page=51 eab thread] reminiscent of [https://github.com/zapek/Voyager Voyager] and to a lesser extent [https://github.com/amigazen/aweb3/ Aweb]. [[File:Wifi00.png|thumb|Setup wifi on Aros Pi3b]] [[File:Wifi01.png|thumb|Setup wifi on Aros Pi3b]] [[File:Wifi02.png|thumb|Setup wifi on Aros Pi3b]] Wifi setup needs the network prefs with the TCP/IP tab click add interface -> change Device to bwfm.device as net0:, IP Mode as DHCP and IPv4 Once you’ve configured the device, simply save the Wireless Networks tab Wi-Fi configuration even if it’s empty. This will create the Wireless.prefs file in the Prefs/Env-Archive/SYS drawer, and should see the Wireless Manager icon in Wanderer. Although a reboot maybe necessary. Wireless tab gets your router settings. If it does not set to start at boot, settings are preserved. Instead, add this to the user-startup: <pre> execute sys:system/network/arostcp/s/startnet run wirelessmanager device=bwfm.device >nil: </pre> Network will start automatically on boot. If you don't want the wirelessmanager icon on Wanderer desktop, just add 'nogui' to the wirelessmanager line Lan ethernet port on *lan9514 Pi3b Pi2 no support at the moment *lan7515 Pi3b+ type into Device usblan78xx.device as net0: remove other device(s) *bcmgenet Pi4 Pi400 choose for Device bcmgenet.device Summary *3b ethernet not supported, setup wireless manager (with interface issues) *3b+ seems to work wifi and ethernet *4 untested *400 seems to work wifi and ethernet (with interface issues) There is normally no Bluetooth support for most amiga like OSs but Aros has one [https://github.com/aros-development-team/AROS/commit/6942cbfbf66426d21963a7fcd8aba6aff611a9e0 work in progress] [https://forums.raspberrypi.com/viewtopic.php?t=338466 firmware] *Bluetooth 4.1 BCM43430A1.hcd Pi3B, Pi3A, Zero W *Bluetooth 4.2 BCM4345C0.hcd Pi3B+, Pi4 *Bluetooth 5.0 BCM4345C5.hcd Pi4B rev, CM4 and maybe Pi5 and CM5 *bthid keyboard mouse support *btserial serial *btpan short range wireless connecting devices Only the Pi5 has a RTC real time clock, the other Pis will need to use Extras:Networking/utils/ntpsync/ or [https://archives.arosworld.org/index.php?function=browse&cat=network PiNTP] to get the date and time from the internet USB classes support from Prefs/Trident is still work in process *usbaudio working on usb3 port (blue) on pi4, 400 but not working (no rt isochronous) on usb2otg (white or black) for pi3b, zero 2w *[https://aminet.net/package/mus/midi/camd camdusbmidi] detects midi devices without a preferences file (Prefs/Env-Archive/sys/midi.prefs) as [https://www.youtube.com/watch?v=RBxHkwy4Nrw auto setup now] possibly with [https://github.com/dwhinham/mt32-pi mt32-pi pi3+] as well as need developer gcc tools to look at 64bit ports of [https://archives.arosworld.org/?function=showfile&file=driver/audio/usbmidi.i386-aros.lha usbmidi], [https://aminet.net/package/mus/midi/CAMD_Toolkit CAMD_Toolkit], [https://aminet.net/package/mus/midi/camdtools camdtools], [https://github.com/cnvogelg/amiditools amiditools], [https://github.com/timoinutilis/midi-sequencer-amigaos horny src], [https://aminet.net/package/mus/midi/horny-base horny-base], [http://bnp.hansfaust.de/index.html BnP], [], Regarding 680x0 emulation, there are several options that could be considered *[https://github.com/aros-development-team/AROS/blob/6722a0ae9e03fe5d26e32703360bd2059e0864cc/rom/m68kemu/README.md?plain=1#L424 m68kemu.library] for some Amiga productivity where the cpu is emulated and the system calls are redirected to Aros ones *[https://github.com/BlitterStudio/amiberry amiberry] (winuae) for everything else like games *[https://github.com/jonx/AROS/tree/aarch64-darwin-graft/arch/all-darwin/libs/emu68k emu68k] *[https://scriptedamigaemulator.net/ Scripted Amiga] with [https://github.com/naTmeg/ScriptedAmigaEmulator ScriptedAmigaEmulator] or older [https://github.com/gbraad-amiga/ScriptedAmigaEmulator2 ScriptedAmigaEmulator2] [https://pinout.xyz/ GPIO 40 pins] [https://learn.sparkfun.com/tutorials/raspberry-gpio/gpio-pinout pinout] Some exceptions: *Physical pins 27, 28 (GPIO0, 1) are an internal I2C bus and should not be used *The other I2C on pins 3, 5 (GPIO 2, 3) can be used generally, but be aware they have permanent pull-up resistors to 3.3V *For MIDI use USB but there are dedicated UART pins 8, 10 (GPIO 14, 15). With a HAT it's more awkward -- you need to know which pins are used by the HAT and avoid them. Hopefully this will be documented. Remember all GPIOs are 3.3V (not 5V tolerant), floating/noisy inputs can cause odd behavior, and that shorting the power supplies can cause instant death of the Pi. In the shell GPIO PIN/A/N,SET/N,GET/S,MODE/K,PULL/K Controls and queries hardware GPIO pins via gpio.resource which is stored in the rom or Devs/ '''please test''' *PIN -- (Required) Target GPIO pin number (e.g. 12). *SET -- Set pin output value to 0 (LOW) or 1 (HIGH). *GET -- Read and print current digital input level (0 or 1). *MODE -- Configure pin mode: IN (Input), OUT (Output), ALT (Alternate). *PULL -- Configure pull resistor: NONE, UP, DOWN. EXAMPLES <pre> GPIO 12 MODE OUT GPIO 12 SET 1 GPIO 12 GET GPIO 13 PULL UP </pre> [https://gpiozero.readthedocs.io/en/stable/installing.html Current] [https://gpiozero.readthedocs.io/en/v1.2.0/api_boards.html old support for gpiozero is unknown at present] [https://energenie4u.co.uk/res/pdfs/ENER314%20UM.pdf and associated 433MHz equipment] [ USA X10 security and lights via USB] [ OpenHab with Shelly Smart Plug connected over Wi-Fi, controlled by MQTT or HTTP] Printing only with Postscript but [https://github.com/bohunamiga/MintPRINT one] of [https://github.com/boingball/MintPRINT two] [https://github.com/Andiweli/AmiAirPrint/tree/main AirPrint] IPP has been attempted with [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2061&pid=13954#post_13954 discussion] Youtube [], [], [https://www.youtube.com/watch?v=X4fmWAIv7FE Aros native on Pi3b], [], [], [https://www.youtube.com/watch?v=TSxlYb1eQWU Installed on Pi3b+], [], [], [https://www.youtube.com/watch?v=NFF1H3jCoz8 testing Aros native on Pi400], [], [], [https://www.youtube.com/watch?v=nIVx7mh1E1Q&pp=ygUHYXJvcyBwadIHCQkTDAGHKiGM7w%3D%3D Aros on Thumb 2 based 32bit-ish ARM STM32H743 board], The status of AROS native ARMv6 for 32bit RasPi was OK. System booting, USB working (although with some issues but plans to fix them). 32bit native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] raspi-armhf-system raspi-armhf-contrib unbz2'd to fat32 microSD ===Hosted=== AArch64 CPU backend for AROS, a Cocoa/Metal display, clipboard / host-volume / CoreAudio / BSD-sockets bridges, GPU 2D via gpufx.library, a 68k→AArch64 JIT (run68k), and a full Rust std port. On [https://www.jkn.me/blog/macaros-aros-on-apple-silicon/ latest Apple Silicon] [https://github.com/jonx/Macaros early buggy alpha version of hosted Aros .dmg on MacOS12+]. Please use [https://github.com/jonx/Macaros/issues MACAros github] for issues, features etc and possibly [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2030&pid=13910#post_13910 here] [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://www.raspberrypi.com/documentation/computers/software-sources.html Documentation] *[https://rpilocator.com/ RPiLocator] Linux only *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.raspberrypi.com/software/operating-systems/ PiOS Lite] and then [https://hstwb.firstrealize.com/ HST] *[https://dietpi.com/ DietPi] *[http://www.tinycorelinux.net/ports.html piCore] *[https://wiki.alpinelinux.org/wiki/Raspberry_Pi Alpine Linux] *[https://github.com/armbian/build Armbian] *[ PiMiga] *[ FydeOS] *[ TwisterOS based on ChromiumOS] *[https://note.com/jamesmondo/n/nc76e31402be8?hl=en BSD] Other alternative lighter smaller than Pi OS *[https://aros.sourceforge.io/nightly1.html Aros 64bit ARMV8 single core] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/michalsc/Emu68 ARM based realtime JIT 68k for amiga computers] *[https://github.com/JJDSNT/bellatrix/releases/ Alternative use of Emu68 on Pi3b] *[https://github.com/stevereaver/uaos uaOS with Emu68k] *[https://github.com/aros-development-team/AROS/commit/f80a268607dfae81b2db94755ab4e4d31ccb72d6 m68kemu library reference] *[ HaikuOS] *[https://github.com/raspberrypi/noobs NOOBS] os loader with successor [https://github.com/procount/pinn PINN] *[https://github.com/maxnet/berryboot berryboot] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==== Hosted ==== =====64bit===== [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2019&rowstart=80&pid=13667#post_13667 Ubuntu Linux PC hosted Pi compiler build] [https://github.com/BlitterStudio/aros-compiler-docker Aros Docker for various systems], [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd Apple Silicon support] =====32bit===== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> sizeof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load the arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) Help building AROS hosted on Linux ARM Was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but ask an help to have an automated way to correctly build without modify mmakefiles. Last time built armhf target was around 2 years ago. At that point built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Need to find where to enable build libaeabi.a so can build the entire toolchain with option 21 of rebuild.sh Found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. Try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. == Hardware == ===64bit=== ====BCM2712==== With the Pi5 Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] hopefully be merged for Mesa 23.3 *Raspberry Pi M.2 HAT+ Expansion Board *Geekworm X1001 PCIe to M.2 Key-M NVMe *Geekworm X1003 PCIe to M.2 HAT NVMe SSD PIP Board for Raspberry Pi 5 *Pineboards Pi Hut HatDrive! M.2 HAT 2024/V4 *Hat+ Gen2 Gen3 Nvme *GeeekPi 52Pi N04 for Raspberry Pi 5 NVME M.2 * *2024 RPI AI HAT - Hailo 20TOPs no LLMs *2026 RPI AI HAT+ 2 - Hailo 40TOPs slightly better? [https://www.raspberrypi.com/documentation/accessories/camera.html Cameras for Pi] *Raspberry Pi camera module, the V3 with Sony IMX708 back-illuminated CMOS 12 Megapixel sensor *Raspberry Pi Camera Module V2 – 8MP Sony IMX219 Sensor *Raspberry Pi camera Rev 1.3, 5MP 1080P OV5647 image/video module, 2592 x 1944 pixels ====BCM2711==== With the Pi4 an ARM a72 cpu is about x3 times the size of an a53 in the Pi3 the 2711b line used more power when idle, compared to the 2711c *2018 Raspberry Pi PoE HAT Power Over Ethernet Hat - design issues *2020 Raspberry Pi PoE+ HAT Power Over Ethernet Hat Pi3b+ Pi4 only - better design *Waveshare PoE HAT (B) with cooling fan for Raspberry Pi 3B+/4B 802.3af PoE *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhx but it looks like a lot of effort has been put putting those theoretical FLOPs to better use. *vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. *vc5 added a four thread per QPU mode, with 16 registers per thread. *vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. A fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.0 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> Faster LPDDR4 memory. ====BCM2837==== With the Pi3 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] The overclock ability has diminished with each chip version as the energy usage has increased. BCM2837 is one of the warmest yet and benefits from active fan cooling if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. Dual VDP and scalable QPU in VC4 ARMv8-A has [https://developer.arm.com/documentation/102412/0100/Privilege-and-Exception-levels privilege levels] where userspace typically runs at ‘EL0’, the kernel at ‘EL1’ or ‘EL2’ and the firmware at the highest level ‘EL3’. ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up typical for most other OSs before the open sourcing of many binary blobs from 2017 onwards On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. GPU VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS or Amiga OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs splintering. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? Have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) So far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Kickstart The idea is to minimize amount of archirecture-specific modules to make the user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). USB Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). AFAIK its HCI 1.0 compliant but not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... Miscellanous hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. == References == Testing procedure is put sd card in, connect board to board if necessary, plug in hdmi and then power nothing else is done especially CSI DSI etc [https://www.raspberrypi.com/documentation/computers/compute-module.html CM5] has the same 55mm x 40mm 2x100pin connectors form factor as the CM4 but [https://www.epdtonthenet.net/article/214508/Key-Considerations-When-Migrating-from-Raspberry-Pi-CM4-to-CM5.aspx some pins and other small things] have changed. Will need the [https://raspipcb.com/tech-blog/raspberry-pi-cm4-vs-cm5-difference-in-booting-from-sd-card/ right IO board to suit] *Green [ Raspberry Pi Compute Module 5 IO Board REV2 [https://pip.raspberrypi.com/categories/1097-raspberry-pi-compute-module-5-io-board SC1967]] - untested *Green [ RPi Compute Module 5 IO board REV1 [https://pip.raspberrypi.com/categories/1097-raspberry-pi-compute-module-5-io-board SC1751]] - untested *Black SupTronics Geekbord X1500 CM5 IO Carrier Board - untested *Black DeskPi Super6C Cluster Mini-ITX Board - untested *[https://sipeed.com/nanocluster Sipeed NanoCluster] - untested up to 7 CM5 *Green BentoIO CMX0 - untested *Box EDATec ED-CLAWBOX - untested *Home Assistant Yellow - Kit with PoE with Raspberry Pi Compute Module 5 - untested *Blue [https://www.waveshare.com/wiki/CM5_PoE_BASE_A Waveshare CM5-PoE-BASE-A] - untested *Box Waveshare [ CM5-POE-BOX-A] - untested *Blue [https://www.waveshare.com/wiki/CM5-IO-BASE-B Waveshare CM5-IO-BASE-B] - untested *Blue [https://www.waveshare.com/wiki/CM5-IO-BASE-A Waveshare CM5-IO-BASE-A] - untested *Blue Waveshare [https://www.waveshare.com/wiki/CM5-NANO-B CM5-NANO-B] - untested *[https://carboncomputers.us/products/pi-flux piFlux] *[https://carboncomputers.us/products/ Zitaotech Hackberry] CM5 lite only - *Portable [https://www.waveshare.com/pocketterm35.htm Waveshare PocketTerm35] with Pi4B or Pi5 - untested *Box [https://www.clockworkpi.com/uconsole ClockworkPi uConsole][https://www.youtube.com/watch?v=EtI_bAahbR8 CM4 into an adapter or CM3 into so-dimm - Cyberdeck] - untested *Green RPi [https://datasheets.raspberrypi.com/cm4io/CM4IO-KiCAD.zip Compute Module 4] [https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf IO board] V1.4 [https://datasheets.raspberrypi.com/cm4io/CM4IOUSB3-KiCAD.zip USB3] [https://datasheets.raspberrypi.com/cm4io/cm4iousb3-appnote.pdf CM4ISO] [https://datasheets.raspberrypi.com/cm4/cm4-datasheet.pdf Dual100pin] (2020) aka Development Platform Board - untested *Purple Pi Hut Cytron CM4 Maker Board - untested *Black DeskPi Super6C Cluster Mini-ITX Board - untested *[ KubeSail PiBox mini 2] *Home Assistant Yellow with Raspberry Pi Compute Module 4 - untested *[ Turing Pi V2] - untested CM4 with 260-pin SO-DIMM socket adapters and/or nvidia jetson nanos - untested *Blue [https://www.waveshare.com/wiki/CM4-IO-BASE-B Waveshare CM4-IO-BASE-B] - untested but binary blobs *Blue [https://www.waveshare.com/wiki/CM4-IO-BASE-A Waveshare CM4-IO-BASE-A] - untested but binary blobs CM3 has a 200 pin sodimm ddr2 connector form factor but not electrically SC0028, SC0029 *Blue [https://wiki.geekworm.com/CM_IO_Board Geekworm RPi Compute Module IO Board] [https://github.com/geekworm-com/cm-io-board CSI DSI] with CM3 in ddr2 slot underside - '''works''' if SW1 on but CM3+ '''does not''' *Green [https://cdn-shop.adafruit.com/product-files/3442/CMIO_schematic.pdf RPi V3 IO board CM3IO] and CM3 Lite - untested *Green [https://turingpi.com/ turingpi v1 cluster] - untested up to 7 cm3 7xlan9514 12V discontinued, 3 x Pi4 homelab maybe better *Blue [https://www.waveshare.com/wiki/Compute_Module_PoE_Board Waveshare Compute Module PoE Board] and CM3 lite (if not lite, write files to internal eMMC fat32) '''AVOID''' bin blobs *Blue [https://www.waveshare.com/compute-module-io-board-plus.htm Waveshare Compute Module IO Board Plus] [https://www.waveshare.com/wiki/Compute_Module_IO_Board_Plus wiki] [https://forums.raspberrypi.com/viewtopic.php?t=235695 pin settings] with CM3+ Lite - '''AVOID''' binary blob *[ Pi02w on Geekworm SupTronics X305 Raspberry Pi Zero IO Baseboard] - untested *[ Spotpear Pi Zero 2w to Pi3b format-ish] - untested *[ pi-top v4] box has 128x64 oled display, micro hdmi, 19Whr battery with pi4 and 15V PD 36W min needed *[ pi-top v3] three green pieces, heatsink covers most of the base tray, pi-top hub mk1 lhs and Pi1B Pi2b Pi3b rhs secured from below, black rounded strip with pi-top above keyboard, 13.3" HD 1366 x 768 display, small touchpad, *[ pi-top Model 2.0] pi-top on bottom bezel of 14-inch green laptop, large trackpad, keyboard slide down to reveal main system hub on slide rails moved to the right, Raspberry Pi3b screws down, hub slides in, 18V 2.5A 45W charger brick, battery 11.1V 3500mAh 38.85Wh and storage PiTopOS *[ Pi-Top CEED Raspberry Pi Modular Educational Desktop with RPI3] monitor *[https://www.indiegogo.com/en/projects/jesselozano/pi-top-a-raspberry-pi-laptop-you-build-yourself Pi-Top v1] wedge laptop with RPi2 <pre> 2008 Trustees collected for Foundation 2009 Pi Foundation charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the 32bit Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold 2014 Pi 1 Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 no ethernet and 1 usb - a little smaller - 2015 Over four million first gen pis sold 2015 Pi Zero 1.2 BCM2835 first production revision released with no camera port 2016 Pi0 1.3 released with camera csi connector 2017 Pi Zero W v1.1 1GHz Pi0W, single-core 32bit CPU BCM2835 released with Cypress CYW43438 wireless 2020 Raspberry Pi Pico SC0919 with RP2040 32-bit 2Core ARM Cortex-M0+ up to 133 MHz - 264KB of SRAM and 2MB of on-board QSPI Flash - 2024 Raspberry Pi Pico 2 with RP2350 2Core 32bit Arm Cortex-M33 and 2core open-hardware [https://github.com/wren6991/hazard3 Hazard3 RISC-V] 2015 Pi 2 Model B v1.1 BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit, 32bit VideoCore IV GPU - 1Gb RAM - 5V 2A micro usb - SMSC LAN9514 chip - 2015 Over a million pi2s sold 2015 Raspberry Pi 2 Model B version 1.2 Pi2bv1.2, aka Pi2B2 has armv8 BCM2837 underclocked to 900Mhz without wifi/bluetooth module 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz 32bit 1080p VideoCore IV GPU - 1Gb DDR2 - bluetooth 4.1, Cypress CYW43438 wireless 802.11n - 4 x USB2.0 ports - 5.1V 2.5A - SMSC LAN9514 chip 2016 PIs total over 10 million worldwide 2017 Compute Module 3 CM3 with BCM2837B0 armv8 Quad 64-bit - small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible which plugs into needed IO board - beware of the I2C protocol issue 1Gb LPDDR2 RAM - Lite or 4Gb Emmc storage 2017 12 million pis sold in total 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 1.4Ghz - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports - Microchip LAN7515 chip 2019 Over 15 million sold 2019 Pi 3 Model A+ with BCM2837b0 Cortex-A53 64-bit SoC @ 1.4 GHz with 512Mb LPDDR2, 1 usb2, 1 hdmi, 1 micro usb 5V 2A - no ethernet - 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0 1.2Ghz, Cortex-A53 (ARMv8) 64-bit SoC on DDR2 SODIMM mechanically compatible only factor - IO board required 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC 2021 Pi zero 2 (w or no W) RP3A0 quad 1GHz Cortex-A53 64bit BCM2710A1 512mB SDRam 2025 edaTEC CM0 ED-CM0NANA with additional dev board with quad 1Ghz A53 with 512Mb Raysan RAM, 2 USB2 and 10/100 ethernet - pico castellated edge 2019 Pi 4 Model B RPI4B - BCM2711B0T quad 64bit A72 1.5GHz, 4K VideoCore VI, AC wifi, Bluetooth 5.0, GbE Broadcom BCM54213PE (PHY ID 0x600d84a2), 2 micro hdmi decode up to 4K, USB-C 5.1V 3A power, 2xVLI VL805 USB 3, 2xUSB 2.0, 2GB 9LDWW D9WHZ or 4GB 9FDWW D9WHV, 8GB 0AA47 D9ZCL ddr4 ram 2020 Silent Pi 4 v1.2 upgrade with more USB-c psu support 2020 PI400 BCM2711C0T 1.8GHz 4Gb DDR4 inside keyboard, 5.1V 5A 27W usb-c psu, 2 micro hdmi, external ide style 40pin gpio, no audio port - 2020 Raspberry Pi Compute Module 4 BCM2711B0T on new 55mm x 40mm 2x100 pin form factor with extra breakout IO board CM4101000 1Gb RAM Lite SOM CM4102000 2GB RAM Lite CM4104000 4GB RAM Lite CM4004008-4GB-RAM 8GB-EMMC SOM System on Modules CM4104032 4GB RAM 32GB emmc CM4108000 8GB RAM Lite CM4008016 8GB RAM 16Gb eMMc 2021 Raspberry Pi SC0763 Compute Module 4S CM4S with ddr2 sodimm pinouts but not electrically the same with suitable IO board extra cost - CM4S01000 1GB RAM Lite CM4S01008 1GB RAM 8GB eMMC Flash CM4S02000 2GB RAM Lite CM4S04000 4GB RAM Lite CM4S08000 8GB RAM Lite 2021 Pi 4 v1.4 BCM2711B1 upgraded power regulator, to deal with 8gig of ram being more power hungry - 2021-48 Raspberry Pi 4 model B v1.5 2GB 2023 Pi 5 v1.0 BCM2712 Quad A76 @2.4Ghz - VideoCore VII - no audio socket - dual 4k from mini hdmi - fan connector - 5.1V 5A psu 2024 Pi 5 2GB DDR4 version uses BCM2712D0 2024 Pi-500 with 8Gb LPDDR5 and membrane keyboard 2024 Pi 5 v1.1 2024 Raspberry Pi Compute Module 5 CM5 BCM2712 55mm x 40mm form factor with additional IO board CM5004000 04GB RAM 0GB eMMC Lite CM5008000 08GB RAM 0GB eMMC Lite CM5016000 16GB RAM 0GB eMMC Lite 2025 Pi-500+ with 256GB NVMe storage, 16GB LPDDR4 RAM, and Gateron KS-33 Low Profile Blue mechanical keyboard switches 2025 Pi5 1GB DDR4 announced 2022 PiOS linux goes 64bit 2024 Pi Trading IPO stockmarket stock exchange listing 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 LE little endian builds start 2026 August Pi 4, 400, 5 and 500 DTBs added, expanding existing support and wifi for Pi4 and Pi5 2026 August Pi5 HAT+ nvme and HDMI, AHI RPiI2S added, Pi4 HVS5 video scaler started, 2026 2027 2028 Pi 6 </pre> ==Future== [https://github.com/ARMSX2/ARMSX2 Arm pi of pcsx2] {{BookCat}} ht93isqjnfpsfy9bcksqhu7n7ta6xgr 4670074 4670073 2026-09-14T17:25:03Z Jeff1138 301139 4670074 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] [[#Build]] [[#Hardware]] [[#References]] [[#Future]] ==Introduction== [[File:Scalos00.png|thumb|Scalos on Aros Pi3b]] Aros aims to cover Pi 3 to 5 1Gb+ RAM ideally as you may have to switch to 256Mb gfx mode depending on the application running Options to boot from using a good power source to prevent the yellow lightning symbol. *With Pi3b+ the max you can get is 5.1V 2.5A with micro usb. *With Pi4 5.1V 3A with usb-c *With Pi5 5.1V 5A, the amps went ever upwards, even to 5.1V 9A with usb-c Pi500+ keyboard wedge - Pi400 RPI-400 keyboard wedge - resolution changing and audio from micro hdmi0 (near 40pin) and micro hdmi1 (near usb-c psu) - Fn F10 0x5e power on and off works or held down for over 7 seconds auto shutdown - keyboard ok but not great - wifi and lan ethernet testing - * Pi 5 - Quad A76 64bit ARMv8 and RP1 "southbridge" with VideoCore 7 Pre-D0 (Rev1.0) or D0 (rev1.1) * Pi 4 - Quad A72 64bit ARMv8 with VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] ARMv8 with VideoCore 4 with heatsink/fan on 3b to prevent cpu 82C+ throttling * Pi 2 - Quad 32bit ARMv6 with VideoCore 4 - mostly not 64bit compatible * Pi Model B+ 32bit ARMv6 with VideoCore 4 - not 64bit compatible * Pi Model A and B 32bit ARMv6 with VideoCore 4 - not 64bit compatible ===Native=== * 2013-03 Kalamatee starts work * 2015-04 Work continues with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume adding BE big endian support], [https://www.patreon.com/michal_schulz/posts Big endian on Pi] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3b, 4 and 5 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=metaneutrons latest commits for Pi5] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bitplane latest commits for ARM] '''Download''' [https://aros.sourceforge.io/nightly1.html RaspberryPi 3, 3+, 4 and 5 64bit ArmV8 builds] [https://sourceforge.net/projects/aros/files/ Alternative site and nightly2] both raspi-aarch64-system and raspi-aarch64-contrib can be unbz2'd and copied to fat32 8GB+ microSD card (there will be folders - boot c Classes Demos Developer Devs Extras etc only showing). The SD can be plugged in to the Pi 64bit build works well on a single core LE little endian. Multicore [https://github.com/aros-development-team/AROS/commit/1df0747c2bda3523a43029725a709b1f377d84ec may follow]. Any issues booting could be down to the SD card so please use another SD to see if it is resolved. Please report your experiences in the [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2019&rowstart=80 Aros Raspberry pi 3 64bit thread] Boots with '''USB3''' port based sata3 ssd on Pi400 but untested on Pi4 (may need eeprom update from PiOS or Pi SD Imager) and Pi5 Pi 3 B+ is pre-configured for USB sata3 boot - untested Pi 3 B may need [https://www.youtube.com/watch?v=ubnwvxF3Klc PiOS to set OTP to boot from usb - do so at your own risk] - if OTP set to usb, boot works but slower than SD card Speed write wise (top faster) <pre> *NVME Pi5 untested >1000MB/sec or faster if matched correctly *Sata3 ssd 500MB/sec *SD V90 90MB/sec 4K maybe 8K *SD V60 60MB/sec 1080p *SD U3 V30 30MB/sec 720p *SD C10 U1 V10 A1 A2 10MB/sec minimum should be used now *SD C06 6MB/sec *SD C04 4MB/sec </pre> As a homage to the past, Aros shows a reduced number of icons but this can be changed by left mouse click in the window and then right click down to Window -> View -> All files Windows can be manipulated by the top (moving) and the bottom right corner (resizing) only. Like most amiga like OSs the audio and networking need to be setup manually Audio AHI prefs - Mode settings tab - needs both Music unit and Unit 0 set to RPiHDMI:16 bit stereo++ or RPiPWM:16 bit stereo++ at 44100Hz. Press '''Save or Use''' button after each choice Double left mouse click on most picture (Developer/Debug/Tests/Datatypes), audio and video files are supported, via datatypes, by the multiview application. Esc escape key usually closes open windows even the desktop In Prefs/Appearance some decorative theming elements need work. There is a few Mason icons in /Prefs/Presets/Icons/Mason/ and the ever present default Gorilla - Icon exchange in works For more intensive graphics applications, you may need to edit config.txt in the root folder and change 128M to 256M to adjust more memory to graphics usage [http://archives.arosworld.org/index.php?function=browse&cat=network/browser amelinium web browser] is available with an [https://eab.abime.net/showthread.php?t=122494&page=51 eab thread] reminiscent of [https://github.com/zapek/Voyager Voyager] and to a lesser extent [https://github.com/amigazen/aweb3/ Aweb]. [[File:Wifi00.png|thumb|Setup wifi on Aros Pi3b]] [[File:Wifi01.png|thumb|Setup wifi on Aros Pi3b]] [[File:Wifi02.png|thumb|Setup wifi on Aros Pi3b]] Wifi setup needs the network prefs with the TCP/IP tab click add interface -> change Device to bwfm.device as net0:, IP Mode as DHCP and IPv4 Once you’ve configured the device, simply save the Wireless Networks tab Wi-Fi configuration even if it’s empty. This will create the Wireless.prefs file in the Prefs/Env-Archive/SYS drawer, and should see the Wireless Manager icon in Wanderer. Although a reboot maybe necessary. Wireless tab gets your router settings. If it does not set to start at boot, settings are preserved. Instead, add this to the user-startup: <pre> execute sys:system/network/arostcp/s/startnet run wirelessmanager device=bwfm.device >nil: </pre> Network will start automatically on boot. If you don't want the wirelessmanager icon on Wanderer desktop, just add 'nogui' to the wirelessmanager line Lan ethernet port on *lan9514 Pi3b Pi2 no support at the moment *lan7515 Pi3b+ type into Device usblan78xx.device as net0: remove other device(s) *bcmgenet Pi4 Pi400 choose for Device bcmgenet.device Summary *3b ethernet not supported, setup wireless manager (with interface issues) *3b+ seems to work wifi and ethernet *4 untested *400 seems to work wifi and ethernet (with interface issues) There is normally no Bluetooth support for most amiga like OSs but Aros has one [https://github.com/aros-development-team/AROS/commit/6942cbfbf66426d21963a7fcd8aba6aff611a9e0 work in progress] [https://forums.raspberrypi.com/viewtopic.php?t=338466 firmware] *Bluetooth 4.1 BCM43430A1.hcd Pi3B, Pi3A, Zero W *Bluetooth 4.2 BCM4345C0.hcd Pi3B+, Pi4 *Bluetooth 5.0 BCM4345C5.hcd Pi4B rev, CM4 and maybe Pi5 and CM5 *bthid keyboard mouse support *btserial serial *btpan short range wireless connecting devices Only the Pi5 has a RTC real time clock, the other Pis will need to use Extras:Networking/utils/ntpsync/ or [https://archives.arosworld.org/index.php?function=browse&cat=network PiNTP] to get the date and time from the internet USB classes support from Prefs/Trident is still work in process *usbaudio working on usb3 port (blue) on pi4, 400 but not working (no rt isochronous) on usb2otg (white or black) for pi3b, zero 2w *[https://aminet.net/package/mus/midi/camd camdusbmidi] detects midi devices without a preferences file (Prefs/Env-Archive/sys/midi.prefs) as [https://www.youtube.com/watch?v=RBxHkwy4Nrw auto setup now] possibly with [https://github.com/dwhinham/mt32-pi mt32-pi pi3+] as well as need developer gcc tools to look at 64bit ports of [https://archives.arosworld.org/?function=showfile&file=driver/audio/usbmidi.i386-aros.lha usbmidi], [https://aminet.net/package/mus/midi/CAMD_Toolkit CAMD_Toolkit], [https://aminet.net/package/mus/midi/camdtools camdtools], [https://github.com/cnvogelg/amiditools amiditools], [https://github.com/timoinutilis/midi-sequencer-amigaos horny src], [https://aminet.net/package/mus/midi/horny-base horny-base], [http://bnp.hansfaust.de/index.html BnP], [], Regarding 680x0 emulation, there are several options that could be considered *[https://github.com/aros-development-team/AROS/blob/6722a0ae9e03fe5d26e32703360bd2059e0864cc/rom/m68kemu/README.md?plain=1#L424 m68kemu.library] for some Amiga productivity where the cpu is emulated and the system calls are redirected to Aros ones *[https://github.com/BlitterStudio/amiberry amiberry] (winuae) for everything else like games *[https://github.com/jonx/AROS/tree/aarch64-darwin-graft/arch/all-darwin/libs/emu68k emu68k] *[https://scriptedamigaemulator.net/ Scripted Amiga] with [https://github.com/naTmeg/ScriptedAmigaEmulator ScriptedAmigaEmulator] or older [https://github.com/gbraad-amiga/ScriptedAmigaEmulator2 ScriptedAmigaEmulator2] [https://pinout.xyz/ GPIO 40 pins] [https://learn.sparkfun.com/tutorials/raspberry-gpio/gpio-pinout pinout] Some exceptions: *Physical pins 27, 28 (GPIO0, 1) are an internal I2C bus and should not be used *The other I2C on pins 3, 5 (GPIO 2, 3) can be used generally, but be aware they have permanent pull-up resistors to 3.3V *For MIDI use USB but there are dedicated UART pins 8, 10 (GPIO 14, 15). With a HAT it's more awkward -- you need to know which pins are used by the HAT and avoid them. Hopefully this will be documented. Remember all GPIOs are 3.3V (not 5V tolerant), floating/noisy inputs can cause odd behavior, and that shorting the power supplies can cause instant death of the Pi. In the shell GPIO PIN/A/N,SET/N,GET/S,MODE/K,PULL/K Controls and queries hardware GPIO pins via gpio.resource which is stored in the rom or Devs/ '''please test''' *PIN -- (Required) Target GPIO pin number (e.g. 12). *SET -- Set pin output value to 0 (LOW) or 1 (HIGH). *GET -- Read and print current digital input level (0 or 1). *MODE -- Configure pin mode: IN (Input), OUT (Output), ALT (Alternate). *PULL -- Configure pull resistor: NONE, UP, DOWN. EXAMPLES <pre> GPIO 12 MODE OUT GPIO 12 SET 1 GPIO 12 GET GPIO 13 PULL UP </pre> [https://gpiozero.readthedocs.io/en/stable/installing.html Current] [https://gpiozero.readthedocs.io/en/v1.2.0/api_boards.html old support for gpiozero is unknown at present] [https://energenie4u.co.uk/res/pdfs/ENER314%20UM.pdf and associated 433MHz equipment] [ USA X10 security and lights via USB] [ OpenHab with Shelly Smart Plug connected over Wi-Fi, controlled by MQTT or HTTP] Printing only with Postscript but [https://github.com/bohunamiga/MintPRINT one] of [https://github.com/boingball/MintPRINT two] [https://github.com/Andiweli/AmiAirPrint/tree/main AirPrint] IPP has been attempted with [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2061&pid=13954#post_13954 discussion] Youtube [], [], [https://www.youtube.com/watch?v=X4fmWAIv7FE Aros native on Pi3b], [], [], [https://www.youtube.com/watch?v=TSxlYb1eQWU Installed on Pi3b+], [], [], [https://www.youtube.com/watch?v=NFF1H3jCoz8 testing Aros native on Pi400], [], [], [https://www.youtube.com/watch?v=nIVx7mh1E1Q&pp=ygUHYXJvcyBwadIHCQkTDAGHKiGM7w%3D%3D Aros on Thumb 2 based 32bit-ish ARM STM32H743 board], The status of AROS native ARMv6 for 32bit RasPi was OK. System booting, USB working (although with some issues but plans to fix them). 32bit native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] raspi-armhf-system raspi-armhf-contrib unbz2'd to fat32 microSD ===Hosted=== AArch64 CPU backend for AROS, a Cocoa/Metal display, clipboard / host-volume / CoreAudio / BSD-sockets bridges, GPU 2D via gpufx.library, a 68k→AArch64 JIT (run68k), and a full Rust std port. On [https://www.jkn.me/blog/macaros-aros-on-apple-silicon/ latest Apple Silicon] [https://github.com/jonx/Macaros early buggy alpha version of hosted Aros .dmg on MacOS12+]. Please use [https://github.com/jonx/Macaros/issues MACAros github] for issues, features etc and possibly [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2030&pid=13910#post_13910 here] [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://www.raspberrypi.com/documentation/computers/software-sources.html Documentation] *[https://rpilocator.com/ RPiLocator] Linux only *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.raspberrypi.com/software/operating-systems/ PiOS Lite] and then [https://hstwb.firstrealize.com/ HST] *[https://dietpi.com/ DietPi] *[http://www.tinycorelinux.net/ports.html piCore] *[https://wiki.alpinelinux.org/wiki/Raspberry_Pi Alpine Linux] *[https://github.com/armbian/build Armbian] *[ PiMiga] *[ FydeOS] *[ TwisterOS based on ChromiumOS] *[https://note.com/jamesmondo/n/nc76e31402be8?hl=en BSD] Other alternative lighter smaller than Pi OS *[https://aros.sourceforge.io/nightly1.html Aros 64bit ARMV8 single core] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/michalsc/Emu68 ARM based realtime JIT 68k for amiga computers] *[https://github.com/JJDSNT/bellatrix/releases/ Alternative use of Emu68 on Pi3b] *[https://github.com/stevereaver/uaos uaOS with Emu68k] *[https://github.com/aros-development-team/AROS/commit/f80a268607dfae81b2db94755ab4e4d31ccb72d6 m68kemu library reference] *[ HaikuOS] *[https://github.com/raspberrypi/noobs NOOBS] os loader with successor [https://github.com/procount/pinn PINN] *[https://github.com/maxnet/berryboot berryboot] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==== Hosted ==== =====64bit===== [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2019&rowstart=80&pid=13667#post_13667 Ubuntu Linux PC hosted Pi compiler build] [https://github.com/BlitterStudio/aros-compiler-docker Aros Docker for various systems], =====32bit===== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> sizeof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load the arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) Help building AROS hosted on Linux ARM Was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but ask an help to have an automated way to correctly build without modify mmakefiles. Last time built armhf target was around 2 years ago. At that point built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Need to find where to enable build libaeabi.a so can build the entire toolchain with option 21 of rebuild.sh Found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. Try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. == Hardware == ===64bit=== ====BCM2712==== With the Pi5 Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] hopefully be merged for Mesa 23.3 *Raspberry Pi M.2 HAT+ Expansion Board *Geekworm X1001 PCIe to M.2 Key-M NVMe *Geekworm X1003 PCIe to M.2 HAT NVMe SSD PIP Board for Raspberry Pi 5 *Pineboards Pi Hut HatDrive! M.2 HAT 2024/V4 *Hat+ Gen2 Gen3 Nvme *GeeekPi 52Pi N04 for Raspberry Pi 5 NVME M.2 * *2024 RPI AI HAT - Hailo 20TOPs no LLMs *2026 RPI AI HAT+ 2 - Hailo 40TOPs slightly better? [https://www.raspberrypi.com/documentation/accessories/camera.html Cameras for Pi] *Raspberry Pi camera module, the V3 with Sony IMX708 back-illuminated CMOS 12 Megapixel sensor *Raspberry Pi Camera Module V2 – 8MP Sony IMX219 Sensor *Raspberry Pi camera Rev 1.3, 5MP 1080P OV5647 image/video module, 2592 x 1944 pixels ====BCM2711==== With the Pi4 an ARM a72 cpu is about x3 times the size of an a53 in the Pi3 the 2711b line used more power when idle, compared to the 2711c *2018 Raspberry Pi PoE HAT Power Over Ethernet Hat - design issues *2020 Raspberry Pi PoE+ HAT Power Over Ethernet Hat Pi3b+ Pi4 only - better design *Waveshare PoE HAT (B) with cooling fan for Raspberry Pi 3B+/4B 802.3af PoE *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhx but it looks like a lot of effort has been put putting those theoretical FLOPs to better use. *vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. *vc5 added a four thread per QPU mode, with 16 registers per thread. *vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. A fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.0 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> Faster LPDDR4 memory. ====BCM2837==== With the Pi3 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] The overclock ability has diminished with each chip version as the energy usage has increased. BCM2837 is one of the warmest yet and benefits from active fan cooling if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. Dual VDP and scalable QPU in VC4 ARMv8-A has [https://developer.arm.com/documentation/102412/0100/Privilege-and-Exception-levels privilege levels] where userspace typically runs at ‘EL0’, the kernel at ‘EL1’ or ‘EL2’ and the firmware at the highest level ‘EL3’. ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up typical for most other OSs before the open sourcing of many binary blobs from 2017 onwards On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. GPU VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS or Amiga OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs splintering. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? Have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) So far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Kickstart The idea is to minimize amount of archirecture-specific modules to make the user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). USB Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). AFAIK its HCI 1.0 compliant but not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... Miscellanous hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. == References == Testing procedure is put sd card in, connect board to board if necessary, plug in hdmi and then power nothing else is done especially CSI DSI etc [https://www.raspberrypi.com/documentation/computers/compute-module.html CM5] has the same 55mm x 40mm 2x100pin connectors form factor as the CM4 but [https://www.epdtonthenet.net/article/214508/Key-Considerations-When-Migrating-from-Raspberry-Pi-CM4-to-CM5.aspx some pins and other small things] have changed. Will need the [https://raspipcb.com/tech-blog/raspberry-pi-cm4-vs-cm5-difference-in-booting-from-sd-card/ right IO board to suit] *Green [ Raspberry Pi Compute Module 5 IO Board REV2 [https://pip.raspberrypi.com/categories/1097-raspberry-pi-compute-module-5-io-board SC1967]] - untested *Green [ RPi Compute Module 5 IO board REV1 [https://pip.raspberrypi.com/categories/1097-raspberry-pi-compute-module-5-io-board SC1751]] - untested *Black SupTronics Geekbord X1500 CM5 IO Carrier Board - untested *Black DeskPi Super6C Cluster Mini-ITX Board - untested *[https://sipeed.com/nanocluster Sipeed NanoCluster] - untested up to 7 CM5 *Green BentoIO CMX0 - untested *Box EDATec ED-CLAWBOX - untested *Home Assistant Yellow - Kit with PoE with Raspberry Pi Compute Module 5 - untested *Blue [https://www.waveshare.com/wiki/CM5_PoE_BASE_A Waveshare CM5-PoE-BASE-A] - untested *Box Waveshare [ CM5-POE-BOX-A] - untested *Blue [https://www.waveshare.com/wiki/CM5-IO-BASE-B Waveshare CM5-IO-BASE-B] - untested *Blue [https://www.waveshare.com/wiki/CM5-IO-BASE-A Waveshare CM5-IO-BASE-A] - untested *Blue Waveshare [https://www.waveshare.com/wiki/CM5-NANO-B CM5-NANO-B] - untested *[https://carboncomputers.us/products/pi-flux piFlux] *[https://carboncomputers.us/products/ Zitaotech Hackberry] CM5 lite only - *Portable [https://www.waveshare.com/pocketterm35.htm Waveshare PocketTerm35] with Pi4B or Pi5 - untested *Box [https://www.clockworkpi.com/uconsole ClockworkPi uConsole][https://www.youtube.com/watch?v=EtI_bAahbR8 CM4 into an adapter or CM3 into so-dimm - Cyberdeck] - untested *Green RPi [https://datasheets.raspberrypi.com/cm4io/CM4IO-KiCAD.zip Compute Module 4] [https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf IO board] V1.4 [https://datasheets.raspberrypi.com/cm4io/CM4IOUSB3-KiCAD.zip USB3] [https://datasheets.raspberrypi.com/cm4io/cm4iousb3-appnote.pdf CM4ISO] [https://datasheets.raspberrypi.com/cm4/cm4-datasheet.pdf Dual100pin] (2020) aka Development Platform Board - untested *Purple Pi Hut Cytron CM4 Maker Board - untested *Black DeskPi Super6C Cluster Mini-ITX Board - untested *[ KubeSail PiBox mini 2] *Home Assistant Yellow with Raspberry Pi Compute Module 4 - untested *[ Turing Pi V2] - untested CM4 with 260-pin SO-DIMM socket adapters and/or nvidia jetson nanos - untested *Blue [https://www.waveshare.com/wiki/CM4-IO-BASE-B Waveshare CM4-IO-BASE-B] - untested but binary blobs *Blue [https://www.waveshare.com/wiki/CM4-IO-BASE-A Waveshare CM4-IO-BASE-A] - untested but binary blobs CM3 has a 200 pin sodimm ddr2 connector form factor but not electrically SC0028, SC0029 *Blue [https://wiki.geekworm.com/CM_IO_Board Geekworm RPi Compute Module IO Board] [https://github.com/geekworm-com/cm-io-board CSI DSI] with CM3 in ddr2 slot underside - '''works''' if SW1 on but CM3+ '''does not''' *Green [https://cdn-shop.adafruit.com/product-files/3442/CMIO_schematic.pdf RPi V3 IO board CM3IO] and CM3 Lite - untested *Green [https://turingpi.com/ turingpi v1 cluster] - untested up to 7 cm3 7xlan9514 12V discontinued, 3 x Pi4 homelab maybe better *Blue [https://www.waveshare.com/wiki/Compute_Module_PoE_Board Waveshare Compute Module PoE Board] and CM3 lite (if not lite, write files to internal eMMC fat32) '''AVOID''' bin blobs *Blue [https://www.waveshare.com/compute-module-io-board-plus.htm Waveshare Compute Module IO Board Plus] [https://www.waveshare.com/wiki/Compute_Module_IO_Board_Plus wiki] [https://forums.raspberrypi.com/viewtopic.php?t=235695 pin settings] with CM3+ Lite - '''AVOID''' binary blob *[ Pi02w on Geekworm SupTronics X305 Raspberry Pi Zero IO Baseboard] - untested *[ Spotpear Pi Zero 2w to Pi3b format-ish] - untested *[ pi-top v4] box has 128x64 oled display, micro hdmi, 19Whr battery with pi4 and 15V PD 36W min needed *[ pi-top v3] three green pieces, heatsink covers most of the base tray, pi-top hub mk1 lhs and Pi1B Pi2b Pi3b rhs secured from below, black rounded strip with pi-top above keyboard, 13.3" HD 1366 x 768 display, small touchpad, *[ pi-top Model 2.0] pi-top on bottom bezel of 14-inch green laptop, large trackpad, keyboard slide down to reveal main system hub on slide rails moved to the right, Raspberry Pi3b screws down, hub slides in, 18V 2.5A 45W charger brick, battery 11.1V 3500mAh 38.85Wh and storage PiTopOS *[ Pi-Top CEED Raspberry Pi Modular Educational Desktop with RPI3] monitor *[https://www.indiegogo.com/en/projects/jesselozano/pi-top-a-raspberry-pi-laptop-you-build-yourself Pi-Top v1] wedge laptop with RPi2 <pre> 2008 Trustees collected for Foundation 2009 Pi Foundation charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the 32bit Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold 2014 Pi 1 Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 no ethernet and 1 usb - a little smaller - 2015 Over four million first gen pis sold 2015 Pi Zero 1.2 BCM2835 first production revision released with no camera port 2016 Pi0 1.3 released with camera csi connector 2017 Pi Zero W v1.1 1GHz Pi0W, single-core 32bit CPU BCM2835 released with Cypress CYW43438 wireless 2020 Raspberry Pi Pico SC0919 with RP2040 32-bit 2Core ARM Cortex-M0+ up to 133 MHz - 264KB of SRAM and 2MB of on-board QSPI Flash - 2024 Raspberry Pi Pico 2 with RP2350 2Core 32bit Arm Cortex-M33 and 2core open-hardware [https://github.com/wren6991/hazard3 Hazard3 RISC-V] 2015 Pi 2 Model B v1.1 BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit, 32bit VideoCore IV GPU - 1Gb RAM - 5V 2A micro usb - SMSC LAN9514 chip - 2015 Over a million pi2s sold 2015 Raspberry Pi 2 Model B version 1.2 Pi2bv1.2, aka Pi2B2 has armv8 BCM2837 underclocked to 900Mhz without wifi/bluetooth module 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz 32bit 1080p VideoCore IV GPU - 1Gb DDR2 - bluetooth 4.1, Cypress CYW43438 wireless 802.11n - 4 x USB2.0 ports - 5.1V 2.5A - SMSC LAN9514 chip 2016 PIs total over 10 million worldwide 2017 Compute Module 3 CM3 with BCM2837B0 armv8 Quad 64-bit - small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible which plugs into needed IO board - beware of the I2C protocol issue 1Gb LPDDR2 RAM - Lite or 4Gb Emmc storage 2017 12 million pis sold in total 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 1.4Ghz - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports - Microchip LAN7515 chip 2019 Over 15 million sold 2019 Pi 3 Model A+ with BCM2837b0 Cortex-A53 64-bit SoC @ 1.4 GHz with 512Mb LPDDR2, 1 usb2, 1 hdmi, 1 micro usb 5V 2A - no ethernet - 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0 1.2Ghz, Cortex-A53 (ARMv8) 64-bit SoC on DDR2 SODIMM mechanically compatible only factor - IO board required 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC 2021 Pi zero 2 (w or no W) RP3A0 quad 1GHz Cortex-A53 64bit BCM2710A1 512mB SDRam 2025 edaTEC CM0 ED-CM0NANA with additional dev board with quad 1Ghz A53 with 512Mb Raysan RAM, 2 USB2 and 10/100 ethernet - pico castellated edge 2019 Pi 4 Model B RPI4B - BCM2711B0T quad 64bit A72 1.5GHz, 4K VideoCore VI, AC wifi, Bluetooth 5.0, GbE Broadcom BCM54213PE (PHY ID 0x600d84a2), 2 micro hdmi decode up to 4K, USB-C 5.1V 3A power, 2xVLI VL805 USB 3, 2xUSB 2.0, 2GB 9LDWW D9WHZ or 4GB 9FDWW D9WHV, 8GB 0AA47 D9ZCL ddr4 ram 2020 Silent Pi 4 v1.2 upgrade with more USB-c psu support 2020 PI400 BCM2711C0T 1.8GHz 4Gb DDR4 inside keyboard, 5.1V 5A 27W usb-c psu, 2 micro hdmi, external ide style 40pin gpio, no audio port - 2020 Raspberry Pi Compute Module 4 BCM2711B0T on new 55mm x 40mm 2x100 pin form factor with extra breakout IO board CM4101000 1Gb RAM Lite SOM CM4102000 2GB RAM Lite CM4104000 4GB RAM Lite CM4004008-4GB-RAM 8GB-EMMC SOM System on Modules CM4104032 4GB RAM 32GB emmc CM4108000 8GB RAM Lite CM4008016 8GB RAM 16Gb eMMc 2021 Raspberry Pi SC0763 Compute Module 4S CM4S with ddr2 sodimm pinouts but not electrically the same with suitable IO board extra cost - CM4S01000 1GB RAM Lite CM4S01008 1GB RAM 8GB eMMC Flash CM4S02000 2GB RAM Lite CM4S04000 4GB RAM Lite CM4S08000 8GB RAM Lite 2021 Pi 4 v1.4 BCM2711B1 upgraded power regulator, to deal with 8gig of ram being more power hungry - 2021-48 Raspberry Pi 4 model B v1.5 2GB 2023 Pi 5 v1.0 BCM2712 Quad A76 @2.4Ghz - VideoCore VII - no audio socket - dual 4k from mini hdmi - fan connector - 5.1V 5A psu 2024 Pi 5 2GB DDR4 version uses BCM2712D0 2024 Pi-500 with 8Gb LPDDR5 and membrane keyboard 2024 Pi 5 v1.1 2024 Raspberry Pi Compute Module 5 CM5 BCM2712 55mm x 40mm form factor with additional IO board CM5004000 04GB RAM 0GB eMMC Lite CM5008000 08GB RAM 0GB eMMC Lite CM5016000 16GB RAM 0GB eMMC Lite 2025 Pi-500+ with 256GB NVMe storage, 16GB LPDDR4 RAM, and Gateron KS-33 Low Profile Blue mechanical keyboard switches 2025 Pi5 1GB DDR4 announced 2022 PiOS linux goes 64bit 2024 Pi Trading IPO stockmarket stock exchange listing 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 LE little endian builds start 2026 August Pi 4, 400, 5 and 500 DTBs added, expanding existing support and wifi for Pi4 and Pi5 2026 August Pi5 HAT+ nvme and HDMI, AHI RPiI2S added, Pi4 HVS5 video scaler started, 2026 2027 2028 Pi 6 </pre> ==Future== [https://github.com/ARMSX2/ARMSX2 Arm pi of pcsx2] {{BookCat}} 3jmf5oryrhna4sryxtq4t6co68qjp5r 4670075 4670074 2026-09-14T17:26:36Z Jeff1138 301139 4670075 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] [[#Build]] [[#Hardware]] [[#References]] [[#Future]] ==Introduction== [[File:Scalos00.png|thumb|Scalos on Aros Pi3b]] Aros aims to cover Pi 3 to 5 1Gb+ RAM ideally as you may have to switch to 256Mb gfx mode depending on the application running Options to boot from using a good power source to prevent the yellow lightning symbol. *With Pi3b+ the max you can get is 5.1V 2.5A with micro usb. *With Pi4 5.1V 3A with usb-c *With Pi5 5.1V 5A, the amps went ever upwards, even to 5.1V 9A with usb-c Pi500+ keyboard wedge - Pi400 RPI-400 keyboard wedge - resolution changing and audio from micro hdmi0 (near 40pin) and micro hdmi1 (near usb-c psu) - Fn F10 0x5e power on and off works or held down for over 7 seconds auto shutdown - keyboard ok but not great - wifi and lan ethernet testing - * Pi 5 - Quad A76 64bit ARMv8 and RP1 "southbridge" with VideoCore 7 Pre-D0 (Rev1.0) or D0 (rev1.1) * Pi 4 - Quad A72 64bit ARMv8 with VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] ARMv8 with VideoCore 4 with heatsink/fan on 3b to prevent cpu 82C+ throttling * Pi 2 - Quad 32bit ARMv6 with VideoCore 4 - mostly not 64bit compatible * Pi Model B+ 32bit ARMv6 with VideoCore 4 - not 64bit compatible * Pi Model A and B 32bit ARMv6 with VideoCore 4 - not 64bit compatible ===Native=== * 2013-03 Kalamatee starts work * 2015-04 Work continues with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume adding BE big endian support], [https://www.patreon.com/michal_schulz/posts Big endian on Pi] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3b, 4 and 5 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=metaneutrons latest commits for Pi5] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bitplane latest commits for ARM] '''Download''' [https://aros.sourceforge.io/nightly1.html RaspberryPi 3, 3+, 4 and 5 64bit ArmV8 builds] [https://sourceforge.net/projects/aros/files/ Alternative site and nightly2] both raspi-aarch64-system and raspi-aarch64-contrib can be unbz2'd and copied to fat32 8GB+ microSD card (there will be folders - boot c Classes Demos Developer Devs Extras etc only showing). The SD can be plugged in to the Pi 64bit build works well on a single core LE little endian. Multicore [https://github.com/aros-development-team/AROS/commit/1df0747c2bda3523a43029725a709b1f377d84ec may follow]. Any issues booting could be down to the SD card so please use another SD to see if it is resolved. Please report your experiences in the [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2019&rowstart=80 Aros Raspberry pi 3 64bit thread] Boots with '''USB3''' port based sata3 ssd on Pi400 but untested on Pi4 (may need eeprom update from PiOS or Pi SD Imager) and Pi5 Pi 3 B+ is pre-configured for USB sata3 boot - untested Pi 3 B may need [https://www.youtube.com/watch?v=ubnwvxF3Klc PiOS to set OTP to boot from usb - do so at your own risk] - if OTP set to usb, boot works but slower than SD card Speed write wise (top faster) <pre> *NVME Pi5 untested >1000MB/sec or faster if matched correctly *Sata3 ssd 500MB/sec *SD V90 90MB/sec 4K maybe 8K *SD V60 60MB/sec 1080p *SD U3 V30 30MB/sec 720p *SD C10 U1 V10 A1 A2 10MB/sec minimum should be used now *SD C06 6MB/sec *SD C04 4MB/sec </pre> As a homage to the past, Aros shows a reduced number of icons but this can be changed by left mouse click in the window and then right click down to Window -> View -> All files Windows can be manipulated by the top (moving) and the bottom right corner (resizing) only. Like most amiga like OSs the audio and networking need to be setup manually Audio AHI prefs - Mode settings tab - needs both Music unit and Unit 0 set to RPiHDMI:16 bit stereo++ or RPiPWM:16 bit stereo++ at 44100Hz. Press '''Save or Use''' button after each choice Double left mouse click on most picture (Developer/Debug/Tests/Datatypes), audio and video files are supported, via datatypes, by the multiview application. Esc escape key usually closes open windows even the desktop In Prefs/Appearance some decorative theming elements need work. There is a few Mason icons in /Prefs/Presets/Icons/Mason/ and the ever present default Gorilla - Icon exchange in works For more intensive graphics applications, you may need to edit config.txt in the root folder and change 128M to 256M to adjust more memory to graphics usage [http://archives.arosworld.org/index.php?function=browse&cat=network/browser amelinium web browser] is available with an [https://eab.abime.net/showthread.php?t=122494&page=51 eab thread] reminiscent of [https://github.com/zapek/Voyager Voyager] and to a lesser extent [https://github.com/amigazen/aweb3/ Aweb]. [[File:Wifi00.png|thumb|Setup wifi on Aros Pi3b]] [[File:Wifi01.png|thumb|Setup wifi on Aros Pi3b]] [[File:Wifi02.png|thumb|Setup wifi on Aros Pi3b]] Wifi setup needs the network prefs with the TCP/IP tab click add interface -> change Device to bwfm.device as net0:, IP Mode as DHCP and IPv4 Once you’ve configured the device, simply save the Wireless Networks tab Wi-Fi configuration even if it’s empty. This will create the Wireless.prefs file in the Prefs/Env-Archive/SYS drawer, and should see the Wireless Manager icon in Wanderer. Although a reboot maybe necessary. Wireless tab gets your router settings. If it does not set to start at boot, settings are preserved. Instead, add this to the user-startup: <pre> execute sys:system/network/arostcp/s/startnet run wirelessmanager device=bwfm.device >nil: </pre> Network will start automatically on boot. If you don't want the wirelessmanager icon on Wanderer desktop, just add 'nogui' to the wirelessmanager line Lan ethernet port on *lan9514 Pi3b Pi2 no support at the moment *lan7515 Pi3b+ type into Device usblan78xx.device as net0: remove other device(s) *bcmgenet Pi4 Pi400 choose for Device bcmgenet.device Summary *3b ethernet not supported, setup wireless manager (with interface issues) *3b+ seems to work wifi and ethernet *4 untested *400 seems to work wifi and ethernet (with interface issues) There is normally no Bluetooth support for most amiga like OSs but Aros has one [https://github.com/aros-development-team/AROS/commit/6942cbfbf66426d21963a7fcd8aba6aff611a9e0 work in progress] [https://forums.raspberrypi.com/viewtopic.php?t=338466 firmware] *Bluetooth 4.1 BCM43430A1.hcd Pi3B, Pi3A, Zero W *Bluetooth 4.2 BCM4345C0.hcd Pi3B+, Pi4 *Bluetooth 5.0 BCM4345C5.hcd Pi4B rev, CM4 and maybe Pi5 and CM5 *bthid keyboard mouse support *btserial serial *btpan short range wireless connecting devices Only the Pi5 has a RTC real time clock, the other Pis will need to use Extras:Networking/utils/ntpsync/ or [https://archives.arosworld.org/index.php?function=browse&cat=network PiNTP] to get the date and time from the internet USB classes support from Prefs/Trident is still work in process *usbaudio working on usb3 port (blue) on pi4, 400 but not working (no rt isochronous) on usb2otg (white or black) for pi3b, zero 2w *[https://aminet.net/package/mus/midi/camd camdusbmidi] detects midi devices without a preferences file (Prefs/Env-Archive/sys/midi.prefs) as [https://www.youtube.com/watch?v=RBxHkwy4Nrw auto setup now] possibly with [https://github.com/dwhinham/mt32-pi mt32-pi pi3+] as well as need developer gcc tools to look at 64bit ports of [https://archives.arosworld.org/?function=showfile&file=driver/audio/usbmidi.i386-aros.lha usbmidi], [https://aminet.net/package/mus/midi/CAMD_Toolkit CAMD_Toolkit], [https://aminet.net/package/mus/midi/camdtools camdtools], [https://github.com/cnvogelg/amiditools amiditools], [https://github.com/timoinutilis/midi-sequencer-amigaos horny src], [https://aminet.net/package/mus/midi/horny-base horny-base], [http://bnp.hansfaust.de/index.html BnP], [], Regarding 680x0 emulation, there are several options that could be considered *[https://github.com/aros-development-team/AROS/blob/6722a0ae9e03fe5d26e32703360bd2059e0864cc/rom/m68kemu/README.md?plain=1#L424 m68kemu.library] for some Amiga productivity where the cpu is emulated and the system calls are redirected to Aros ones *[https://github.com/BlitterStudio/amiberry amiberry] (winuae) for everything else like games *[https://github.com/jonx/AROS/tree/aarch64-darwin-graft/arch/all-darwin/libs/emu68k emu68k] *[https://scriptedamigaemulator.net/ Scripted Amiga] with [https://github.com/naTmeg/ScriptedAmigaEmulator ScriptedAmigaEmulator] or older [https://github.com/gbraad-amiga/ScriptedAmigaEmulator2 ScriptedAmigaEmulator2] [https://pinout.xyz/ GPIO 40 pins] [https://learn.sparkfun.com/tutorials/raspberry-gpio/gpio-pinout pinout] Some exceptions: *Physical pins 27, 28 (GPIO0, 1) are an internal I2C bus and should not be used *The other I2C on pins 3, 5 (GPIO 2, 3) can be used generally, but be aware they have permanent pull-up resistors to 3.3V *For MIDI use USB but there are dedicated UART pins 8, 10 (GPIO 14, 15). With a HAT it's more awkward -- you need to know which pins are used by the HAT and avoid them. Hopefully this will be documented. Remember all GPIOs are 3.3V (not 5V tolerant), floating/noisy inputs can cause odd behavior, and that shorting the power supplies can cause instant death of the Pi. In the shell GPIO PIN/A/N,SET/N,GET/S,MODE/K,PULL/K Controls and queries hardware GPIO pins via gpio.resource which is stored in the rom or Devs/ '''please test''' *PIN -- (Required) Target GPIO pin number (e.g. 12). *SET -- Set pin output value to 0 (LOW) or 1 (HIGH). *GET -- Read and print current digital input level (0 or 1). *MODE -- Configure pin mode: IN (Input), OUT (Output), ALT (Alternate). *PULL -- Configure pull resistor: NONE, UP, DOWN. EXAMPLES <pre> GPIO 12 MODE OUT GPIO 12 SET 1 GPIO 12 GET GPIO 13 PULL UP </pre> [https://gpiozero.readthedocs.io/en/stable/installing.html Current] [https://gpiozero.readthedocs.io/en/v1.2.0/api_boards.html old support for gpiozero is unknown at present] [https://energenie4u.co.uk/res/pdfs/ENER314%20UM.pdf and associated 433MHz equipment] [ USA X10 security and lights via USB] [ OpenHab with Shelly Smart Plug connected over Wi-Fi, controlled by MQTT or HTTP] Printing only with Postscript but [https://github.com/bohunamiga/MintPRINT one] of [https://github.com/boingball/MintPRINT two] [https://github.com/Andiweli/AmiAirPrint/tree/main AirPrint] IPP has been attempted with [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2061&pid=13954#post_13954 discussion] Youtube [], [], [https://www.youtube.com/watch?v=X4fmWAIv7FE Aros native on Pi3b], [], [], [https://www.youtube.com/watch?v=TSxlYb1eQWU Installed on Pi3b+], [], [], [https://www.youtube.com/watch?v=NFF1H3jCoz8 testing Aros native on Pi400], [], [], [https://www.youtube.com/watch?v=nIVx7mh1E1Q&pp=ygUHYXJvcyBwadIHCQkTDAGHKiGM7w%3D%3D Aros on Thumb 2 based 32bit-ish ARM STM32H743 board], The status of AROS native ARMv6 for 32bit RasPi was OK. System booting, USB working (although with some issues but plans to fix them). 32bit native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] raspi-armhf-system raspi-armhf-contrib unbz2'd to fat32 microSD ===Hosted=== AArch64 CPU backend for AROS, a Cocoa/Metal display, clipboard / host-volume / CoreAudio / BSD-sockets bridges, GPU 2D via gpufx.library, a 68k→AArch64 JIT (run68k), and a full Rust std port. On [https://www.jkn.me/blog/macaros-aros-on-apple-silicon/ latest Apple Silicon] [https://github.com/jonx/Macaros early buggy alpha version of hosted Aros .dmg on MacOS12+]. Please use [https://github.com/jonx/Macaros/issues MACAros github] for issues, features etc and possibly [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2030&pid=13910#post_13910 here] [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://www.raspberrypi.com/documentation/computers/software-sources.html Documentation] *[https://rpilocator.com/ RPiLocator] Linux only *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.raspberrypi.com/software/operating-systems/ PiOS Lite] and then [https://hstwb.firstrealize.com/ HST] *[https://dietpi.com/ DietPi] *[http://www.tinycorelinux.net/ports.html piCore] *[https://wiki.alpinelinux.org/wiki/Raspberry_Pi Alpine Linux] *[https://github.com/armbian/build Armbian] *[ PiMiga] *[ FydeOS] *[ TwisterOS based on ChromiumOS] *[https://note.com/jamesmondo/n/nc76e31402be8?hl=en BSD] Other alternative lighter smaller than Pi OS *[https://aros.sourceforge.io/nightly1.html Aros 64bit ARMV8 single core] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/michalsc/Emu68 ARM based realtime JIT 68k for amiga computers] *[https://github.com/JJDSNT/bellatrix/releases/ Alternative use of Emu68 on Pi3b] *[https://github.com/stevereaver/uaos uaOS with Emu68k] *[https://github.com/aros-development-team/AROS/commit/f80a268607dfae81b2db94755ab4e4d31ccb72d6 m68kemu library reference] *[ HaikuOS] *[https://github.com/raspberrypi/noobs NOOBS] os loader with successor [https://github.com/procount/pinn PINN] *[https://github.com/maxnet/berryboot berryboot] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==== Hosted ==== =====64bit===== [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2019&rowstart=80&pid=13667#post_13667 Ubuntu Linux PC hosted Pi compiler build] [https://github.com/BlitterStudio/aros-compiler-docker Docker based cross compiler for various Aros systems], =====32bit===== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> sizeof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load the arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) Help building AROS hosted on Linux ARM Was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but ask an help to have an automated way to correctly build without modify mmakefiles. Last time built armhf target was around 2 years ago. At that point built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Need to find where to enable build libaeabi.a so can build the entire toolchain with option 21 of rebuild.sh Found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. Try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. == Hardware == ===64bit=== ====BCM2712==== With the Pi5 Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] hopefully be merged for Mesa 23.3 *Raspberry Pi M.2 HAT+ Expansion Board *Geekworm X1001 PCIe to M.2 Key-M NVMe *Geekworm X1003 PCIe to M.2 HAT NVMe SSD PIP Board for Raspberry Pi 5 *Pineboards Pi Hut HatDrive! M.2 HAT 2024/V4 *Hat+ Gen2 Gen3 Nvme *GeeekPi 52Pi N04 for Raspberry Pi 5 NVME M.2 * *2024 RPI AI HAT - Hailo 20TOPs no LLMs *2026 RPI AI HAT+ 2 - Hailo 40TOPs slightly better? [https://www.raspberrypi.com/documentation/accessories/camera.html Cameras for Pi] *Raspberry Pi camera module, the V3 with Sony IMX708 back-illuminated CMOS 12 Megapixel sensor *Raspberry Pi Camera Module V2 – 8MP Sony IMX219 Sensor *Raspberry Pi camera Rev 1.3, 5MP 1080P OV5647 image/video module, 2592 x 1944 pixels ====BCM2711==== With the Pi4 an ARM a72 cpu is about x3 times the size of an a53 in the Pi3 the 2711b line used more power when idle, compared to the 2711c *2018 Raspberry Pi PoE HAT Power Over Ethernet Hat - design issues *2020 Raspberry Pi PoE+ HAT Power Over Ethernet Hat Pi3b+ Pi4 only - better design *Waveshare PoE HAT (B) with cooling fan for Raspberry Pi 3B+/4B 802.3af PoE *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhx but it looks like a lot of effort has been put putting those theoretical FLOPs to better use. *vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. *vc5 added a four thread per QPU mode, with 16 registers per thread. *vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. A fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.0 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> Faster LPDDR4 memory. ====BCM2837==== With the Pi3 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] The overclock ability has diminished with each chip version as the energy usage has increased. BCM2837 is one of the warmest yet and benefits from active fan cooling if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. Dual VDP and scalable QPU in VC4 ARMv8-A has [https://developer.arm.com/documentation/102412/0100/Privilege-and-Exception-levels privilege levels] where userspace typically runs at ‘EL0’, the kernel at ‘EL1’ or ‘EL2’ and the firmware at the highest level ‘EL3’. ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up typical for most other OSs before the open sourcing of many binary blobs from 2017 onwards On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. GPU VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS or Amiga OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs splintering. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? Have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) So far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Kickstart The idea is to minimize amount of archirecture-specific modules to make the user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). USB Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). AFAIK its HCI 1.0 compliant but not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... Miscellanous hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. == References == Testing procedure is put sd card in, connect board to board if necessary, plug in hdmi and then power nothing else is done especially CSI DSI etc [https://www.raspberrypi.com/documentation/computers/compute-module.html CM5] has the same 55mm x 40mm 2x100pin connectors form factor as the CM4 but [https://www.epdtonthenet.net/article/214508/Key-Considerations-When-Migrating-from-Raspberry-Pi-CM4-to-CM5.aspx some pins and other small things] have changed. Will need the [https://raspipcb.com/tech-blog/raspberry-pi-cm4-vs-cm5-difference-in-booting-from-sd-card/ right IO board to suit] *Green [ Raspberry Pi Compute Module 5 IO Board REV2 [https://pip.raspberrypi.com/categories/1097-raspberry-pi-compute-module-5-io-board SC1967]] - untested *Green [ RPi Compute Module 5 IO board REV1 [https://pip.raspberrypi.com/categories/1097-raspberry-pi-compute-module-5-io-board SC1751]] - untested *Black SupTronics Geekbord X1500 CM5 IO Carrier Board - untested *Black DeskPi Super6C Cluster Mini-ITX Board - untested *[https://sipeed.com/nanocluster Sipeed NanoCluster] - untested up to 7 CM5 *Green BentoIO CMX0 - untested *Box EDATec ED-CLAWBOX - untested *Home Assistant Yellow - Kit with PoE with Raspberry Pi Compute Module 5 - untested *Blue [https://www.waveshare.com/wiki/CM5_PoE_BASE_A Waveshare CM5-PoE-BASE-A] - untested *Box Waveshare [ CM5-POE-BOX-A] - untested *Blue [https://www.waveshare.com/wiki/CM5-IO-BASE-B Waveshare CM5-IO-BASE-B] - untested *Blue [https://www.waveshare.com/wiki/CM5-IO-BASE-A Waveshare CM5-IO-BASE-A] - untested *Blue Waveshare [https://www.waveshare.com/wiki/CM5-NANO-B CM5-NANO-B] - untested *[https://carboncomputers.us/products/pi-flux piFlux] *[https://carboncomputers.us/products/ Zitaotech Hackberry] CM5 lite only - *Portable [https://www.waveshare.com/pocketterm35.htm Waveshare PocketTerm35] with Pi4B or Pi5 - untested *Box [https://www.clockworkpi.com/uconsole ClockworkPi uConsole][https://www.youtube.com/watch?v=EtI_bAahbR8 CM4 into an adapter or CM3 into so-dimm - Cyberdeck] - untested *Green RPi [https://datasheets.raspberrypi.com/cm4io/CM4IO-KiCAD.zip Compute Module 4] [https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf IO board] V1.4 [https://datasheets.raspberrypi.com/cm4io/CM4IOUSB3-KiCAD.zip USB3] [https://datasheets.raspberrypi.com/cm4io/cm4iousb3-appnote.pdf CM4ISO] [https://datasheets.raspberrypi.com/cm4/cm4-datasheet.pdf Dual100pin] (2020) aka Development Platform Board - untested *Purple Pi Hut Cytron CM4 Maker Board - untested *Black DeskPi Super6C Cluster Mini-ITX Board - untested *[ KubeSail PiBox mini 2] *Home Assistant Yellow with Raspberry Pi Compute Module 4 - untested *[ Turing Pi V2] - untested CM4 with 260-pin SO-DIMM socket adapters and/or nvidia jetson nanos - untested *Blue [https://www.waveshare.com/wiki/CM4-IO-BASE-B Waveshare CM4-IO-BASE-B] - untested but binary blobs *Blue [https://www.waveshare.com/wiki/CM4-IO-BASE-A Waveshare CM4-IO-BASE-A] - untested but binary blobs CM3 has a 200 pin sodimm ddr2 connector form factor but not electrically SC0028, SC0029 *Blue [https://wiki.geekworm.com/CM_IO_Board Geekworm RPi Compute Module IO Board] [https://github.com/geekworm-com/cm-io-board CSI DSI] with CM3 in ddr2 slot underside - '''works''' if SW1 on but CM3+ '''does not''' *Green [https://cdn-shop.adafruit.com/product-files/3442/CMIO_schematic.pdf RPi V3 IO board CM3IO] and CM3 Lite - untested *Green [https://turingpi.com/ turingpi v1 cluster] - untested up to 7 cm3 7xlan9514 12V discontinued, 3 x Pi4 homelab maybe better *Blue [https://www.waveshare.com/wiki/Compute_Module_PoE_Board Waveshare Compute Module PoE Board] and CM3 lite (if not lite, write files to internal eMMC fat32) '''AVOID''' bin blobs *Blue [https://www.waveshare.com/compute-module-io-board-plus.htm Waveshare Compute Module IO Board Plus] [https://www.waveshare.com/wiki/Compute_Module_IO_Board_Plus wiki] [https://forums.raspberrypi.com/viewtopic.php?t=235695 pin settings] with CM3+ Lite - '''AVOID''' binary blob *[ Pi02w on Geekworm SupTronics X305 Raspberry Pi Zero IO Baseboard] - untested *[ Spotpear Pi Zero 2w to Pi3b format-ish] - untested *[ pi-top v4] box has 128x64 oled display, micro hdmi, 19Whr battery with pi4 and 15V PD 36W min needed *[ pi-top v3] three green pieces, heatsink covers most of the base tray, pi-top hub mk1 lhs and Pi1B Pi2b Pi3b rhs secured from below, black rounded strip with pi-top above keyboard, 13.3" HD 1366 x 768 display, small touchpad, *[ pi-top Model 2.0] pi-top on bottom bezel of 14-inch green laptop, large trackpad, keyboard slide down to reveal main system hub on slide rails moved to the right, Raspberry Pi3b screws down, hub slides in, 18V 2.5A 45W charger brick, battery 11.1V 3500mAh 38.85Wh and storage PiTopOS *[ Pi-Top CEED Raspberry Pi Modular Educational Desktop with RPI3] monitor *[https://www.indiegogo.com/en/projects/jesselozano/pi-top-a-raspberry-pi-laptop-you-build-yourself Pi-Top v1] wedge laptop with RPi2 <pre> 2008 Trustees collected for Foundation 2009 Pi Foundation charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the 32bit Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold 2014 Pi 1 Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 no ethernet and 1 usb - a little smaller - 2015 Over four million first gen pis sold 2015 Pi Zero 1.2 BCM2835 first production revision released with no camera port 2016 Pi0 1.3 released with camera csi connector 2017 Pi Zero W v1.1 1GHz Pi0W, single-core 32bit CPU BCM2835 released with Cypress CYW43438 wireless 2020 Raspberry Pi Pico SC0919 with RP2040 32-bit 2Core ARM Cortex-M0+ up to 133 MHz - 264KB of SRAM and 2MB of on-board QSPI Flash - 2024 Raspberry Pi Pico 2 with RP2350 2Core 32bit Arm Cortex-M33 and 2core open-hardware [https://github.com/wren6991/hazard3 Hazard3 RISC-V] 2015 Pi 2 Model B v1.1 BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit, 32bit VideoCore IV GPU - 1Gb RAM - 5V 2A micro usb - SMSC LAN9514 chip - 2015 Over a million pi2s sold 2015 Raspberry Pi 2 Model B version 1.2 Pi2bv1.2, aka Pi2B2 has armv8 BCM2837 underclocked to 900Mhz without wifi/bluetooth module 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz 32bit 1080p VideoCore IV GPU - 1Gb DDR2 - bluetooth 4.1, Cypress CYW43438 wireless 802.11n - 4 x USB2.0 ports - 5.1V 2.5A - SMSC LAN9514 chip 2016 PIs total over 10 million worldwide 2017 Compute Module 3 CM3 with BCM2837B0 armv8 Quad 64-bit - small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible which plugs into needed IO board - beware of the I2C protocol issue 1Gb LPDDR2 RAM - Lite or 4Gb Emmc storage 2017 12 million pis sold in total 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 1.4Ghz - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports - Microchip LAN7515 chip 2019 Over 15 million sold 2019 Pi 3 Model A+ with BCM2837b0 Cortex-A53 64-bit SoC @ 1.4 GHz with 512Mb LPDDR2, 1 usb2, 1 hdmi, 1 micro usb 5V 2A - no ethernet - 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0 1.2Ghz, Cortex-A53 (ARMv8) 64-bit SoC on DDR2 SODIMM mechanically compatible only factor - IO board required 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC 2021 Pi zero 2 (w or no W) RP3A0 quad 1GHz Cortex-A53 64bit BCM2710A1 512mB SDRam 2025 edaTEC CM0 ED-CM0NANA with additional dev board with quad 1Ghz A53 with 512Mb Raysan RAM, 2 USB2 and 10/100 ethernet - pico castellated edge 2019 Pi 4 Model B RPI4B - BCM2711B0T quad 64bit A72 1.5GHz, 4K VideoCore VI, AC wifi, Bluetooth 5.0, GbE Broadcom BCM54213PE (PHY ID 0x600d84a2), 2 micro hdmi decode up to 4K, USB-C 5.1V 3A power, 2xVLI VL805 USB 3, 2xUSB 2.0, 2GB 9LDWW D9WHZ or 4GB 9FDWW D9WHV, 8GB 0AA47 D9ZCL ddr4 ram 2020 Silent Pi 4 v1.2 upgrade with more USB-c psu support 2020 PI400 BCM2711C0T 1.8GHz 4Gb DDR4 inside keyboard, 5.1V 5A 27W usb-c psu, 2 micro hdmi, external ide style 40pin gpio, no audio port - 2020 Raspberry Pi Compute Module 4 BCM2711B0T on new 55mm x 40mm 2x100 pin form factor with extra breakout IO board CM4101000 1Gb RAM Lite SOM CM4102000 2GB RAM Lite CM4104000 4GB RAM Lite CM4004008-4GB-RAM 8GB-EMMC SOM System on Modules CM4104032 4GB RAM 32GB emmc CM4108000 8GB RAM Lite CM4008016 8GB RAM 16Gb eMMc 2021 Raspberry Pi SC0763 Compute Module 4S CM4S with ddr2 sodimm pinouts but not electrically the same with suitable IO board extra cost - CM4S01000 1GB RAM Lite CM4S01008 1GB RAM 8GB eMMC Flash CM4S02000 2GB RAM Lite CM4S04000 4GB RAM Lite CM4S08000 8GB RAM Lite 2021 Pi 4 v1.4 BCM2711B1 upgraded power regulator, to deal with 8gig of ram being more power hungry - 2021-48 Raspberry Pi 4 model B v1.5 2GB 2023 Pi 5 v1.0 BCM2712 Quad A76 @2.4Ghz - VideoCore VII - no audio socket - dual 4k from mini hdmi - fan connector - 5.1V 5A psu 2024 Pi 5 2GB DDR4 version uses BCM2712D0 2024 Pi-500 with 8Gb LPDDR5 and membrane keyboard 2024 Pi 5 v1.1 2024 Raspberry Pi Compute Module 5 CM5 BCM2712 55mm x 40mm form factor with additional IO board CM5004000 04GB RAM 0GB eMMC Lite CM5008000 08GB RAM 0GB eMMC Lite CM5016000 16GB RAM 0GB eMMC Lite 2025 Pi-500+ with 256GB NVMe storage, 16GB LPDDR4 RAM, and Gateron KS-33 Low Profile Blue mechanical keyboard switches 2025 Pi5 1GB DDR4 announced 2022 PiOS linux goes 64bit 2024 Pi Trading IPO stockmarket stock exchange listing 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 LE little endian builds start 2026 August Pi 4, 400, 5 and 500 DTBs added, expanding existing support and wifi for Pi4 and Pi5 2026 August Pi5 HAT+ nvme and HDMI, AHI RPiI2S added, Pi4 HVS5 video scaler started, 2026 2027 2028 Pi 6 </pre> ==Future== [https://github.com/ARMSX2/ARMSX2 Arm pi of pcsx2] {{BookCat}} 5jglwph5pcp5zzqhnrl7vd65l14n1wu 4670164 4670075 2026-09-15T09:53:55Z Jeff1138 301139 4670164 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] [[#Build]] [[#Hardware]] [[#References]] [[#Future]] ==Introduction== [[File:Scalos00.png|thumb|Scalos on Aros Pi3b]] Aros aims to cover Pi 3 to 5 1Gb+ RAM ideally as you may have to switch to 256Mb gfx mode depending on the application running Options to boot from using a good power source to prevent the yellow lightning symbol. *With Pi3b+ the max you can get is 5.1V 2.5A with micro usb. *With Pi4 5.1V 3A with usb-c *With Pi5 5.1V 5A, the amps went ever upwards, even to 5.1V 9A with usb-c Pi500+ keyboard wedge - Pi400 RPI-400 keyboard wedge - resolution changing and audio from micro hdmi0 (near 40pin) and micro hdmi1 (near usb-c psu) - Fn F10 0x5e power on and off works or held down for over 7 seconds auto shutdown - keyboard ok - wifi and lan ethernet testing - * Pi 5 - Quad A76 64bit ARMv8 and RP1 "southbridge" with VideoCore 7 Pre-D0 (Rev1.0) or D0 (rev1.1) * Pi 4 - Quad A72 64bit ARMv8 with VideoCore 6 * Pi 3 - Quad A53 [https://www.raspberrypi.com/documentation/computers/processors.html 64 bit] ARMv8 with VideoCore 4 with heatsink/fan on 3b to prevent cpu 82C+ throttling * Pi 2 - Quad 32bit ARMv6 with VideoCore 4 - mostly not 64bit compatible * Pi Model B+ 32bit ARMv6 with VideoCore 4 - not 64bit compatible * Pi Model A and B 32bit ARMv6 with VideoCore 4 - not 64bit compatible ===Native=== * 2013-03 Kalamatee starts work * 2015-04 Work continues with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume adding BE big endian support], [https://www.patreon.com/michal_schulz/posts Big endian on Pi] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bsek latest commits for pi 3b, 4 and 5 64bit] * 2026 [https://github.com/aros-development-team/AROS/commits?author=metaneutrons latest commits for Pi5] * 2026 [https://github.com/aros-development-team/AROS/commits?author=bitplane latest commits for ARM] '''Download''' [https://aros.sourceforge.io/nightly1.html RaspberryPi 3, 3+, 4 and 5 64bit ArmV8 builds] [https://sourceforge.net/projects/aros/files/ Alternative site and nightly2] both raspi-aarch64-system and raspi-aarch64-contrib can be unbz2'd and copied to fat32 8GB+ microSD card (there will be folders - boot c Classes Demos Developer Devs Extras etc only showing). The SD can be plugged in to the Pi 64bit build works well on a single core LE little endian. Multicore [https://github.com/aros-development-team/AROS/commit/1df0747c2bda3523a43029725a709b1f377d84ec may follow]. Any issues booting could be down to the SD card so please use another SD to see if it is resolved. Please report your experiences in the [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2019&rowstart=80 Aros Raspberry pi 3 64bit thread] Boots with '''USB3''' port based sata3 ssd on Pi400 but untested on Pi4 (may need eeprom update from PiOS or Pi SD Imager) and Pi5 Pi 3 B+ is pre-configured for USB sata3 boot - untested Pi 3 B may need [https://www.youtube.com/watch?v=ubnwvxF3Klc PiOS to set OTP to boot from usb - do so at your own risk] - if OTP set to usb, boot works but slower than SD card Speed write wise (top faster) <pre> *NVME Pi5 untested >1000MB/sec or faster if matched correctly *Sata3 ssd 500MB/sec *SD V90 90MB/sec 4K maybe 8K *SD V60 60MB/sec 1080p *SD U3 V30 30MB/sec 720p *SD C10 U1 V10 A1 A2 10MB/sec minimum should be used now *SD C06 6MB/sec *SD C04 4MB/sec </pre> As a homage to the past, Aros shows a reduced number of icons but this can be changed by left mouse click in the window and then right click down to Window -> View -> All files Windows can be manipulated by the top (moving) and the bottom right corner (resizing) only. Like most amiga like OSs the audio and networking need to be setup manually Audio AHI prefs - Mode settings tab - needs both Music unit and Unit 0 set to RPiHDMI:16 bit stereo++ or RPiPWM:16 bit stereo++ at 44100Hz. Press '''Save or Use''' button after each choice Double left mouse click on most picture (Developer/Debug/Tests/Datatypes), audio and video files are supported, via datatypes, by the multiview application. Esc escape key usually closes open windows even the desktop In Prefs/Appearance some decorative theming elements need work. There is a few Mason icons in /Prefs/Presets/Icons/Mason/ and the ever present default Gorilla - Icon exchange in works For more intensive graphics applications, you may need to edit config.txt in the root folder and change 128M to 256M to adjust more memory to graphics usage [http://archives.arosworld.org/index.php?function=browse&cat=network/browser amelinium web browser] is available with an [https://eab.abime.net/showthread.php?t=122494&page=51 eab thread] reminiscent of [https://github.com/zapek/Voyager Voyager] and to a lesser extent [https://github.com/amigazen/aweb3/ Aweb]. [[File:Wifi00.png|thumb|Setup wifi on Aros Pi3b]] [[File:Wifi01.png|thumb|Setup wifi on Aros Pi3b]] [[File:Wifi02.png|thumb|Setup wifi on Aros Pi3b]] Wifi setup needs the network prefs with the TCP/IP tab click add interface -> change Device to bwfm.device as net0:, IP Mode as DHCP and IPv4 Once you’ve configured the device, simply save the Wireless Networks tab Wi-Fi configuration even if it’s empty. This will create the Wireless.prefs file in the Prefs/Env-Archive/SYS drawer, and should see the Wireless Manager icon in Wanderer. Although a reboot maybe necessary. Wireless tab gets your router settings. If it does not set to start at boot, settings are preserved. Instead, add this to the user-startup: <pre> execute sys:system/network/arostcp/s/startnet run wirelessmanager device=bwfm.device >nil: </pre> Network will start automatically on boot. If you don't want the wirelessmanager icon on Wanderer desktop, just add 'nogui' to the wirelessmanager line Lan ethernet port on *lan9514 Pi3b Pi2 no support at the moment *lan7515 Pi3b+ type into Device usblan78xx.device as net0: remove other device(s) *bcmgenet Pi4 Pi400 choose for Device bcmgenet.device Summary *3b ethernet not supported, setup wireless manager (with interface issues) *3b+ seems to work wifi and ethernet *4 untested *400 seems to work wifi and ethernet (with interface issues) There is normally no Bluetooth support for most amiga like OSs but Aros has one [https://github.com/aros-development-team/AROS/commit/6942cbfbf66426d21963a7fcd8aba6aff611a9e0 work in progress] [https://forums.raspberrypi.com/viewtopic.php?t=338466 firmware] *Bluetooth 4.1 BCM43430A1.hcd Pi3B, Pi3A, Zero W *Bluetooth 4.2 BCM4345C0.hcd Pi3B+, Pi4 *Bluetooth 5.0 BCM4345C5.hcd Pi4B rev, CM4 and maybe Pi5 and CM5 *bthid keyboard mouse support *btserial serial *btpan short range wireless connecting devices Only the Pi5 has a RTC real time clock, the other Pis will need to use Extras:Networking/utils/ntpsync/ or [https://archives.arosworld.org/index.php?function=browse&cat=network PiNTP] to get the date and time from the internet USB classes support from Prefs/Trident is still work in process *usbaudio working on usb3 port (blue) on pi4, 400 but not working (no rt isochronous) on usb2otg (white or black) for pi3b, zero 2w *[https://aminet.net/package/mus/midi/camd camdusbmidi] detects midi devices without a preferences file (Prefs/Env-Archive/sys/midi.prefs) as [https://www.youtube.com/watch?v=RBxHkwy4Nrw auto setup now] possibly with [https://github.com/dwhinham/mt32-pi mt32-pi pi3+] as well as need developer gcc tools to look at 64bit ports of [https://archives.arosworld.org/?function=showfile&file=driver/audio/usbmidi.i386-aros.lha usbmidi], [https://aminet.net/package/mus/midi/CAMD_Toolkit CAMD_Toolkit], [https://aminet.net/package/mus/midi/camdtools camdtools], [https://github.com/cnvogelg/amiditools amiditools], [https://github.com/timoinutilis/midi-sequencer-amigaos horny src], [https://aminet.net/package/mus/midi/horny-base horny-base], [http://bnp.hansfaust.de/index.html BnP], [], Regarding 680x0 emulation, there are several options that could be considered *[https://github.com/aros-development-team/AROS/blob/6722a0ae9e03fe5d26e32703360bd2059e0864cc/rom/m68kemu/README.md?plain=1#L424 m68kemu.library] for some Amiga productivity where the cpu is emulated and the system calls are redirected to Aros ones *[https://github.com/BlitterStudio/amiberry amiberry] (winuae) for everything else like games *[https://github.com/jonx/AROS/tree/aarch64-darwin-graft/arch/all-darwin/libs/emu68k emu68k] *[https://scriptedamigaemulator.net/ Scripted Amiga] with [https://github.com/naTmeg/ScriptedAmigaEmulator ScriptedAmigaEmulator] or older [https://github.com/gbraad-amiga/ScriptedAmigaEmulator2 ScriptedAmigaEmulator2] [https://pinout.xyz/ GPIO 40 pins] [https://learn.sparkfun.com/tutorials/raspberry-gpio/gpio-pinout pinout] Some exceptions: *Physical pins 27, 28 (GPIO0, 1) are an internal I2C bus and should not be used *The other I2C on pins 3, 5 (GPIO 2, 3) can be used generally, but be aware they have permanent pull-up resistors to 3.3V *For MIDI use USB but there are dedicated UART pins 8, 10 (GPIO 14, 15). With a HAT it's more awkward -- you need to know which pins are used by the HAT and avoid them. Hopefully this will be documented. Remember all GPIOs are 3.3V (not 5V tolerant), floating/noisy inputs can cause odd behavior, and that shorting the power supplies can cause instant death of the Pi. In the shell GPIO PIN/A/N,SET/N,GET/S,MODE/K,PULL/K Controls and queries hardware GPIO pins via gpio.resource which is stored in the rom or Devs/ '''please test''' *PIN -- (Required) Target GPIO pin number (e.g. 12). *SET -- Set pin output value to 0 (LOW) or 1 (HIGH). *GET -- Read and print current digital input level (0 or 1). *MODE -- Configure pin mode: IN (Input), OUT (Output), ALT (Alternate). *PULL -- Configure pull resistor: NONE, UP, DOWN. EXAMPLES <pre> GPIO 12 MODE OUT GPIO 12 SET 1 GPIO 12 GET GPIO 13 PULL UP </pre> [https://gpiozero.readthedocs.io/en/stable/installing.html Current] [https://gpiozero.readthedocs.io/en/v1.2.0/api_boards.html old support for gpiozero is unknown at present] [https://energenie4u.co.uk/res/pdfs/ENER314%20UM.pdf and associated 433MHz equipment] [ USA X10 security and lights via USB] [ OpenHab with Shelly Smart Plug connected over Wi-Fi, controlled by MQTT or HTTP] Printing only with Postscript but [https://github.com/bohunamiga/MintPRINT one] of [https://github.com/boingball/MintPRINT two] [https://github.com/Andiweli/AmiAirPrint/tree/main AirPrint] IPP has been attempted with [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2061&pid=13954#post_13954 discussion] Youtube [], [], [https://www.youtube.com/watch?v=X4fmWAIv7FE Aros native on Pi3b], [], [], [https://www.youtube.com/watch?v=TSxlYb1eQWU Installed on Pi3b+], [], [], [https://www.youtube.com/watch?v=NFF1H3jCoz8 testing Aros native on Pi400], [], [], [https://www.youtube.com/watch?v=nIVx7mh1E1Q&pp=ygUHYXJvcyBwadIHCQkTDAGHKiGM7w%3D%3D Aros on Thumb 2 based 32bit-ish ARM STM32H743 board], The status of AROS native ARMv6 for 32bit RasPi was OK. System booting, USB working (although with some issues but plans to fix them). 32bit native [http://www.aros.org/nightly1.html ARMv6 32bit nightlys] raspi-armhf-system raspi-armhf-contrib unbz2'd to fat32 microSD ===Hosted=== AArch64 CPU backend for AROS, a Cocoa/Metal display, clipboard / host-volume / CoreAudio / BSD-sockets bridges, GPU 2D via gpufx.library, a 68k→AArch64 JIT (run68k), and a full Rust std port. On [https://www.jkn.me/blog/macaros-aros-on-apple-silicon/ latest Apple Silicon] [https://github.com/jonx/Macaros early buggy alpha version of hosted Aros .dmg on MacOS12+]. Please use [https://github.com/jonx/Macaros/issues MACAros github] for issues, features etc and possibly [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2030&pid=13910#post_13910 here] [http://www.aros.org/snapshots1.html old linux and android hosted 32bit] ===Good sites to visit=== *[https://github.com/raspberrypi/firmware/tree/master/ Raspberry Pi Firmware build] *[https://www.raspberrypi.com/documentation/computers/software-sources.html Documentation] *[https://rpilocator.com/ RPiLocator] Linux only *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://www.raspberrypi.com/software/operating-systems/ PiOS Lite] and then [https://hstwb.firstrealize.com/ HST] *[https://dietpi.com/ DietPi] *[http://www.tinycorelinux.net/ports.html piCore] *[https://wiki.alpinelinux.org/wiki/Raspberry_Pi Alpine Linux] *[https://github.com/armbian/build Armbian] *[ PiMiga] *[ FydeOS] *[ TwisterOS based on ChromiumOS] *[https://note.com/jamesmondo/n/nc76e31402be8?hl=en BSD] Other alternative lighter smaller than Pi OS *[https://aros.sourceforge.io/nightly1.html Aros 64bit ARMV8 single core] *[https://www.riscosopen.org/wiki/documentation/show/Welcome%20to%20RISC%20OS%20Pi RiscOS on Pi3 and Pi4] *[https://github.com/michalsc/Emu68 ARM based realtime JIT 68k for amiga computers] *[https://github.com/JJDSNT/bellatrix/releases/ Alternative use of Emu68 on Pi3b] *[https://github.com/stevereaver/uaos uaOS with Emu68k] *[https://github.com/aros-development-team/AROS/commit/f80a268607dfae81b2db94755ab4e4d31ccb72d6 m68kemu library reference] *[ HaikuOS] *[https://github.com/raspberrypi/noobs NOOBS] os loader with successor [https://github.com/procount/pinn PINN] *[https://github.com/maxnet/berryboot berryboot] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi 32bit] ==== Hosted ==== =====64bit===== [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=2019&rowstart=80&pid=13667#post_13667 Ubuntu Linux PC hosted Pi compiler build] [https://github.com/BlitterStudio/aros-compiler-docker Docker based cross compiler for various Aros systems], =====32bit===== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> sizeof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make ==Build== ===64bit=== ===32bit=== # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load the arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) Help building AROS hosted on Linux ARM Was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but ask an help to have an automated way to correctly build without modify mmakefiles. Last time built armhf target was around 2 years ago. At that point built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Need to find where to enable build libaeabi.a so can build the entire toolchain with option 21 of rebuild.sh Found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. Try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. == Hardware == ===64bit=== ====BCM2712==== With the Pi5 Broadcom VideoCore 7 vc7 is an integrated GPU with 12 cores and up to 800 MHz clock. VideoCore VII is capable of OpenGL ES 3.1 and Vulkan 1.2. The driver support for the Raspberry Pi continues to build upon the [https://lore.kernel.org/dri-devel/20230928114532.167854-1-itoral@igalia.com/ open-source V3D driver] stack within [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25450 Mesa] hopefully be merged for Mesa 23.3 *Raspberry Pi M.2 HAT+ Expansion Board *Geekworm X1001 PCIe to M.2 Key-M NVMe *Geekworm X1003 PCIe to M.2 HAT NVMe SSD PIP Board for Raspberry Pi 5 *Pineboards Pi Hut HatDrive! M.2 HAT 2024/V4 *Hat+ Gen2 Gen3 Nvme *GeeekPi 52Pi N04 for Raspberry Pi 5 NVME M.2 * *2024 RPI AI HAT - Hailo 20TOPs no LLMs *2026 RPI AI HAT+ 2 - Hailo 40TOPs slightly better? [https://www.raspberrypi.com/documentation/accessories/camera.html Cameras for Pi] *Raspberry Pi camera module, the V3 with Sony IMX708 back-illuminated CMOS 12 Megapixel sensor *Raspberry Pi Camera Module V2 – 8MP Sony IMX219 Sensor *Raspberry Pi camera Rev 1.3, 5MP 1080P OV5647 image/video module, 2592 x 1944 pixels ====BCM2711==== With the Pi4 an ARM a72 cpu is about x3 times the size of an a53 in the Pi3 the 2711b line used more power when idle, compared to the 2711c *2018 Raspberry Pi PoE HAT Power Over Ethernet Hat - design issues *2020 Raspberry Pi PoE+ HAT Power Over Ethernet Hat Pi3b+ Pi4 only - better design *Waveshare PoE HAT (B) with cooling fan for Raspberry Pi 3B+/4B 802.3af PoE *[https://github.com/axizo-pi/V3DLib vc6 V3D 4.2] is derived from [https://docs.broadcom.com/doc/12358545 vc4], but it is significantly different The QPU pipeline stays mostly the same, you still have an add ALU and a multiply ALU and it can issue two ALU OPs per cycle. There is still 4 SIMD lanes, interleaved over 4 cycles. The instruction encoding for the QPUs is different, but the core instructions are the same. Instructions for packed 8 bit int math has been dropped, along with most of the pack modes. Instructions for packed 16bit float math has been added (2 floats at in a single operation) With vc5/vc6, you write two packed 16f value to the tilebuffer (or four writes of 32f, if you are using the rgba32f framebuffer). And there is a handy vfpack operation which allows you to pack two f32s into a single 32bit value in a single instruction. You can vfpack directly into the tile buffer register. the multiply ALU can now fadd, so you can issue two fadds per instruction. the add ALU has gained a bunch of new instructions the A and B register files have been merged. You still only get an A read and a B read per instruction, but they read from one big register file (which means the underlying memory block has gone from two sets of "one read port, one write port" to one "two read ports, one write port" block) The theoretical max FLOPs per QPU remains the same at two per cycle, other than the bump from 400mhz to 500mhx but it looks like a lot of effort has been put putting those theoretical FLOPs to better use. *vc4 could run one or two threads per QPU. When you ran in two thread mode, the available register file halfed to 32 registers. *vc5 added a four thread per QPU mode, with 16 registers per thread. *vc6 doubled the size of the register file. You could now use all 64 threads in two thread mode and 32 registers in for thread mode. Single thread mode was removed, you always have at least two threads. With the threading improvements, the QPUs should spent much less time idle waiting NOPs for memory requests. Most of the design changes have gone to improving the fixed function hardware around the QPUs. A fixed function blend unit has been added, which should reduce load on the QPUs when doing alpha blending. hope software blending is still possible The tile buffer can now store upto 4 render targets (up to 128bits per pixel, so if you are using 4 32bit render targets, you can't have a depth buffer) A MMU, allowing a much simpler/faster kernel driver. Many more texture formats, framebuffer formats. All the features needed for opengl es 3.0 H.265 / HEVC decoder is a HEVCv2 Main 4:4:4 10 design supporting bitstreams up to profile 5.1 HEVC hardware decode supports 4kp60, 10-bit. Audio output is pretty much unchanged, but the HDMI audio channels now support 8x192kHz bitrates Each ALU typically have 2 floating point operators, and as you pointed out in a earlier post videocore 6 is no exception, with both a multiply and additive floating point operator. Thus theoretical GFLOPs are calculated with both operators in mind. That is what the 2 in my formula represents, and is common across any modern programmable shader, whether you calculate Nvidia, AMD, Intel, Boardcom or any other company's GPUs. Total ALUs * 2 * GHz clock = GFLOPs, In the case of Raspberry Pi 3, it's 24 ALUs * 2 operators * 0.4GHz = 19.2GFLOPs If the Videocore 6 does indeed only have 16 ALUs (16 * 2 * 0.5GHz), you'd have only 16GFLOPs but they are better utilised Possible maximum performance <pre> VideoCore IV @ 250MHz: 250 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 24 Gflop/s VideoCore IV @ 300MHz: 300 [MHz] x 3 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 28.8 Gflop/s VideoCore VI @ 500MHz: 500 [MHz] x 2 [slice] x 4 [qpu/slice] x 4 [processor] x 2 [op/clock] = 32 Gflop/s </pre> Faster LPDDR4 memory. ====BCM2837==== With the Pi3 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] The overclock ability has diminished with each chip version as the energy usage has increased. BCM2837 is one of the warmest yet and benefits from active fan cooling if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. Dual VDP and scalable QPU in VC4 ARMv8-A has [https://developer.arm.com/documentation/102412/0100/Privilege-and-Exception-levels privilege levels] where userspace typically runs at ‘EL0’, the kernel at ‘EL1’ or ‘EL2’ and the firmware at the highest level ‘EL3’. ===32bit=== === Core Kernel === ====BCM2708(family)==== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], Implemented so far... # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one [https://github.com/aros-development-team/AROS/commit/c07d13c724f944674be5db54fc6a71ee72a01809 usb otg] - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve] the [https://github.com/aros-development-team/AROS/commit/3a876755c070f5c73c4f53c7f4d35b4f923088b9 sdcard] device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. Boot up typical for most other OSs before the open sourcing of many binary blobs from 2017 onwards On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. Thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. GPU VCore developed by Alphamosaic Ltd and now owned by Broadcom. Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS or Amiga OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs splintering. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? Have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) So far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, vc4 had v8adds, v8subs, v8muld, v8min and v8max which operated on four 8bit uint values packed into a 32bit register. Multiplication was in the range 0.0 to 1.0 and addition/subtraction saturated. There were also a range unpacking/packing modes that allowed you to pack and unpack 8bit values into 32bit registers. RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . Suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Kickstart The idea is to minimize amount of archirecture-specific modules to make the user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). USB Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). AFAIK its HCI 1.0 compliant but not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] Audio [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 Ethernet 10/100 BaseT Ethernet RJ45 socket GPIO GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p GPU graphics with 2D and 3D acceleration Sadly none yet for 32bit but for 64bit... Miscellanous hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. == References == Testing procedure is put sd card in, connect board to board if necessary, plug in hdmi and then power nothing else is done especially CSI DSI etc [https://www.raspberrypi.com/documentation/computers/compute-module.html CM5] has the same 55mm x 40mm 2x100pin connectors form factor as the CM4 but [https://www.epdtonthenet.net/article/214508/Key-Considerations-When-Migrating-from-Raspberry-Pi-CM4-to-CM5.aspx some pins and other small things] have changed. Will need the [https://raspipcb.com/tech-blog/raspberry-pi-cm4-vs-cm5-difference-in-booting-from-sd-card/ right IO board to suit] *Green [ Raspberry Pi Compute Module 5 IO Board REV2 [https://pip.raspberrypi.com/categories/1097-raspberry-pi-compute-module-5-io-board SC1967]] - untested *Green [ RPi Compute Module 5 IO board REV1 [https://pip.raspberrypi.com/categories/1097-raspberry-pi-compute-module-5-io-board SC1751]] - untested *Black SupTronics Geekbord X1500 CM5 IO Carrier Board - untested *Black DeskPi Super6C Cluster Mini-ITX Board - untested *[https://sipeed.com/nanocluster Sipeed NanoCluster] - untested up to 7 CM5 *Green BentoIO CMX0 - untested *Box EDATec ED-CLAWBOX - untested *Home Assistant Yellow - Kit with PoE with Raspberry Pi Compute Module 5 - untested *Blue [https://www.waveshare.com/wiki/CM5_PoE_BASE_A Waveshare CM5-PoE-BASE-A] - untested *Box Waveshare [ CM5-POE-BOX-A] - untested *Blue [https://www.waveshare.com/wiki/CM5-IO-BASE-B Waveshare CM5-IO-BASE-B] - untested *Blue [https://www.waveshare.com/wiki/CM5-IO-BASE-A Waveshare CM5-IO-BASE-A] - untested *Blue Waveshare [https://www.waveshare.com/wiki/CM5-NANO-B CM5-NANO-B] - untested *[https://carboncomputers.us/products/pi-flux piFlux] *[https://carboncomputers.us/products/ Zitaotech Hackberry] CM5 lite only - *Portable [https://www.waveshare.com/pocketterm35.htm Waveshare PocketTerm35] with Pi4B or Pi5 - untested *Box [https://www.clockworkpi.com/uconsole ClockworkPi uConsole][https://www.youtube.com/watch?v=EtI_bAahbR8 CM4 into an adapter or CM3 into so-dimm - Cyberdeck] - untested *Green RPi [https://datasheets.raspberrypi.com/cm4io/CM4IO-KiCAD.zip Compute Module 4] [https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf IO board] V1.4 [https://datasheets.raspberrypi.com/cm4io/CM4IOUSB3-KiCAD.zip USB3] [https://datasheets.raspberrypi.com/cm4io/cm4iousb3-appnote.pdf CM4ISO] [https://datasheets.raspberrypi.com/cm4/cm4-datasheet.pdf Dual100pin] (2020) aka Development Platform Board - untested *Purple Pi Hut Cytron CM4 Maker Board - untested *Black DeskPi Super6C Cluster Mini-ITX Board - untested *[ KubeSail PiBox mini 2] *Home Assistant Yellow with Raspberry Pi Compute Module 4 - untested *[ Turing Pi V2] - untested CM4 with 260-pin SO-DIMM socket adapters and/or nvidia jetson nanos - untested *Blue [https://www.waveshare.com/wiki/CM4-IO-BASE-B Waveshare CM4-IO-BASE-B] - untested but binary blobs *Blue [https://www.waveshare.com/wiki/CM4-IO-BASE-A Waveshare CM4-IO-BASE-A] - untested but binary blobs CM3 has a 200 pin sodimm ddr2 connector form factor but not electrically SC0028, SC0029 *Blue [https://wiki.geekworm.com/CM_IO_Board Geekworm RPi Compute Module IO Board] [https://github.com/geekworm-com/cm-io-board CSI DSI] with CM3 in ddr2 slot underside - '''works''' if SW1 on but CM3+ '''does not''' *Green [https://cdn-shop.adafruit.com/product-files/3442/CMIO_schematic.pdf RPi V3 IO board CM3IO] and CM3 Lite - untested *Green [https://turingpi.com/ turingpi v1 cluster] - untested up to 7 cm3 7xlan9514 12V discontinued, 3 x Pi4 homelab maybe better *Blue [https://www.waveshare.com/wiki/Compute_Module_PoE_Board Waveshare Compute Module PoE Board] and CM3 lite (if not lite, write files to internal eMMC fat32) '''AVOID''' bin blobs *Blue [https://www.waveshare.com/compute-module-io-board-plus.htm Waveshare Compute Module IO Board Plus] [https://www.waveshare.com/wiki/Compute_Module_IO_Board_Plus wiki] [https://forums.raspberrypi.com/viewtopic.php?t=235695 pin settings] with CM3+ Lite - '''AVOID''' binary blob *[ Pi02w on Geekworm SupTronics X305 Raspberry Pi Zero IO Baseboard] - untested *[ Spotpear Pi Zero 2w to Pi3b format-ish] - untested *[ pi-top v4] box has 128x64 oled display, micro hdmi, 19Whr battery with pi4 and 15V PD 36W min needed *[ pi-top v3] three green pieces, heatsink covers most of the base tray, pi-top hub mk1 lhs and Pi1B Pi2b Pi3b rhs secured from below, black rounded strip with pi-top above keyboard, 13.3" HD 1366 x 768 display, small touchpad, *[ pi-top Model 2.0] pi-top on bottom bezel of 14-inch green laptop, large trackpad, keyboard slide down to reveal main system hub on slide rails moved to the right, Raspberry Pi3b screws down, hub slides in, 18V 2.5A 45W charger brick, battery 11.1V 3500mAh 38.85Wh and storage PiTopOS *[ Pi-Top CEED Raspberry Pi Modular Educational Desktop with RPI3] monitor *[https://www.indiegogo.com/en/projects/jesselozano/pi-top-a-raspberry-pi-laptop-you-build-yourself Pi-Top v1] wedge laptop with RPi2 <pre> 2008 Trustees collected for Foundation 2009 Pi Foundation charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the 32bit Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold 2014 Pi 1 Model B+ introduced that moved composite video to audio jack and same half gig of memory 2014 Pi Model A+ v1.1 no ethernet and 1 usb - a little smaller - 2015 Over four million first gen pis sold 2015 Pi Zero 1.2 BCM2835 first production revision released with no camera port 2016 Pi0 1.3 released with camera csi connector 2017 Pi Zero W v1.1 1GHz Pi0W, single-core 32bit CPU BCM2835 released with Cypress CYW43438 wireless 2020 Raspberry Pi Pico SC0919 with RP2040 32-bit 2Core ARM Cortex-M0+ up to 133 MHz - 264KB of SRAM and 2MB of on-board QSPI Flash - 2024 Raspberry Pi Pico 2 with RP2350 2Core 32bit Arm Cortex-M33 and 2core open-hardware [https://github.com/wren6991/hazard3 Hazard3 RISC-V] 2015 Pi 2 Model B v1.1 BCM2836 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit, 32bit VideoCore IV GPU - 1Gb RAM - 5V 2A micro usb - SMSC LAN9514 chip - 2015 Over a million pi2s sold 2015 Raspberry Pi 2 Model B version 1.2 Pi2bv1.2, aka Pi2B2 has armv8 BCM2837 underclocked to 900Mhz without wifi/bluetooth module 2016 Pi 3 Model B - Broadcom BCM2837 SOC four 64bit ARMv8 Cortex-A53 1.2GHz 32bit 1080p VideoCore IV GPU - 1Gb DDR2 - bluetooth 4.1, Cypress CYW43438 wireless 802.11n - 4 x USB2.0 ports - 5.1V 2.5A - SMSC LAN9514 chip 2016 PIs total over 10 million worldwide 2017 Compute Module 3 CM3 with BCM2837B0 armv8 Quad 64-bit - small 67.6mm x 31mm board which fits DDR2 SODIMM connector but not electrically compatible which plugs into needed IO board - beware of the I2C protocol issue 1Gb LPDDR2 RAM - Lite or 4Gb Emmc storage 2017 12 million pis sold in total 2018 Pi 3 Model B+ - 4c A53 BCM2837B0 1.4Ghz - 1Gb, wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet - 4 x USB2.0 ports - Microchip LAN7515 chip 2019 Over 15 million sold 2019 Pi 3 Model A+ with BCM2837b0 Cortex-A53 64-bit SoC @ 1.4 GHz with 512Mb LPDDR2, 1 usb2, 1 hdmi, 1 micro usb 5V 2A - no ethernet - 2019 Raspberry Pi Compute Module 3+ CM3+ - Broadcom BCM2837B0 1.2Ghz, Cortex-A53 (ARMv8) 64-bit SoC on DDR2 SODIMM mechanically compatible only factor - IO board required 1Gb DDR2 and 8GB, 16GB, 32GB or a Lite variant without eMMC 2021 Pi zero 2 (w or no W) RP3A0 quad 1GHz Cortex-A53 64bit BCM2710A1 512mB SDRam 2025 edaTEC CM0 ED-CM0NANA with additional dev board with quad 1Ghz A53 with 512Mb Raysan RAM, 2 USB2 and 10/100 ethernet - pico castellated edge 2019 Pi 4 Model B RPI4B - BCM2711B0T quad 64bit A72 1.5GHz, 4K VideoCore VI, AC wifi, Bluetooth 5.0, GbE Broadcom BCM54213PE (PHY ID 0x600d84a2), 2 micro hdmi decode up to 4K, USB-C 5.1V 3A power, 2xVLI VL805 USB 3, 2xUSB 2.0, 2GB 9LDWW D9WHZ or 4GB 9FDWW D9WHV, 8GB 0AA47 D9ZCL ddr4 ram 2020 Silent Pi 4 v1.2 upgrade with more USB-c psu support 2020 PI400 BCM2711C0T 1.8GHz 4Gb DDR4 inside keyboard, 5.1V 5A 27W usb-c psu, 2 micro hdmi, external ide style 40pin gpio, no audio port - 2020 Raspberry Pi Compute Module 4 BCM2711B0T on new 55mm x 40mm 2x100 pin form factor with extra breakout IO board CM4101000 1Gb RAM Lite SOM CM4102000 2GB RAM Lite CM4104000 4GB RAM Lite CM4004008-4GB-RAM 8GB-EMMC SOM System on Modules CM4104032 4GB RAM 32GB emmc CM4108000 8GB RAM Lite CM4008016 8GB RAM 16Gb eMMc 2021 Raspberry Pi SC0763 Compute Module 4S CM4S with ddr2 sodimm pinouts but not electrically the same with suitable IO board extra cost - CM4S01000 1GB RAM Lite CM4S01008 1GB RAM 8GB eMMC Flash CM4S02000 2GB RAM Lite CM4S04000 4GB RAM Lite CM4S08000 8GB RAM Lite 2021 Pi 4 v1.4 BCM2711B1 upgraded power regulator, to deal with 8gig of ram being more power hungry - 2021-48 Raspberry Pi 4 model B v1.5 2GB 2023 Pi 5 v1.0 BCM2712 Quad A76 @2.4Ghz - VideoCore VII - no audio socket - dual 4k from mini hdmi - fan connector - 5.1V 5A psu 2024 Pi 5 2GB DDR4 version uses BCM2712D0 2024 Pi-500 with 8Gb LPDDR5 and membrane keyboard 2024 Pi 5 v1.1 2024 Raspberry Pi Compute Module 5 CM5 BCM2712 55mm x 40mm form factor with additional IO board CM5004000 04GB RAM 0GB eMMC Lite CM5008000 08GB RAM 0GB eMMC Lite CM5016000 16GB RAM 0GB eMMC Lite 2025 Pi-500+ with 256GB NVMe storage, 16GB LPDDR4 RAM, and Gateron KS-33 Low Profile Blue mechanical keyboard switches 2025 Pi5 1GB DDR4 announced 2022 PiOS linux goes 64bit 2024 Pi Trading IPO stockmarket stock exchange listing 2026 April and May Aros 64bit fixed, added AHI audio, VC4 gfx started, usb functions added to rom 2026 June and July Aros 64bit usb2otg started, dma.resource, sdio.resource, bwfm.device wifi added 2026 Late July daily 64bit Pi3 LE little endian builds start 2026 August Pi 4, 400, 5 and 500 DTBs added, expanding existing support and wifi for Pi4 and Pi5 2026 August Pi5 HAT+ nvme and HDMI, AHI RPiI2S added, Pi4 HVS5 video scaler started, 2026 2027 2028 Pi 6 </pre> ==Future== [https://github.com/ARMSX2/ARMSX2 Arm pi of pcsx2] {{BookCat}} 6go6lq6aoissrt3w4di5hmrm1g45hsi Mathematics for Economics 0 290632 4670166 4376111 2026-09-15T11:05:59Z Miriama Maiava 3626009 What is economic 4670166 wikitext text/x-wiki What is economic ==Get a grip== The first quadrant of the Cartesian plane has slippery slopes called rectangular hyperbolas with the axes as asymptotes. Since requisitioning resources, and other topics in economic study, deal in inverse proportion, these trajectories are ubiquitous. Moving into the parameter spaces of trade, commerce, and promise, the hyperbola is an experienced slippery slope calling for traction. The first chapter of this book provides that traction with metric geometry. Use of hyperbolic coordinates yields parameters in the upper half-plane where a common model of hyperbolic geometry lives. In other words, this book promulgates economic motivations to use hyperbolic geometry and appropriate mappings. Although the quadrant appears to be bounded by the x-and-y-axes, in the hyperbolic topology it is an infinite surface with curvature negative-unity everywhere. * [[Mathematics for Economics/Hyperbolas|Hyperbolas in Economics]] ==Coding change== Trends and cycles are seen in econometrics and the second chapter considers methods of systemics for use with temporal data. A differential equation expresses a model by a function and its rate of change. A case where a pair of differential equation hold simultaneously leads to matrix analysis. In business, comparison of this month’s total to last month gives the lag series of difference of totals. If :<math>B x_n = x_n - x_{n-1} ,\quad \text{then} \quad B^2 x_n = x_n - 2 x_{n-1} + x_{n-2} .</math> Considering a time series <math>(x_n)_{n=1}^k </math> of length k, polynomials in B can be evaluated on the time series. If one of them gives a value of zero, then x<sub>k</sub> can be expressed with of the other terms of that polynomial, yielding a predictive model. * [[Mathematics for Economics/Dynamics|Economic Dynamics]] ==Pure mathematics used in econometrics== The following topics treated in other Wikibooks prepare one for technical economics: * [[Calculus]], including the Chain rule, higher order derivatives, Taylor series, optimization, implicit differentiation, antiderivatives, integra formulas, improper integrals, Leibniz's rule, differential equations, ** Particularly [[Calculus/Hyperbolic angle]] * [[Linear Algebra]], including bases, linear subspaces, systems of linear equations, scalar products, hyperplanes, eigenvalues, quadratic forms, semidefinite matrices, dominant diagonal. * [[Multivariable calculus]], including open and closed sets, convex sets, level surfaces, gradients, tangent planes, chain rule, Taylor's theorem, convex and concave functions {{Status|50%}} {{Shelves|Economics|Mathematics}} n2n5fl664eoxuuai0ebfgm1x4n0m7l5 4670167 4670166 2026-09-15T11:07:04Z Miriama Maiava 3626009 /* */ 4670167 wikitext text/x-wiki Trust God and trust the process ✊🏼 ==Get a grip== The first quadrant of the Cartesian plane has slippery slopes called rectangular hyperbolas with the axes as asymptotes. Since requisitioning resources, and other topics in economic study, deal in inverse proportion, these trajectories are ubiquitous. Moving into the parameter spaces of trade, commerce, and promise, the hyperbola is an experienced slippery slope calling for traction. The first chapter of this book provides that traction with metric geometry. Use of hyperbolic coordinates yields parameters in the upper half-plane where a common model of hyperbolic geometry lives. In other words, this book promulgates economic motivations to use hyperbolic geometry and appropriate mappings. Although the quadrant appears to be bounded by the x-and-y-axes, in the hyperbolic topology it is an infinite surface with curvature negative-unity everywhere. * [[Mathematics for Economics/Hyperbolas|Hyperbolas in Economics]] ==Coding change== Trends and cycles are seen in econometrics and the second chapter considers methods of systemics for use with temporal data. A differential equation expresses a model by a function and its rate of change. A case where a pair of differential equation hold simultaneously leads to matrix analysis. In business, comparison of this month’s total to last month gives the lag series of difference of totals. If :<math>B x_n = x_n - x_{n-1} ,\quad \text{then} \quad B^2 x_n = x_n - 2 x_{n-1} + x_{n-2} .</math> Considering a time series <math>(x_n)_{n=1}^k </math> of length k, polynomials in B can be evaluated on the time series. If one of them gives a value of zero, then x<sub>k</sub> can be expressed with of the other terms of that polynomial, yielding a predictive model. * [[Mathematics for Economics/Dynamics|Economic Dynamics]] ==Pure mathematics used in econometrics== The following topics treated in other Wikibooks prepare one for technical economics: * [[Calculus]], including the Chain rule, higher order derivatives, Taylor series, optimization, implicit differentiation, antiderivatives, integra formulas, improper integrals, Leibniz's rule, differential equations, ** Particularly [[Calculus/Hyperbolic angle]] * [[Linear Algebra]], including bases, linear subspaces, systems of linear equations, scalar products, hyperplanes, eigenvalues, quadratic forms, semidefinite matrices, dominant diagonal. * [[Multivariable calculus]], including open and closed sets, convex sets, level surfaces, gradients, tangent planes, chain rule, Taylor's theorem, convex and concave functions {{Status|50%}} {{Shelves|Economics|Mathematics}} i9qkwrxnid6rm2j8k0i2k5k5rall6or Odia/Fruits, Vegetables & Nuts 0 395188 4670040 4350374 2026-09-14T13:57:02Z ~2026-49623-01 3625942 4670040 wikitext text/x-wiki '''<u>List of Fruits</u>''' : {| |'''Name in English''' |'''Name in Odia''' |'''Indian languages TRANSliteration (ITRANS)''' |- |green fruit |କଞ୍ଚା ଫଳ |ka~nchA phaLa |- |fresh fruit |ତଟକା ଫଳ |taTakA phaLa |- |ripe fruit |ପାଚିଲା ଫଳ |pAchilA phaLa |- |fruit juice |ଫଳ ରସ |phaLa rasa |- |pulp |(ଫଳ) ଶସ |(phaLa) shasa |- |stone |(ଫଳ) ଟାକୁଆ |(phaLa) TAkuA |- |fruit skin |ଫଳ ଚୋପା |phaLa chopA |- |bounch |ଫଳ ପେନ୍ଥା |phaLa penthA |- |grape |ଅଙ୍ଗୁର |a~Ngura |- |papaya |ଅମୃତ ଭଣ୍ଡା |amR^uta bhaNDA |- |mango |ଆମ୍ବ |Amba |- |apple |ସେଓ |seo |- |custard apple |ଆତ |Ata |- |hog plum |ଆମ୍ବଡ଼ା |Amba.DA |- |sugar cane |ଆଖୁ |Akhu |- |orange |କମଳା |kamaLA |- |wood apple |କଇଥ |ka_itha |- |plantain |କଦଳୀ |kadaLI |- |Banana |ପାଚିଲା କଦଳୀ |pAchilA kadaLI |- |Carambola |କରମଙ୍ଗା |karama~NgA |- |Cucumber |କାକୁ&#xB21;&#xB3C;ି |kAku.Di |- |gherkin |କସିକାକୁଡ଼ି |kasikAku.Di |- |plum |କୋଳି |koLi |- |musk melon |ଖରଭୁଜ |kharabhuja |- |carrot |ଗାଜର |gAjara |- |olive |ଜଳପାଇ |jaLapAi |- |black plum |ଜାମୁକୋଳି |jAmukoLi |- |Rose apple |ଜାମୁରୋଳ |jAmuroLa |- |Pomegranate |ଡାଳିମ୍ବ |DALimba |- |fig |ଡିମିରି |Dimiri |- |water melon |ତରଭୁଜ |tarabhuja |- |Ice apple |ତାଳ |tALa |- |Tamarind |ତେନ୍ତୁଳି |tentuLi |- |Thorn apple |ଦୁଦୁରା |dudurA |- |clearing nut |ନିର୍ମଳା ଫଳ |nirmaLA phaLa |- |coconut (brown) |ନ&#xB21;&#xB3C;ିଆ |na.DiA |- |pear |ନାସପାତି |nAsapAti |- |coconut (green) |ପଇ&#xB21;&#xB3C; |pa_i.Da |- |jack-fruit |ପଣସ |paNasa |- |guava |ପିଜୁଳି |pijuLi |- |peach |ପୀଚ୍ ଫଳ |pIch phaLa |- |melon |ଫୁଟି |phuTi |- |jujube |ବର କୋଳି |bara koLi |- |shaddock |ବାତାପି |bAtApi |- |Stone apple |ବେଲ |bela |- |Pineapple |ସପୁରୀ |sapurI |- |lemon |ଲେମ୍ବୁ |lembu |- |lichi |ଲିଚୁ |lichu |} '''Spices: <u>Dry fruits, leaves, nuts and seeds</u>''': {| class="wikitable" |- |'''Name in English''' |'''Name in Odia''' |'''Indian languages TRANSliteration (ITRANS)''' |- |ginger |ଅଦା |adA |- |cardamom (small) Green |ଗୁଜୁରାତି |gujurAti |- |cardamom (big) Black |ଅଳେଇଁଚ |aLei.Ncha |- |walnut |ଆଖରୋଟ୍ |AkharoT |- |cashew nut |କାଜୁ |kAju |- |raisin |କିସ୍‌ମିସ୍‌ |kismis |- |dates |ଖଜୁରୀ |khajurI |- |betelnut |ଗୁଆ |guA |- |cinnamon |ଡାଲଚିନି |DAlachini |- |bay leaves |ତେଜପତ୍ର |tejapatra |- |coriander |ଧଣିଆ |dhaNiA |- |fennel |ପାନମହୁରୀ, ପାନମଧୁରୀ |pAnamahurI, pAnamadhurI |- |pistachio |ପେସ୍ତା |pestA |- |Poppy seed |ପୋସ୍ତ |posta |- |almond |ବାଦାମ |bAdAma |- |fenugreek |ମେଥି |methi |- |garlic |ରସୁଣ |rasuNa |- |Sesame seed |ରାଶି, ଖସା |rAshi, khasA |- |cloves |ଲବଙ୍ଗ |laba~Nga |- |dried ginger |ଶୁଣ୍ଠି |shuNThi |- |asafoetida |ହେଙ୍ଗୁ |he~Ngu |} '''<u>List of Vegetables</u>''' : {| class="wikitable" |- |'''Name in English''' |'''Name in Odia''' |'''Indian languages TRANSliteration (ITRANS)''' |- |potato |ଆଳୁ |ALu |- |yam |ମାଟି ଆଳୁ |mATi ALu |- |kohlrabi |ଉଲ୍ କୋବି |ul kobi |- |bitter gourd |କଲରା |kalarA |- |Elephant apple |ଓଉ |ou |- |pumpkin |କଖାରୁ |kakhAru |- |white gourd |ପାଣି କଖାରୁ |pANi kakhAru |- |red gourd |ବୋଇତି କଖାରୁ |boiti kakhAru |- |sweet potato |କନ୍ଦମୂଳ |kandamULa |- |spinage |ଖଡ଼ା |kha.DA |- |snake gourd |ଛଚିନ୍ଦ୍ରା |ChachindrA |- |Ridge gourd |ଜହ୍ନି |jahni |- |green jack |ପଣସ କଠା |paNasa kaThA |- |spinach |ପାଳଙ୍ଗ |pALa~Nga |- |Pointed Gourd |ପୋଟଳ |poTaLa |- |mint leaf |ପୋଦିନା ପତ୍ର |podinA patra |- |cauliflower |ଫୁଲକୋବି |phulakobi |- |cabbage |ବନ୍ଧାକୋବି |bandhAkobi |- |brinjal |ବାଇଗଣ |bAigaNa |- |tomato |ବିଲାତି |bilAti |- |gram |ବୁଟ |buTa |- |ladies finger |ଭେଣ୍ଡି |bheNDi |- |drumstick/ Moringa |ମୁନିଗା, ମୁନିଙ୍ଗା/ ସଜନା ଛୁଇଁ |munigA, muni~NgA/ sajanA Chui.N |- |radish |ମୂଳା |mULA |- |pea |ମଟର |maTara |- |pith of the plantain tree |ମଞ୍ଜା |ma~njA |- |bottle gourd |ଲାଉ |lAu |- |french bean |ଶିମ୍ବ |shimba |- |arum |ସାରୁ |sAru |- |bean |ବିନ୍ |bin |- |Long beans |ଝୁଡ଼ଙ୍ଗ |jhu.Da~Nga |- |Lobia |ଝୁଡ଼ଙ୍ଗ ମଞ୍ଜି |jhu.Da~Nga ma~nji |} {{BookCat}} 1sfpi8vkl8dbadacq5pz8w7xal9n8j7 4670046 4670040 2026-09-14T14:08:28Z ~2026-49623-01 3625942 4670046 wikitext text/x-wiki == '''<u>List of Fruits</u>''' : == {| class="wikitable" |'''ENGLISH WORD''' |'''ORIYA WORD''' |'''ORIYA WORD PRONOUNCED IN ENGLISH''' |- |green fruit |କଞ୍ଚାଫଳ |kancha phala |- |fresh fruit |ତଟକାଫଳ |tataka phala |- |ripe fruit |ପାଚିଲା ଫଳ |pachila phala |- |fruit juice |ଫଳ ରସ |phala rasa |- |pulp |(ଫଳ) ଶସ |phala shasa |- |stone |(ଫଳ) ଟାକୁଆ |phala takua |- |fruit skin |ଫଳ ଚୋପା |phala chopa |- |bounch |ଫଳ ପେନ୍ଥା |phala pentha |- |grape |ଅଙ୍ଗୁର |angur |- |papaya |ଅମୃତ ଭଣ୍ଡା |amruta bhanda |- |mango |ଆମ୍ୱ |amba |- |apple |ସେଓ |seo |- |- |custard apple |ଆତ |aata |- |hog plum |ଆମ୍ୱ&#xB21;&#xB3C;ା |ambada |- |sugar cane |ଆଖୁ |aakhu |- |orange |କମଳା |kamalaa |- |wood apple |କଇଥ |kaitha |- |plantain |କଦଳୀ |kadali |- |Banana |ପାଚିଲା କଦଳୀ |pachila kadali |- |Carambola |କରମଙ୍ଗା |karamanga |- |Cucumber |କାକୁ&#xB21;&#xB3C;ି |kakudi |- |gherkin |କସିକାକୁ&#xB21;&#xB3C;ି |kasikakudi |- |plum |କୋଳି |koli |- |musk melon |ଖରଭୁଜ |kharbhuj |- |carrot |ଗାଜର |gajar |- |- |olive |ଜଳପାଇ |jalapai |- |- |black plum |ଜାମୁକୋଳି |jamukoli |- |Rose apple |ଜାମୁରୋଳ |jamurola |- |- |Pomegranate |ଡାଳିମ୍ୱ |dalimba |- |fig |ଡିମିରି |dimiri |- |water melon |ତରଭୁଜ |tarbhuja |- |Ice apple |ତାଳ |tala |- |Tamarind |ତେନ୍ତୁଳି |tentuli |- |Thorn apple |ଦୁଦୁରା |dudura |- |clearing nut |ନିର୍ମଳା ଫଳ |nirmala fala |- |coconut |ନ&#xB21;&#xB3C;ିଆ, ପଇ&#xB21;&#xB3C; |nadia, paida |- |pear |ନାସପାତି |naspati |- |green cocoanut |ପଇ&#xB21;&#xB3C; |paida |- |jack-fruit |ପଣସ |panasa |- |guava |ପିଜୁଳି |pijuli |- |peach |ପୀଚ୍ ଫଳ |pich fala |- |melon |ଫୁଟି |futi |- |jujube |ବରକୋଳି |barakoli |- |shaddock |ବାତାପି |batapi |- |Stone apple |ବେଲ |bela |- |Pineapple |ସପୁରୀ |sapuri |- |lemon |ଲେମ୍ବୁ |lembu |- |lichi |ଲିଚୁ |lichu |} '''Spices: <u>Dry fruits, leaves, nuts and seeds</u>''': {| class="wikitable" |- |'''ENGLISH WORD''' |'''ORIYA WORD''' |'''ORIYA WORD PRONOUNCED IN ENGLISH''' |- |ginger |ଅଦା |ada |- |cardamom (small) Green |ଗୁଜୁରାତି |gujurati |- |cardamom (big) Black |ଅଳେଇଁଚ |aleincha |- |walnut |ଆଖରୋଟ୍ |akharot |- |cashew nut |କାଜୁ |Kaaju |- |raisin |କିସମିସ୍ |kismis |- |dates |ଖଜୁରୀ |khajuri |- |betelnut |ଗୁଆ |guaa |- |cinnamon |ଡାଲଚିନି |daalchini |- |bay leaves |ତେଜପତ୍ର |tejpatra |- |coriander |ଧଣିଆ |dhaniaa |- |fennel |ପାନମହୁରୀ, ପାନମଧୁରୀ |Pana Mahuri, Pana Madhuri |- |pistachio |ପେସ୍ତା |pesta |- |Poppy seed |ପୋସ୍ତ |posta |- |almond |ବାଦାମ |badam |- |fenugreek |ମେଥି |methi |- |garlic |ରସୁଣ |rasuna |- |Sesame seed |ରାଶି, ଖସା |rashi, khasaa |- |cloves |ଲବଙ୍ଗ |labanga |- |dried ginger |ଶୁଣ୍ଠି |shunthi |- |asafoetida |ହେଙ୍ଗୁ |hengu |} '''<u>List of Vegetables</u>''' : {| class="wikitable" |- |'''ENGLISH WORD''' |'''ORIYA WORD''' |'''ORIYA WORD PRONOUNCED IN ENGLISH''' |- |potato |ଆଳୁ |aalu |- |yam |ମାଟି ଆଳୁ |mati aalu |- |kohlrabi |ଉଲ୍ କୋବି |ul kobi |- |bitter gourd |କଲରା |kalaraa |- |Elephant apple |ଓଉ |ou |- |pumpkin |କଖାରୁ |kakhaaru |- |white gourd |ପାଣି କଖାରୁ |paani kakhaaru |- |red gourd |ବୋଇତି କଖାରୁ |boiti kakharu |- |sweet potato |କନ୍ଦମୂଳ |kandamula |- |spinage |ଖଡ଼ା |khadaa |- |snake gourd |ଛଚିନ୍ଦ୍ରା |chhachindraa |- |Ridge gourd |ଜହ୍ନି |jahni |- |green jack |ପଣସ କଠା |panasa katha |- |spinach |ପାଳଙ୍ଗ |paalanga |- |Pointed Gourd |ପୋଟଳ |potala |- |mint leaf |ପୋଦିନାପତ୍ର |podinapatra |- |cauliflower |ଫୁଲକୋବି |fulakobi |- |cabbage |ବନ୍ଧାକୋବି |bandhakobi |- |brinjal |ବାଇଗଣ |baigana |- |tomato |ବିଲାତି |bilaati |- |gram |ବୁଟ |buta |- |ladies finger |ଭେଣ୍ଡି |bhendi |- |drumstick/ Moringa |ମୁନିଗା, ମୁନିଙ୍ଗା/ ସଜନା ଛୁଇଁ |muniga, munika/ Sajana chuin |- |radish |ମୂଳା |mula |- |pea |ମଟର |matara |- |pith of the plantain tree |ମଞ୍ଜା |manjaa |- |bottle gourd |ଲାଉ |laau |- |french bean |ଶିମ୍ବ |simba |- |arum |ସାରୁ |saru |- |bean |ବିନ୍ |bean |- |Long beans |ଝୁଡ଼ଙ୍ଗ |Jhudanga |- |Lobia |ଝୁଡ଼ଙ୍ଗ ମଞ୍ଜି |jhudanga manji |} {{BookCat}} c9sa2u86gjgyqp41ovhehm5i674wp0i Mirad Grammar 0 417631 4670081 4669921 2026-09-14T18:56:54Z Tyoyafud 6233 4670081 wikitext text/x-wiki {{Alphabetical|M}} {{shelves|Mirad}} {{Shelf: Constructed Languages}} {{status|100%}} {{Chapter navigation with TOC||Introduction|}} {{print version|Mirad Grammar/print version|(No dictionary)|Mirad Grammar}} {{Book search | style=image}} <small> Welcome to a textbook on the grammar of <big><b>Mirad</b></big>.&nbsp;&nbsp;Formerly known as '''Unilingua''', Mirad is an artificially constructed auxiliary language ([[Constructed language|conlang]]) developed originally by Paris-based author Noubar Agopoff [https://books.google.com/books/about/Unilingua.html?id=I7ghxwEACAAJ] as a ''serious'' medium for easy, regular, expressive, and logical international communication. This textbook is a revision of the language with many new features, plus access to a bilingual dictionary containing over 149,000+ word/expression pairings, over ten times the size the original Unilingua vocabulary. The vocabulary is internally consistent, [[wikt:oligosynthetic|oligosynthetic]] (built from a minimal set of roots), and [[wikt:a priori|a priori]], i.e. it was developed systematically from scratch with no relation to existing natural languages except for a few universal words like "karaoke" or "falafel". </small> [[File:The Earth seen from Apollo 17.jpg|thumb|left|'''Yubjo, ha mir gonbio yansauna gabyuxea dalzeyn.''' (''Soon, the world will share a common auxiliary language.'')]] {| class="wikitable" style="font-size:smaller; margin: 0 auto;" |+ Table of Contents |- |valign="top"| * [[/Introduction/]] {{stage short|100%}} * [[/Why Mirad?/]] {{stage short|100%}} * [[/Alphabet/]] {{stage short|100%}} * [[/Pronunciation/]] {{stage short|100%}} * [[/Syllabification/]] {{stage short|100%}} * [[/Stress/]] {{stage short|100%}} * [[/Phonotactics/]] {{stage short|100%}} * [[/Parts of Speech/]] {{stage short|100%}} * [[/Nouns/]] {{stage short|100%}} * [[/Nouns#Modifying Nouns with the Definite Article|Articles]] {{stage short|100%}} * [[/Adjectives/]] {{stage short|100%}} * [[/Adverbs/]] {{stage short|100%}} * [[/Determiners/]] {{stage short|100%}} * [[/Numbers/]] {{stage short|100%}} * [[/Pronouns/]] {{stage short|100%}} * [[/Verbs/]] {{stage short|100%}} * [[/Prepositions/]] {{stage short|100%}} * [[/Conjunctions/]] {{stage short|100%}} |valign="top"| * [[/Interjections/]] {{stage short|100%}} * [[/Hybrids/]] {{stage short|100%}} * [[/Greetings and Euphemisms/]] {{stage short|100%}} * [[/Acronyms and Abbreviations/]] {{stage short|100%}} * [[/Onomatopoeia/]] {{stage short|100%}} * [[/Vocabulary Formation/]] {{stage short|100%}} * [[/Word Families/]] {{stage short|100%}} * [[/Syntax/]]{{stage short|100%}} * [[/Sample Texts Analyzed/]] {{stage short|100%}} * [[/Lesson 1/]] {{stage short|100%}} * [[/Lesson 2/]] {{stage short|100%}} * [[/Lesson 3/]] {{stage short|100%}} * [[/Lesson 4/]] {{stage short|100%}} * [[/Lesson 5/]] {{stage short|100%}} * [[/Mirad-English Dictionary/]] {{stage short|100%}} * [[/Flaws in Mirad/]] {{stage short|%25}} |} kufox874m2zlgkenkbgnut4reqcqhm6 4670082 4670081 2026-09-14T18:58:44Z Tyoyafud 6233 4670082 wikitext text/x-wiki {{status|100%}} {{Chapter navigation with TOC||Introduction|}} {{print version|Mirad Grammar/print version|(No dictionary)|Mirad Grammar}} {{Book search | style=image}} <small> Welcome to a textbook on the grammar of <big><b>Mirad</b></big>.&nbsp;&nbsp;Formerly known as '''Unilingua''', Mirad is an artificially constructed auxiliary language ([[Constructed language|conlang]]) developed originally by Paris-based author Noubar Agopoff [https://books.google.com/books/about/Unilingua.html?id=I7ghxwEACAAJ] as a ''serious'' medium for easy, regular, expressive, and logical international communication. This textbook is a revision of the language with many new features, plus access to a bilingual dictionary containing over 149,000+ word/expression pairings, over ten times the size the original Unilingua vocabulary. The vocabulary is internally consistent, [[wikt:oligosynthetic|oligosynthetic]] (built from a minimal set of roots), and [[wikt:a priori|a priori]], i.e. it was developed systematically from scratch with no relation to existing natural languages except for a few universal words like "karaoke" or "falafel". </small> [[File:The Earth seen from Apollo 17.jpg|thumb|left|'''Yubjo, ha mir gonbio yansauna gabyuxea dalzeyn.''' (''Soon, the world will share a common auxiliary language.'')]] {| class="wikitable" style="font-size:smaller; margin: 0 auto;" |+ Table of Contents |- |valign="top"| * [[/Introduction/]] {{stage short|100%}} * [[/Why Mirad?/]] {{stage short|100%}} * [[/Alphabet/]] {{stage short|100%}} * [[/Pronunciation/]] {{stage short|100%}} * [[/Syllabification/]] {{stage short|100%}} * [[/Stress/]] {{stage short|100%}} * [[/Phonotactics/]] {{stage short|100%}} * [[/Parts of Speech/]] {{stage short|100%}} * [[/Nouns/]] {{stage short|100%}} * [[/Nouns#Modifying Nouns with the Definite Article|Articles]] {{stage short|100%}} * [[/Adjectives/]] {{stage short|100%}} * [[/Adverbs/]] {{stage short|100%}} * [[/Determiners/]] {{stage short|100%}} * [[/Numbers/]] {{stage short|100%}} * [[/Pronouns/]] {{stage short|100%}} * [[/Verbs/]] {{stage short|100%}} * [[/Prepositions/]] {{stage short|100%}} * [[/Conjunctions/]] {{stage short|100%}} |valign="top"| * [[/Interjections/]] {{stage short|100%}} * [[/Hybrids/]] {{stage short|100%}} * [[/Greetings and Euphemisms/]] {{stage short|100%}} * [[/Acronyms and Abbreviations/]] {{stage short|100%}} * [[/Onomatopoeia/]] {{stage short|100%}} * [[/Vocabulary Formation/]] {{stage short|100%}} * [[/Word Families/]] {{stage short|100%}} * [[/Syntax/]]{{stage short|100%}} * [[/Sample Texts Analyzed/]] {{stage short|100%}} * [[/Lesson 1/]] {{stage short|100%}} * [[/Lesson 2/]] {{stage short|100%}} * [[/Lesson 3/]] {{stage short|100%}} * [[/Lesson 4/]] {{stage short|100%}} * [[/Lesson 5/]] {{stage short|100%}} * [[/Mirad-English Dictionary/]] {{stage short|100%}} * [[/Flaws in Mirad/]] {{stage short|%25}} |} {{Alphabetical|M}} {{shelves|Mirad}} {{Shelf:Constructed Languages}} pbe9wei0j4e5jj9ruklqb2a0mdryzy2 4670088 4670082 2026-09-14T19:13:27Z Tyoyafud 6233 4670088 wikitext text/x-wiki {{status|100%}} {{Chapter navigation with TOC||Introduction|}} {{print version|Mirad Grammar/print version|(No dictionary)|Mirad Grammar}} {{Book search | style=image}} <small> Welcome to a textbook on the grammar of <big><b>Mirad</b></big>.&nbsp;&nbsp;Formerly known as '''Unilingua''', Mirad is an artificially constructed auxiliary language ([[Constructed language|conlang]]) developed originally by Paris-based author Noubar Agopoff [https://books.google.com/books/about/Unilingua.html?id=I7ghxwEACAAJ] as a ''serious'' medium for easy, regular, expressive, and logical international communication. This textbook is a revision of the language with many new features, plus access to a bilingual dictionary containing over 149,000+ word/expression pairings, over ten times the size the original Unilingua vocabulary. The vocabulary is internally consistent, [[wikt:oligosynthetic|oligosynthetic]] (built from a minimal set of roots), and [[wikt:a priori|a priori]], i.e. it was developed systematically from scratch with no relation to existing natural languages except for a few universal words like "karaoke" or "falafel". </small> [[File:The Earth seen from Apollo 17.jpg|thumb|left|'''Yubjo, ha mir gonbio yansauna gabyuxea dalzeyn.''' (''Soon, the world will share a common auxiliary language.'')]] {| class="wikitable" style="font-size:smaller; margin: 0 auto;" |+ Table of Contents |- |valign="top"| * [[/Introduction/]] {{stage short|100%}} * [[/Why Mirad?/]] {{stage short|100%}} * [[/Alphabet/]] {{stage short|100%}} * [[/Pronunciation/]] {{stage short|100%}} * [[/Syllabification/]] {{stage short|100%}} * [[/Stress/]] {{stage short|100%}} * [[/Phonotactics/]] {{stage short|100%}} * [[/Parts of Speech/]] {{stage short|100%}} * [[/Nouns/]] {{stage short|100%}} * [[/Nouns#Modifying Nouns with the Definite Article|Articles]] {{stage short|100%}} * [[/Adjectives/]] {{stage short|100%}} * [[/Adverbs/]] {{stage short|100%}} * [[/Determiners/]] {{stage short|100%}} * [[/Numbers/]] {{stage short|100%}} * [[/Pronouns/]] {{stage short|100%}} * [[/Verbs/]] {{stage short|100%}} * [[/Prepositions/]] {{stage short|100%}} * [[/Conjunctions/]] {{stage short|100%}} |valign="top"| * [[/Interjections/]] {{stage short|100%}} * [[/Hybrids/]] {{stage short|100%}} * [[/Greetings and Euphemisms/]] {{stage short|100%}} * [[/Acronyms and Abbreviations/]] {{stage short|100%}} * [[/Onomatopoeia/]] {{stage short|100%}} * [[/Vocabulary Formation/]] {{stage short|100%}} * [[/Word Families/]] {{stage short|100%}} * [[/Syntax/]]{{stage short|100%}} * [[/Sample Texts Analyzed/]] {{stage short|100%}} * [[/Lesson 1/]] {{stage short|100%}} * [[/Lesson 2/]] {{stage short|100%}} * [[/Lesson 3/]] {{stage short|100%}} * [[/Lesson 4/]] {{stage short|100%}} * [[/Lesson 5/]] {{stage short|100%}} * [[/Mirad-English Dictionary/]] {{stage short|100%}} * [[/Flaws in Mirad/]] {{stage short|%25}} |} {{Alphabetical|M}} {{shelves|Mirad}} {{Shelf|Constructed Languages}} i030wcbtzkcdshtsk894kvfcnpkn4kc 4670089 4670088 2026-09-14T19:14:57Z Tyoyafud 6233 4670089 wikitext text/x-wiki {{status|100%}} {{Chapter navigation with TOC||Introduction|}} {{print version|Mirad Grammar/print version|(No dictionary)|Mirad Grammar}} {{Book search | style=image}} <small> Welcome to a textbook on the grammar of <big><b>Mirad</b></big>.&nbsp;&nbsp;Formerly known as '''Unilingua''', Mirad is an artificially constructed auxiliary language ([[Constructed language|conlang]]) developed originally by Paris-based author Noubar Agopoff [https://books.google.com/books/about/Unilingua.html?id=I7ghxwEACAAJ] as a ''serious'' medium for easy, regular, expressive, and logical international communication. This textbook is a revision of the language with many new features, plus access to a bilingual dictionary containing over 149,000+ word/expression pairings, over ten times the size the original Unilingua vocabulary. The vocabulary is internally consistent, [[wikt:oligosynthetic|oligosynthetic]] (built from a minimal set of roots), and [[wikt:a priori|a priori]], i.e. it was developed systematically from scratch with no relation to existing natural languages except for a few universal words like "karaoke" or "falafel". </small> [[File:The Earth seen from Apollo 17.jpg|thumb|left|'''Yubjo, ha mir gonbio yansauna gabyuxea dalzeyn.''' (''Soon, the world will share a common auxiliary language.'')]] {| class="wikitable" style="font-size:smaller; margin: 0 auto;" |+ Table of Contents |- |valign="top"| * [[/Introduction/]] {{stage short|100%}} * [[/Why Mirad?/]] {{stage short|100%}} * [[/Alphabet/]] {{stage short|100%}} * [[/Pronunciation/]] {{stage short|100%}} * [[/Syllabification/]] {{stage short|100%}} * [[/Stress/]] {{stage short|100%}} * [[/Phonotactics/]] {{stage short|100%}} * [[/Parts of Speech/]] {{stage short|100%}} * [[/Nouns/]] {{stage short|100%}} * [[/Nouns#Modifying Nouns with the Definite Article|Articles]] {{stage short|100%}} * [[/Adjectives/]] {{stage short|100%}} * [[/Adverbs/]] {{stage short|100%}} * [[/Determiners/]] {{stage short|100%}} * [[/Numbers/]] {{stage short|100%}} * [[/Pronouns/]] {{stage short|100%}} * [[/Verbs/]] {{stage short|100%}} * [[/Prepositions/]] {{stage short|100%}} * [[/Conjunctions/]] {{stage short|100%}} |valign="top"| * [[/Interjections/]] {{stage short|100%}} * [[/Hybrids/]] {{stage short|100%}} * [[/Greetings and Euphemisms/]] {{stage short|100%}} * [[/Acronyms and Abbreviations/]] {{stage short|100%}} * [[/Onomatopoeia/]] {{stage short|100%}} * [[/Vocabulary Formation/]] {{stage short|100%}} * [[/Word Families/]] {{stage short|100%}} * [[/Syntax/]]{{stage short|100%}} * [[/Sample Texts Analyzed/]] {{stage short|100%}} * [[/Lesson 1/]] {{stage short|100%}} * [[/Lesson 2/]] {{stage short|100%}} * [[/Lesson 3/]] {{stage short|100%}} * [[/Lesson 4/]] {{stage short|100%}} * [[/Lesson 5/]] {{stage short|100%}} * [[/Mirad-English Dictionary/]] {{stage short|100%}} * [[/Flaws in Mirad/]] {{stage short|%25}} |} {{Alphabetical|M}} {{shelves|Mirad}} {{Shelf|Constructed languages}} 21khmlrieewf5drmqcfi42o5p4zmzjn 4670090 4670089 2026-09-14T19:15:38Z Tyoyafud 6233 4670090 wikitext text/x-wiki {{status|100%}} {{Chapter navigation with TOC||Introduction|}} {{print version|Mirad Grammar/print version|(No dictionary)|Mirad Grammar}} {{Book search | style=image}} <small> Welcome to a textbook on the grammar of <big><b>Mirad</b></big>.&nbsp;&nbsp;Formerly known as '''Unilingua''', Mirad is an artificially constructed auxiliary language ([[Constructed language|conlang]]) developed originally by Paris-based author Noubar Agopoff [https://books.google.com/books/about/Unilingua.html?id=I7ghxwEACAAJ] as a ''serious'' medium for easy, regular, expressive, and logical international communication. This textbook is a revision of the language with many new features, plus access to a bilingual dictionary containing over 149,000+ word/expression pairings, over ten times the size the original Unilingua vocabulary. The vocabulary is internally consistent, [[wikt:oligosynthetic|oligosynthetic]] (built from a minimal set of roots), and [[wikt:a priori|a priori]], i.e. it was developed systematically from scratch with no relation to existing natural languages except for a few universal words like "karaoke" or "falafel". </small> [[File:The Earth seen from Apollo 17.jpg|thumb|left|'''Yubjo, ha mir gonbio yansauna gabyuxea dalzeyn.''' (''Soon, the world will share a common auxiliary language.'')]] {| class="wikitable" style="font-size:smaller; margin: 0 auto;" |+ Table of Contents |- |valign="top"| * [[/Introduction/]] {{stage short|100%}} * [[/Why Mirad?/]] {{stage short|100%}} * [[/Alphabet/]] {{stage short|100%}} * [[/Pronunciation/]] {{stage short|100%}} * [[/Syllabification/]] {{stage short|100%}} * [[/Stress/]] {{stage short|100%}} * [[/Phonotactics/]] {{stage short|100%}} * [[/Parts of Speech/]] {{stage short|100%}} * [[/Nouns/]] {{stage short|100%}} * [[/Nouns#Modifying Nouns with the Definite Article|Articles]] {{stage short|100%}} * [[/Adjectives/]] {{stage short|100%}} * [[/Adverbs/]] {{stage short|100%}} * [[/Determiners/]] {{stage short|100%}} * [[/Numbers/]] {{stage short|100%}} * [[/Pronouns/]] {{stage short|100%}} * [[/Verbs/]] {{stage short|100%}} * [[/Prepositions/]] {{stage short|100%}} * [[/Conjunctions/]] {{stage short|100%}} |valign="top"| * [[/Interjections/]] {{stage short|100%}} * [[/Hybrids/]] {{stage short|100%}} * [[/Greetings and Euphemisms/]] {{stage short|100%}} * [[/Acronyms and Abbreviations/]] {{stage short|100%}} * [[/Onomatopoeia/]] {{stage short|100%}} * [[/Vocabulary Formation/]] {{stage short|100%}} * [[/Word Families/]] {{stage short|100%}} * [[/Syntax/]]{{stage short|100%}} * [[/Sample Texts Analyzed/]] {{stage short|100%}} * [[/Lesson 1/]] {{stage short|100%}} * [[/Lesson 2/]] {{stage short|100%}} * [[/Lesson 3/]] {{stage short|100%}} * [[/Lesson 4/]] {{stage short|100%}} * [[/Lesson 5/]] {{stage short|100%}} * [[/Mirad-English Dictionary/]] {{stage short|100%}} * [[/Flaws in Mirad/]] {{stage short|%25}} |} {{Alphabetical|M}} {{shelves|Constructed languages}} nfugsrjxyoclmmqf7hymjxqsp63syk7 4670091 4670090 2026-09-14T19:24:06Z Tyoyafud 6233 4670091 wikitext text/x-wiki {{status|100%}} {{Chapter navigation with TOC||Introduction|}} {{print version|Mirad Grammar/print version|(No dictionary)|Mirad Grammar}} {{Book search | style=image}} <small> Welcome to a textbook on the grammar of <big><b>Mirad</b></big>.&nbsp;&nbsp;Formerly known as '''Unilingua''', Mirad is an artificially constructed auxiliary language ([[Constructed language|conlang]]) developed originally by Paris-based author Noubar Agopoff [https://books.google.com/books/about/Unilingua.html?id=I7ghxwEACAAJ] as a ''serious'' medium for easy, regular, expressive, and logical international communication. This textbook is a revision of the language with many new features, plus access to a bilingual dictionary containing over 149,000+ word/expression pairings, over ten times the size the original Unilingua vocabulary. The vocabulary is internally consistent, [[wikt:oligosynthetic|oligosynthetic]] (built from a minimal set of roots), and [[wikt:a priori|a priori]], i.e. it was developed systematically from scratch with no relation to existing natural languages except for a few universal words like "karaoke" or "falafel". </small> [[File:The Earth seen from Apollo 17.jpg|thumb|left|'''Yubjo, ha mir gonbio yansauna gabyuxea dalzeyn.''' (''Soon, the world will share a common auxiliary language.'')]] {| class="wikitable" style="font-size:smaller; margin: 0 auto;" |+ Table of Contents |- |valign="top"| * [[/Introduction/]] {{stage short|100%}} * [[/Why Mirad?/]] {{stage short|100%}} * [[/Alphabet/]] {{stage short|100%}} * [[/Pronunciation/]] {{stage short|100%}} * [[/Syllabification/]] {{stage short|100%}} * [[/Stress/]] {{stage short|100%}} * [[/Phonotactics/]] {{stage short|100%}} * [[/Parts of Speech/]] {{stage short|100%}} * [[/Nouns/]] {{stage short|100%}} * [[/Nouns#Modifying Nouns with the Definite Article|Articles]] {{stage short|100%}} * [[/Adjectives/]] {{stage short|100%}} * [[/Adverbs/]] {{stage short|100%}} * [[/Determiners/]] {{stage short|100%}} * [[/Numbers/]] {{stage short|100%}} * [[/Pronouns/]] {{stage short|100%}} * [[/Verbs/]] {{stage short|100%}} * [[/Prepositions/]] {{stage short|100%}} * [[/Conjunctions/]] {{stage short|100%}} |valign="top"| * [[/Interjections/]] {{stage short|100%}} * [[/Hybrids/]] {{stage short|100%}} * [[/Greetings and Euphemisms/]] {{stage short|100%}} * [[/Acronyms and Abbreviations/]] {{stage short|100%}} * [[/Onomatopoeia/]] {{stage short|100%}} * [[/Vocabulary Formation/]] {{stage short|100%}} * [[/Word Families/]] {{stage short|100%}} * [[/Syntax/]]{{stage short|100%}} * [[/Sample Texts Analyzed/]] {{stage short|100%}} * [[/Lesson 1/]] {{stage short|100%}} * [[/Lesson 2/]] {{stage short|100%}} * [[/Lesson 3/]] {{stage short|100%}} * [[/Lesson 4/]] {{stage short|100%}} * [[/Lesson 5/]] {{stage short|100%}} * [[/Mirad-English Dictionary/]] {{stage short|100%}} * [[/Flaws in Mirad/]] {{stage short|%25}} |} {{Alphabetical|M}} {{Shelves|Constructed languages}} gfi0vjzirnhl5owe20dmxzgp2q67c19 Mirad Thesaurus 0 423702 4670092 4662202 2026-09-14T19:30:03Z Tyoyafud 6233 4670092 wikitext text/x-wiki {{Alphabetical|M}} {{shelves|Mirad|Constructed languages}} {{status|50%}} {{Chapter navigation with TOC||Universe|}} Welcome to '''Mirad Thesaurus''', a thematically-ordered vocabulary of Mirad, a serious constructed language. This book is an accompaniment to [[Mirad Grammar]]. {|width="100%" border="1" cellspacing="0" cellpadding="15" style="background:lightGreen;{{text default color}}" |+ Table of Contents |- |valign="top" width="25%" align="center"| [[File:The Earth seen from Apollo 17.jpg|thumb|none|center|'''Glojo, ha mir gonbio yansauna gabyuxea dalzeyn.''' (''Soon, the world will share a common auxiliary language.'')]] |valign="top" width="33%"| * [[/Universe/]] * [[/Nature/]] * [[/Weather/]] * [[/Flora/]] * [[/Fauna/]] * [[/Human Body/]] * [[/Clothing/]] * [[/Society/]] * [[/Family/]] * [[/Health/]] * [[/Home/]] * [[/Food/]] * [[/City Life/]] * [[/Commerce/]] * [[/School/]] * [[/Mathematics/]] |valign="top" width="33%" | * [[/Government/]] * [[/Technology/]] * [[/Geography/]] * [[/Military/]] * [[/Arts and Entertainment/]] * [[/Religion/]] * [[Mirad Grammar]] |} fcm0mn3kzvf7krbmis8co0pxxrpbpmz Mirad Thesaurus/Human Body 0 423967 4670079 4662039 2026-09-14T18:46:30Z Tyoyafud 6233 4670079 wikitext text/x-wiki = Human Body = <noinclude>{{Chapter navigation with TOC|Fauna|Clothing|}}{{Shelf: Constructed languages}}{{Alphabetical: M}} </noinclude> {| class="wikitable" style="background: pink;{{Text default color}};" |valign=top| :*'''tob'''=''human'' ::*'''tab'''=''body'' :::*'''teb'''=''head'' ::::*'''tib'''=''trunk'' :::::*'''tub'''=''arm'' ::::::*'''tyob'''=''leg'' |valign=top| [[File:1201_Overview_of_Nervous_System_esp.jpg|thumb]] |valign=top| :*'''top'''=''soul'' ::*'''tap'''=''physique'' :::*'''tep'''=''mind'' ::::*'''tip'''=''sentiment'' |} : The stem of body part words begin with '''t''', signifying a ''human'' or ''live creature'', and end with '''b''', meaning ''organism''. Words referring to non-tangible parts begin with '''t''' and end in '''p'''. The words are derived from the base word '''tob''' and descend organizationally. {| class="wikitable" style="background:pink;{{Text default color}};" |+ The Body: Principal Parts |- ! colspan=5 | tob=human |- |valign=top| :*'''tab'''=''body'' :*'''taob'''=''flesh'' :*'''taab'''=''lymph'' :*'''taeb'''=''muscle'' :*'''taib'''=''bone'' :*'''taub'''=''cartilage'' :*'''tayob'''=''skin'' :*'''tayab'''=''fat'' :*'''tayeb'''=''hair'' :*'''tayib'''=''nerve'' :*'''tayub'''=''gland'' :*'''talob'''=''artery'' :*'''talab'''=''joint'' :*'''takib'''=''vertebra'' |valign=top| :*'''teb'''=''head'' :*'''yabteb'''=''forehead'' :*'''yobteb'''=''chin'' :*'''tebzan'''=''face'' :*'''tebnyeb'''=''cranium'' :*'''tebyeb'''=''brain'' :*'''teob'''=''cheek'' :*'''teab'''=''eye'' :*'''teeb'''=''ear'' :*'''teib'''=''nose'' :*'''teub'''=''mouth'' :*'''teyob'''=''neck'' |valign=top| :*'''tib'''=''trunk'' :*'''tiab'''=''chest'' :*'''tiayb'''=''breast'' :*'''tieb'''=''lung'' :*'''tiib'''=''heart'' :*'''tiub'''=''belly'' :*'''tiyob'''=''kidney'' :*'''tiyab'''=''bladder'' :*'''tiyeb'''=''prostate'' :*'''tiyib'''=''testicles'' :*'''tiyiyb'''=''ovary'' :*'''tiyub'''=''penis'' :*'''tiyuyb'''=''vagina'' :*'''tikab'''=''esophagus'' :*'''tikeb'''=''stomach'' :*'''tikib'''=''liver'' :*'''tikub'''=''pancreas'' :*'''tikyob'''=''small intestine'' :*'''tikyab'''=''large intestine'' :*'''tikyeb'''=''anus'' |valign=top| :*'''tub'''=''arm'' :*'''tuab'''=''shoulder'' :*'''tueb'''=''upper arm'' :*'''tuib'''=''elbow'' :*'''tuub'''=''forearm'' :*'''tuyob'''=''wrist'' :*'''tuyab'''=''hand'' :*'''tuyeb'''=''fist'' :*'''tuyib'''=''palm'' :*'''tuyub'''=''finger'' :*'''tulob'''=''fingernail'' |valign=top| :*'''tyob'''=''leg'' :*'''tyoab'''=''hip'' :*'''tyoeb'''=''thigh'' :*'''tyoib'''=''kneel'' :*'''tyoub'''=''calf'' :*'''tyoyob'''=''ankle'' :*'''tyoyab'''=''foot'' :*'''tyoyeb'''=''heel'' :*'''tyoyib'''=''sole'' :*'''tyoyub'''=''toe'' :*'''tyolob'''=''toenail'' |} == The Human Being == {| class="wikitable" |valign=top| :*'''tob'''=''human, man, person'' ::*'''toba'''=''human'' :::*'''toban'''=''humanity'' :::*'''tobaxer'''=''humanize'' ::::*'''tobaxen'''=''humanization'' ::*'''tobser'''=''become human'' ::*'''tobxer'''=''make human'' ::*'''tobyan'''=''mankind'' ::*'''tobin'''=''humanism'' :::*'''tobina'''=''humanistic'' :::*'''tobinut'''=''humanist'' ::*'''tobifa'''=''humanitarian'' :::*'''tobifin'''=''humanitarianism'' ::*'''eytob'''=''hominoid'' ::*'''tobyena'''=''human-like'' ::*'''tobij'''=''fetus'' :::*'''tobija'''=''fetal'' ::*'''abtob'''=''superhuman'' :::*'''abtoba'''=''superhuman'' ::*'''otoba'''=''non-human'' ::*'''tobufa'''=''misanthropic'' :::*'''tobufut'''=''misanthrope'' ::*'''toptun'''=''anthropology'' :::*'''toptuna'''=''anthropological'' :::*'''toptut'''=''anthropologist'' ::*'''jwatop'''=''early man'' ::*'''tobsana'''=''anthropomorphic'' :*'''twob'''=''man'' ::*'''twoban'''=''manhood'' ::*'''twobyena'''=''manly, virile'' ::*'''twobyenan'''=''manliness, virility'' |valign=top| ::*'''abtwob'''=''superman'' ::*'''twobet'''=''boy'' :::*'''twobetan'''=''boyhood'' :::*'''twobetyena'''=''boyish'' ::::*'''twobetyenan'''=''boyishness'' :*'''toyb'''=''woman'' ::*'''toyban'''=''womanhood'' ::*'''toybyena'''=''womanly'' :::*'''toybyenan'''=''womanliness'' ::*'''toybser'''=''become a woman'' ::*'''toybet'''=''girl'' :::*'''toybetan'''=''girlhood'' :::*'''toybetyena'''=''girlish'' ::::*'''toybetyenan'''=''girlishness'' :*'''suztob'''=''mannekin'' :*'''abtob'''=''superman'' :*'''apayetob'''=''batman'' :*'''apeltob'''=''spiderman'' :*'''fyatob'''=''saint'' ::*'''fyatoban'''=''sainthood'' ::*'''fyatobyena'''=''saintly'' :*'''fyotob'''=''demon, bogeyman'' :*'''aajtob'''=''protohuman'' :*'''sirtob'''=''robot, automaton'' :*'''vyotob'''=''dummy'' :*'''futob'''=''bad guy, villain'' :*'''ektobet'''=''doll, marionette'' |} == Gender == {| class="wikitable" |valign=top| :*'''toob'''=''gender, sex'' ::*'''tooba'''=''gender-related, sexual'' ::*'''toobin'''=''sexism'' :::*'''toobina'''=''sexist'' :::*'''toobinut'''=''sexist'' ::*'''antooba'''=''unisex'' ::*'''ebtooba'''=''intersex, cross-gendered'' ::*'''entooba'''=''bi-gendered'' ::*'''evtooba'''=''gender-neutral'' ::*'''hyaewatooba'''=''ambi-sexual'' ::*'''hyatooba'''=''pan-sexual'' ::*'''hyitooba'''=''same-sex'' ::*'''hyitoobifa'''=''homosexual, gay. homophile'' :::*'''hyitoobifat'''=''homosexual, gay person'' ::*'''hyitoobifayt'''=''lesbian'' ::*'''hyitoobifin'''=''homophilism'' :::*'''hyitoobifina'''=''homophile'' ::*'''hyutooba'''=''alternatively gendered'' ::*'''hyotoobifa'''=''asexual'' ::*'''hyutoobifa'''=''heterosexual, straight'' |valign=top| :::*'''hyutoobifat'''=''heterosexual, straight person'' ::*'''kyatooba'''=''transgender'' :::*'''kyatoobat'''=''transgendered person'' ::*'''kyotooba'''=''cisgendered'' :::*'''kyotoobat'''=''cisgendered person'' ::*'''kyetooba'''=''of any gender, of whatever gender'' ::*'''otoobifa'''=''asexual, non-sexual'' ::*'''ovhyitoobifa'''=''anti-gay'' ::*'''oytooba'''=''genderless'' ::*'''zeytoobat'''=''transgendered person'' :*'''twoob'''=''male'' ::*'''twooba'''=''male, masculine'' :::*'''twooban'''=''masculinity'' :*'''tooyb'''=''female'' ::*'''tooyba'''=''female, feminine'' :::*'''tooyban'''=''femininity'' :::*'''tooybin'''=''feminism'' ::::*'''tooybina'''=''feminist'' ::::*'''tooybinut'''=''feminist'' ::*'''twooyba'''=''male-female'' |} == The Body == {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''tab'''=''body'' ::*'''taba'''=''corporal, bodily'' ::*'''tabogrun'''=''corpuscle'' ::*'''tabos'''=''organ'' :::*'''tabos ifbuut'''=''organ donor'' :::*'''tabos zaykyoben'''=''organ transplant'' :::*'''tabosa'''=''organic'' ::::*'''otabosa'''=''inorganic'' ::*'''tabes'''=''organism'' :::*'''ovtabes'''=''antibody'' ::*'''tabgon'''=''body part'' ::*'''tabnyaun'''=''body mass'' ::*'''tabovmas'''=''body shield'' ::*'''tabkex'''=''body search'' ::*'''tabnyef'''=''body bag'' ::*'''tabsaun'''=''body type'' ::*'''tabsan'''=''body shape'' ::*'''taba basyen'''=''body language'' ::*'''tababaxlun'''=''body massage'' ::*'''tabazan'''=''strength of body'' :::*'''tabazaxer'''=''body-build'' :::*'''tabazaxen'''=''body-building'' :::*'''tabazaxut'''=''body-builder'' ::*'''tabyuz'''=''tegument'' ::*'''tabij'''=''embryo'' :::*'''tabija'''=''embryonic'' ::*'''tojtab'''=''corpse'' :::*'''tojtabyubteax'''=''autopsy'' ::*'''toptun'''=''anatomy'' :::*'''toptuna'''=''anatomical'' :::*'''toptut'''=''anatomist'' ::*'''tabil'''=''humor'' <hr> ::*'''taob'''=''flesh'' :::*'''taoba'''=''carnal'' ::::*'''taobay'''=''carnally'' :::*'''taobaya'''=''fleshy'' ::::*'''taobayan'''=''fleshiness'' :::*'''taol'''=''meat'' ::*'''yegtaobser'''=''to reincarnate'' :::*'''yegtaobxen'''=''reincarnation'' ::taob <hr> ::*'''taab'''=''lymph, lymph node'' :::*'''taaba'''=''lymphatic'' <hr> ::*'''taeb'''=''muscle'' :::*'''taeba'''=''muscular, myo-'' :::*'''taebaya'''=''muscle-bound'' :::*'''taeboya'''=''scrawny'' |valign=top| :::*'''taebyan'''=''musculature'' :::*'''taeb nif'''=''muscle fiber'' :::*'''taibyana taeb'''=''skeletal muscle'' :::*'''yugfa taeb'''=''smooth muscle'' :::*'''tiiba taeb'''=''cardiac muscle, myocardium'' <hr> ::*'''taib'''=''bone'' :::*'''taib gyian'''=''bone density'' :::*'''taib sunyen'''=''bone structure'' ::*'''ojfon taib'''=''wishbone'' :::*'''taiba'''=''osseous'' ::*'''taibaya'''=''bony'' :::*'''taibayan'''=''boniness'' ::*'''taiboya'''=''boneless'' :::*'''taiboyan'''=''bonelessness'' :::*'''taibayab'''=''bone marrow, marrow'' ::*'''taibnyan'''=''skeleton'' :::*'''taibnyana'''=''skeletal'' :::*'''taibnyansyob'''=''coccyx'' ::::*'''taibnyansyoba'''=''coccygeal'' ::*'''taibober'''=''bone, de-bone'' ::*'''taibog'''=''osselet'' ::*'''taibser'''=''ossify'' :::*'''taibxen'''=''ossification'' :::*'''taibxwa'''=''ossified'' ::*'''taibvyixer'''=''scavenge'' :::*'''taibvyixut'''=''scavenger'' ::*'''taibyan'''=''ossature, framework'' ::*'''taibyel'''=''ossein'' ::*'''taibyem'''=''ossuary'' ::*'''taibyena'''=''bony, bone-like'' ::*'''tiabtaib'''=''sternum'' ::*'''pittaib'''=''fish bone'' <hr> ::*'''taub'''=''cartilage'' :::*'''tauba'''=''cartilaginous'' |valign=top| <hr> ::*'''tayob'''=''skin, hide'' :::*'''tayoba'''=''dermal'' ::*'''tayobtun'''=''dermatology'' :::*'''tayobtuna'''=''dermatological'' :::*'''tayobtut'''=''dermatology'' ::*'''tayodril'''=''tattoo'' ::*'''tayoyaz'''=''pimple'' ::*'''tayobbuyk'''=''bruise'' ::*'''abtayoba'''=''epidermal'' ::*'''tayobbok'''=''dermatitis'' ::*'''tayobabaxren'''=''dermabrasion'' <hr> ::*'''tayab'''=''fat, blubber'' :::*'''tayabika'''=''fatty, blubberiness'' ::::*'''tayabikan'''=''fattiness, blubberiness'' <hr> ::*'''tayeb'''=''hair'' :::*'''tayeba'''=''capillary, hair-related'' :::*'''tayeb fuyv'''=''hair pin'' :::*'''tayeb mifxar'''=''hair spray'' :::*'''tayeb neaf'''=''hair net'' :::*'''tayeb umxar'''=''hair drier, hairdryer'' :::*'''tayeb yonkunad'''=''hair fringe'' :::*'''tayebar'''=''comb'' ::::*'''tayebarer'''=''to comb'' ::::*'''tayebaren'''=''combing'' ::::*'''tayebarwa'''=''combed'' |valign=top| ::::*'''otayebarwa'''=''uncombed, unkempt'' :::*'''tayebeb'''=''tuft of hair'' :::*'''tayebbik'''=''hair care'' ::::*'''tayebbikam'''=''hair salon'' ::::*'''tayebbikut'''=''hair stylists'' :::*'''tayebika'''=''hairy, hirsute'' ::::*'''tayebikan'''=''hairiness, hirsuteness'' :::*'''tayebnad'''=''hairline'' :::*'''tayebok'''=''hair loss, alopecia'' ::::*'''tayeboka'''=''bald'' :::::*'''tayebokan'''=''baldness'' :::::*'''tayebokea'''=''going bald, balding'' :::*'''tayebonapa'''=''disheveled'' ::::*'''tayebonapxer'''=''dischevel'' :::*'''tayoboya'''=''hairless'' :::*'''tayebsyen'''=''hairstyle, hairdo, coiffure'' ::::*'''tayebsyenam'''=''hair salon'' :::::*'''tayebsyenut'''=''hair stylist, coiffeur'' :::::*'''tayebsyenxer'''=''coiff'' :::*'''tayebtun'''=''trichology'' ::::*'''tayebtuna'''=''trichological'' ::::*'''tayebtut'''=''trichologist'' :::*'''tayebuka'''=''hairless'' ::::*'''tayebukan'''=''hairlessness'' :::*'''tayebun'''=''toupe, wig, hairpiece'' :::*'''tayebuz'''=''hair curl'' ::::*'''tayebuzar'''=''curling iron'' ::::*'''tayebuzaser'''=''frizz'' ::::*'''tayebuzaxer'''=''frizz'' ::::*'''tayebuzika'''=''frizzy'' |valign=top| :::::*'''tayebuzikan'''=''frizziness'' :::*'''tayebyaser'''=''bristle'' :::*'''tayebzyeg'''=''hair follicle'' :::*'''tayebzyun'''=''hairball'' :::*'''pitayeb'''=''scale'' :::*'''patayeb'''=''feather'' :::*'''potayeb'''=''animal hair'' ::::*'''potayez'''=''fur'' ::::*'''potayebyan'''=''mane, coat'' :::*'''uopetayeb'''=''fleece, wool'' :::*'''upatayeb'''=''down, goose down'' :::*'''vyotayebun'''=''wig, hairpiece'' :::*'''vyupotayeb'''=''buckskin, doeskin, suede'' :::*'''yipetayeb'''=''cat fur'' :::*'''bepyotayeb'''=''fuzz'' <hr> ::*'''tayib'''=''nerve'' :::*'''tayib fab'''=''nerve dendrite'' :::*'''tayib fib'''=''nerve trunk'' :::*'''tayib fub'''=''axon'' :::*'''tayib fyob'''=''nerve root'' ::*'''tayibaun'''=''neuron'' :::*'''tayiba naap'''=''nervous system'' ::*'''tayibtun'''=''neurology'' :::*'''tayibtuna'''=''neurological'' :::*'''tayibtut'''=''neurologist'' ::*'''tayixuer'''=''excite, innervate'' ::*'''tayixier'''=''get excited'' ::*'''uftayixer'''=''annoy'' ::*'''uftayiser'''=''get annoyed'' |valign=top| :*'''tayub'''=''gland'' ::*'''tayuba'''=''glandular'' ::*'''teubila tayub'''=''salivary gland'' <hr> :*'''talob'''=''artery (also: tiibuf)'' ::*'''taloba'''=''arterial'' ::*'''talobog'''=''arteriole'' ::*'''zoytalob'''=''vein'' :::*'''zoytaloba'''=''veinous'' :::*'''zoytalobog'''=''venule'' <hr> :*'''talab'''=''joint (also: yanar)'' ::*'''talaba'''=''articulatory'' ::*'''tyoyib talab'''=''knee joint'' :*'''takib'''=''vertebra'' ::*'''takiba'''=''vertebral'' ::*'''takibyan'''=''spine, spinal column'' |} == The Head == {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''teb'''=''head'' ::*'''teb abunof'''=''head covering'' ::*'''teb bexar'''=''kerchief, bandana'' ::*'''teb tayeb'''=''hair on the head'' ::*'''teba'''=''capital, head-related'' ::*'''kyuteba'''=''light-headed, lightheaded'' :::*'''kyuteban'''=''light-headedness, lightheadedness'' :::*'''kyutebay'''=''lightheadedly'' :::*'''kyutebser'''=''grow light-headed, swoon'' :::*'''kyutebxer'''=''make swoon'' ::*'''piteb'''=''fish head'' ::*'''abteb'''=''scalp'' :::*'''abteboben'''=''scalping'' :::*'''abtebober'''=''scalp'' :::*'''abtebobwa'''=''scalped'' ::*'''tebbaxer'''=''nod'' :::*'''tebbaxen'''=''nodding'' ::*'''tebbyoyk'''=''headache'' :::*'''tebbyoyker'''=''have a headache'' ::*'''tebdrasin'''=''portrait'' :::*'''tebdrasinam'''=''portrait studio'' :::*'''tebdrasinen'''=''portrayal'' :::*'''tebdrasiner'''=''portray'' :::*'''tebdrasintem'''=''portrait gallery'' :::*'''tebdrasinut'''=''portrait artist'' :::*'''tebdrasinwat'''=''character, portrayal'' :::*'''tebdrasinyan'''=''portraiture'' ::*'''tebkun'''=''side of the head'' ::*'''tebnig'''=''head room'' ::*'''tebnuf'''=''headstall'' ::*'''tebnyeb'''=''cranium'' |valign=top| :::*'''tebnyeba'''=''cranial'' ::*'''tebnyef'''=''skullcap'' ::*'''tebnyem'''=''skull'' ::*'''tebyeb'''=''brain'' :::*'''tebyeba'''=''cerebral'' :::*'''obteyeb'''=''cerebellum'' :::*'''zoteyeb'''=''metencephalon'' :::*'''tebyebib'''=''brain stem'' ::*'''tebober'''=''decapitate, behead, remove a head'' :::*'''teboben'''=''decapitation, beheading'' :::*'''tebobwa'''=''decapitated, beheaded'' ::*'''tebboka'''=''insane'' :::*'''tebbokam'''=''insane asylum, mental institution'' :::*'''tebbokan'''=''insanity'' :::*'''tebbokat'''=''insane person'' :::*'''tebbokay'''=''insanely'' ::*'''tebsin'''=''face, countenance'' :::*'''tebsina'''=''facial'' :::*'''tebsinay'''=''facially'' :::*'''tebsinea'''=''facing'' :::*'''tebsinen'''=''facing'' :::*'''tebsiner'''=''face'' :::*'''tebsintun'''=''physiognomy'' ::::*'''tebsintuna'''=''physiognomical'' ::::*'''tebsintunay'''=''physiognomically'' ::::*'''tebsintut'''=''physiognomist'' ::*'''tebsiunen'''=''nodding'' :::*'''tebsiuner'''=''nod'' ::*'''tebsiz'''=''portrait'' :::*'''tebsizen'''=''portraying'' |valign=top| :::*'''tebsizer'''=''portray'' :::*'''tebsizut'''=''portrait artist'' :::*'''tebsizwa'''=''portrayed'' ::*'''tebtazun'''=''bust'' ::*'''tebuz'''=''crown'' :::*'''tebuza'''=''coronal'' :::*'''tebuzben'''=''coronation, crowning'' :::*'''tebuzber'''=''crown'' :::*'''tebuzbwa'''=''crowned'' :::*'''tebuzoben'''=''uncrowning'' :::*'''tebuzober'''=''uncrown'' :::*'''tebuzobien'''=''abdication'' :::*'''tebuzobier'''=''abdicate'' :::*'''tebuzobiwa'''=''abdicated'' :::*'''tebuzobwa'''=''uncrowned'' :::*'''tebuz bokogrun'''=''corona virus'' :::*'''edeba tebuz'''=''royal crown, regal crown'' :::*'''eyntebuz'''=''diadem'' :::*'''eytebuyz'''=''tiara'' :::*'''eytebuz'''=''diadem'' ::*'''tebvoz'''=''complexion'' ::*'''tebzan'''=''face, countenance'' :::*'''tebzan abunof'''=''facial covering'' :::*'''tebzan yuznad'''=''silhouette'' :::*'''tebzana'''=''facial'' :::*'''tebzanay'''=''facially'' :::*'''tebzanen'''=''confrontation'' ::::*'''tebzanena'''=''confrontational'' :::*'''tebzaner'''=''face, confront'' :::*'''tebzansin'''=''mugshot, face image, head shot'' |valign=top| ::*'''uttebdrasin'''=''self-portrait, selfie'' ::*'''uttebsin'''=''self-portrait'' ::*'''vatebbax'''=''nod yes'' :::*'''vatebbaxen'''=''nodding yes'' :::*'''vatebbaxer'''=''nod yes'' ::*'''vatebsiun'''=''affirmative nod'' :::*'''vatebsiuner'''=''nod yes'' ::*'''vetebbaxen'''=''shrugging'' :::*'''vetebbaxer'''=''shrug, nod "maybe so"'' ::*'''vitebsiner'''=''grin, put on a pretty face'' :::*'''vitebsinea'''=''grinning'' :::*'''vitebsinen'''=''grinning'' ::*'''vostebuz'''=''wreath'' ::*'''votebbax'''=''negative nod of the head'' :::*'''votebbaxen'''=''nodding no'' :::*'''votebbaxer'''=''nod no'' ::*'''votebsiun'''=''negative sign, negative nod'' :::*'''votebsiuner'''=''nod no'' ::*'''vutebsin'''=''ugly mug, grimace, sneer'' :::*'''vutebsiner'''=''grimace, sneer'' ::*'''yabteb'''=''brow, forehead'' :::*'''yabteber'''=''hold ones' head high'' :::*'''yabtebkum'''=''temple'' ::*'''yapiiteb'''=''shrimp head'' ::*'''yobteb'''=''chin'' :::*'''yobteba'''=''of the chin'' ::*'''zateb=face (also'''=''tebzan and tebsin)'' :::*'''zateba'''=''facial'' :::*'''zateber'''=''to face, confront'' ::::*'''zatebea'''=''facing'' ::::*'''zateben'''=''confrontation'' :::*'''izzateber'''=''face squarely, confront head-on'' :::*'''ibzateber'''=''face away'' :::*'''zateb fix'''=''face lift'' :::*'''tobot zateb'''=''baby face'' ::*'''zatebtun'''=''physiognomy'' :::*'''zatebtuna'''=''physiognomical'' :::*'''zatebtut'''=''physiognomist'' ::*'''zateb'''=''face, front'' :::*'''zateba'''=''facial, frontal'' :::*'''zateben'''=''facing'' :::*'''zateber'''=''face'' :::*'''zatebwa'''=''faced'' ::*'''abzateb'''=''forehead'' ::*'''zaytebsiner'''=''face forward, face ahead'' :::*'''zaytebsinea'''=''facing forward, facing ahead'' :::*'''zaytebsinen'''=''facing forward, facing ahead'' ::*'''zoteb=back of the head (also'''=''tebzon)'' ::*'''zoteyob'''=''nape'' ::*'''zoytebsiner'''=''face backwards'' :::*'''zoytebsinea'''=''facing backwards'' :::*'''zoytebsinen'''=''facing backwards'' |} == The Eye == {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''teab'''=''eye'' ::*'''teaba'''=''ocular'' ::*'''abteab'''=''eyelid'' ::*'''zeteab'''=''pupil'' ::*'''teabyeb'''=''eyelash'' :::*'''ateabyeb'''=''upper eyelash'' :::*'''oteabyeb'''=''lower eyelash'' :::*'''abteabyeb'''=''eyebrow'' :::*'''teabzyeg'''=''eye socket'' :::*'''teabzyun'''=''eyeball'' :::*'''teabtun'''=''ophthalmology'' ::::*'''teabtuna'''=''ophthalmological'' ::::*'''teabtut'''=''ophthalmologist'' ::::*'''abteabyexer'''=''furl one's eyebrows'' ::*'''anteaba'''=''one-eyed'' ::*'''teabar'''=''eyeglasses'' :::*'''teabarut'''=''oculist'' ::*'''teater'''=''see'' :::*'''teat'''=''vision'' ::::*'''teata'''=''visual'' :::*'''teaten'''=''seeing'' :::*'''teatwa'''=''seen'' ::::*'''teatwas'''=''sight to behold'' :::*'''teatyaf'''=''ability to see, the sense of sight'' ::::*'''teatyafa'''=''able to see, sighted'' ::::*'''teatyafat'''=''sighted person'' ::::*'''teatyafwa'''=''visible'' :::::*'''teatyafway'''=''visibly'' :::::*'''teatyafwan'''=''visibility'' :::::*'''teatyafxer'''=''to make visible'' |valign=top| :::*'''teatyofa'''=''blind'' ::::*'''teatyofat'''=''blind person'' ::::*'''teatyofan'''=''blindness'' ::::*'''teatyofxer'''=''to blind'' ::::*'''teatyofxwa'''=''blinded'' ::*'''teatier'''=''to perceive'' :::*'''teatien'''=''perception'' :::*'''teatiyea'''=''perceptive'' :::*'''teatiwa'''=''perceived'' :::*'''teatiena'''=''perceptual'' ::*'''teatuer'''=''to show'' ::*'''teatuen'''=''showing, demonstration'' ::*'''teatuyea'''=''demonstrative'' ::*'''teaxer'''=''to look'' :::*'''Teaxu him!'''=''Look here!'' ::*'''teaser'''=''to seem, to look'' ::*'''Tease bu at van...'''=''It seems to me that...'' |} == The Ear == {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''teeb'''=''ear'' ::*'''teeba'''=''auricular, ear-related, auditory'' ::*'''yobteeb'''=''ear lobe'' ::*'''teeter'''=''to hear'' ::*'''teetyaf'''=''ability to hear, the sense of hearing'' :::*'''teetyafa'''=''able to hear'' :::*'''teetyafwa'''=''audible'' ::::*'''teetyafway'''=''audibly'' ::::*'''teetyafwan'''=''audibility'' :::*'''teeytofa'''=''deaf'' ::::*'''teeytofan'''=''deafness'' ::::*'''teetyofat'''=''deaf person'' ::::*'''teetyofser'''=''go deaf'' :::::*'''teetyofsea'''=''going deaf'' |valign=top| ::::*'''teetyofxer'''=''to deafen'' :::::*'''teetyofxea'''=''deafening'' ::*'''teexer'''=''listen, pay attention'' :::*'''teexen'''=''listening, attention'' :::*'''teexea'''=''listening, attentive'' :::*'''teexut'''=''listener'' ::::*'''teexutyan'''=''audience'' :::*'''yuvteexer'''=''obey'' ::::*'''yuvteexea'''=''obedient'' ::::*'''yuvteexean'''=''obedience'' :::*'''teexier'''=''to audition, audit'' :::*'''teexuer'''=''to audition, let it be heard'' :::*'''teexuam'''=''audio studio'' ::*'''tees'''=''sound, audio'' :::*'''teeser'''=''sound (like)'' :::*'''teesa'''=''auditory, audio-, sonic'' |valign=top| :::*'''geltees'''=''echo'' ::::*'''gelteesa'''=''echoic'' ::::*'''gelteeser'''=''to echo'' :::*'''teesdras'''=''sonogram'' :::*'''teesnagar'''=''audiometer'' :::*'''teesyen'''=''acoustics'' ::*'''fitees'''=''euphony'' ::*'''futees'''=''cacophony'' ::*'''teesaza'''=''noisy'' ::*'''teexar'''=''hearing aid'' |} == The Nose == {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''teib'''=''nose'' ::*'''teiba'''=''nasal, rhinal'' :::*'''teiban'''=''nasality'' ::*'''teibalier'''=''sniff'' ::*'''teibalegier'''=''sniffle'' ::*'''teibaxer'''=''nuzzle'' ::*'''teibbok'''=''rhinitis, cold'' :::*'''teibbokser'''=''catch a cold'' :::*'''teibil'''=''mucus, snot'' ::*'''teibiler'''=''run at the nose'' ::*'''teibtun'''=''rhinology'' :::*'''teibtuna'''=''rhinological'' :::*'''teibtut'''=''rhinologist'' ::*'''teibukxer'''=''blow one's nose'' ::*'''teibuz'''=''nose ring'' ::*'''teibyeg'''=''nostril'' :::*'''teibyeger'''=''flare at the nostrils'' ::*'''teibyena'''=''rhinoid, nose-like'' ::*'''teipyoser'''=''nose-dive'' ::*'''teipyuxler'''=''to sneeze'' ::*'''teita'''=''olfactory'' ::*'''teiter'''=''to smell'' ::*'''teitier'''=''to get a whiff of'' ::*'''teituer'''=''to give off a smell'' ::*'''teityaf'''=''sense of smell'' ::*'''teityof'''=''anosmia, inability to smell'' :::*'''teityofa'''=''unable to smell'' :::*'''teityofser'''=''lose the ability to smell'' ::*'''teityofwa'''=''odorless, impossible to smell'' ::*'''teixer'''=''to smell, sniff'' |valign=top| ::*'''teixeuxer'''=''to snore'' ::*'''teiz'''=''perfume, aroma'' :::*'''teizber'''=''aromatize'' ::::*'''teizbar'''=''aromatizer, perfumer'' :::*'''teizika'''=''aromatic'' :::*'''teiznam'''=''perfume shop'' :::*'''teizyeb'''=''perfume vial'' ::*'''viteis'''=''fragranace'' :::*'''viteiser'''=''to smell fragrant'' ::::*'''viteisea'''=''fragrant'' ::*'''vuteis'''=''odor, stink'' :::*'''vuteiser'''=''to stink'' ::::*'''vuteisea'''=''stinky, malodorous'' ::::*'''vuteisobul'''=''deodorant'' ::::*'''vuteixer'''=''to stink up'' :::::*'''vuteixen'''=''putrefaction'' |} == The Mouth == : Mouth parts: {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''teub'''=''mouth'' ::*'''abteub'''=''alveolar ridge'' ::*'''zateub'''=''vestibule'' ::*'''zoteub'''=''back of the mouth'' :::*'''zoteubib'''=''uvula'' :::*'''zoteubaob'''=''tonsil'' ::*'''teubob'''=''lip'' :::*'''ateubob'''=''upper lip'' :::*'''oteubob'''=''lower lip'' ::*'''teubab'''=''tongue'' ::*'''teubeb'''=''gum'' ::*'''teubib'''=''jaw'' :::*'''teubip'''=''tooth'' :::*'''teumib'''=''palate'' ::::*'''yugteumib'''=''soft palate, velum'' ::::*'''yigteumib'''=''hard palate'' ::*'''teusibar'''=''taste bud'' |} : Actions of the mouth: {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''teubier'''=''to swallow'' ::*'''aynteubier'''=''to swallow whole'' ::*'''eynteubier'''=''to half-swallpw'' ::*'''igteubier'''=''to gulp down'' ::*'''ikteubier'''=''to swallow whole'' :*'''ivteuber'''=''to smile, grin'' ::*'''ivteubuer'''=''to make smile'' ::*'''zyaivteuber'''=''be all grins, beam'' ::*'''fuivteuber'''=''to smirk, sneer, mock'' :*'''uvteuber'''=''to grimace, pout, sulk, mope'' :*'''ufteuber'''=''to frown, scorn, snear'' ::*'''ufteubuer'''=''to make frown, displease'' :*'''teubixer'''=''to chew'' ::*'''ikteubixer'''=''to chew up'' ::*'''teubixeger'''=''to ruminate'' :*'''teupixer'''=''to bite'' ::*'''ogteupixer'''=''to nibble'' ::*'''igteupixer'''=''to chomp'' ::*'''teupixeger'''=''to gnash'' ::*'''yagteupixer'''=''to gnaw'' ::*'''yigteupixer'''=''to crunch'' ::*'''ateupixer'''=''to gnaw'' ::*'''ibteupixer'''=''to bite off'' ::*'''yebteupixer'''=''to bite into, indent'' |valign=top| ::*'''yebteubober'''=''to suck'' :*'''teuboxer'''=''to kiss'' ::*'''teuboxeger'''=''to smooch'' ::*'''teuboyxer'''=''to give a peck on the cheek'' :*'''teubiler'''=''to salivate'' :*'''teubilier'''=''to suck'' :*'''teubiluer'''=''to spit, expectorate'' :*'''teubilpuxer'''=''to spit'' :*'''teubiloker'''=''to drool, slaver, slabber'' ::*'''teubilokeger'''=''to dribble, drivel'' :*'''teubyijer'''=''to yawn'' :*'''teuter'''=''to taste'' :*'''teuser'''=''to taste (like)'' :*'''teuxer'''=''to taste'' :*'''teuder'''=''to shout, cry'' ::*'''uvteuder'''=''to groan'' ::*'''ivteuder'''=''to laugh'' |} == The Neck == {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''teyob'''=''neck'' ::*'''teyoba'''=''cervical, jugular'' :::*'''teyoba zoytalob'''=''jugular vein'' ::*'''teyobuf'''=''throat'' :::*'''teyobufa'''=''gutteral'' :::*'''teyobufa talob'''=''carotid artery'' :::*'''teyobufa zoytalob'''=''jugular vein'' :::*'''teyobufa tayib'''=''vagus nerve'' :::*'''teyobufukxer'''=''cough, clear the throat'' :::*'''teyobufmup'''=''pharynx'' ::::*'''teyobufmupa'''=''pharyngeal'' ::*'''zateyob'''=''throat, larynx'' :::*'''zateyoba'''=''laryngeal, jugular'' |valign=top| ::::*'''zateyobbok'''=''laryngopathy, throat disease'' ::::*'''zateyobboyk'''=''laryngitis, throat soreness'' ::*'''zateyobibvyilxer'''=''to gargle'' ::*'''zateyobtun'''=''laryngology'' :::*'''zateyobtuna'''=''laryngological'' :::*'''zateyobtut'''=''laryngologist'' ::*'''zoteyob'''=''nape'' ::*'''tiebaluf'''=''trachea, windpipe'' :::*'''tiebalufa'''=''tracheal'' ::*'''teuz'''=''voice'' :::*'''teuza'''=''vocal'' :::*'''teuza nyifi'''=''vocal chords'' :::*'''teuznyem'''=''voice box, larynx'' ::::*'''teuznyema'''=''laryngeal'' ::::*'''teuznyemyuijar'''=''epiglottis'' :::*'''teuztaub'''=''Adam's apple'' ::::*'''teuztauba tayub'''=''thyroid gland'' |} == The Trunk == {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''tib'''=''trunk'' ::*'''tibaib'''=''rib'' :::*'''tibaibyan'''=''ribcage'' :::*'''yobtibser'''=''to crouch, slouch'' :::*'''tibuzaser'''=''to bow, bend over'' ::*'''tibuj'''=''tail'' :::*'''tibujbaxer'''=''wag the tail'' ::*'''zetib'''=''waist'' ::*'''zotib'''=''back'' :::*'''zotiba'''=''dorsal'' ::*'''tiab'''=''chest'' :::*'''tiayb'''=''breast'' :::*'''tiabyoz'''=''chest cavity'' :::*'''tiabaib'''=''rib'' ::::*'''zetiabaib'''=''sternum, breastbone'' ::::*'''tiabaibyan'''=''ribcage'' :*'''tikab'''=''esophagus'' ::*'''tikaba'''=''esophageal'' ::*'''tieb'''=''lung'' :::*'''tieba'''=''pleural'' :::*'''pitieb'''=''gill'' :::*'''tiebal'''=''breath'' ::::*'''tiebalier'''=''inhale, take a breath'' :::::*'''tiebalien'''=''inhalation'' :::::*'''tiebaliar'''=''inhaler'' :::::*'''tiebaliwas'''=''inhalant'' ::::*'''tiebaluer'''=''exhale, let out a breath'' :::::*'''tiebaluen'''=''exhalation, expiration'' :::::*'''tiebaluir'''=''lung machine, breathing machine'' ::::*'''tiebaloker'''=''belch, burp, eruct'' :::::*'''teibaloken'''=''belching, burping, eructation'' |valign=top| ::::*'''tiebalyujber'''=''to suffocate, stifle, smother, strangle'' ::::*'''tiebalyujbwer'''=''to suffocate, to be smothered, to be strangled'' :::*'''tiebbok'''=''pneumonia'' :::::*'''tiebbokier'''=''to catch pneumonia'' :::*'''tiebil'''=''phlegm'' :::*'''tiebtun'''=''pneumonology'' ::::*'''tiebtuna'''=''pneumonological'' ::::*'''tiebtut'''=''pneumonologist'' :::*'''tiebuf'''=''bronchus, bronchial tube'' ::::*'''tiebufa'''=''bronchial'' ::*'''tiebukxer'''=''to cough'' ::*'''aztiebukxer'''=''to hack, whoop'' ::*'''yabteibukxer'''=''to couch up'' :*'''tikeb'''=''stomach'' ::*'''tikeba'''=''gastric'' ::*'''tikebiil'''=''gastric juice'' ::*'''tikebboyk'''=''stomach ache'' ::*'''tikebbok'''=''gastritis'' ::*'''tikebier'''=''to digest'' :::*'''tikebien'''=''digestion'' :::*'''tikebiwa'''=''digested'' :::*'''tikebyik'''=''indigestion'' :::*'''tikebyikwa'''=''hard to digest'' ::*'''tikebil'''=''chyme'' :::*'''tikebiloker'''=''to vomit, throw up, regurgitate, puke'' :::*'''tikebiloken'''=''vomiting, throwing up, regurgitation, puking'' :::*'''tikebilokun'''=''vomit, puke'' ::*'''tikebukxer'''=''pump the stomach'' :::*'''tikebukxar'''=''stomach pump'' :::*'''tikebukxil'''=''emetic'' |valign=top| ::*'''tikebyijber'''=''to gut'' :::*'''tikebyijben'''=''gutting'' :::*'''tikebyijbwa'''=''gutted'' ::*'''tikebzyubaxrea'''=''stomach-churning'' ::*'''patikeb'''=''gizzard'' :*'''tiib'''=''heart'' ::*'''tiiba'''=''cardiac'' ::*'''tiib igef'''=''heart attack'' ::*'''tiibbektun'''=''cardiology'' :::*'''tiibbektuna'''=''cardiological'' :::*'''tiibbektunay'''=''cardiologically'' ::*'''tiibbok'''=''heart disease'' ::*'''tiibbyoyk'''=''heartache'' ::*'''tiibil'''=''blood'' :::*'''tiibil-'''=''hemato-, hema-, hemo-, blood-, sanguin-'' :::*'''tiibila'''=''sanguineous, blood-related'' :::*'''tiibil bal'''=''blood pressure'' :::*'''tiibil bokuluen'''=''blood poisoning'' :::*'''tiibil ifbuen yuzpur'''=''bloodmobile'' :::*'''tiibil ifbuut'''=''blood donor'' :::*'''tiibil imozkyalxen'''=''hematosis'' :::*'''tiibil ivoza'''=''blood-red'' :::*'''tiibil levafil nag'''=''blood-alcohol level'' :::*'''iibil level'''=''blood sugar'' :::*'''tiibil muil'''=''blood plasma'' :::*'''tiibil nas'''=''blood money'' :::*'''tiibil neg'''=''blood level'' :::*'''tiibil neunam'''=''blood bank'' :::*'''tiibil saun'''=''blood type'' :::*'''tiibil syag'''=''blood count'' |valign=top| :::*'''tiibil todat'''=''blood relative'' :::*'''tiibil tum'''=''blood cell, hemocyte'' :::*'''tiibil tyed'''=''blood relation'' :::*'''tiibil vyaoyek'''=''blood test'' :::*'''tiibil yebixlen'''=''blood transfusion'' :::*'''tiibil yex'''=''blood work'' :::*'''tiibil yontix'''=''hemanalysis'' :::*'''tiibil yuzpen'''=''blood circulation'' :::*'''tiibil zyiunog'''=''blood platelet'' :::*'''tiibil zyobil'''=''blood serum'' :::*'''tiibilaya'''=''bloody'' ::::*'''tiibilayan'''=''bloodiness'' :::*'''tiibilbal'''=''blood pressure'' :::*'''tiibilea'''=''bleeding, rare'' :::*'''tiibilef'''=''blood thirst'' ::::*'''tiibilefa'''=''bloodthirsty'' :::*'''tiibiler'''=''bleed'' :::*'''tiibilglal'''=''blood clot'' ::::*'''tiibilglalser'''=''coagulate, clot'' :::*'''tiibilier'''=''suck blood'' :::*'''tiibilika'''=''bloody, blood-filled'' ::::*'''tiibilikan'''=''bloodiness'' :::*'''tiibililp'''=''hemorrhage'' ::::*'''tiibililpen'''=''hemorrhaging'' ::::*'''tiibililper'''=''hemorrhage'' :::*'''tiibiliut'''=''vampire'' :::*'''tiibillevelbok'''=''diabetes'' ::::*'''tiibillevelboka'''=''diabetic'' ::::*'''tiibillevelbokat'''=''diabetic'' :::*'''tiibilnad'''=''blood line, bloodline, ancestry, heritage, ethnicity, lineage'' |valign=top| :::*'''tiibilok'''=''blood loss'' ::::*'''tiibilokea'''=''losing blood, bleeding, exsanguinating, hemorrhaging'' ::::*'''tiibiloken'''=''losing blood, bleeding, exsanguination, hemorrhaging'' ::::*'''tiibiloker'''=''lose blood, bleed out, exsanguinate, hemorrhage'' ::::*'''tiibilokxen'''=''bloodshed'' :::*'''tiibiloya'''=''bloodless'' :::*'''tiibilp'''=''bloodstream, blood flow'' :::*'''tiibiltumsyagar'''=''hemocytometer'' :::*'''tiibiltun'''=''hematology'' ::::*'''tiibiltuna'''=''hematological'' ::::*'''tiibiltunay'''=''hematologically'' ::::*'''tiibiltut'''=''hematologist'' :::*'''tiibiltyan'''=''race, bloodline'' ::::*'''tiibiltyana'''=''racial'' :::*'''tiibiluer'''=''bloody, get blood on, ensanguine, bleed'' :::*'''tiibiluf'''=''blood vessel'' ::::*'''tiibiluka'''=''bloodless'' :::*'''tiibilvoza'''=''blood-colored'' :::*'''tiibilvyun'''=''bloodstain'' ::::*'''tiibilvyunuen'''=''staining with blood'' ::::*'''tiibilvyunuer'''=''bloodstain'' ::::*'''tiibilvyunuwa'''=''bloodstained'' :::*'''tiibilyebilbixut'''=''bloodsucker, vampire'' :::*'''tiibilyova'''=''blood guilty'' :::*'''tiibilyujun'''=''clot, thrombus'' :::*'''amtiibila'''=''hot-blooded'' ::::*'''aymtiibila'''=''warm-blooded'' :::*'''ojwosa tiibil tum'''=''hematoblast'' :::*'''entiibilnada'''=''of dual ethnicity'' |valign=top| ::::*'''entiibilnadan'''=''person of dual ethnicity'' :::*'''gle tiibilea'''=''medium rare'' :::*'''grotiibila'''=''anemic'' ::::*'''grotiibilan'''=''anemia'' :::*'''gyatiibila'''=''thick-blooded'' :::*'''ifbuer tiibil'''=''give blood, donate blood'' :::*'''ilbuixer tiibil'''=''pump blood'' :::*'''ivoza tiibil tum'''=''red blood cell'' :::*'''ivoztiibila'''=''red-blooded'' :::*'''ivoztiibiltummul'''=''hemoglobin'' :::*'''maza tiibil tum'''=''white blood cell'' :::*'''neg bi tiibil level'''=''blood sugar level'' :::*'''oker tiibil'''=''lose blood'' :::*'''okxer tiibil'''=''shed blood, spill blood'' :::*'''omtiibila'''=''cold-blooded'' :::*'''tiibpos'''=''cardiac arrest'' :::*'''tiibtun'''=''cardiology'' ::::*'''tiibtuna'''=''cardiological'' ::::*'''tiibtunay'''=''cardiologically'' ::::*'''tiibtut'''=''cardiologist'' :::*'''tiibuf'''=''artery, blood vessel'' ::::*'''tiibufa yigsenbok'''=''arterial sclerosis, hardening of the arteries'' ::::*'''tiibufa'''=''arterial'' ::::*'''tiibufog'''=''arteriole'' ::::*'''tiibuyf'''=''capillary'' :::*'''tikyeba yazbwa zoytiibiluf bok'''=''hemorrhoids, piles, anal swollen vein disease'' :::*'''tebyeba tiibililp'''=''cerebral hemorrhage'' :::*'''yebilbixer tiibil'''=''suck blood'' :::*'''yebilier tiibil'''=''suction blood'' :::*'''yebzoytiibufa'''=''intravenous'' |valign=top| ::::*'''yebzoytiibufay'''=''intravenously'' :::*'''yeybtiiba'''=''intracardiac'' :::*'''yeybzoytiibufa'''=''intravenous'' :::*'''zoytiibuf'''=''vein'' ::::*'''zoytiibufa'''=''venous'' :::::*'''zoytiibufog'''=''venule, veinlet'' ::::*'''tayibtiibilufa'''=''neurovascular'' :::*'''tiib byexes'''=''heart beat, cardiac pulse'' :*'''tikib'''=''liver'' ::*'''tikiba'''=''hepatic'' ::*'''tikibbok'''=''hepatitis, liver disease'' ::*'''tikibil'''=''bile'' ::*'''tikibtun'''=''hepatology'' :::*'''tikibtuna'''=''hepatological'' :::*'''tikbtut'''=''hepatologist'' :*'''tiub'''=''belly'' ::*'''tiuba'''=''ventral'' ::*'''tiubboyk'''=''belly ache'' ::*'''tiubdalen'''=''ventriloquy'' ::*'''tiubdalut'''=''ventriloquist'' ::*'''zetiub'''=''belly button'' ::*'''zetiuba'''=''umbilical'' :::*'''zetiuba nyif'''=''umbilical cord'' ::*'''zetiubuz'''=''belly button ring'' ::*'''zotiub'''=''buttock, butt'' :*'''tiyob'''=''kidney'' ::*'''tiyoba'''=''renal'' ::*'''tiyobbok'''=''renitis, kidney disease'' ::*'''tiyobtun'''=''renology'' :::*'''tiyobtuna'''=''renological'' |valign=top| :::*'''tiyobtut'''=''renologist'' :*'''tikub'''=''pancreas'' ::*'''tikuba'''=''pancreatic'' ::*'''tikubbok'''=''pancreatitis'' :*'''tikyab'''=''large intestine'' :*'''tikyob'''=''small intestine'' :*'''tikyeb'''=''anus'' ::*'''tikyeba'''=''anal'' ::*'''tikyebub'''=''rectum'' :*'''tiyab'''=''bladder'' ::*'''tiyabil'''=''urine, piss, pee'' :::*'''tiyabiler'''=''urinate, piss, pee'' ::::*'''tiyabileger'''=''dribble'' ::::*'''tiyabilim'''=''pissoir'' ::::*'''tiyabilsom'''=''urinal'' ::::*'''tiyabilyeb'''=''bedpan'' ::::*'''sumtiyabilen'''=''bedwetting'' :*'''tiyeb'''=''prostate'' ::*'''tiyeba'''=''prostatic'' ::*'''tiyebbok'''=''prostatitis'' ::*'''tiyebil'''=''semen, cum, ejaculate'' :::*'''tiyebiler'''=''ejaculate, cum'' ::::*'''tijebilen'''=''ejaculation, cumming'' :::*'''tiyebiluer'''=''inseminate'' ::*'''tiyebob'''=''prostate gland'' :*'''tiyub'''=''penis, phallus'' ::*'''tiyuba'''=''penile, phallic'' ::*'''tiyubraxer'''=''masturbate'' :::*'''tiyubraxen'''=''masturbation'' ::*'''tiyubier'''=''fellate, suck'' |valign=top| :::*'''fiyubien'''=''fellatio, sucking'' :::*'''fiyubiut'''=''fellator, sucker'' ::*'''tiyubober'''=''castrate, geld'' :::*'''tiyuboben'''=''castration, gelding'' :::*'''tiyubobwa'''=''castrated, gelded'' ::::*'''tiyubobwat'''=''castrato'' ::*'''tiyubuz'''=''cock ring'' :*'''tiwuyb'''=''sexual organ'' ::*'''ebtiwuyber'''=''have sex, have coitus'' :::*'''ebtiwuyben'''=''having sex, coitus'' :::*'''ebtiwuyba'''=''sexual, coital'' ::::*'''ebtiwuyban'''=''sexuality'' ::::*'''ebtiwuybay'''=''sexually'' |} == The Arm == {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''tub'''=''arm, brace, limb, appendage'' ::*'''tuba'''=''brachial'' :::*'''antuba'''=''one-armed'' ::::*'''antubat'''=''one-armed person'' ::*'''patub'''=''wing, aileron, airfoil, pinion, fan'' :::*'''patubaser'''=''to flap, flutter'' ::::*'''patubasar'''=''flapper, valve'' :::*'''patubyuj'''=''flap, volet'' :::*'''patubzen'''=''hub'' ::*'''pitub'''=''fin'' ::*'''potub'''=''paw'' :::*'''potuber'''=''to paw'' ::::*'''potuben'''=''pawing'' ::*'''tostub'''=''antenna'' ::*'''tubaxer'''=''wave, flail,'' ::*'''tubsim'''=''armchair'' ::*'''tubyog'''=''stump, stub'' ::*'''tubyuzyuber'''=''fold one's arms'' ::*'''untuboka'''=''quadriplegic'' ::*'''uzyupatub'''=''screw wing, helical wing, chopper'' :::*'''uzyupatubur'''=''helicopter'' ::*'''yuztuber'''=''to embrace, hug'' ::*'''zyuptub'''=''turnstyle'' ::*'''tuab'''=''shoulder'' :::*'''eybtuabuz'''=''epaulet'' :::*'''tuabexer'''=''to shoulder (a difficulty)'' :::*'''tuabnef'''=''shoulder bag'' ::*'''tueb'''=''upper arm'' ::*'''tuib'''=''elbow'' :::*'''tuibaxer'''=''to nudge, elbow'' |valign=top| ::*'''tuub'''=''forearm'' ::*'''tuyob'''=''wrist'' :::*'''tuyobuz'''=''bracelet'' ::*'''tuyab'''=''hand'' :::*'''tuyaba'''=''manual'' :::*'''tuyabar'''=''handle'' ::*'''tuyabaxrer'''=''to wave'' ::*'''tuyabbek'''='' manicure'' :::*'''tuyabbekut'''=''manicurist'' ::*'''tuyabeler'''=''hand-carry, deliver'' :::*'''tuyabelar'''=''hand cart'' ::*'''tuyaber'''=''to handle'' ::*'''tuyabexer'''=''to manipulate'' ::*'''tuyabibiwa'''=''hand-picked'' ::*'''tuyabier'''=''to grab, take by the hand'' ::*'''tuyabilyeb'''=''flask'' ::*'''tuyabirer'''=''to grasp, clamp, grab, wrestle'' :::*'''tuyabirar'''=''clamp'' ::*'''tuyabuer'''=''deliver, present'' :::*'''tuyabuun'''=''hand-out, present, delivery'' ::*'''tuyabumof'''=''hand towel'' ::*'''tuyabumov'''=''napkin'' ::*'''tuyabyanxer'''=''join hands, shake hands, clasp hands'' :::*'''tuyabyanx'''=''handshake'' ::*'''tuyabyex'''=''fistful'' ::*'''tuyabyemog'''=''fob'' ::*'''tuyabyexer'''=''to clap, applaud'' :::*'''tuyabyex'''=''clap, applause'' ::*'''tuyabzyun'''=''handball'' ::*'''tuyaxer'''=''wave'' |valign=top| :::*'''futuyaxer'''=''mishandle'' :::*'''zuituyaxer'''=''wave with the hand'' :::*'''haytuyaxer'''=''wave hi'' :::*'''hoytuyaxer'''=''wave goodbye'' ::*'''zituyab'''=''right hand'' :::*'''zituyaba'''=''right-handed'' ::*'''zutuyab'''=''left hand'' :::*'''zutuyaba'''=''left-handed'' ::*'''zuituyaba'''=''ambidextrous'' ::*'''tuyeb'''=''fist'' :::*'''tuyebaxrer'''=''shake one's fist'' :::*'''tuyebovek'''=''fist fight, boxing match'' ::::*'''tuyeboveker'''=''to fist fight, to box'' ::::*'''tuyebovekut'''=''boxer, fist fighter'' :::*'''tuyebyujer'''=''clench one's fist'' ::*'''tuyib'''=''palm'' :::*'''tuyibabaxer'''=''pat, caress'' :::*'''tuyibaber'''=''lay hands on, palm'' :::*'''tuyibier'''=''palm (money)'' :::*'''tuyibuer'''=''palm off'' ::*'''tuyub'''=''finger'' :::*'''atuyub'''=''thumb'' ::::*'''atuyubek zyun'''=''marble'' ::::*'''atuyufuv'''=''thumb tack'' :::*'''etuyub'''=''index finger'' ::::*'''etuyubizer'''=''to point, to indicate'' :::*'''iftuyuxer'''=''to tickle'' :::*'''ituyub'''=''middle finger'' ::::*'''ituyuber'''=''give the middle finger'' :::*'''potuyub'''=''claw'' ::::*'''potuyuxer'''=''to claw'' |valign=top| :::*'''tuyub milyeb'''=''finger bowl'' :::*'''tuyub tel'''=''finger food'' :::*'''tuyuba'''=''digital'' :::*'''tuyubalab'''=''knuckle, finger joint'' :::*'''tuyubaxer'''=''to finger, fiddle'' :::*'''tuyubaxrer'''=''to wag one's finger'' :::*'''tuyubifxer'''=''to tickle'' :::*'''tuyubiga'''=''nimble-fingered'' ::::*'''tuyubigek'''=''prestidigitation, magic'' :::::*'''tuyubigekut'''=''magician, prestidigitator'' :::*'''tuyubizder'''=''point out, indicate'' ::::*'''tuyubizdyea'''=''indicative'' :::*'''tuyubuz'''=''ring'' :::*'''tuyubyexer'''=''to rap'' :::*'''tuyubyig'''=''corn'' :::*'''tuyugiber'''=''to poke'' :::*'''tuyuxer'''=''to palpate, finger, feel, poke'' ::::*'''tuyuxyafwa'''=''palpable'' ::*'''utuyub'''=''ring finger'' ::*'''yotuyub'''=''pinkie'' ::*'''tulob'''=''fingernail'' :::*'''tulob goyblar'''=''nail clipper'' :::*'''tulob yugfar'''=''nail file'' :::*'''tulobar'''=''manicure device, nail cutter'' ::::*'''tulobaryan'''=''manicure set'' :::*'''tuloxer'''=''to scratch, scrape, claw'' ::::*'''tuloxun'''=''scratch, scrape'' :::*'''tuloxefer'''=''to itch'' ::::*'''tuloxefbok'''=''pruritis'' ::::*'''tuloxefwa'''=''itchy'' |valign=top| ::::*'''tuloxefxer'''=''to irritate, make itch'' :::*'''tuloxeger'''=''to tickle'' ::::*'''tuloxegar'''=''tickler'' ::::*'''tuloxegyukwa'''=''ticklish'' :::*'''patulob'''=''claw, gripper'' ::::*'''patulober'''=''to grip'' ::::*'''patuloxer'''=''to claw'' |} == The Leg == {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''tyob'''=''leg'' ::*'''antyoba'''=''one-legged'' :::*'''antyobat'''=''one-legged person'' ::*'''intyoba'''=''four-legged'' :::*'''intyobat'''=''four-legged creature'' ::*'''tyoper'''=''to walk, amble'' :::*'''tyopyen'''=''stride, gait'' :::*'''tyopyafa'''=''ambulatory'' :::*'''tyoput'''=''pedestrian'' :::*'''tyopem'''=''walkway'' :::*'''tyopar'''=''walker'' :::*'''entyoper'''=''walk on two legs'' :::*'''entyoba'''=''bipedal'' :::*'''intyoper'''=''go on all fours, crawl'' ::*'''tyobaper'''=''to straddle, stride'' ::*'''epiyetyob'''=''frog leg'' ::*'''lapiityob'''=''crab leg'' ::*'''yapetyob'''=''ham'' ::*'''zatyob'''=''foreleg'' ::*'''tyoab'''=''hip'' :::*'''tyoab yanar'''=''hip joint'' :::*'''tyoab taib'''=''hip bone'' ::*'''tyoeb'''=''thigh'' ::*'''tyoib'''=''knee'' :::*'''tyoib yanar'''=''knee joint'' :::*'''tyoibalab'''=''knee cap'' :::*'''tyoiber'''=''to kneel, genuflect'' ::::*'''tyoibsom'''=''kneeler'' :::*'''tyoiper'''=''to crawl on one's knees'' :::*'''zotyoib'''=''calf'' |valign=top| ::*'''tyoub'''=''calf'' ::*'''tyoyob'''=''ankle'' :::*'''tyoyoba'''=''plantar'' :::*'''tyoyobaler'''=''to trample'' :::*'''tyoyobarer'''=''to stomp, squash'' :::*'''tyoyober'''=''to supplant, tread'' ::*'''tyoyab'''=''foot'' :::*'''tyoyab abaxlun'''=''foot massage'' :::*'''tyoyab eysim'''=''footstool'' :::*'''tyoyab poyxar'''=''foot rest'' :::*'''tyoyaba'''=''foot-related'' :::*'''tyoyabar'''=''pedal, treadle'' :::*'''tyoyabarer'''=''to stomp, trample, tread'' :::*'''tyoyabbek'''=''pedicure'' :::*'''tyoyabbektun'''=''podiatry'' :::*'''tyoyabbektuna'''=''podiatric'' :::*'''tyoyabbektut'''=''podiatrist, foot specialist'' :::*'''tyoyabex'''=''foothold'' :::*'''tyoyabuzun'''=''stirrup, foot loop'' :::*'''tyoyabyex dazen'''=''kick-dancing'' :::*'''tyoyabyex'''=''kick'' :::*'''tyoyabyexen'''=''kicking'' :::*'''tyoyabyexer'''=''to kick'' :::*'''tyoyabyexun'''=''kick'' :::*'''tyoyabyexwa'''=''kicked'' :::*'''tyoyabzyun'''=''football, soccer ball'' ::::*'''tyoyabzyun ekun'''=''game of football, football match, soccer match'' :::*'''tyoyabzyun ekut'''=''football player, soccer player'' ::::*'''tyoyabzyun ifekam'''=''football arena, soccer arena'' ::::*'''tyoyabzyun ifekem'''=''football field, soccer field'' |valign=top| :::*'''tyoyap'''=''step, walk, pace'' ::::*'''tyoyapnagar'''=''pedometer'' ::::*'''tyoyapar'''=''walker'' ::::*'''tyoyapea'''=''ambulatory, walking'' ::::*'''tyoyapem'''=''walkway'' ::::*'''tyoyapen zyuv'''=''walking stick, cane'' ::::*'''tyoyapen'''=''walking'' ::::*'''tyoyaper'''=''to walk, go by foot, go on foot'' ::::*'''tyoyaput'''=''pedestrian'' ::::*'''tyoyaputa gonem'''=''pedestrian zone'' ::::*'''tyoyaputa'''=''pedestrian'' ::::*'''tyoyapyafa'''=''ambulatory, able to walk'' ::::*'''tyoyapyafwa'''=''walkable'' :::*'''tyoyapyex'''=''kick'' ::::*'''tyoyapyexen'''=''kicking'' ::::*'''tyoyapyexer'''=''to kick'' ::::*'''tyoyapyexut'''=''kicker'' ::::*'''tyoyapyexwa'''=''kicked'' :::*'''tyoyapyofa'''=''unable to walk, crippled, non-ambulatory, lame'' ::::*'''tyoyapyofwa'''=''impossible to walk, unwalkable'' ::::*'''tyoyapyofxea'''=''crippling'' ::::*'''tyoyapyofxer'''=''to cripple'' ::::*'''tyoyapyofxwa'''=''crippled, disabled, lame'' :::*'''tyoyapyuker'''=''to limp, hobble, have a hard time walking, stumble'' ::::*'''tyoyapyuken'''=''limping, hobbling, stumbling'' :::*'''abektun bi tyoyab'''=''foot surgery'' :::*'''apetyoyab'''=''hoof'' ::::*'''apetyoyapen'''=''trotting'' ::::*'''apetyoyaper'''=''to gallop, trot, walk like a horse'' :::*'''be tyoyab'''=''on foot, standing'' |valign=top| :::*'''bey tyoyab'''=''on foot'' :::*'''daztyoyaper'''=''to promenade'' :::*'''elyatyoyab'''=''cobbler's last'' :::*'''entyoyaba'''=''biped, bipedal'' ::::*'''entyoyabat'''=''biped'' :::*'''ibtyoyapyexer'''=''to kick away'' :::*'''iftyoyap'''=''stroll, pleasure walk, promenade'' ::::*'''iftyoyapar'''=''stroller'' ::::*'''iftyoyapen'''=''strolling, jaunting, promenading'' ::::*'''iftyoyaper'''=''to stroll, jaunt, promenade'' ::::*'''iftyoyapien'''=''taking a stroll, going for a jaunt'' ::::*'''iftyoyapier'''=''to take a stroll, go for a jaunt'' ::::*'''iftyoyapuen'''=''taking for a stroll, walking'' ::::*'''iftyoyapuer'''=''to take for a stroll, walk'' ::::*'''iftyoyaput'''=''stroller'' :::*'''igtyoyapek'''=''race, foot race'' ::::*'''igtyoyapek nead'''=''race track'' ::::*'''igtyoyapeker'''=''to race, race on foot'' ::::*'''igtyoyapekut'''=''racer'' :::*'''igtyoyaper'''=''to run, jog, rush, race, walk at a fast clip'' ::::*'''igtyoyapem'''=''running path, course, race course, running track'' ::::*'''igtyoyaput'''=''runner, racer, jogger'' :::*'''ivtyoyapen'''=''prancing'' :::*'''ivtyoyaper'''=''to prance'' ::::*'''ivtyoyaput'''=''prancer'' :::*'''iztyoyaba zetif'''=''orthopedic corset'' :::*'''iztyoyaper'''=''to walk straight'' :::*'''kuityoyaper'''=''to walk with a limp, hobble'' ::::*'''kuityoyapea'''=''walking with a limp, hobbling'' ::::*'''kuityoyapen'''=''walking with a limp, hobbling'' |valign=top| :::*'''kutyoyaper'''=''to step aside'' ::::*'''kuityoyaput'''=''hobbler'' :::*'''kutyoyapyexer'''=''to kick aside'' :::*'''kyetyoyaper'''=''to meander, stroll about, walk aimlessly'' :::*'''mebtyoyaper'''=''to hike, mountaineer'' ::::*'''mebtyoyapen'''=''mountaineering, mountain hiking'' ::::*'''mebtyoyaput'''=''mountaineer, mountain hiker'' :::*'''momtyoyap'''=''space walk'' :::*'''naptyoyap'''=''march'' ::::*'''ovdal naptyoyap'''=''protest march'' :::*'''oyebtyoyapyexer'''=''to kick out'' ::::*'''oyebtyoyapyexen'''=''kicking out'' ::::*'''oyebtyoyapyexwa'''=''kicked out'' :::*'''teaxtyoyaper'''=''to strut, sashay'' :::*'''tobot tyoyapas'''=''baby step'' :::*'''tujtyoyaper'''=''to sleepwalk, somnambulate, noctambulate'' ::::*'''tujtyoyapea'''=''noctambulist, somnambulant, sleepwalking'' ::::*'''tujtyoyapen'''=''sleepwalking, somnambulation, noctambulism'' ::::*'''tujtyoyaput'''=''somnambulist, sleepwalker, noctambulist'' :::*'''ugtyoyaper'''=''to amble, saunter, walk slowly'' ::::*'''ugtyoyapen'''=''ambling, sautering, walking slowly'' ::::*'''ugtyoyaput'''=''ambler, saunterer, slow walker'' :::*'''untyoyaba'''=''quadruped'' ::::*'''untyoyabat'''=''quadruped'' :::*'''vidaz tyoyapas'''=''ballet step'' :::*'''vyotyoyaper'''=''to stumble, trip'' ::::*'''vyotyoyapen'''=''stumbling, tripping'' :::*'''xer iftyoyap'''=''take a walk'' :::*'''yagtyoyap'''=''hike, stride'' ::::*'''yagtyoyap tyoyafi'''=''hiking boots'' |valign=top| ::::*'''yagtyoyapen'''=''hiking, striding'' ::::*'''yagtyoyaper'''=''to hike, stride'' ::::*'''yagtyoyaput'''=''hiker'' :::*'''yantyoyaper'''=''to walk alongside, walk together'' ::::*'''yantyoyaput'''=''walking companion'' :::*'''yapetyoyab'''=''pig's foot'' :::*'''yepetiftyoyapuut'''=''dog-walker'' :::*'''yibtyoyaper'''=''to hike'' ::::*'''yibtyoyapen'''=''hiking'' ::::*'''yibtyoyaput'''=''hiker'' :::*'''yogigtyoyaper'''=''to sprint, dash'' :::*'''zatyoyab'''=''forehoof'' :::*'''zaytyoyaper'''=''to step forward, walk ahead'' :::*'''zyatyoyaper'''=''to perambulate, walk around, promenade, hike'' ::::*'''zyatyoyapen'''=''perambulation, walking around, promenading, hiking'' ::::*'''zyatyoyaput'''=''hiker, promenader'' <hr> ::*'''tyoyeb'''=''heel'' :::*'''tyoyeber'''=''to spurn'' :::*'''tyoyebaser'''=''to squat'' <hr> ::*'''tyoyib'''=''ankle'' :::*'''tyoyib yuvar'''=''ankle bracelet'' <hr> ::*'''tyoyub'''=''toe'' :::*'''tyoyubalab'''=''knuckle of the toe, toe joint'' :::*'''tyoyubuker'''=''to stub one's toe'' :::*'''tyoyudazer'''=''to tap dance'' :::*'''tyoyuper'''=''to tiptoe'' :::*'''tyoyubaxeger'''=''to wiggle one's toe'' <hr> ::*'''tyolob'''=''toenail'' :::*'''tyolob goyblar'''=''toenail clipper'' |} == Bodily Fluids == {| class="wikitable" style="font-size:smaller;" |+ Bodily Fluids and Gases |- ! FLUID OR GAS !! BODY PART |- | '''tab'''=''body''|| '''tabil'''=''humor'' |- | '''tayab'''=''fat''||'''tayal'''=''oil'' |- | '''tayob'''=''skin''||'''tayobil'''=''perspiration, sweat'' |- | '''teab'''=''eye'' || '''teabil'''=''tear'' |- | '''teib'''=''nose'' || '''teibil'''=''mucus, snot'' |- | '''teub'''=''mouth'' || '''teubil'''=''saliva, spit'' |- | '''tieb'''=''lung'' || '''tiebal'''=''breath'' |- | '''tieb'''=''lung'' || '''tiebil'''=''phlegm'' |- | '''tiib'''=''heart'' || '''tiibil'''=''blood'' |- | '''tikib'''=''liver'' || '''tikibil'''=''bile'' |- | '''tikyeb'''=''anus'' || '''tikyebal'''=''fart, flatulence'' |- | '''tikyeb'''=''anus'' || '''tikyebil'''=''feces, shit, dung'' |- | '''tikyob'''=''bowels'' || '''tikyobil'''=''chyle'' |- | '''tiyab'''=''bladder'' || '''tiyabil'''=''urine, piss, pee'' |- | '''tiyeb'''=''testes'' || '''tiyebil'''=''semen, cum, ejaculate'' |- | '''tiyub'''=''penis'' || '''tiyubil'''=''pre-cum'' |- | '''tiyuyb'''=''vagina'' || '''tiyuybil'''=''vaginal fluid, menstrual fluid'' |} == The Soul == {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''top'''=''psyche, soul, spirit'' ::*'''topa'''=''psychic, spiritual'' :::*'''topan'''=''spirituallity'' :::*'''topot'''=''spirit, ghost, sprite, phantom'' ::::*'''fyatopot'''=''holy ghost, holy spirit'' ::::*'''fyotopot'''=''demon'' ::::*'''fitopot'''=''fairy'' ::::*'''futopot'''=''goblin'' ::::*'''topotyena'''=''ghostly'' ::*'''topbak'''=''psychic health, spiritual health'' :::*'''topbaka'''=''psychically sound'' :::*'''topboka'''=''psychically unsound'' ::*'''topdet'''=''soul mate'' ::*'''yivtopat'''=''free spirit'' |valign=top| ::*'''topaga'''=''magnanimous'' :::*'''topagan'''=''magnanimity'' ::*'''dotop'''=''ethos'' :::*'''dotopa'''=''ethical'' :::*'''dotoptun'''=''ethics'' ::*'''fitopa'''=''good-hearted'' :::*'''fitopan'''=''good-heartedness'' ::*'''toptun'''=''psychology'' :::*'''toptuna'''=''psychological'' :::*'''toptut'''=''psychologist'' ::*'''toponapa'''=''insane'' :::*'''toponapan'''=''insanity'' :::*'''toponapat'''=''insane person'' :::*'''toponapatam'''=''insane asylum'' :::*'''toponapser'''=''go insane'' |} == The Physique == {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''tap'''=''physique'' ::*'''tapa'''=''physical'' :::*'''tapan'''=''physicality'' :::*'''tapay'''=''physically'' ::*'''taptun'''=''physiology'' ::*'''taptuna'''=''physiological'' ::*'''taptut'''=''physiologist'' ::*'''tapaza'''=''hardy'' :::*'''tapazan'''=''hardiness'' ::*'''tapazon'''=''physical force'' ::*'''tapxer'''=''exercise'' :::*'''tapxeram'''=''gymnasium'' :::*'''tapxeren'''=''gymnastics, working out'' :::*'''tapxerer'''=''work out, exercise'' :::*'''tapxerut'''=''gymnast'' ::*'''tapiflan'''=''physical desire, lust, eros'' :::*'''tapiflana'''=''erotic, sexual'' :::*'''tapiflanaya'''=''lustful, voluptuous, horny'' :::*'''tapiflanier'''=''lust after'' :::*'''tapiflanuer'''=''make horny'' :::*'''tapiflanxer'''=''eroticize'' ::::*'''tapiflanxen'''=''eroticization'' ::::*'''tapflanxwa'''=''eroticized'' :::*'''uttapifla'''=''auto-erotic'' ::::*'''uttapiflen'''=''auto-eroticism'' ::*'''tapifek'''=''sports'' :::*'''tapifeka'''=''sports-related'' :::*'''tapifek detyan'''=''sports association'' |valign=top| :::*'''tapifekut'''=''sports player'' ::::*'''tapifekutyan'''=''sports team'' :::*'''tapifekam'''=''sports stadium, sports arena'' :::*'''tapifekem'''=''sports field'' :::*'''tapifeker'''=''play sports'' :::*'''tapifekim'''=''locker room'' :::*'''tapifekun'''=''sports match'' :::*'''tapifekutyen'''=''sportsmanship'' :::*'''tapifekyena'''=''sportive, sporty'' ::*'''tapiga'''=''vivacious'' :::*'''tapigan'''=''vivaciousness'' ::*'''tapoza'''=''physically weak, feeble'' :::*'''tapozan'''=''feebleness'' ::*'''tapuga'''=''lethargic'' :::*'''tapugan'''=''lethargy'' ::*'''tapyen'''=''stance, posture'' ::*'''tapyof'''=''physical disability, handicap'' :::*'''tapyofa'''=''handicapped'' ::*'''teptapa'''=''psychophysical'' ::*'''yiztapa'''=''metaphysical'' :::*'''yiztaptun'''=''metaphysics'' ::*'''vitapa'''=''hunky, well-toned'' :::*'''vitapat'''=''hunk'' |} == The Mind == {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''tep'''=''mind'' ::*'''tepa'''=''mental'' :::*'''tepa bok'''=''mental illness'' :::*'''tepa lozepan'''=''mental instability'' :::*'''tepa zepan'''=''mental stability'' :::*'''tepa'''=''mental, intellectual'' ::*'''tepaga'''=''broad-minded'' :::*'''tepagan'''=''broad-mindedness'' :::*'''tepagat'''=''broad-minded person'' :::*'''tepagra'''=''genius'' :::*'''tepagrat'''=''genius'' ::*'''tepanayga'''=''simple-minded, naïve'' :::*'''tepanaygan'''=''simple-mindedness, naïvete'' :::*'''tepanaygat'''=''simpleton, naif'' :::*'''tepanaygay'''=''simple-mindedly, naïvely'' ::*'''tepat'''=''parakeet'' ::*'''tepava'''=''favorable, favorably disposed, pro'' ::*'''tepay'''=''mentally, intellectually'' :::*'''tepay baka'''=''mentally sound'' :::*'''tepay boka'''=''mentally ill'' :::*'''tepay lozepa'''=''mentally unstable'' :::*'''tepay zepa'''=''mentally stable'' ::*'''tepaza'''=''intelligent, smart, mentally strong, keen, intellectually strong, clever'' :::*'''tepazan'''=''smartness, intelligence, keenness, intellectual strength, cleverness'' :::*'''tepazat'''=''intelligent person, clever person'' :::*'''tepazay'''=''intelligently, smartly, keenly, cleverly'' :::*'''tepazon'''=''mental power, intellect, mental faculty'' ::*'''tepbak'''=''mental health, sanity'' :::*'''tepbaka'''=''sane, mentally sound, of sound mind'' :::*'''tepbakam'''=''mental health facility'' :::*'''tepbakam'''=''mental institution'' |valign=top| :::*'''tepbakan'''=''sanity, mental soundness'' :::*'''tepbakat'''=''sane person, mentally sound person'' :::*'''tepbakay'''=''sanely'' :::*'''tepbakem'''=''mental health ward'' :::*'''tepbaktun'''=''mental health science'' :::*'''tepbaktut'''=''mental health scientist'' ::*'''tepbek'''=''psychiatry, psychiatric care, psychiatric treatment'' ::*'''tepbeka'''=''psychiatric'' :::*'''tepbekam'''=''psychiatric hospital, psychiatric clinic'' :::*'''tepbekem'''=''mental ward, psych ward'' :::*'''tepbektultun'''=''psychopharmacology'' :::*'''tepbektultuna'''=''psychopharmacological'' :::*'''tepbektultut'''=''psychopharmacologist'' :::*'''tepbektun'''=''psychiatry'' :::*'''tepbektuna'''=''psychiatric'' :::*'''tepbektunay'''=''psychiatrically'' :::*'''tepbektut'''=''psychiatrist'' :::*'''tepbekwat'''=''mental patient, psychiatric patient'' ::*'''tepbik'''=''attention, heed'' :::*'''tepbikea'''=''caring, concerned'' :::*'''tepbikea'''=''paying attention, mindful'' :::*'''tepbikeat'''=''concerned person'' :::*'''tepbiken'''=''paying attention, being mindful, heeding'' :::*'''tepbiker'''=''care, be concerned, worry'' :::*'''tepbiker'''=''pay attention, be mindful, heed'' :::*'''tepbikier'''=''become mindful of, heed, pay attention'' :::*'''tepbikier'''=''become worried, become concerned'' :::*'''tepbikoya'''=''unconcerned, not worried, carefree'' :::*'''tepbikuea'''=''worrisome, concerning'' :::*'''tepbikuen'''=''bring attention to, draw attention to'' |valign=top| :::*'''tepbikuer'''=''bring attention to, draw attention'' :::*'''tepbikuer'''=''worry, concern, give cause for concern'' :::*'''tepbikuwa'''=''worried, concerned'' ::*'''tepbier'''=''consider, bear in mind'' :::*'''tepbiwa'''=''considered, borne in mind'' ::*'''tepbix'''=''interest, mental engagement, attention'' :::*'''tepbixea'''=''interesting, mentally captivating, attention-grabbing'' :::*'''tepbixer'''=''interest, mentally attract, grab attention'' :::*'''tepbixun'''=''thing of interest, something of interest'' :::*'''tepbixwa'''=''interested, mentally captivated'' :::*'''tepbixwer'''=''be interested, be mentally engaged'' ::*'''tepbok'''=''mental illness, insanity, psychopathy, psychosis'' :::*'''tepboka'''=''insane, mentally ill, crazy, psychopathic'' :::*'''tepbokam'''=''mental hospital, mental institution, sanatorium'' :::*'''tepbokan'''=''insanity, mental illness, craziness, madness'' :::*'''tepbokat'''=''mentally ill person, insane person, crazy person, psychopath'' :::*'''tepbokay'''=''insanely'' :::*'''tepboksea'''=''becoming mentally ill, going insane'' :::*'''tepbokser'''=''become mentally ill, go insane, go crazy, go mad'' :::*'''tepboktun'''=''psychopathology'' :::*'''tepboktuna'''=''psychopathological'' :::*'''tepboktut'''=''psychopathologist'' :::*'''tepbokxer'''=''make crazy, drive insane, cause to be mentally ill'' :::*'''tepbokxwa'''=''driven insane, driven mad'' ::*'''tepbos'''=''calmness of mind, serenity, peace of mind'' :::*'''tepboser'''=''be unconcerned'' :::*'''tepbosien'''=''calming down'' :::*'''tepbosier'''=''calm down'' :::*'''tepbosuer'''=''calm down'' :::*'''tepbosuyea'''=''calming'' |valign=top| :::*'''tepboxen'''=''calming down'' :::*'''tepboxer'''=''calm down, put at ease, placate'' :::*'''tepboxwa'''=''calmed, reassured, placated'' ::*'''tepbyek'''=''psychotherapy'' :::*'''tepbyeka'''=''psychotherapeutic'' :::*'''tepbyekut'''=''psychotherapist, shrink'' ::*'''tepdin'''=''dream'' :::*'''tepdinen'''=''dreaming'' :::*'''tepdiner'''=''dream'' :::*'''tepdinut'''=''dreamer'' :::*'''tepdinwa'''=''dreamed'' :::*'''tepdinyena'''=''dreamy, dream-like'' ::*'''tepdota'''=''psychosocial'' :::*'''tepdottun'''=''psychosociology'' :::*'''tepdottuna'''=''psychosociological'' :::*'''tepdottut'''=''psychosociologist'' ::*'''tepdyeen'''=''mind-reading, divination'' :::*'''tepdyeer'''=''read minds'' :::*'''tepdyeut'''=''mind-reader'' ::*'''tepeaz'''=''vision, dream'' :::*'''tepeazen'''=''envisioning, dreaming'' :::*'''tepeazer'''=''envision, dream'' :::*'''tepeazut'''=''visionary, dreamer'' :::*'''tepeazwa'''=''envisioned, dreamed'' ::*'''tepebtiyaba'''=''psychosexual'' ::*'''tepega'''=''mentally normal, sane'' :::*'''tepegan'''=''mental normality'' ::*'''tepeja'''=''mentally present, aware'' :::*'''tepejan'''=''presence of mind, awareness'' ::*'''tepek'''=''puzzle, enigma, mind-game, mind game'' |valign| :::*'''tepekaya'''=''enigmatic, puzzling'' :::*'''tepekuer'''=''puzzle'' :::*'''tepekuyea'''=''puzzling'' ::*'''tepeladen'''=''chirping'' :::*'''tepelader'''=''chirp'' :::*'''tepelat'''=''cricket'' :::*'''tepelat'''=''cricket'' ::*'''tepex'''=''cognition, functioning of the mind, mental operation'' :::*'''tepexa'''=''cognitive'' :::*'''tepexen'''=''cognition'' ::*'''tepfen'''=''pretense'' :::*'''tepfer'''=''pretend'' :::*'''tepfut'''=''pretender'' :::*'''tepfwa'''=''pretended'' :::*'''tepfyea'''=''pretentious'' :::*'''tepfyean'''=''pretentiousness'' ::*'''tepiboya'''=''toothless'' :::*'''tepiboyan'''=''toothlessness'' ::*'''tepien'''=''consideration'' :::*'''tepier'''=''consider, take into account, keep in mind, bear in mind'' :::*'''tepiyea'''=''considerate, mindful'' ::*'''tepiga'''=''alert, smart, quick-minded, quick-witted, witty, quick-on-the-draw, sharp-witted, clever'' :::*'''tepigan'''=''alertness, quick-wittedness, wittiness, sharp-wittedness, smartness, cleverness'' :::*'''tepigat'''=''wit, smart fellow, clever person'' :::*'''tepigay'''=''quick-mindedly, quick-wittedly, wittily, smartly, cleverly'' ::*'''tepika'''=''mindful'' :::*'''tepikan'''=''mindfulness'' :::*'''tepikay'''=''mindfully'' |valign=top| ::*'''tepiva'''=''cheerful'' :::*'''tepivan'''=''cheerfulness'' :::*'''tepivat'''=''cheerful person'' :::*'''tepivxer'''=''cheer up'' ::*'''tepiza'''=''focused, attentive, sharp, logical'' :::*'''tepizan'''=''straight-mindedness, logicalness, logic'' :::*'''tepizat'''=''focused person, sharp person, logical person'' :::*'''tepizber'''=''pay attention, focus the mind, steer the mind'' :::*'''tepizbwa'''=''focused, attentive'' :::*'''tepizbyea'''=''attentive, mentally focused'' :::*'''tepizien'''=''attention'' :::*'''tepizier'''=''pay attention, focus one's mind on'' :::*'''tepiziyea'''=''attentive'' ::*'''tepizra'''=''sane'' :::*'''tepizran'''=''sanity'' :::*'''tepizraser'''=''regain one's sanity'' :::*'''tepizrat'''=''sane person'' :::*'''tepizraxer'''=''bring sanity to'' :::*'''tepizray'''=''sanely'' ::*'''tepizuen'''=''focusing, drawing attention'' :::*'''tepizuer'''=''focus attention, draw attention'' :::*'''tepizuyea'''=''attention-focusing, attention-getting'' :::*'''tepizuyean'''=''attentiveness'' ::*'''tepkexea'''=''interested, curious'' :::*'''tepkexean'''=''interest, curiosity'' :::*'''tepkexer'''=''be interested in, be curious about'' :::*'''tepkexuer'''=''interest'' :::*'''tepkexuwa'''=''interested'' :::*'''tepkexuyea'''=''interesting'' ::*'''tepkuxea'''=''distracting'' |valign=top| :::*'''tepkuxen'''=''distraction'' :::*'''tepkuxer'''=''distract'' :::*'''tepkuxwa'''=''distracted'' ::*'''tepkyaxen'''=''proselytizing, conversion, proselytization'' :::*'''tepkyaxena'''=''motivational'' :::*'''tepkyaxenay'''=''motivationally'' :::*'''tepkyaxer'''=''convert, proselytize, motivate, persuade, change minds'' :::*'''tepkyaxut'''=''converter, proselytizer'' :::*'''tepkyaxwa'''=''motivated, persuaded, proselytized, converted'' :::*'''tepkyaxwat'''=''convert, proselyte'' :::*'''tepkyaxyea'''=''motivating, persuasive'' :::*'''tepkyaxyuka'''=''easily-convertible, easily proselytizable, gullible'' ::*'''tepkyiun'''=''weight on one's mind, worry'' ::*'''tepkyiunier'''=''worry'' :::*'''tepkyiunuer'''=''worry'' :::*'''tepkyiunuwa'''=''worried'' :::*'''tepkyiunuyea'''=''worrisome'' ::*'''tepkyoa'''=''attentive, mentally fixed'' :::*'''tepkyoan'''=''attentiveness'' :::*'''tepkyoay'''=''attentively'' :::*'''tepkyox'''=''fixation, attention, mental focus'' :::*'''tepkyoxea'''=''obsessive'' :::*'''tepkyoxean'''=''obsessiveness'' :::*'''tepkyoxen'''=''fixation, paying attention to, focusing, obsession'' :::*'''tepkyoxer'''=''fixate, pay attention to, focus on, obsess'' :::*'''tepkyoxwa'''=''fixated, focused'' :::*'''tepkyoxwer'''=''be obsessed'' :::*'''tepkyoxyea'''=''attentive'' :::*'''tepkyoxyean'''=''obsessiveness'' ::*'''tepmanxen'''=''clearing up, clarification'' |valign=top| ::*'''tepmanxena'''=''clarificational'' :::*'''tepmanxer'''=''clear up, clarify'' :::*'''tepmanxwa'''=''cleared up, clarified'' ::*'''tepnaga'''=''psychometric'' :::*'''tepnagdren'''=''psychometrics'' ::*'''tepobos'''=''anxiety, worry, concern'' :::*'''tepoboser'''=''become concerned, grow anxious, worry, be concerned, care, be ill at ease'' :::*'''tepoboxea'''=''disturbing, concerning, worrisome, bothersome'' :::*'''tepoboxer'''=''worry, bother, concern, disturb'' :::*'''tepoboxwa'''=''worried, bothered, concerned, anxious, disturbed'' :::*'''tepoboxyea'''=''worrisome, bothersome, concerning, disturbing'' ::*'''tepoga'''=''petty, small-minded, mean, silly, narrow-minded'' :::*'''tepogan'''=''pettiness, small-mindedness, meanness, silliness, narrow-mindedness'' :::*'''tepogat'''=''silly person, narrow-minded person, petty person'' :::*'''tepogay'''=''pettily, small-mindedly, meanly'' ::*'''tepoiza'''=''not right in the mind, mentally off, insane'' :::*'''tepoizan'''=''mental aberration, insanity'' ::*'''tepoka'''=''out of one's mind, crazy'' :::*'''tepokat'''=''one who's lost his mind, crazy person'' ::*'''tepolega'''=''mentally abnormal, mentally aberrant, insane, weird'' :::*'''tepolegan'''=''mental abnormality, mental aberration, insanity, weirdness'' :::*'''tepolegsea'''=''going insane, becoming weird'' :::*'''tepolegser'''=''go insane, become weird'' :::*'''tepolegxen'''=''making insane'' :::*'''tepolegxer'''=''make insane'' :::*'''tepolegxwa'''=''make insane'' ::*'''teponap'''=''mental disorder'' :::*'''teponapa'''=''mentally deranged, mentally disordered, crazy, deranged, psychotic'' :::*'''teponapan'''=''mental disturbance, craziness'' :::*'''teponapat'''=''crazy person, deranged person'' |valign=top| :::*'''teponapay'''=''psychotically'' :::*'''teponapsea'''=''going crazy, become mentally disturbed'' :::*'''teponapser'''=''become mentally disturbed, go crazy'' :::*'''teponapxen'''=''making crazy, mental disturbance'' :::*'''teponapxer'''=''make crazy, drive mad'' :::*'''teponapxwa'''=''mentally disturbed, deranged'' :::*'''teponapxwat'''=''mentally disturbed person, nutcase'' ::*'''tepoos'''=''peace of mind, relief'' ::*'''tepooser'''=''be calm, be relieved, calm down'' :::*'''tepooxer'''=''calm down, give peace of mind'' :::*'''tepooxwa'''=''relieved'' ::*'''tepova'''=''unfavorable, contrarian, con'' :::*'''tepovan'''=''contrarianism'' :::*'''tepovat'''=''contrarian person'' ::*'''tepoyza'''=''silly, foolish'' :::*'''tepoyzan'''=''silliness, foolishness'' :::*'''tepoyzat'''=''silly person, fool'' ::*'''tepoza'''=''dumb, stupid, of weak intelligence, mentally weak, feeble-minded, dull-witted'' :::*'''tepozan'''=''dumbness, stupidity, weak intelligence, feeble-mindedness, dull-wittedness'' :::*'''tepozat'''=''dummy, dumb person, feeble-minded person, dullard'' :::*'''tepozeta'''=''insane'' :::*'''tepozetam'''=''insane asylum'' :::*'''tepozetan'''=''insanity'' :::*'''tepozetaser'''=''go insane'' :::*'''tepozetat'''=''insane person'' :::*'''tepozetaxer'''=''drive insane'' :::*'''tepozetaxwa'''=''driven insane'' ::*'''tepozta'''=''bored'' :::*'''tepoztan'''=''boredom'' :::*'''tepoztaxea'''=''boring'' |valign=top| :::*'''tepoztaxer'''=''bore'' ::*'''teppax'''=''motive, intent'' ::*'''teppaxen'''=''motivation, intention'' :::*'''teppaxena'''=''motivational, intentional'' :::*'''teppaxer'''=''motivate'' :::*'''teppaxwa'''=''motivated'' ::*'''tepsin'''=''imagination, mental image, dream'' :::*'''tepsina'''=''imaginary'' :::*'''tepsinien'''=''imagination, dreaming'' :::*'''tepsinier'''=''imagine, dream'' :::*'''tepsiniwa'''=''imaginary, imagined, dreamt'' :::*'''tepsiniyafwa'''=''imaginable'' :::*'''tepsiniyea'''=''imaginative'' :::*'''tepsiniyean'''=''imaginativeness'' :::*'''tepsiniyofwa'''=''unimaginable'' :::*'''tepsiniyofway'''=''unimaginably'' :::*'''tepsinuer'''=''project an image, make see in the mind'' ::*'''teptaba'''=''psychosomatic'' ::*'''teptapa'''=''psychophysical'' :::*'''teptaptun'''=''psychophysics, psychophysiology'' :::*'''teptaptuna'''=''psychophysiological'' :::*'''teptaptut'''=''psychophysicist, psychophysiologist'' ::*'''teptija'''=''alert, mentally alert, conscious, attentive'' :::*'''teptijan'''=''alertness, consciousness, attention'' :::*'''teptijber'''=''bring around to consciousness'' :::*'''teptijier'''=''become alerted'' :::*'''teptijper'''=''come to, regain consciousness'' :::*'''teptijuer'''=''alert, call attention to'' ::*'''teptuja'''=''unconscious'' :::*'''teptujan'''=''unconsciousness'' |valign=top| :::*'''teptujay'''=''unconsciously'' :::*'''teptujben'''=''knockout, k.o.'' :::*'''teptujber'''=''render unconscious, knock out'' :::*'''teptujbwa'''=''knocked out'' :::*'''teptujper'''=''black out, go unconscious'' ::*'''teptun'''=''psychology'' :::*'''teptuna'''=''psychological'' :::*'''teptunay'''=''psychologically'' :::*'''teptut'''=''psychologist'' ::*'''teptuyj'''=''stupor'' ::*'''teptuyjea'''=''stuporous'' ::*'''tepuen'''=''reminding, mentioning'' :::*'''tepuer'''=''remind, mention'' ::*'''tepuga'''=''slow-witted, mentally slow, dull-minded, dull, slow of mind, dumb, stupid'' :::*'''tepugan'''=''slow-wittedness, mental dullness, dullness, stupidity, dumbness'' :::*'''tepugat'''=''dullard, slow-witted person, dummy, stupid person'' :::*'''tepugay'''=''stupidly, dumbly, slow-wittedly'' ::*'''tepuka'''=''empty-headed, vapid, air-headed'' ::*'''tepukan'''=''empty-headedness, vapidity'' :::*'''tepukat'''=''air-head'' :::*'''tepukay'''=''vapidly'' ::*'''tepuwa'''=''reminded, mentioned'' ::*'''tepuxlan'''=''impression'' :::*'''tepuxlawa'''=''impressed'' :::*'''tepuxlen'''=''having an impression'' :::*'''tepuxler'''=''impress, have an impression on, influence intellectually'' :::*'''tepuxluwa'''=''impressionable'' :::*'''tepuxluwan'''=''impressionableness'' :::*'''tepuxlyaf'''=''impressiveness, ability to impress'' :::*'''tepuxlyafwa'''=''impressionable, possible to impress'' |valign=top| :::*'''tepuxlyafwan'''=''impressiveness'' :::*'''tepuxlyea'''=''impressive'' :::*'''tepuxlyean'''=''impressiveness'' ::*'''tepuyefwa'''=''worth mentioning'' ::*'''tepuza'''=''scatterbrained, distracted'' :::*'''tepuzbea'''=''distracting, mind-bending, attention-diverting'' :::*'''tepuzben'''=''distraction, diversion of attention'' :::*'''tepuzber'''=''distract, divert attention'' :::*'''tepuzbwa'''=''distracted, scatter-brained'' :::*'''tepuzbyea'''=''distracting, attention-diverting'' ::*'''tepuzra'''=''crazy, daffy, mad, nutty, mentally twisted, loony, lunatic'' :::*'''tepuzran'''=''craziness, daffiness, madness, nuttiness, mental twistedness, lunacy'' :::*'''tepuzraser'''=''go crazy, go bezerk, go daffy, go made, go nuts'' :::*'''tepuzrat'''=''crazy person, insane person, nutcase, lunatic'' :::*'''tepuzraxer'''=''make crazy, drive batty, drive insane'' :::*'''tepuzraxwa'''=''crazed, driven batty, driven insane'' :::*'''tepuzray'''=''crazily, madly, nuttily'' ::*'''tepvyox'''=''trick, ruse, con, mind trick'' :::*'''tepvyoxen'''=''trickery, fooling, conning'' :::*'''tepvyoxer'''=''trick, fool, play a ruse on, con'' :::*'''tepvyoxut'''=''con-artist, trickster'' :::*'''tepvyoxwa'''=''tricked, fooled, conned'' :::*'''tepvyoxyea'''=''tricky, crafty'' :::*'''tepvyoxyean'''=''trickiness, craftiness'' ::*'''tepyaf'''=''mental ability, intelligence, brainpower, cunning'' :::*'''tepyafa'''=''smart, intelligence, mentally-gifted, intelligent, witty, mentally capable, cunning'' :::*'''tepyafay'''=''smartly, intelligently, cunningly'' ::*'''tepyanpyex'''=''clash of wits, debate'' ::*'''tepyaza'''=''cocky, cavalier, conceited, haughty, huffy, insolent, pompous, supercilious'' |valign=top| :::*'''tepyazan'''=''cockiness, conceitedness, haughtiness, huffiness, insolence, , pomposity, superciliousness'' ::*'''tepyega'''=''sane, mentally normal'' :::*'''tepyegan'''=''sanity, mental normality'' ::*'''tepyek'''=''puzzle, enigma, mind-test'' :::*'''tepyekier'''=''puzzle over'' :::*'''tepyekuer'''=''challenge the mind'' :::*'''tepyekuwa'''=''puzzled'' :::*'''tepyekuyea'''=''puzzling, enigmatic'' ::*'''tepyen'''=''attitude, mental framework, spirit, mentality, mood, disposition, state of mind, morale'' :::*'''tepyena'''=''attitudinal'' :::*'''tepyenika'''=''moody'' :::*'''tepyenikan'''=''moodiness'' ::*'''tepyeva'''=''fair-minded, judicious, wise, even-tempered, level-headed'' :::*'''tepyevan'''=''fair-mindedness, judiciousness, wisdom, even temper, level-headedness'' :::*'''tepyevat'''=''fair-minded person, level-headed person'' ::*'''tepyiga'''=''severe, tough-minded, strict, stern, hardheaded, hard-minded, stubborn, intolerant, rigorous'' :::*'''tepyigan'''=''severity, tough-mindedness, strictness, sternness, stubbornness'' :::*'''tepyigat'''=''stickler, tough cookie, stern-minded person'' :::*'''tepyigay'''=''severely, sternly, rigorously'' ::*'''tepyija'''=''open-minded, tolerant'' :::*'''tepyijan'''=''open-mindedness, tolerance'' ::*'''tepyikon'''=''problem, headache, puzzle'' ::*'''tepyiva'''=''free-spirited, liberal, progressive'' :::*'''tepyivan'''=''free-spiritedness, liberality, progressiveness'' :::*'''tepyivat'''=''free-spirit, free-spirited person, liberal, progressive'' ::*'''tepyof'''=''mental incapacity, stupidity, mental disability'' :::*'''tepyofa'''=''stupid, dumb, mentally disabled'' |valign=top| :::*'''tepyofxen'''=''stupefaction'' :::*'''tepyofxer'''=''stupefy'' :::*'''tepyofxwa'''=''stupefied, dumb-struck'' ::*'''tepyokla'''=''scatter-brained, dizzy, dazed'' ::*'''tepyoklan'''=''dizziness'' :::*'''tepyoklat'''=''scatter-brained person, dizzy person'' :::*'''tepyoklaxen'''=''confusion, rattling'' :::*'''tepyoklaxer'''=''confuse, rattle, make dizzy'' :::*'''tepyoklaxwa'''=''confused, rattled, dizzy'' ::*'''tepyontixen'''=''psychoanalysis'' :::*'''tepyontixer'''=''psychoanalyze'' :::*'''tepyontixut'''=''psychoanalyst'' ::*'''tepyopoos'''=''mental anguish'' :::*'''tepyopooxwa'''=''mentally anguished'' ::*'''tepyuga'''=''lax, soft-hearted, lenient, tolerant, easy-going, indulgent, softhearted, merciful, kind'' :::*'''tepyugan'''=''lexness, soft-heartedness, leniency, lenience, tolerance, softheartedness, mercifulness, mercy, kindness'' :::*'''tepyugat'''=''lenient person, softy, tolerant person, indulgent person'' :::*'''tepyugay'''=''softheartedly, leniently, mercifully, kindly'' ::*'''tepyugra'''=''lenient'' :::*'''tepyugran'''=''leniency'' :::*'''tepyugray'''=''leniently'' :::*'''tepyugraser'''=''go easy, be lenient, indulge'' ::*'''tepyuja'''=''close-minded, closed-minded, intolerant, conservative'' :::*'''tepyujan'''=''close-mindedness, closed-mindedness'' :::*'''tepyujat'''=''bigot, close-minded person'' ::*'''tepyukla'''=''naive, simple-minded, naïve'' ::*'''tepyuklan'''=''naivete, simple-mindedness, naïvete'' :::*'''tepyuklay'''=''naively, simple-mindedly, naïvely'' |valign=top| ::*'''tepyuva'''=''close-minded, conservative'' :::*'''tepyuvat'''=''conservative, close-minded person'' :::*'''tepyuvaxea'''=''captivating'' :::*'''tepyuvraxea'''=''captivating, interesting'' :::*'''tepyuvraxwa'''=''interested, captivated'' :::*'''tepyuvxer'''=''captivate'' ::*'''tepzeta'''=''sane'' :::*'''tepzetan'''=''sanity'' ::*'''tepzex'''=''attention, concentration, mental focus'' :::*'''tepzexea'''=''attentive, concentrating'' :::*'''tepzexean'''=''attentiveness'' :::*'''tepzexeay'''=''attentively'' :::*'''tepzexen'''=''attention, concentration'' :::*'''tepzexer'''=''be attentive, pay attention, concentrate, focus on'' :::*'''tepzexuen'''=''drawing attention to, focusing attention on'' :::*'''tepzexuer'''=''draw attention to, focus attention on'' ::*'''antepyena'''=''single-minded, obstinate'' ::::*'''antepyenan'''=''single-mindedness, obstinacy'' ::*'''avoza tep'''=''blank mind'' ::*'''aynteptija'''=''fully-conscious'' ::*'''beer ha tepulxen van'''=''have the impression that'' ::*'''boy tepobosen av'''=''despite, in spite of'' ::*'''donegtepyija'''=''class-conscious'' ::*'''eynteptija'''=''semi-alert, semi-conscious'' ::*'''eynteptijan'''=''semi-alertness, semi-consciousness'' ::*'''fitepa'''=''intelligent, sane, of sound mind, mentally sound, psychologically fit, psychologically o.k.'' :::*'''fitepan'''=''intelligence, sanity, soundness of mind'' :::*'''fitepat'''=''intelligent person, intellect'' :::*'''fitepaxwa'''=''well-motivated, well-intentioned'' |valign=top| ::*'''fitepbak'''=''sanity, good mental health'' :::*'''fitepbaka'''=''sane, in good mental health'' ::*'''fitepkisea'''=''propitious, propitiating'' :::*'''fitepkisean'''=''propitiousness'' ::*'''fitepkixea'''=''propitiating'' :::*'''fitepkixen'''=''propitiation'' :::*'''fitepkixer'''=''propitiate'' :::*'''fitepkixut'''=''propitiator'' :::*'''fitepkixwa'''=''propitiated'' :::*'''fitepkixyea'''=''propitiatory'' ::*'''fitepyen'''=''good mood, good disposition, cheer, good humor, good temperament'' :::*'''fitepyena'''=''in a good mood, well-disposed, cheerful, in a good humor'' :::*'''fitepyenxer'''=''cheer up'' :::*'''fitepyenxwa'''=''cheered up'' ::*'''flutepyen'''=''rage'' :::*'''flutepyena'''=''enraged'' :::*'''flutepyenier'''=''get enraged'' :::*'''flutepyenser'''=''get enraged'' :::*'''flutepyenuer'''=''enrage'' :::*'''flutepyenuwa'''=''enraged'' :::*'''flutepyenxer'''=''enrage'' ::*'''frutepyen'''=''furor, rage'' :::*'''frutepyena'''=''furious'' :::*'''frutepyenier'''=''get infuriated, get enraged'' :::*'''frutepyenser'''=''get infuriated, get enraged'' :::*'''frutepyenuer'''=''infuriate, enrage'' :::*'''frutepyenuwa'''=''infuriated, enraged'' :::*'''frutepyenxer'''=''infuriate, enrage'' ::*'''fuitepyena'''=''moody'' :::*'''fuitepyenan'''=''moodiness'' |valign=top| ::*'''futepyen'''=''anger, bad mood, foul temper, bad attitude, bad disposition, lousy mood, bad temper'' :::*'''futepyena'''=''angry, mad, in a bad mood, ill-disposed, foul-tempered, in a lousy mood'' :::*'''futepyenay'''=''angrily'' :::*'''futepyenier'''=''get angry, get mad'' :::*'''futepyenser'''=''grow angry, get mad'' :::*'''futepyenuer'''=''anger, make mad'' :::*'''futepyenuwa'''=''angered, angry'' :::*'''futepyenxer'''=''anger, make mad'' ::*'''gitepa'''=''keen, sharp-witted, astute, mentally sharp'' :::*'''gitepan'''=''mental sharpness, acuity, keenness, sharp-wittedness, astuteness'' :::*'''gitepat'''=''keen person, sharp wit'' :::*'''gitepay'''=''keenly, astutely, sharp-wittedly'' :::*'''gratepigat'''=''smart-aleck, smarty-pants, smart ass'' :::*'''gyitepa'''=''tough-minded, tough-spirited'' :::*'''gyitepan'''=''tough-mindedness'' :::*'''gyitepay'''=''tough-mindedly'' ::*'''hyitepa'''=''like-minded'' :::*'''hyitepan'''=''like-mindedness'' ::*'''ivtepyen'''=''cheerful mood'' ::*'''jateptijan'''=''foreconscious'' ::*'''javyatepa'''=''prudent, wise'' :::*'''javyatepan'''=''prudence, wisdom'' :::*'''javyatepay'''=''prudently, wisely'' ::*'''jwogtepa'''=''senile'' :::*'''jwogtepan'''=''senility'' :::*'''jwogtepat'''=''senile person'' :::*'''jwogtepsea'''=''becoming senile'' :::*'''jwogtepsen'''=''becoming senile'' :::*'''jwogtepser'''=''become senile'' |valign=top| ::*'''kas bi tep'''=''state of mind'' ::*'''kitep'''=''bias'' :::*'''kitepa'''=''slanted, biased'' ::*'''kotep'''=''subconscious, subconscious mind'' :::*'''kotepa'''=''subconscious'' :::*'''kotepan'''=''subconsciousness'' :::*'''kotepay'''=''subconsciously'' ::*'''kyatepa'''=''flexible-minded'' :::*'''kyatepan'''=''flexibility'' :::*'''kyateper'''=''be distracted, be absent-minded'' :::*'''kyatepyena'''=''in an altered state of mind, distracted'' ::*'''kyaxer ota tepyen'''=''change one's mind, have change of heart'' ::*'''kyeteper'''=''let one's mind wander, daydream'' ::*'''kyetepyena'''=''volatile, given to swing moods'' ::*'''kyitepa yex'''=''hard work, earnest work'' :::*'''kyitepa'''=''serious-minded, serious, grave, earnest'' :::*'''kyitepan'''=''seriousness, gravity, earnestness'' ::*'''kyotepa'''=''steadfast, stubborn, lock-headed, tenacious, stalwart'' :::*'''kyotepan'''=''stubbornness, diligence, assiduity, persistence'' :::*'''kyotepay'''=''stubbornly, diligently, assiduously, hard'' ::*'''logitepa'''=''dull-minded'' :::*'''logitepan'''=''dullness, stupidity'' :::*'''logitepat'''=''dullard'' :::*'''lojavyatepa'''=''imprudent, unwise'' :::*'''lojavyatepan'''=''imprudence'' :::*'''lojavyatepay'''=''imprudently, unwisely'' ::*'''lyotepa'''=''crazy, insane, out of one's mind, idiotic'' :::*'''lyotepan'''=''craziness, insanity, madness'' :::*'''lyotepat'''=''crazy person, idiot, fool, insane person, mad person'' :::*'''lyotepaxyea'''=''maddening'' |valign=top| :::*'''lyotepxer'''=''drive crazy, drive insane, madden'' :::*'''lyotepxwa'''=''driven insane'' ::*'''maatepa'''=''lucid, bright'' ::*'''ohyitepa'''=''unlikeminded'' :::*'''ohyitepan'''=''unlikemindedness'' ::*'''oker teptijan'''=''lose consciousness'' ::*'''okitepa'''=''unbiased'' :::*'''otepbaka'''=''insane, mentally unsound'' :::*'''otepbakan'''=''insanity, mental unsoundness'' ::*'''otepeazwa'''=''unenvisioned, undreamed of'' ::*'''otepega'''=''mentally abnormal, weird'' :::*'''otepegan'''=''mental abnormality, weirdness'' ::*'''otepejea'''=''inattentive, absent-minded'' :::*'''otepejen'''=''day-dreaming, being inattentive'' :::*'''otepejer'''=''day-dream, be inattentive, stare in space'' ::*'''otepiza'''=''inattentive, unfocused'' :::*'''otepizbwa'''=''inattentive'' :::*'''otepizbyea'''=''inattentive'' :::*'''otepizbyean'''=''inattentiveness'' :::*'''otepkexuwa'''=''uninterested'' ::*'''otepkexuyea'''=''uninteresting'' ::*'''otepkyaxwa'''=''unmotivated, unpersuaded'' ::*'''otepkyoxea'''=''inattentive'' :::*'''otepkyoxyea'''=''inattentive'' :::*'''otepkyoxyean'''=''inattentiveness'' ::*'''otepoboxwa'''=''unconcerned, not bothered, uncaring'' ::*'''otepoosea'''=''worried, fretting'' :::*'''otepoosen'''=''worrying, fretting'' :::*'''otepooser'''=''worry, fret'' :::*'''otepooxea'''=''troublesome, worrisome, concerning'' |valign=top| :::*'''otepooxer'''=''cause concern, trouble'' :::*'''otepooxwa'''=''concerned, worried, troubled'' :::*'''oteppaxwa'''=''unmotivated'' ::*'''otepsinuwa'''=''unimaginable'' ::*'''oteptija'''=''unattentive, unalert, distracted'' :::*'''oteptijan'''=''unattentiveness, unaltertness'' ::*'''otepyiga'''=''indulgent, lenient'' :::*'''otepyigan'''=''indulgence, lenience'' :::*'''otepyigay'''=''indulgently, leniently'' ::*'''otepzenuyea'''=''inattentive'' :::*'''otepzenuyean'''=''inattentiveness'' ::*'''otepzenxea'''=''inattentive'' :::*'''otepzexen'''=''inattention'' :::*'''otepzexer'''=''day-dream, lack focus'' :::*'''otepzexyea'''=''inattentive, unattentive'' :::*'''otepzexyean'''=''inattentiveness, unattentiveness'' :::*'''otepzexea'''=''inattentive'' ::*'''ovaltepa'''=''unsure, uncertain'' :::*'''ovaltepan'''=''unsureness, uncertainty'' :::*'''ovyatepa'''=''irrational'' :::*'''ovyatepan'''=''irrationality'' :::*'''ovyatepay'''=''irrationally'' ::*'''ovyatepyena'''=''unreasonable'' :::*'''oyevtepyena'''=''unfair-minded, biased'' ::*'''oytepa'''=''mindless, insane'' :::*'''oytepan'''=''mindlessness, insanity'' :::*'''oytepat'''=''insane person'' ::*'''sin tepyek'''=''jigsaw puzzle'' |valign=top| ::*'''tijtep'''=''conscious mind, consciousness'' ::*'''tijtepa'''=''conscious'' ::*'''tujtep'''=''subconscious, subconscious mind'' :::*'''tujtepa'''=''subconscious'' ::*'''uvtepyena'''=''depressed, melancholy, downbeat'' :::*'''uvtepyenan'''=''depression'' :::*'''uvtepyenxer'''=''depress'' ::*'''vaatepa'''=''optimistic, upbeat'' :::*'''vaatepan'''=''optimism'' :::*'''vaatepat'''=''optimist'' ::*'''valtep'''=''confidence'' :::*'''valtepa'''=''certain, convinced, sure, confident'' :::*'''valtepan'''=''certainty, conviction, sureness, confidence'' :::*'''valtepansexea'''=''confidence-building'' ::*'''vatepa'''=''optimistic, positive'' :::*'''vatepan'''=''optimism'' :::*'''vatepat'''=''optimist, positive person'' :::*'''vatepin'''=''optimism'' :::*'''vatepina'''=''optimistic'' :::*'''vatepinut'''=''optimist'' ::*'''vatepyena'''=''optimistic, favorably-disposed'' ::*'''veatepa'''=''confident'' ::*'''vitep'''=''wit, beautiful mind, charm'' :::*'''vitepa'''=''witty, charming'' :::*'''vitepan'''=''wittiness'' :::*'''vitepat'''=''wit, charmer'' :::*'''vitepdun'''=''witticism'' :::*'''vitepdut'''=''charmer, wit'' ::*'''votepa'''=''pessimistic, negative-minded'' :::*'''votepin'''=''pessimism'' :::*'''votepina'''=''pessimistic'' |valign=top| :::*'''votepinut'''=''pessimist'' ::*'''votepyena'''=''pessimistic'' ::*'''Voy tepoboxe at.'''=''It doesn't bother me., I don't care., It is of no concern to me.'' ::*'''vutepa'''=''mean, wretched'' :::*'''vutepan'''=''meanness, wretchedness'' :::*'''vutepat'''=''wretch'' ::*'''vyatep'''=''reason, seat of reason, logical mind, wit'' ::*'''vyatepa'''=''rational, reasoned, logical, reasonable, wise'' :::*'''vyatepan'''=''rationality, logicalness, reasonableness, wisdom'' :::*'''vyatepat'''=''rational person, logical person, wise person'' :::*'''vyatepay'''=''rationally, logically, wisely'' :::*'''vyatepser'''=''be reasonable, wise up'' :::*'''vyatepxen'''=''rationalization, tempering'' :::*'''vyatepxer'''=''rationalize, temper, wizen'' :::*'''vyatepxwa'''=''rationalized, tempered, wizened'' :::*'''vyatepyena'''=''reasonable, rational'' :::*'''vyatepyenay'''=''reasonably, rationally'' ::*'''vyetepa'''=''subjective'' :::*'''vyetepan'''=''subjectivity'' :::*'''vyetepay'''=''subjectively'' :::*'''vyetepin'''=''subjectivism'' :::*'''vyetepina'''=''subjectivistic'' :::*'''vyetepinut'''=''subjectivist'' :::*'''vyetepxen'''=''subjectification'' :::*'''vyetepxer'''=''subjectify'' :::*'''vyetepxwa'''=''subjectified'' ::*'''vyidtepa'''=''clear-minded, lucid'' ::*'''vyidtepan'''=''clear-mindedness, lucidity'' ::*'''vyifxer ha tep'''=''clear the mind'' ::*'''vyitepa'''=''clear-headed'' :::*'''vyitepan'''=''clear-headedness, clarity of mind'' |valign=top| ::*'''vyotepa'''=''foolish, foolhardy, unwise, wrongheaded, fallacious'' :::*'''vyotepan'''=''folly, foolishness, wrongheadedness, fallaciousness'' :::*'''vyotepat'''=''fool'' :::*'''vyotepsin'''=''illusion, hallucination'' :::*'''vyotepsina'''=''illusory, hallucinatory'' :::*'''vyotepsinen'''=''hallucination'' :::*'''vyotepsiner'''=''hallucinate'' :::*'''vyotepsinier'''=''imagine wrongly'' :::*'''vyotepsinuer'''=''give the illusion'' :::*'''vyotepsinwa'''=''hallucinatory, illusory'' ::*'''vyutepa'''=''foul-minded, dirty-minded, smutty'' :::*'''vyutepan'''=''foul-minded, dirty-minded, smuttiness'' :::*'''vyutepat'''=''foul-minded person'' ::*'''yexer kyitepay'''=''work hard, work earnestly'' ::*'''yexer kyotepay'''=''work hard, work diligently, work steadfastly'' ::*'''yuktepa'''=''easy-minded, forgiving, lenient'' :::*'''yuktepan'''=''easy-mindedness, leniency'' ::*'''zyatepa'''=''broad-minded, expansive, open-minded, mentally expansive'' ::*'''zyatepan'''=''broad-mindedness, expansiveness'' :::*'''zyatepat'''=''broad-minded person'' :::*'''zyatepay'''=''broad-mindedly, expansively'' ::*'''zyeper tep'''=''run through one's head'' ::*'''zyotepa'''=''narrow-minded, bigoted, petty'' :::*'''zyotepan'''=''narrow-mindedness, bigotry, pettiness'' :::*'''zyotepat'''=''narrow-minded person, bigot, petty person'' :::*'''zyotepay'''=''narrow-mindedly'' |} == Emotion == {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''tip'''=''sentiment, mood, humor, temperament, feeling, emotion'' ::*'''tipa'''=''sentimental, temperamental, emotional'' ::-tip=-pathy ::*'''tipaga'''=''big-hearted, magnanimous, generous, genial, cordial'' :::*'''tipagan'''=''big-heartedness, magnanimity, generosity, geniality, cordiality'' :::*'''tipagat'''=''big-hearted person, generous person, genial soul, cordial person, magnanimous person'' :::*'''tipagay'''=''generously, magnanimously'' ::*'''tipan'''=''sentimentality'' ::*'''tipaser'''=''become sentimental'' ::*'''tipava'''=''agreeable, accommodating, empathetic'' ::*'''tipavan'''=''agreeableness, empathy'' ::*'''tipaxen'''=''sentimentalization'' :::*'''tipaxer'''=''sentimentalize'' ::*'''tipaxlawa'''=''thrilled'' :::*'''tipaxlea'''=''thrilling, vibrant'' :::*'''tipaxlean'''=''vibrancy'' :::*'''tipaxleay'''=''thrillingly, vibrantly'' :::*'''tipaxlen'''=''thrilling'' :::*'''tipaxler'''=''thrill'' ::*'''tipaxwa'''=''sentimentalized'' ::*'''tipay'''=''sentimentally, temperamentally, emotionally'' ::*'''tipaya'''=''temperamental, emotional, moody'' :::*'''tipayan'''=''moodiness'' ::*'''tipazdez'''=''melodrama'' :::*'''tipazdeza'''=''melodramatic'' :::*'''tipazdezaxer'''=''melodramatize'' ::*'''tipazier'''=''get excited, get impassioned, be moved grow frantic, run high'' ::*'''tipazika'''=''excited, passionate, emotional, wired, frantic, on edge, fired up, hysterical'' ::*'''tipazra'''=''furious'' :::*'''tipazran'''=''furor'' :::*'''tipazraser'''=''grow furious'' :::*'''tipazraxea'''=''infuriating'' :::*'''tipazraxer'''=''infuriate'' :::*'''tipazraxwa'''=''infuriated'' :::*'''tipazray'''=''furiously'' ::*'''tipazta'''=''excited, passionate, emotional, vehement'' ::*'''tipaztan'''=''excitement, passion, vehemence'' :::*'''tipaztaser'''=''get excited, become passionate'' :::*'''tipaztaxea'''=''exciting'' :::*'''tipaztaxer'''=''excite, impassion'' :::*'''tipaztaxwa'''=''excited, impassioned'' :::*'''tipaztay'''=''excitedly, passionately, emotionally, vehemently'' ::*'''tipazuen'''=''excitement'' :::*'''tipazuer'''=''excite, impassion, move, fire up'' ::*'''tipazuka'''=''unexcited, unpassionate, unemotional'' :::*'''tipazukay'''=''unexcitedly'' ::*'''tipazuwa'''=''excited, impassioned, moved, fired up'' ::*'''tipden'''=''sentimentalization, expression of emotion'' :::*'''tipder'''=''sentimentalize, express emotion'' :::*'''tipdwa'''=''sentimentalized'' ::*'''tipif'''=''kindness, amiability'' :::*'''tipifa'''=''fun-spirited, gay, frivolous, kind, amiable, jocular'' :::*'''tipifan'''=''fun-spiritedness, gayness, frivolity, kindness, amiability, jocularity'' ::*'''tipin'''=''sentimentalism'' :::*'''tipina'''=''sentimentalist'' :::*'''tipinut'''=''sentimentalist'' ::*'''tipiva'''=''merry, light-hearted, cheery, gay'' :::*'''tipivan'''=''merriness, lightheartedness, cheeriness, gayness'' :::*'''tipivay'''=''merrily, lightheartedly, cheerily, gayly'' ::*'''tipkyaa'''=''flexible'' :::*'''tipkyaan'''=''flexibility'' ::*'''tipkyoa'''=''stubborn'' :::*'''tipkyoan'''=''stubbornness'' ::*'''tipoga'''=''stingy, small-minded'' :::*'''tipogan'''=''stinginess, small-mindedness'' ::*'''tipova'''=''contrary, hostile, antipathetic'' ::*'''tipovan'''=''contrariness, hostility, antipathy'' :::*'''tipovat'''=''contrarian'' ::*'''tipoza'''=''weak-hearted'' :::*'''tipozan'''=''weak-heartedness'' ::*'''tipozta'''=''low-key, calm, unenthusiastic, bored, weak-hearted'' :::*'''tipoztan'''=''lack of enthusiasm, boredom, weak-heartedness'' :::*'''tipoztaser'''=''grow bored'' :::*'''tipoztaxea'''=''boring'' :::*'''tipoztaxer'''=''bore'' :::*'''tipoztaxwa'''=''bored'' ::*'''tipuf'''=''spite, anger'' :::*'''tipufa'''=''mean, mean-spirited, spitefulness, angry'' :::*'''tipufan'''=''meanness, mean-spiritedness, spitefulness, angriness'' ::*'''tipufika'''=''spiteful, angry'' :::*'''tipufikay'''=''spitefully'' ::*'''tipufra'''=''infuriated, enraged, wrathful, incensed'' :::*'''tipufran'''=''furor, rage, wrath'' :::*'''tipufranika'''=''furious, raging, wrathful'' :::*'''tipufraser'''=''get infuriated, be enraged, be incensed'' :::*'''tipufraxea'''=''infuriating, outrageous'' :::*'''tipufraxer'''=''infuriate, enrage, incense'' :::*'''tipufraxwa'''=''infuriated, enraged, incensed'' ::*'''tipufser'''=''get angry'' ::*'''tipufxen'''=''angering'' :::*'''tipufxer'''=''anger'' :::*'''tipufxwa'''=''angered'' ::*'''tipuva'''=''dour, sad-spirited, down, dispirited, solemn, grave, depressed, downcast, pitiful, sorrowful'' ::*'''tipuvan'''=''depression, dourness, dispiritedness, solemnity, sorrow, sorrowfulness, pity, mercy, misery'' :::*'''tipuvat'''=''depressed person'' :::*'''tipuvien'''=''having pity on, taking pity on, having mercy on'' :::*'''tipuvier'''=''have pity on, take pity on, have mercy on'' :::*'''tipuviyea'''=''merciful'' :::*'''tipuvra'''=''miserable'' :::*'''tipuvser'''=''pity, taking pity on, being sorry for, taking mercy on'' :::*'''tipuvxea'''=''arousing pity, pitiful'' :::*'''tipuvxer'''=''arouse pity, depress'' :::*'''At yantipuvse et.'''=''I pity you.'' :::*'''boy yantipuv'''=''without pity'' ::*'''tipyaba'''=''upbeat'' ::*'''tipyaoza'''=''moody'' :::*'''tipyaozan'''=''moodiness'' ::*'''tipyiga'''=''stern, stern-hearted, hard-headed, hard-nosed, rigid, flinty, severe, rigorous'' :::*'''tipyigan'''=''sternness, stern-heartedness, hard-headedness, flintiness, rigorousness'' :::*'''tipyigxwa'''=''enraged, infuriated, angered'' ::*'''tipyigra'''=''mean, rude, rough-mannered, mean-spirited'' :::*'''tipyigran'''=''meanness, rudeness, mean-spiritedness'' :::*'''tipyigraser'''=''grow angry, get angry, grow enraged'' :::*'''tipyigraxer'''=''enrage, infuriate, make angry'' :::*'''tipyigraxwa'''=''enraged, infuriated, angered'' :::*'''tipyigray'''=''meanly, rudely, in a rough manner, mean-spiritedly'' ::*'''tipyija'''=''open-minded, tolerant, liberal'' :::*'''tipyijan'''=''open-mindedness, tolerance, liberality'' ::*'''tipyiva'''=''liberal-minded, liberal, open-minded'' :::*'''tipyivan'''=''liberalness, liberality, liberal-mindedness, open-mindedness'' ::*'''tipyoba'''=''downbeat'' ::*'''tipyuba'''=''intimate'' :::*'''tipyuban'''=''intimacy'' :::*'''tipyubay'''=''intimately'' ::*'''tipyuga'''=''flexible, lenient, gentle'' :::*'''tipyugan'''=''flexibility, lenience, gentleness of spirit'' ::*'''tipyugra'''=''gentle, mild-mannered, kind'' ::*'''tipyugran'''=''gentleness, kindness'' :::*'''tipyugray'''=''gently, kindly'' ::*'''tipyuja'''=''close-minded, intolerant'' :::*'''tipyujan'''=''close-mindedness, intolerance'' ::*'''tipyuva'''=''conservative'' :::*'''tipyuvan'''=''conservativeness'' ::*'''uftip'''=''anger, rage, furor'' :::*'''uftiper'''=''be angry, be outraged, be mad'' :::*'''uftipiea'''=''becoming angry, getting angry, getting mad'' :::*'''uftipier'''=''become angry, get angry, anger, rage, get mad'' ::*'''uftipuen'''=''infuriation, enragement, angering'' :::*'''uftipuer'''=''make angry, anger, enrage, infuriate, madden'' :::*'''uftipuwa'''=''enraged, angered, infuriated, angry, mad'' :::*'''uftipuyea'''=''enraging, infuriating, maddening, outrageous'' ::*'''vatipa'''=''positive, positive-minded, optimistic'' :::*'''vatipan'''=''positivity, positive-minded, optimism, positive-mindedness'' :::*'''vatipat'''=''optimist, yes-man'' ::*'''vetipa'''=''skeptical'' :::*'''vetipan'''=''skepticism'' :::*'''vetipat'''=''skeptic'' ::*'''vitipa'''=''in a lovely mood, chipper, cheery, jolly, jaunty, blithe, winsome'' ::*'''votipa'''=''negative, negative-minded, pessimistic'' :::*'''votipan'''=''negativism, negative-mindedness, pessimism'' :::*'''votipat'''=''pessimist, naysayer'' :::*'''vutipa'''=''in a foul mood, grouchy, surly, crotchety'' ::*'''vyatip'''=''faith, loyalty, trust'' :::*'''vyatipa'''=''loyal, faithful, true-minded, trusty, sincere'' :::*'''vyatipan'''=''loyalty, faithfulness, true-mindedness, trustiness, sincerity'' :::*'''vyatipay'''=''faithfully, sincerely'' :::*'''vyatipier'''=''gain the trust of, confide in'' :::*'''vyatipuer'''=''trust, be loyal to, have faith in, confide in, be true in spirit to'' :::*'''vyatipuwa'''=''trusted'' :::*'''vyatipuwat'''=''confidant'' ::*'''vyotipa'''=''disloyal, unfaithful, treacherous, traitorous'' :::*'''vyotipan'''=''disloyalty, unfaithfulness, treachery, treason'' :::*'''vyotipat'''=''traitor'' ::*'''xeyn bi fitip'''=''act of kindness'' ::*'''yantip'''=''empathy, sympathy'' :::*'''yantipa'''=''empathetic, sympathetic'' :::*'''yantipan'''=''sympathy'' :::*'''yantipsea'''=''sympathetic, commiserate'' :::*'''yantipsen'''=''sympathizing, commiseration, empathizing'' :::*'''yantipser'''=''sympathize, commiserate, empathize'' :::*'''yantipsyea'''=''empathetic, agreeable'' ::*'''yantipuv'''=''pity, mercy, sorrow, misery'' :::*'''yantipuvien'''=''commiseration'' :::*'''yantipuvien'''=''having pity on, having mercy on, feeling sorry for, compassion'' :::*'''yantipuvier'''=''commiserate'' :::*'''yantipuvier'''=''pity, have mercy on, feel sorry for'' :::*'''yantipuviyea'''=''compassionate, merciful, pitiful'' :::*'''yantipuvuer'''=''arouse pity, arouse mercy, arouse compassion'' :::*'''yantipuvuyea'''=''pitiful, miserable'' ::*'''yiztipaz'''=''hysteria, super excitement'' ::*'''yiztipaza eyntuj'''=''hysterical trance'' ::*'''yiztipaza'''=''hysterical, frantic, super-excited'' ::*'''yontip'''=''antipathy, resentment'' :::*'''yontipa'''=''antipathetic, resentful'' :::*'''yontipsea'''=''resentful'' :::*'''yontipsen'''=''being at odds, resentment'' :::*'''yontipser'''=''be at odds, resent'' :::*'''yontipsyea'''=''antagonistic, disagreeable'' ::*'''yonxer vyatip bay'''=''betray, break faith with, be disloyal to, break trust with'' ::*'''ekutyan tip'''=''team spirit'' ::*'''fitip'''=''good humor, good mood, kindness, gentleness'' :::*'''fitipa'''=''good-hearted, generous, nice, kind, genial, in a good mood, well-tempered, gentle, good-natured'' :::*'''fitipa'''=''good-humored, in a good mood, cheerful'' :::*'''fitipan'''=''good-heartedness, generousness, niceness, kindness, geniality, gentleness'' :::*'''fitipat'''=''good soul, good-hearted person, kind person, generous person, good-natured person'' :::*'''fitipsen'''=''showing kindness'' :::*'''fitipser'''=''show kindness'' ::*'''flutip'''=''anger'' :::*'''flutipa'''=''angry, mad'' :::*'''flutipan'''=''angriness, madness'' :::*'''flutipser'''=''get angry, anger, get mad'' :::*'''flutipxer'''=''anger, make mad'' :::*'''flutipxwa'''=''angered, maddened'' ::*'''fritipa'''=''cheery, gay, merry, gleeful, blithe, delighted'' :::*'''fritipan'''=''cheeriness, gayness, merriness, gleefulness, delight'' :::*'''fritipier'''=''cheer up'' :::*'''fritipser'''=''cheer up, become amused, be delighted'' :::*'''fritipuer'''=''cheer up'' :::*'''fritipxea'''=''amusing, cheer, delightful'' :::*'''fritipxer'''=''cheer up, amuse, delight'' :::*'''fritipxwa'''=''amused, cheered, delighted'' ::*'''frutip'''=''furor, rage, outrage, wrath, ire'' :::*'''frutipa'''=''furious, wrathful'' :::*'''frutipser'''=''become infuriated, become outraged, rage'' :::*'''frutipxea'''=''infuriating, maddening, outrageous. enraging'' :::*'''frutipxen'''=''infuriating, angering'' :::*'''frutipxer'''=''infuriate, outrage, enrage'' :::*'''frutipxwa'''=''infuriated, outraged, enraged'' ::*'''futip'''=''bad mood, foul temper'' :::*'''futipa'''=''foul-tempered, ill-tempered, ill-disposed, in a bad mood, surly'' :::*'''futipa'''=''ill-humored, in a bad mood, grumpy, ill-tempered, sullen'' :::*'''futipan'''=''ill disposition, bad mood, foul temper, surliness'' :::*'''futipat'''=''foul-tempered person, angry person, surly person'' :::*'''futipser'''=''grow angry, become angry, become ill-tempered'' :::*'''futipxer'''=''anger, put in a foul mood'' :::*'''futipxwa'''=''angered, indisposed'' ::*'''iftip'''=''pleasant mood'' :::*'''iftipa'''=''in a pleasant mood'' ::*'''kyatipa'''=''fickle, moody, volatile'' :::*'''kyatipan'''=''fickleness, moodiness, volatility'' ::*'''kyetipa'''=''capricious, arbitrary, whimsical'' :::*'''kyetipan'''=''capriciousness, arbitrariness, whimsy'' :::*'''kyetipas'''=''whim'' :::*'''kyetipay'''=''on a whim, whimsically'' ::*'''kyitip'''=''gloom'' :::*'''kyitipa'''=''serious, grave, gloomy, heavy-hearted, downcast, melancholy, downhearted, crestfallen'' :::*'''kyitipan'''=''seriousness, gravity, gloominess, melancholy'' :::*'''kyitipay'''=''with a heavy heart, dispiritedly'' :::*'''kyitipxea'''=''dispiriting'' :::*'''kyitipxer'''=''dispirit'' :::*'''kyitipxwa'''=''dispirited'' ::*'''kyotipa'''=''stubborn, steadfast'' :::*'''kyotipan'''=''stubbornness, steadfastness'' :::*'''kytipser'''=''be dispirited'' :::*'''kyutipa'''=''light-hearted, blithe, winsome, silly'' :::*'''kyutipan'''=''light-heartedness, blitheness, winsomeness, silliness'' :::*'''kyutipay'''=''light-heartedly, blithely, winsomely, in a silly fashion'' ::*'''obzatip'''=''lap'' ::*'''otipuva'''=''pitiless'' :::*'''otipuvan'''=''pitilessness'' :::*'''ovyatipa'''=''disloyal, unfaithful, insincere'' :::*'''ovyatipan'''=''disloyalty, unfaithfulness, insincerity'' :::*'''ovyatipuwa'''=''untrusted'' |} == Verbs Derived from Body Parts == {| class="wikitable" style="font-size:smaller;" |valign=top| :*'''tobaxer'''=''humanize'' :*'''tobser'''=''become human'' :*'''tobxer'''=''make human'' :*'''toybser'''=''become a woman'' <hr> :*'''tabazaxer'''=''body-build'' <hr> :*'''yegtaobser'''=''to reincarnate'' <hr> :*'''taibober'''=''bone, de-bone'' :*'''taibser'''=''ossify'' :*'''taibvyixer'''=''scavenge'' <hr> :*'''tayebarer'''=''to comb'' :*'''tayebonapxer'''=''dischevel'' :*'''tayebsyenxer'''=''coiff'' :*'''tayebuzaser'''=''frizz'' :*'''tayebuzaxer'''=''frizz'' :*'''tayebyaser'''=''bristle'' <hr> :*'''tayixuer'''=''excite, innervate'' :*'''tayixier'''=''get excited'' :*'''uftayixer'''=''annoy'' :*'''uftayiser'''=''get annoyed'' <hr> :*'''kyutebser'''=''grow light-headed, swoon'' :*'''kyutebxer'''=''make swoon'' :*'''abtebober'''=''scalp'' :*'''tebbaxer'''=''nod'' :*'''tebbyoyker'''=''have a headache'' :*'''tebdrasiner'''=''portray'' :*'''tebober'''=''decapitate, behead, remove a head'' :*'''tebsiner'''=''face'' :*'''tebsiuner'''=''nod'' :*'''tebsizer'''=''portray'' :*'''tebuzber'''=''crown'' |valign=top| :*'''tebuzober'''=''uncrown'' :*'''tebuzobier'''=''abdicate'' :*'''tebzaner'''=''face, confront'' :*'''vatebbaxer'''=''nod yes'' :*'''vatebsiuner'''=''nod yes'' :*'''vetebbaxer'''=''shrug, nod "maybe so"'' :*'''vitebsiner'''=''grin, put on a pretty face'' :*'''votebbaxer'''=''nod no'' :*'''votebsiuner'''=''nod no'' :*'''vutebsiner'''=''grimace, sneer'' :*'''yabteber'''=''hold ones' head high'' :*'''zateber'''=''to face, confront'' :*'''izzateber'''=''face squarely, confront head-on'' :*'''ibzateber'''=''face away'' :*'''zateber'''=''face'' :*'''zaytebsiner'''=''face forward, face ahead'' :*'''zoytebsiner'''=''face backwards'' :*'''abteabyexer'''=''furl one's eyebrows'' <br> :*'''teater'''=''see'' :*'''teatyafxer'''=''to make visible'' :*'''teatyofxer'''=''to blind'' :*'''teatier'''=''to perceive'' :*'''teatuer'''=''to show'' :*'''teaxer'''=''to look'' :*'''teaser'''=''to seem, to look'' <hr> :*'''teeter'''=''to hear'' :*'''teetyofser'''=''go deaf'' :*'''teetyofxer'''=''to deafen'' :*'''teexer'''=''listen, pay attention'' :*'''yuvteexer'''=''obey'' |valign=top| :*'''teexier'''=''to audition, audit'' :*'''teexuer'''=''to audition, let it be heard'' :*'''teeser'''=''sound (like)'' :*'''gelteeser'''=''to echo'' <hr> :*'''teibalier'''=''sniff'' :*'''teibalegier'''=''sniffle'' :*'''teibaxer'''=''nuzzle'' :*'''teibbokser'''=''catch a cold'' :*'''teibiler'''=''run at the nose'' :*'''teibukxer'''=''blow one's nose'' :*'''teibyeger'''=''flare at the nostrils'' :*'''teipyoser'''=''nose-dive'' :*'''teipyuxler'''=''to sneeze'' :*'''teiter'''=''to smell'' :*'''teitier'''=''to get a whiff of'' :*'''teituer'''=''to give off a smell'' :*'''teityofser'''=''lose the ability to smell'' :*'''teixer'''=''to smell, sniff'' :*'''teixeuxer'''=''to snore'' :*'''teizber'''=''aromatize'' :*'''viteiser'''=''to smell fragrant'' :*'''vuteiser'''=''to stink'' :*'''vuteixer'''=''to stink up'' <hr> :*'''teubier'''=''to swallow'' :*'''aynteubier'''=''to swallow whole'' :*'''eynteubier'''=''to half-swallpw'' :*'''igteubier'''=''to gulp down'' :*'''ikteubier'''=''to swallow whole'' :*'''ivteuber'''=''to smile, grin'' :*'''ivteubuer'''=''to make smile'' |valign=top| :*'''zyaivteuber'''=''be all grins, beam'' :*'''fuivteuber'''=''to smirk, sneer, mock'' :*'''uvteuber'''=''to grimace, pout, sulk, mope'' :*'''ufteuber'''=''to frown, scorn, snear'' :*'''ufteubuer'''=''to make frown, displease'' :*'''teubixer'''=''to chew'' :*'''ikteubixer'''=''to chew up'' :*'''teubixeger'''=''to ruminate'' :*'''teupixer'''=''to bite'' :*'''ogteupixer'''=''to nibble'' :*'''igteupixer'''=''to chomp'' :*'''teupixeger'''=''to gnash'' :*'''yagteupixer'''=''to gnaw'' :*'''yigteupixer'''=''to crunch'' :*'''ateupixer'''=''to gnaw'' :*'''ibteupixer'''=''to bite off'' :*'''yebteupixer'''=''to bite into, indent'' :*'''yebteubober'''=''to suck'' :*'''teuboxer'''=''to kiss'' :*'''teuboxeger'''=''to smooch'' :*'''teuboyxer'''=''to give a peck on the cheek'' :*'''teubiler'''=''to salivate'' :*'''teubilier'''=''to suck'' :*'''teubiluer'''=''to spit, expectorate'' :*'''teubilpuxer'''=''to spit'' :*'''teubiloker'''=''to drool, slaver, slabber'' :*'''teubilokeger'''=''to dribble, drivel'' :*'''teubyijer'''=''to yawn'' :*'''teuter'''=''to taste'' |valign=top| :*'''teuser'''=''to taste (like)'' :*'''teuxer'''=''to taste'' :*'''teuder'''=''to shout, cry'' :*'''uvteuder'''=''to groan'' :*'''ivteuder'''=''to laugh'' <hr> :*'''teyobufukxer'''=''cough, clear the throat'' :*'''zateyobibvyilxer'''=''to gargle'' <hr> :*'''yobtibser'''=''to crouch, slouch'' :*'''tibuzaser'''=''to bow, bend over'' :*'''tibujbaxer'''=''wag the tail'' <hr> :*'''tiebalier'''=''inhale, take a breath'' :*'''tiebaluer'''=''exhale, let out a breath'' :*'''tiebaloker'''=''belch, burp, eruct'' :*'''tiebalyujber'''=''to suffocate, stifle, smother, strangle'' :*'''tiebalyujbwer'''=''to suffocate, to be smothered, to be strangled'' :*'''tiebbokier'''=''to catch pneumonia'' :*'''tiebukxer'''=''to cough'' :*'''aztiebukxer'''=''to hack, whoop'' :*'''yabteibukxer'''=''to cough up'' <hr> :*'''tikebier'''=''to digest'' :*'''tikebiloker'''=''to vomit, throw up, regurgitate, puke'' :*'''tikebukxer'''=''pump the stomach'' :*'''tikebyijber'''=''to gut'' <hr> :*'''tiibiler'''=''bleed'' :*'''tiibilglalser'''=''coagulate, clot'' :*'''tiibilier'''=''suck blood'' :*'''tiibililper'''=''hemorrhage'' :*'''tiibiloker'''=''lose blood, bleed out, exsanguinate, hemorrhage'' :*'''tiibiluer'''=''bloody, get blood on, ensanguine, bleed'' :*'''tiibilvyunuer'''=''bloodstain'' |valign=top| <hr> :*'''tiyabiler'''=''urinate, piss, pee'' :*'''tiyabileger'''=''dribble'' :*'''tiyebiler'''=''ejaculate, cum'' :*'''tiyebiluer'''=''inseminate'' <hr> :*'''tiyubraxer'''=''masturbate'' :*'''tiyubier'''=''fellate, suck'' :*'''tiyubober'''=''castrate, geld'' :*'''ebtiwuyber'''=''have sex, have coitus'' <hr> :*'''patubaser'''=''to flap, flutter'' :*'''potuber'''=''to paw'' :*'''tubaxer'''=''wave, flail,'' :*'''tubyuzyuber'''=''fold one's arms'' :*'''yuztuber'''=''to embrace, hug'' <hr> :*'''tuabexer'''=''to shoulder (a difficulty)'' <hr> :*'''tuibaxer'''=''to nudge, elbow'' <hr> :*'''tuyabaxrer'''=''to wave'' :*'''tuyabeler'''=''hand-carry, deliver'' :*'''tuyaber'''=''to handle'' :*'''tuyabexer'''=''to manipulate'' :*'''tuyabier'''=''to grab, take by the hand'' :*'''tuyabirer'''=''to grasp, clamp, grab, wrestle'' :*'''tuyabuer'''=''deliver, present'' :*'''tuyabyanxer'''=''join hands, shake hands, clasp hands'' :*'''tuyabyexer'''=''to clap, applaud'' :*'''tuyaxer'''=''wave'' :*'''futuyaxer'''=''mishandle'' :*'''zuituyaxer'''=''wave with the hand'' :*'''haytuyaxer'''=''wave hi'' :*'''hoytuyaxer'''=''wave goodbye'' <hr> |valign=top| :*'''tuyebaxrer'''=''shake one's fist'' :*'''tuyeboveker'''=''to fist fight, to box'' :*'''tuyebyujer'''=''clench one's fist'' <hr> :*'''tuyibabaxer'''=''pat, caress'' :*'''tuyibaber'''=''lay hands on, palm'' :*'''tuyibier'''=''palm (money)'' :*'''tuyibuer'''=''palm off'' <hr> :*'''etuyubizer'''=''to point, to indicate'' :*'''iftuyuxer'''=''to tickle'' :*'''ituyuber'''=''give the middle finger'' :*'''potuyuxer'''=''to claw'' :*'''tuyubaxer'''=''to finger, fiddle'' :*'''tuyubaxrer'''=''to wag one's finger'' :*'''tuyubifxer'''=''to tickle'' :*'''tuyubizder'''=''point out, indicate'' :*'''tuyubyexer'''=''to rap'' :*'''tuyugiber'''=''to poke'' :*'''tuyuxer'''=''to palpate, finger, feel, poke'' <hr> :*'''tuloxer'''=''to scratch, scrape, claw'' :*'''tuloxefer'''=''to itch'' :*'''tuloxefxer'''=''to irritate, make itch'' :*'''tuloxeger'''=''to tickle'' :*'''patulober'''=''to grip'' :*'''patuloxer'''=''to claw'' <hr> :*'''tyoper'''=''to walk, amble'' :*'''entyoper'''=''walk on two legs'' :*'''intyoper'''=''go on all fours, crawl'' :*'''tyobaper'''=''to straddle, stride'' <hr> :*'''tyoiber'''=''to kneel, genuflect'' :*'''tyoiper'''=''to crawl on one's knees'' |valign=top| <hr> :*'''tyoyobaler'''=''to trample'' :*'''tyoyobarer'''=''to stomp, squash'' :*'''tyoyober'''=''to supplant, tread'' <hr> :*'''tyoyabarer'''=''to stomp, trample, tread'' :*'''tyoyabyexer'''=''to kick'' :*'''tyoyaper'''=''to walk, go by foot, go on foot'' :*'''tyoyapyexer'''=''to kick'' :*'''tyoyapyofxer'''=''to cripple'' :*'''tyoyapyuker'''=''to limp, hobble, have a hard time walking, stumble'' :*'''apetyoyaper'''=''to gallop, trot, walk like a horse'' :*'''daztyoyaper'''=''to promenade'' :*'''ibtyoyapyexer'''=''to kick away'' :*'''iftyoyaper'''=''to stroll, jaunt, promenade'' :*'''iftyoyapier'''=''to take a stroll, go for a jaunt'' :*'''iftyoyapuer'''=''to take for a stroll, walk'' :*'''igtyoyapeker'''=''to race, race on foot'' :*'''igtyoyaper'''=''to run, jog, rush, race, walk at a fast clip'' :*'''ivtyoyaper'''=''to prance'' :*'''iztyoyaper'''=''to walk straight'' :*'''kuityoyaper'''=''to walk with a limp, hobble'' :*'''kutyoyaper'''=''to step aside'' :*'''kutyoyapyexer'''=''to kick aside'' :*'''kyetyoyaper'''=''to meander, stroll about, walk aimlessly'' :*'''mebtyoyaper'''=''to hike, mountaineer'' :*'''oyebtyoyapyexer'''=''to kick out'' :*'''teaxtyoyaper'''=''to strut, sashay'' :*'''tujtyoyaper'''=''to sleepwalk, somnambulate, noctambulate'' :*'''ugtyoyaper'''=''to amble, saunter, walk slowly'' :*'''vyotyoyaper'''=''to stumble, trip'' :*'''yagtyoyaper'''=''to hike, stride'' |valign=top| :*'''yantyoyaper'''=''to walk alongside, walk together'' :*'''yibtyoyaper'''=''to hike'' :*'''yogigtyoyaper'''=''to sprint, dash'' :*'''zaytyoyaper'''=''to step forward, walk ahead'' :*'''zyatyoyaper'''=''to perambulate, walk around, promenade, hike'' <hr> :*'''tyoyeber'''=''to spurn'' :*'''tyoyebaser'''=''to squat'' <hr> :*'''tyoyubuker'''=''to stub one's toe'' :*'''tyoyudazer'''=''to tap dance'' :*'''tyoyuper'''=''to tiptoe'' :*'''tyoyubaxeger'''=''to wiggle one's toe'' <hr> :*'''toponapser'''=''go insane'' <hr> :*'''tapxer'''=''exercise'' :*'''tapxerer'''=''work out, exercise'' :*'''tapiflanier'''=''lust after'' :*'''tapiflanuer'''=''make horny'' :*'''tapiflanxer'''=''eroticize'' :*'''tapifeker'''=''play sports'' <hr> :*'''tepbiker'''=''care, be concerned, worry'' :*'''tepbiker'''=''pay attention, be mindful, heed'' :*'''tepbikier'''=''become mindful of, heed, pay attention'' :*'''tepbikier'''=''become worried, become concerned'' :*'''tepbikuer'''=''bring attention to, draw attention'' :*'''tepbikuer'''=''worry, concern, give cause for concern'' :*'''tepbier'''=''consider, bear in mind'' :*'''tepbixer'''=''interest, mentally attract, grab attention'' :*'''tepbixwer'''=''be interested, be mentally engaged'' :*'''tepbokser'''=''become mentally ill, go insane, go crazy, go mad'' :*'''tepbokxer'''=''make crazy, drive insane, cause to be mentally ill'' :*'''tepboser'''=''be unconcerned'' |valign=top| :*'''tepbosier'''=''calm down'' :*'''tepbosuer'''=''calm down'' :*'''tepboxer'''=''calm down, put at ease, placate'' :*'''tepdiner'''=''dream'' :*'''tepdyeer'''=''read minds'' :*'''tepeazer'''=''envision, dream'' :*'''tepekuer'''=''puzzle'' :*'''tepelader'''=''chirp'' :*'''tepfer'''=''pretend'' :*'''tepier'''=''consider, take into account, keep in mind, bear in mind'' :*'''tepivxer'''=''cheer up'' :*'''tepizber'''=''pay attention, focus the mind, steer the mind'' :*'''tepizier'''=''pay attention, focus one's mind on'' :*'''tepizraser'''=''regain one's sanity'' :*'''tepizraxer'''=''bring sanity to'' :*'''tepizuer'''=''focus attention, draw attention'' :*'''tepkexer'''=''be interested in, be curious about'' :*'''tepkexuer'''=''interest'' :*'''tepkuxer'''=''distract'' :*'''tepkyaxer'''=''convert, proselytize, motivate, persuade, change minds'' :*'''tepkyiunier'''=''worry'' :*'''tepkyiunuer'''=''worry'' :*'''tepkyoxer'''=''fixate, pay attention to, focus on, obsess'' :*'''tepkyoxwer'''=''be obsessed'' :*'''tepmanxer'''=''clear up, clarify'' :*'''tepoboser'''=''become concerned, grow anxious, worry, be concerned, care, be ill at ease'' :*'''tepoboxer'''=''worry, bother, concern, disturb'' :*'''tepolegser'''=''go insane, become weird'' :*'''tepolegxer'''=''make insane'' :*'''teponapser'''=''become mentally disturbed, go crazy'' |valign=top| :*'''teponapxer'''=''make crazy, drive mad'' :*'''tepooser'''=''be calm, be relieved, calm down'' :*'''tepooxer'''=''calm down, give peace of mind'' :*'''tepozetaser'''=''go insane'' :*'''tepozetaxer'''=''drive insane'' :*'''tepoztaxer'''=''bore'' :*'''teppaxer'''=''motivate'' :*'''tepsinier'''=''imagine, dream'' :*'''tepsinuer'''=''project an image, make see in the mind'' :*'''teptijber'''=''bring around to consciousness'' :*'''teptijier'''=''become alerted'' :*'''teptijper'''=''come to, regain consciousness'' :*'''teptijuer'''=''alert, call attention to'' :*'''teptujber'''=''render unconscious, knock out'' :*'''teptujper'''=''black out, go unconscious'' :*'''tepuer'''=''remind, mention'' :*'''tepuxler'''=''impress, have an impression on, influence intellectually'' :*'''tepuzber'''=''distract, divert attention'' :*'''tepuzraser'''=''go crazy, go bezerk, go daffy, go made, go nuts'' :*'''tepuzraxer'''=''make crazy, drive batty, drive insane'' :*'''tepvyoxer'''=''trick, fool, play a ruse on, con'' :*'''tepyekier'''=''puzzle over'' :*'''tepyekuer'''=''challenge the mind'' :*'''tepyofxer'''=''stupefy'' :*'''tepyoklaxer'''=''confuse, rattle, make dizzy'' :*'''tepyontixer'''=''psychoanalyze'' :*'''tepyugraser'''=''go easy, be lenient, indulge'' :*'''tepyuvxer'''=''captivate'' :*'''tepzexer'''=''be attentive, pay attention, concentrate, focus on'' :*'''tepzexuer'''=''draw attention to, focus attention on'' |valign=top| :*'''fitepkixer'''=''propitiate'' :*'''fitepyenxer'''=''cheer up'' :*'''flutepyenier'''=''get enraged'' :*'''flutepyenser'''=''get enraged'' :*'''flutepyenuer'''=''enrage'' :*'''flutepyenxer'''=''enrage'' :*'''frutepyenier'''=''get infuriated, get enraged'' :*'''frutepyenser'''=''get infuriated, get enraged'' :*'''frutepyenuer'''=''infuriate, enrage'' :*'''frutepyenxer'''=''infuriate, enrage'' :*'''futepyenier'''=''get angry, get mad'' :*'''futepyenser'''=''grow angry, get mad'' :*'''futepyenuer'''=''anger, make mad'' :*'''futepyenxer'''=''anger, make mad'' :*'''jwogtepser'''=''become senile'' :*'''kyateper'''=''be distracted, be absent-minded'' :*'''kyeteper'''=''let one's mind wander, daydream'' :*'''lyotepxer'''=''drive crazy, drive insane, madden'' :*'''otepejer'''=''day-dream, be inattentive, stare in space'' :*'''otepooser'''=''worry, fret'' :*'''otepooxer'''=''cause concern, trouble'' :*'''otepzexer'''=''day-dream, lack focus'' :*'''uvtepyenxer'''=''depress'' :*'''vyatepser'''=''be reasonable, wise up'' :*'''vyatepxer'''=''rationalize, temper, wizen'' :*'''vyetepxer'''=''subjectify'' :*'''vyotepsiner'''=''hallucinate'' :*'''vyotepsinier'''=''imagine wrongly'' :*'''vyotepsinuer'''=''give the illusion'' |valign=top| <hr> :*'''tipaser'''=''become sentimental'' :*'''tipaxer'''=''sentimentalize'' :*'''tipaxler'''=''thrill'' :*'''tipazdezaxer'''=''melodramatize'' :*'''tipazier'''=''get excited, get impassioned, be moved grow frantic, run high'' :*'''tipazraser'''=''grow furious'' :*'''tipazraxer'''=''infuriate'' :*'''tipaztaser'''=''get excited, become passionate'' :*'''tipaztaxer'''=''excite, impassion'' :*'''tipazuer'''=''excite, impassion, move, fire up'' :*'''tipder'''=''sentimentalize, express emotion'' :*'''tipoztaser'''=''grow bored'' :*'''tipoztaxer'''=''bore'' :*'''tipufraser'''=''get infuriated, be enraged, be incensed'' :*'''tipufraxer'''=''infuriate, enrage, incense'' :*'''tipufser'''=''get angry'' :*'''tipufxer'''=''anger'' :*'''tipuvier'''=''have pity on, take pity on, have mercy on'' :*'''tipuvser'''=''pity, taking pity on, being sorry for, taking mercy on'' :*'''tipuvxer'''=''arouse pity, depress'' :*'''tipyigraser'''=''grow angry, get angry, grow enraged'' :*'''tipyigraxer'''=''enrage, infuriate, make angry'' :*'''uftiper'''=''be angry, be outraged, be mad'' :*'''uftipier'''=''become angry, get angry, anger, rage, get mad'' :*'''uftipuer'''=''make angry, anger, enrage, infuriate, madden'' :*'''vyatipier'''=''gain the trust of, confide in'' :*'''vyatipuer'''=''trust, be loyal to, have faith in, confide in, be true in spirit to'' :*'''yantipser'''=''sympathize, commiserate, empathize'' :*'''yantipuvier'''=''commiserate'' :*'''yantipuvier'''=''pity, have mercy on, feel sorry for'' :*'''yantipuvuer'''=''arouse pity, arouse mercy, arouse compassion'' |valign=top| :*'''yontipser'''=''be at odds, resent'' :*'''fitipser'''=''show kindness'' :*'''flutipser'''=''get angry, anger, get mad'' :*'''flutipxer'''=''anger, make mad'' :*'''fritipier'''=''cheer up'' :*'''fritipser'''=''cheer up, become amused, be delighted'' :*'''fritipuer'''=''cheer up'' :*'''fritipxer'''=''cheer up, amuse, delight'' :*'''frutipser'''=''become infuriated, become outraged, rage'' :*'''frutipxer'''=''infuriate, outrage, enrage'' :*'''futipser'''=''grow angry, become angry, become ill-tempered'' :*'''futipxer'''=''anger, put in a foul mood'' :*'''kyitipxer'''=''dispirit'' :*'''kytipser'''=''be dispirited'' |} i9usisap9quqqxkyy8t1lqon5tw055z Grand Theft Auto: San Andreas/Vehicles 0 428065 4670160 4531560 2026-09-15T09:16:21Z Firzafp 1253274 /* Trucks */ 4670160 wikitext text/x-wiki {{Grand Theft Auto: San Andreas/Header|title=Vehicles}} Legend for mods: TF = Transfender mod shops, WA = Wheel Angels, LR = Low rider mod shop, c = color, h = hood, e = exhausts, l = lights, r = roof, s = spoilers, n = nitro, w = wheels, cs = car stereo, h = hydraulics, v = vents, ss = side skirts. The first number is the number of seats (if more than 1). == Cars == {| class="wikitable" border="1" |'''Car Type''' || '''Description''' || '''Seats''' || '''Comments''' |- |Blista Compact || Honda CRX || 2 || |- |Blade || 1970s Chevrolet Caprice Droptop || 4 || |- |Buffalo || 1990s Camaro with Scoop || 2 || Heavy car, fast and with excellent traction. Probably the best choice for off-road racing, one can always be found at Catalina's cabin |- |Club || Volkswagen Golf || 2 || |- |Elegant || Sedan || 4 || |- |Emperor || 1990's Infiniti Q45 || 4 || |- |Fortune || Early 90's Ford Thunderbird || 2 || |- |Huntley || MkII Range Rover || 4 || |- |Hustler || 30's Bentley || 4 || Denise's car, very fast and handles well '''Mod:TF''' |- |Intruder || Like a Civic || 4 || |- |Majestic || 1978-1988 Buick Regal || 2 || |- |Phoenix || '79 Pontiac Trans-Am || 2 || |- |Picador || `68 Chevrolet El Camino || 2 || Like a car with a pick-up truck bed. Can be found in Ryder's driveway. |- |Police || Modern police interceptor || 4 || Runs [[Grand Theft Auto: San Andreas/Missions/Vigilante|vigilante missions]]; no radio; has police lights that when activated cause other cars to move out of your way (activate with a quick tap of L3) |- |Rancher || Bronco style SUV || 2 || This is the perfect vehicle to use for the Badlands A race (the first one Cesar gives you outside of Los Santos. |- |Sabre || '70 Oldsmobile Cutlass || 2 || |- |Savannah || Full size convertible, lowrider || 4 || Driven by many Grove street members (find them on the road behind CJ's house); also the car given in [[Grand Theft Auto: San Andreas/Missions/Cesar Vialpando|Cesar Vialpando]] '''Mod:LR''' |- |Sentinel || `91 BMW 525i || 4 || |- |Stallion || Like a Mustang || 2 || Comes in convertible and hardtop variants. Fast in a straight-line but poor cornering. |- |Sunrise || Early 90's Pontiac Bonnaville || 4 || |- |Stratum || '94 Honda Accord station wagon || 4 || Is quick, unlike the less-sporty Solair, which has virtually no redeeming features. |- |Tampa || 1965-69 Chevrolet Corvair || 2 || |- |Taxi || Modern taxi || 4 || Can be used in the [[Grand Theft Auto: San Andreas/Missions/Taxi Driver|Taxi Driver]] Vehicle Mission. The taxi is very tough and quite fast, however it can be slow to turn |- |Voodoo || 1960 Chevy || 2 || |- |Stafford || Rolls Royce Silver Shadow || 2 || |} == Sports Cars == *Alpha - 91' Dodge Stealth *Bullet - Ford GT40. Fragile but otherwise fun sports car with good sex appeal, acceleration and handling. One can be found in a lot between Doherty and Easter Basin Docks in San Fierro, or in Doherty after receiving all silver medals (or better) at the driving school. *Banshee - Dodge Viper. Excellent acceleration, good speed. Not very nimble. *Cheetah - Looks like a Ferrari Testarossa. Fast and very nimble. Excellent racing car. *Comet - A Porsche 911 type car, comes in convertible and hardtop versions. A small car and fast but steering can be twitchy. *Euros - Looks like a mid-1990's Nissan 300ZX *Infernus - Looks like an Acura/Honda NSX. Fast but with excellent traction and therefore a viable choice for off-road racing but can be prone to very wide powerslides off-road as well as having poor off-road hill climbing abilities. *Jester - 1995 Toyota Supra *SuperGT - Mitsubishi 3000GT. Fast but not much use because of its tendency to spin out. Excellent car for an expert driver but you might as well use the Cheetah. Found in Doherty after receiving all bronze medals in the driving school. *Sultan - Most likely early Subaru Impreza WRX or early Mitsubishi Lancer Evolution (hints being 4wd and stock hood scoop) *Turismo - Looks like a Ferrari F40 with very large wing on the back, fast fast car *Uranus - Mitsubishi Eclipse/Eagle Talon, Saturn SC2 *Windsor - Jaguar E-Type. Fast, classy, but tends to spin and burn. *ZR-350 - Late model(3rd generation) Mazda RX-7. Resembles the Banshee or the Cheetah but has slower acceleration and is fragile == "Funnies" == *Bloodring Banger - Available outside the stadium in San Fiero, tough but prone to spinning out. Used in the [Bloodring] Competition *Monster - Monster truck, excellent off-road, high driving position is good for spotting things away from the road, tough, can effectively drive straight over normal vehicles. Available in one of the trailer parks south of Los Santos *Stretch - Limo, good as a portable barricade and for impressing hos. *Patriot - Based on the Humvee, tough vehicle, high suspension, available in military bases *Rhino - a full size M1 Tank. Guess where you can pick up one.. *Barracks - Army truck. Usually comes packed with damned weekend soldiers. *Forklift - Very similar to the golf cart except for the lifting fork *Golfcart - Very good on grass but prone to rolling *Lawn Mower - Found in Los Santos in a backyard. *Sweeper - Street cleaner vehicle that can be found near the lowrider site in Los Santos. Practically useless. *Train - You can steal the train == Trucks == *Boxville - Slow, unstable but very heavy *BoxBurg - a variant of Boxville, used to Burglar mission *Pony - Tough car, average speed, prone to rolling *TV Van - virtually identical to the Pony except slightly more stable == Motorcycles == *PCJ-600 - Sporty motorcycle featured in Vice City. This is a good choice for attempting jumps and stunts and is quite fast. It tends to skid on grass however and the front wheel will often rear up when accelerating hard from a stop. *NRG-500 - Racing motorcycle. Fastest one in the game. Can be found by the export crane in San Fierro, and in a parking garage in Los Santos. It can also be found at the bike school after receiving all gold. *FCR-900 - Very fast bike, excellent acceleration and good for jumps. Can be found at the bike school after receiving all silver or better at the biking school. *Sanchez - Dirt Bike. Can be found in any country side. Extremely forgiving about jumps and falls. Poor turning circle but probably the best acceleration and traction off-road. *HPV1000 - Police Bike. Can be found anywhere. Has sirens, and you can do vigilante missions in them. *BF-400 - Older type of sporty bike. Appears in Marina, Los Santos, found after receiving all bronze medals or better in the biking school *Freeway - Harley Davidson. A biker-gang type bike. Appears in the country side. *Faggio - A motor scooter. Appears in Marina, Los Santos. *Pizza Boy - Faggio used for pizza deliveries. *Wayfarer - Touring bike, heavy, slow acceleration and stable. == Bicycles == *BMX - BMX trick bike. Can be found in the overgrown yard across from CJ's Grove house. *Mountain Bike - Mountain bike. Can be found in the base and on top of Mountain Chilliad. *Bike - Typical bike found in country side. == Planes == *Shamal - Private jet. Looks like a LearJet. Found in all airports. *AT 400 - Gigiantic passenger plane that resembles a 737. Spawns randomly in the big hangar in Las Venturas at the end of the runway. *Hydra - AV-8b Harrier II (USMC version not the Royal Navy version). Spawns in Area 69. Found aboard the assault carrier in Easter Basin, and at your air strip upon completing "vertical bird" mission. *Crop Duster - Pesticide spreading plane. Found on top of the hill southeast of San Fierro. Resembles the Grumman Agcat. *Dodo - Motorplane. Spawns in all airports. *Skimmer - Motorplane that can land on water. Spawns in the waters in the desert. *Stunt plane - Stunt plane. Spawns at the airstrip upon getting all silvers or above in pilot school. This plane resembles the Pitts S-2. *Beagle - Small passenger/cargo plane based on the Britten-Norman Islander *Nevada - prop cargo plane based on a Douglas DC-3 (The DC-3 was sometimes called the "Dakota") *Rustler - P-51 Mustang. Spawns in San Fierro Airport's hangar and at your air strip after completing the mission "Learning To Fly". *Sea Sparrow - Old military chopper (think MASH) with floats. Comes with a mounted machine gun. Find this at the Sherman Dam or on the shores north of your air strip. *Sparrow - Same as the Sea Sparrow but with skids (not floats) and no gun. Found on Madd Dog's helipad. *Maverick - Bell Jet Ranger. Possibly the world's most popular commercial aircraft. The cops and news people use this. Found at most heliports. *Hunter - AH-64 Apache. Though neither the Navy nor the Marines use the Apache, it can be found at the Naval Base in Easter Basin. It will spawn at your air strip if you complete the flying school with all gold medals. *Leviathan - US/Royal Navy Sea King. This helicopter spawns at your airstrip if you complete the heist mission: "Up, Up, and Away". It is also parked at all airports. Some have magnetic winches *Raindance - Army Bell 212 in fire department or coastguard colors. Found at the San Fierro Airport or at the lifeguard posts in Santa Maria Beach. *Cargobob - Looks like a Chinook with only one rotor assembly. Found on the helipad at the Army fuel dump. *Andromeda - It is a huge passenger and loader airplane similar to a Lockheed C5 Galaxy. It is bigger than the AT-400. It is only accessible through the use of a code. ==External Links== * [http://img41.exs.cx/img41/6430/carssan0vi.jpg GamerLady's Vehicle Location Map] ** if the Photobucket version has reached its limit, it is also hosted at GameFAQs * [http://www.gtaforums.com/index.php?showtopic=178311 modding "unmoddable" vehicles] at GTAForums.com * [http://www.gtaforums.com/index.php?showtopic=161004 Car Mod Reference Sheet] at GTAForums.com {{BookCat}} 3lhra1wacpi0vc8rxj1v77bg5snhxw0 Minecraft/Raw Beef 0 447859 4670057 4101393 2026-09-14T15:06:45Z ~2026-49701-26 3625945 4670057 wikitext text/x-wiki {{minecraft/item|stack=64|hunger=4|saturation=6|smelting=[[../Cooked Beef/]]}} Dropped from [[../Cow|cows]]. Also known as "steak" or "raw steak" on older editions. It give you upset stomach and diahreaa when eat!!! {{bookcat}} oou2k0ja1ec69rlvgw0d3o4szl6x2sn Cookbook:Nondairy Milk 102 449540 4670131 4344615 2026-09-15T04:21:59Z CommonsDelinker 49843 Removing [[:c:File:Leches_vegetales.jpg|Leches_vegetales.jpg]], it has been deleted from Commons by [[:c:User:Krd|Krd]] because: [[:c:Commons:Deletion requests/File:Leches vegetales.jpg|]]. 4670131 wikitext text/x-wiki __NOTOC__{{Ingredient summary | Category = Beverages }} {{Ingredient}} '''Nondairy milks and creams''' are products that mimic the taste and texture of milk. They are frequently used as vegan substitutes for dairy milk or for those who have a dietary intolerance to milk. However, no one nondairy milk can be used as a perfect substitute for milk. Many varieties of nondairy milk can be purchased commercially, though some will be hard to find and must be made at home. == Characteristics == The primary characteristics shared by most nondairy milks are a creamy consistency, neutral or mild flavor, and off-white color. == Types == === Grains/seeds === * [[Cookbook:Oat Milk|Oat milk]] * [[Cookbook:Hemp Milk|Hemp milk]] * [[Cookbook:Rice Milk|Rice milk]] * [[Cookbook:Quinoa Milk|Quinoa milk]] * [[Cookbook:Flax Milk|Flax milk]] === Nuts === * [[Cookbook:Almond Milk|Almond milk]] * [[Cookbook:Cashew Milk|Cashew milk]] * [[Cookbook:Macadamia Milk|Macadamia milk]] * [[Cookbook:Hazelnut Milk|Hazelnut milk]] * [[Cookbook:Walnut Milk|Walnut milk]] * [[Cookbook:Pistachio Milk|Pistachio milk]] === Legumes === * [[Cookbook:Soy Milk|Soy milk]] * [[Cookbook:Peanut Milk|Peanut milk]] * [[Cookbook:Pea Milk|Pea milk]] === Other === * [[Cookbook:Potato Milk|Potato milk]] * [[Cookbook:Nigerian Tiger Nut Milk (Kunnu Aya)|Tiger nut milk]] * [[Cookbook:Coconut Milk|Coconut milk]] * [[Cookbook:Banana Milk|Banana milk]] == Production == Generally, many varieties of nondairy milk are made by soaking their primary ingredient in water before blending into a smooth mixture. The solids are then strained out, and additional thickeners, stabilizers, sweeteners, and/or flavorings may be added to reach the final product. == Use == In addition to being consumed on their own, nondairy milks can be used in many of the same applications as milk, although no nondairy milk will be a perfect substitute. The behavior and properties of a given nondairy milk will depend on its ingredients, and some experimentation may be needed to achieve the desired results when substituting nondairy for dairy. == Gallery == <gallery mode="packed"> File:Non-Dairy Milk (5082987978).jpg|An assortment of commercially-available nondairy milks, including almond, hemp, soy, coconut, and rice File:Oat milk glass.jpg|Oat milk File:Soy milk.jpg|Soy milk File:Hemp milk with hemp seeds 2.jpg|Hemp milk File:Coconut milk from can01.JPG|Coconut milk File:Horchata jar.jpg|Tiger nut milk File:Pea protein milk with yellow split peas.jpg|Pea milk </gallery> == External links == * https://happyherbivore.com/2013/03/non-dairy-milk/ * https://www.tasteofhome.com/article/non-dairy-milk-alternatives/ * https://www.healthline.com/nutrition/best-milk-substitutes#TOC_TITLE_HDR_12 * https://www.nytimes.com/2022/02/01/well/eat/lactose-intolerant-non-dairy-milk.html [[Category:Beverages]] js35knbte0yfxaewdw32c3cy7pxc128 User talk:Xeverything11/updates 3 452115 4670061 4669984 2026-09-14T15:31:39Z MediaWiki message delivery 1188004 /* Tech News: 2026-38 */ new section 4670061 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 --> == Tech News: 2024-46 == <section begin="technews-2024-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/2024/46|Translations]] are available. '''Updates for editors''' * On wikis with the [[mw:Special:MyLanguage/Help:Extension:Translate|Translate extension]] enabled, users will notice that the FuzzyBot will now automatically create translated versions of categories used on translated pages. [https://phabricator.wikimedia.org/T285463] * View all {{formatnum:29}} community-submitted {{PLURAL:29|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the submitted task to use the [[mw:Special:MyLanguage/Extension:SecurePoll|SecurePoll extension]] for English Wikipedia's special [[w:en:Wikipedia:Administrator elections|administrator election]] was resolved on time. [https://phabricator.wikimedia.org/T371454] '''Updates for technical contributors''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] In <code dir="ltr">[[mw:MediaWiki_1.44/wmf.2|1.44.0-wmf-2]]</code>, the logic of Wikibase function <code>getAllStatements</code> changed to behave like <code>getBestStatements</code>. Invoking the function now returns a copy of values which are immutable. [https://phabricator.wikimedia.org/T270851] * [https://en.wikipedia.org/api/rest_v1/ Wikimedia REST API] users, such as bot operators and tool maintainers, may be affected by ongoing upgrades. The API will be rerouting some page content endpoints from RESTbase to the newer [[mw:Special:MyLanguage/API:REST API|MediaWiki REST API]] endpoints. The [[phab:T374683|impacted endpoints]] include getting page/revision metadata and rendered HTML content. These changes will be available on testwiki later this week, with other projects to follow. This change should not affect existing functionality, but active users of the impacted endpoints should verify behavior on testwiki, and raise any concerns on the related [[phab:T374683|Phabricator ticket]]. '''In depth''' * Admins and users of the Wikimedia projects [[mw:Special:MyLanguage/Moderator_Tools/Automoderator#Usage|where Automoderator is enabled]] can now monitor and evaluate important metrics related to Automoderator's actions. [https://superset.wmcloud.org/superset/dashboard/unified-automoderator-activity-dashboard/ This Superset dashboard] calculates and aggregates metrics about Automoderator's behaviour on the projects in which it is deployed. Thanks to the Moderator Tools team for this Dashboard; you can visit [[mw:Special:MyLanguage/Moderator Tools/Automoderator/Unified Activity Dashboard|the documentation page]] for more information about this work. [https://phabricator.wikimedia.org/T369488] '''Meetings and events''' * 21 November 2024 ([[m:Special:MyLanguage/Event:Commons community discussion - 21 November 2024 8:00 UTC|8:00 UTC]] & [[m:Special:MyLanguage/Event:Commons community discussion - 21 November 2024 16:00 UTC|16:00 UTC]]) - [[c:Commons:WMF support for Commons/Commons community calls|Community call]] with Wikimedia Commons volunteers and stakeholders to help prioritize support efforts for 2025-2026 Fiscal Year. The theme of this call is how content should be organised on Wikimedia Commons. '''''[[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/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-2024-W46"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:08, 12 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=27732268 --> == Wikipedia translation of the week: 2024-47 == <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:Boana platanera]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Rana platanera - Boana platanera.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''Boana platanera''''', commonly known as the banana tree dwelling frog, is a species of tree frog in the family Hylidae. It is distributed within Venezuela, Colombia, Panama, and Trinidad and Tobago. Boana platanera was described in 2021, and individuals of the species were previously classified as Boana crepitans or Boana xerophylla. <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:53, 18 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=27735014 --> == Tech News: 2024-47 == <section begin="technews-2024-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/2024/47|Translations]] are available. '''Updates for editors''' * Users of Wikimedia sites will now be warned when they create a [[mw:Special:MyLanguage/Help:Redirects|redirect]] to a page that doesn't exist. This will reduce the number of broken redirects to red links in our projects. [https://phabricator.wikimedia.org/T326057] * View all {{formatnum:42}} community-submitted {{PLURAL:42|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, [[mw:Special:MyLanguage/Manual:Pywikibot/Overview|Pywikibot]], which automates work on MediaWiki sites, was upgraded to 9.5.0 on Toolforge. [https://phabricator.wikimedia.org/T378676] '''Updates for technical contributors''' * On wikis that use the [[mw:Special:MyLanguage/Extension:FlaggedRevs|FlaggedRevs extension]], pages created or moved by users with the appropriate permissions are marked as flagged automatically. This feature has not been working recently, and changes fixing it should be deployed this week. Thanks to Daniel and Wargo for working on this. [https://phabricator.wikimedia.org/T379218][https://phabricator.wikimedia.org/T368380] '''In depth''' * There is a new [https://diff.wikimedia.org/2024/11/05/say-hi-to-temporary-accounts-easier-collaboration-with-logged-out-editors-with-better-privacy-protection Diff post] about Temporary Accounts, available in more than 15 languages. Read it to learn about what Temporary Accounts are, their impact on different groups of users, and the plan to introduce the change on all wikis. '''Meetings and events''' * Technical volunteers can now register for the [[mw:Special:MyLanguage/Wikimedia Hackathon 2025|2025 Wikimedia Hackathon]], which will take place in Istanbul, Turkey. [https://pretix.eu/wikimedia/hackathon2025/ Application for travel and accommodation scholarships] is open from '''November 12 to December 10 2024'''. The registration for the event will close in mid-April 2025. The Wikimedia Hackathon is an annual gathering that unites the global technical community to collaborate on existing projects and explore new ideas. * Join the [[C:Special:MyLanguage/Commons:WMF%20support%20for%20Commons/Commons%20community%20calls|Wikimedia Commons community calls]] this week to help prioritize support for Commons which will be planned for 2025–2026. The theme will be how content should be organised on Wikimedia Commons. This is an opportunity for volunteers who work on different things to come together and talk about what matters for the future of the project. The calls will take place '''November 21, 2024, [[m:Special:MyLanguage/Event:Commons community discussion - 21 November 2024 8:00 UTC|8:00 UTC]] and [[m:Special:MyLanguage/Event:Commons community discussion - 21 November 2024 16:00 UTC|16:00 UTC]]'''. * A [[mw:Special:MyLanguage/Wikimedia_Language_and_Product_Localization/Community meetings#29 November 2024|Language community meeting]] will take place '''November 29, 16:00 UTC''' to discuss updates and technical problem-solving. '''''[[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/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-2024-W47"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 02:01, 19 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=27806858 --> == Wikipedia translation of the week: 2024-48 == <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:Wang Su-bok]]'''<br /> <small>''([[:fa:وانگ سو بوک]])&#32;([[:ko:왕수복]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Wang Su-bok''' was a singer from North Korea, who was the most popular singer in Japanese-occupied Korea in 1935. She was credited as a ground-breaking female artist, whose work led the way for the modern K-pop phenomenon. <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, 25 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=27846897 --> == Tech News: 2024-48 == <section begin="technews-2024-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/2024/48|Translations]] are available. '''Updates for editors''' * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] A new version of the standard wikitext editor-mode [[mw:Special:MyLanguage/Extension:CodeMirror|syntax highlighter]] will be available as a [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] later this week. This brings many new features and bug fixes, including right-to-left support, [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Template folding|template folding]], [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Autocompletion|autocompletion]], and an improved search panel. You can learn more on the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|help page]]. * The 2010 wikitext editor now supports common keyboard shortcuts such <bdi lang="zxx" dir="ltr"><code>Ctrl</code>+<code>B</code></bdi> for bold and <bdi lang="zxx" dir="ltr"><code>Ctrl</code>+<code>I</code></bdi> for italics. A full [[mw:Help:Extension:WikiEditor#Keyboard shortcuts|list of all six shortcuts]] is available. Thanks to SD0001 for this improvement. [https://phabricator.wikimedia.org/T62928] * Starting November 28, Flow/Structured Discussions pages will be automatically archived and set to read-only at the following wikis: <bdi>bswiki</bdi>{{int:comma-separator/en}}<bdi>elwiki</bdi>{{int:comma-separator/en}}<bdi>euwiki</bdi>{{int:comma-separator/en}}<bdi>fawiki</bdi>{{int:comma-separator/en}}<bdi>fiwiki</bdi>{{int:comma-separator/en}}<bdi>frwikiquote</bdi>{{int:comma-separator/en}}<bdi>frwikisource</bdi>{{int:comma-separator/en}}<bdi>frwikiversity</bdi>{{int:comma-separator/en}}<bdi>frwikivoyage</bdi>{{int:comma-separator/en}}<bdi>idwiki</bdi>{{int:comma-separator/en}}<bdi>lvwiki</bdi>{{int:comma-separator/en}}<bdi>plwiki</bdi>{{int:comma-separator/en}}<bdi>ptwiki</bdi>{{int:comma-separator/en}}<bdi>urwiki</bdi>{{int:comma-separator/en}}<bdi>viwikisource</bdi>{{int:comma-separator/en}}<bdi>zhwikisource</bdi>. This is done as part of [[mw:Special:MyLanguage/Structured_Discussions/Deprecation|StructuredDiscussions deprecation work]]. If you need any assistance to archive your page in advance, please contact [[m:User:Trizek (WMF)|Trizek (WMF)]]. * View all {{formatnum:25}} community-submitted {{PLURAL:25|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a user creating a new AbuseFilter can now only set the filter to "protected" [[phab:T377765|if it includes a protected variable]]. '''Updates for technical contributors''' * The [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]], which can be used in JavaScript, CSS, JSON, and Lua pages, [[phab:T377663|now offers]] live autocompletion. Thanks to SD0001 for this improvement. The feature can be temporarily disabled on a page by pressing <bdi lang="zxx" dir="ltr"><code>Ctrl</code>+<code>,</code></bdi> and un-selecting "<bdi lang="en" dir="ltr">Live Autocompletion</bdi>". * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Tool-maintainers who use the Graphite system for tracking metrics, need to migrate to the newer Prometheus system. They can check [https://grafana.wikimedia.org/d/K6DEOo5Ik/grafana-graphite-datasource-utilization?orgId=1 this dashboard] and the list in the Description of the [[phab:T350592|task T350592]] to see if their tools are listed, and they should claim metrics and dashboards connected to their tools. They can then disable or migrate all existing metrics by following the instructions in the task. The Graphite service will become read-only in April. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/KLUV4IOLRYXPQFWD6WKKJUHMWE77BMSZ/] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] The [[mw:Special:MyLanguage/NewPP parser report|New PreProcessor parser performance report]] has been fixed to give an accurate count for the number of Wikibase entities accessed. It had previously been resetting after 400 entities. [https://phabricator.wikimedia.org/T279069] '''Meetings and events''' * A [[mw:Special:MyLanguage/Wikimedia_Language_and_Product_Localization/Community meetings#29 November 2024|Language community meeting]] will take place November 29 at [https://zonestamp.toolforge.org/1732896000 16:00 UTC]. There will be presentations on topics like developing language keyboards, the creation of the Mooré Wikipedia, the language support track at [[m:Wiki Indaba|Wiki Indaba]], and a report from the Wayuunaiki community on their experiences with the Incubator and as a new community over the last 3 years. This meeting will be in English and will also have Spanish interpretation. '''''[[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/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-2024-W48"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:42, 25 November 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=27847039 --> == Wikipedia translation of the week: 2024-49 == <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:Storm Filomena]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Spain’s chilly blanket ESA22415247.jpeg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Storm Filomena''' was an extratropical cyclone in early January 2021 that was most notable for bringing unusually heavy snowfall to parts of Spain, with Madrid recording its heaviest snowfall in over a century, and with Portugal being hit less severely. The eighth named storm of the 2020–21 European windstorm season, Filomena formed over the Atlantic Ocean close to the Canary Islands on 7 January, subsequently taking a slow track north-eastwards towards the Iberian Peninsula and then eastwards across the Mediterranean Sea. <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:48, 2 December 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=27846897 --> == Tech News: 2024-49 == <section begin="technews-2024-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/2024/49|Translations]] are available. '''Updates for editors''' * Two new parser functions were added this week. The <code dir="ltr"><nowiki>{{</nowiki>[[mw:Special:MyLanguage/Help:Magic words#interwikilink|#interwikilink]]<nowiki>}}</nowiki></code> function adds an [[mw:Special:MyLanguage/Help:Links#Interwiki links|interwiki link]] and the <code dir="ltr"><nowiki>{{</nowiki>[[mw:Special:MyLanguage/Help:Magic words#interlanguagelink|#interlanguagelink]]<nowiki>}}</nowiki></code> function adds an [[mw:Special:MyLanguage/Help:Links#Interlanguage links|interlanguage link]]. These parser functions are useful on wikis where namespaces conflict with interwiki prefixes. For example, links beginning with <bdi lang="zxx" dir="ltr"><code>MOS:</code></bdi> on English Wikipedia [[phab:T363538|conflict with the <code>mos</code> language code prefix of Mooré Wikipedia]]. * Starting this week, Wikimedia wikis no longer support connections using old RSA-based HTTPS certificates, specifically rsa-2048. This change is to improve security for all users. Some older, unsupported browser or smartphone devices will be unable to connect; Instead, they will display a connectivity error. See the [[wikitech:HTTPS/Browser_Recommendations|HTTPS Browser Recommendations page]] for more-detailed information. All modern operating systems and browsers are always able to reach Wikimedia projects. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/CTYEHVNSXUD3NFAAMG3BLZVTVQWJXJAH/] * Starting December 16, Flow/Structured Discussions pages will be automatically archived and set to read-only at the following wikis: <bdi>arwiki</bdi>{{int:comma-separator/en}}<bdi>cawiki</bdi>{{int:comma-separator/en}}<bdi>frwiki</bdi>{{int:comma-separator/en}}<bdi>mediawikiwiki</bdi>{{int:comma-separator/en}}<bdi>orwiki</bdi>{{int:comma-separator/en}}<bdi>wawiki</bdi>{{int:comma-separator/en}}<bdi>wawiktionary</bdi>{{int:comma-separator/en}}<bdi>wikidatawiki</bdi>{{int:comma-separator/en}}<bdi>zhwiki</bdi>. This is done as part of [[mw:Special:MyLanguage/Structured_Discussions/Deprecation|StructuredDiscussions deprecation work]]. If you need any assistance to archive your page in advance, please contact [[m:User:Trizek (WMF)|Trizek (WMF)]]. [https://phabricator.wikimedia.org/T380910] * This month the Chart extension was deployed to production and is now available on Commons and Testwiki. With the security review complete, pilot wiki deployment is expected to start in the first week of December. You can see a working version [[testwiki:Charts|on Testwiki]] and read [[mw:Special:MyLanguage/Extension:Chart/Project/Updates|the November project update]] for more details. * View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug with the "Download as PDF" system was fixed. [https://phabricator.wikimedia.org/T376438] '''Updates for technical contributors''' * In late February, temporary accounts will be rolled out on at least 10 large wikis. This deployment will have a significant effect on the community-maintained code. This is about Toolforge tools, bots, gadgets, and user scripts that use IP address data or that are available for logged-out users. The Trust and Safety Product team wants to identify this code, monitor it, and assist in updating it ahead of the deployment to minimize disruption to workflows. The team asks technical editors and volunteer developers to help identify such tools by adding them to [[mw:Trust and Safety Product/Temporary Accounts/For developers/Impacted tools|this list]]. In addition, review the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers|updated documentation]] to learn how to adjust the tools. Join the discussions on the [[mw:Talk:Trust and Safety Product/Temporary Accounts|project talk page]] or in the [[discord:channels/221049808784326656/1227616742340034722|dedicated thread]] on the [[w:Wikipedia:Discord|Wikimedia Community Discord server (in English)]] for support and to share 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/2024/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-2024-W49"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:23, 2 December 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=27873992 --> == Wikipedia translation of the week: 2024-50 == <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:Syrian literature]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Poem about Baybars page 1 from Hakawati book.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Syrian literature''' is modern fiction written or orally performed in Arabic by writers from Syria since the independence of the Syrian Arab Republic in 1946. It is part of the historically and geographically wider Arabic literature. The modern states of Syria, Lebanon, Jordan, Israel as well as the Palestinian autonomous areas only came into being in the mid-20th century. Therefore, Syrian literature has since been referred to by literary scholarship as the national literature of the Syrian Arab Republic, as well as the works created in Arabic by Syrian writers in the diaspora. This literature has been influenced by the country's political history, the literature of other Arabic-speaking countries and, especially in its early days, by French literature. <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:59, 9 December 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=27846897 --> == Tech News: 2024-50 == <section begin="technews-2024-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/2024/50|Translations]] are available. '''Weekly highlight''' * Technical documentation contributors can find updated resources, and new ways to connect with each other and the Wikimedia Technical Documentation Team, at the [[mw:Special:MyLanguage/Documentation|Documentation hub]] on MediaWiki.org. This page links to: resources for writing and improving documentation, a new <bdi lang="zxx" dir="ltr">#wikimedia-techdocs</bdi> IRC channel on libera.chat, a listing of past and upcoming documentation events, and ways to request a documentation consultation or review. If you have any feedback or ideas for improvements to the documentation ecosystem, please [[mw:Wikimedia Technical Documentation Team#Contact us|contact the Technical Documentation Team]]. '''Updates for editors''' [[File:Edit Check on Desktop.png|thumb|Layout change for the Edit Check feature]] * Later this week, [[mw:Special:MyLanguage/Edit check|Edit Check]] will be relocated to a sidebar on desktop. Edit check is the feature for new editors to help them follow policies and guidelines. This layout change creates space to present people with [[mw:Edit check#1 November 2024|new Checks]] that appear ''while'' they are typing. The [[mw:Special:MyLanguage/Edit check#Reference Check A/B Test|initial results]] show newcomers encountering Edit Check are 2.2 times more likely to publish a new content edit that includes a reference and is not reverted. * The Chart extension, which enables editors to create data visualizations, was successfully made available on MediaWiki.org and three pilot wikis (Italian, Swedish, and Hebrew Wikipedias). You can see a working examples [[testwiki:Charts|on Testwiki]] and read [[mw:Special:MyLanguage/Extension:Chart/Project/Updates|the November project update]] for more details. * Translators in wikis where the [[mw:Special:MyLanguage/Content translation/Section translation#Try the tool|mobile experience of Content Translation is available]], can now discover articles in Wikiproject campaigns of their interest from the "[https://test.wikipedia.org/w/index.php?title=Special:ContentTranslation&campaign=specialcx&filter-type=automatic&filter-id=collections&active-list=suggestions&from=es&to=en All collection]" category in the articles suggestion feature. Wikiproject Campaign organizers can use this feature, to help translators to discover articles of interest, by adding the <code dir=ltr><nowiki><page-collection> </page-collection></nowiki></code> tag to their campaign article list page on Meta-wiki. This will make those articles discoverable in the Content Translation tool. For more detailed information on how to use the tool and tag, please refer to [[mw:Special:MyLanguage/Translation suggestions: Topic-based & Community-defined lists/How to use the features|the step-by-step guide]]. [https://phabricator.wikimedia.org/T378958] * The [[mw:Special:MyLanguage/Extension:Nuke|Nuke]] feature, which enables administrators to mass delete pages, now has a [[phab:T376379#10310998|multiselect filter for namespace selection]]. This enables users to select multiple specific namespaces, instead of only one or all, when fetching pages for deletion. * The Nuke feature also now [[phab:T364225#10371365|provides links]] to the userpage of the user whose pages were deleted, and to the pages which were not selected for deletion, after page deletions are queued. This enables easier follow-up admin-actions. Thanks to Chlod and the Moderator Tools team for both of these improvements. [https://phabricator.wikimedia.org/T364225#10371365] * The Editing Team is working on making it easier to populate citations from archive.org using the [[mw:Special:MyLanguage/Citoid/Enabling Citoid on your wiki|Citoid]] tool, the auto-filled citation generator. They are asking communities to add two parameters preemptively, <code dir=ltr>archiveUrl</code> and <code dir=ltr>archiveDate</code>, within the TemplateData for each citation template using Citoid. You can see an [https://en.wikipedia.org/w/index.php?title=Template%3ACite_web%2Fdoc&diff=1261320172&oldid=1260788022 example of a change in a template], and a [https://global-search.toolforge.org/?namespaces=10&q=%5C%22citoid%5C%22%3A%20%5C%7B&regex=1&title= list of all relevant templates]. [https://phabricator.wikimedia.org/T374831] * One new wiki has been created: a {{int:project-localized-name-group-wikivoyage}} in [[d:Q9240|Indonesian]] ([[voy:id:|<code>voy:id:</code>]]) [https://phabricator.wikimedia.org/T380726] * Last week, all wikis had problems serving pages to logged-in users and some logged-out users for 30–45 minutes. This was caused by a database problem, and investigation is ongoing. [https://www.wikimediastatus.net/incidents/3g2ckc7bp6l9] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:19}} community-submitted {{PLURAL:19|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug in the [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add Link]] feature has been fixed. Previously, the list of sections which are excluded from Add Link was partially ignored in certain cases. [https://phabricator.wikimedia.org/T380455][https://phabricator.wikimedia.org/T380329] '''Updates for technical contributors''' * [[mw:Special:MyLanguage/Codex|Codex]], the design system for Wikimedia, now has an early-stage [[gitiles:design/codex-php|implementation in PHP]]. It is available for general use in MediaWiki extensions and Toolforge apps through [https://packagist.org/packages/wikimedia/codex Composer], with use in MediaWiki core coming soon. More information is available in [[wmdoc:design-codex-php/main/index.html|the documentation]]. Thanks to Doğu for the inspiration and many contributions to the library. [https://phabricator.wikimedia.org/T379662] * [https://en.wikipedia.org/api/rest_v1/ Wikimedia REST API] users, such as bot operators and tool maintainers, may be affected by ongoing upgrades. On December 4, the MediaWiki Interfaces team began rerouting page/revision metadata and rendered HTML content endpoints on [[testwiki:|testwiki]] from RESTbase to comparable MediaWiki REST API endpoints. The team encourages active users of these endpoints to verify their tool's behavior on testwiki and raise any concerns on the related [[phab:T374683|Phabricator ticket]] before the end of the year, as they intend to roll out the same change across all Wikimedia projects in early January. These changes are part of the work to replace the outdated [[mw:RESTBase/deprecation|RESTBase]] system. * The [https://wikimediafoundation.limesurvey.net/986172 2024 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 3 January 2025, and has an associated [[foundation:Legal:Developer Satisfaction Survey 2024 Privacy Statement|privacy statement]]. * There is no new MediaWiki version this week. [https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Meetings and events''' * The next meeting in the series of [[c:Commons:WMF support for Commons/Commons community calls|Wikimedia Foundation discussions with the Wikimedia Commons community]] will take place on [[m:Event:Commons community discussion - 12 December 2024 08:00 UTC|December 12 at 8:00 UTC]] and [[m:Event:Commons community discussion - 12_December 2024 16:00 UTC|at 16:00 UTC]]. The topic of this call is new media and new contributors. Contributors from all wikis are welcome to attend. '''''[[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/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-2024-W50"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:16, 9 December 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=27919424 --> == Wikipedia translation of the week: 2024-51 == <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:Mars ocean theory]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:AncientMars.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Mars ocean theory''' states that nearly a third of the surface of Mars was covered by an ocean of liquid water early in the planet's geologic history. This primordial ocean, dubbed Paleo-Ocean or Oceanus Borealis (/oʊˈsiːənəs ˌbɒriˈælɪs/ oh-SEE-ə-nəs BORR-ee-AL-iss), would have filled the basin Vastitas Borealis in the northern hemisphere, a region that lies 4–5 km (2.5–3 miles) below the mean planetary elevation, at a time period of approximately 4.1–3.8 billion years ago. Evidence for this ocean includes geographic features resembling ancient shorelines, and the chemical properties of the Martian soil and atmosphere <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:44, 16 December 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=27933909 --> == Tech News: 2024-51 == <section begin="technews-2024-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/2024/51|Translations]] are available. '''Weekly highlight''' * Interested in improving event management on your home wiki? The [[m:Special:MyLanguage/CampaignEvents|CampaignEvents extension]] offers organizers features like event registration management, event/wikiproject promotion, finding potential participants, and more - all directly on-wiki. If you are an organizer or think your community would benefit from this extension, start a discussion to enable it on your wiki today. To learn more about how to enable this extension on your wiki, visit the [[m:CampaignEvents/Deployment status#How to Request the CampaignEvents Extension for your wiki|deployment status page]]. '''Updates for editors''' * Users of the iOS Wikipedia App in Italy and Mexico on the Italian, Spanish, and English Wikipedias, can see a [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Personalized Wikipedia Year in Review|personalized Year in Review]] with insights based on their reading and editing history. * Users of the Android Wikipedia App in Sub-Saharan Africa and South Asia can see the new [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/Rabbit Holes|Rabbit Holes]] feature. This feature shows a suggested search term in the Search bar based on the current article being viewed, and a suggested reading list generated from the user’s last two visited articles. * The [[m:Special:MyLanguage/Global reminder bot|global reminder bot]] is now active and running on nearly 800 wikis. This service reminds most users holding temporary rights when they are about to expire, so that they can renew should they want to. See [[m:Global reminder bot/Technical details|the technical details page]] for more information. * The next issue of Tech News will be sent out on 13 January 2025 because of the end of year holidays. Thank you to all of the translators, and people who submitted content or feedback, this year. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was [[phab:T374988|fixed]] in the Android Wikipedia App which had caused translatable SVG images to show the wrong language when they were tapped. '''Updates for technical contributors''' * There is no new MediaWiki version next week. The next deployments will start on 14 January. [https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar/2025] '''''[[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/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-2024-W51"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:25, 16 December 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=27942374 --> == Wikipedia translation of the week: 2024-52 == <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:2023 Slovenia floods]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Sava v Tacnu 4. avgusta ob 16h.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> In August 2023, major floods occurred in large part of Slovenia and neighbouring areas of Austria and Croatia due to heavy rain. Amongst others, the level of rivers Sava, Mur and Drava was exceptionally high. Several settlements and transport links in Slovene Littoral, Upper Carniola and Slovenian Carinthia were flooded. Due to the amount of rain, the streams in Idrija, Cerkno and Škofja Loka Hills overflowed. <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:55, 23 December 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=27933909 --> == Wikipedia translation of the week: 2025-01 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Uganda Railways Corporation]]'''<br /> <small>''([[:de:Schienenverkehr in Uganda]])&#32;([[:no:Uganda Railways Corporation]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:9620 mit Güterzug.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Uganda Railways Corporation''' (URC) is the parastatal railway of Uganda. It was formed after the breakup of the East African Railways Corporation (EARC) in 1977 when it took over the Ugandan part of the East African railways. <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:37, 30 December 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=28019313 --> == Wikipedia translation of the week: 2025-02 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Internment of Japanese Canadians]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Japanese road camp.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> From 1942 to 1949, Canada forcibly relocated and incarcerated over 22,000 Japanese Canadians—comprising over 90% of the total Japanese Canadian population—from British Columbia in the name of "national security". The majority were Canadian citizens by birth and were targeted based on their ancestry. This decision followed the events of the Japanese Empire's war in the Pacific against the Western Allies, such as the invasion of Hong Kong, the attack on Pearl Harbor in Hawaii, and the Fall of Singapore which led to the Canadian declaration of war on Japan during World War II. Similar to the actions taken against Japanese Americans in neighbouring United States, this forced relocation subjected many Japanese Canadians to government-enforced curfews and interrogations, job and property losses, and forced repatriation to Japan <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:56, 6 January 2025 (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=28070038 --> == Wikipedia translation of the week: 2025-03 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Christmas seals]]'''<br /> <small>''([[:no:Julemerke]])&#32;([[:ru:Рождественская виньетка]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:1915 US Christmas Seal.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Christmas seals''' are adhesive labels that are similar in appearance to postage stamps that are sold then affixed to mail during the Christmas season to raise funds and awareness for charitable programs. Christmas seals have become particularly associated with lung diseases such as tuberculosis, and with child welfare in general. They were first issued in Denmark beginning in 1904, with Sweden and Iceland following with issues that same year. Thereafter the use of Christmas seals proved to be popular and spread quickly around the world, with 130 countries producing their own issues. <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:24, 13 January 2025 (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=28086717 --> == Tech News: 2025-03 == <section begin="technews-2025-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/2025/03|Translations]] are available. '''Weekly highlight''' * The Single User Login system is being updated over the next few months. This is the system which allows users to fill out the login form on one Wikimedia site and get logged in on all others at the same time. It needs to be updated because of the ways that browsers are increasingly restricting cross-domain cookies. To accommodate these restrictions, login and account creation pages will move to a central domain, but it will still appear to the user as if they are on the originating wiki. The updated code will be enabled this week for users on test wikis. This change is planned to roll out to all users during February and March. See [[mw:Special:MyLanguage/MediaWiki Platform Team/SUL3#Deployment|the SUL3 project page]] for more details and a timeline. '''Updates for editors''' * On wikis with [[mw:Special:MyLanguage/Extension:PageAssessments|PageAssessments]] installed, you can now [[mw:Special:MyLanguage/Extension:PageAssessments#Search|filter search results]] to pages in a given WikiProject by using the <code dir=ltr>inproject:</code> keyword. (These wikis: {{int:project-localized-name-arwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-enwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-enwikivoyage/en}}{{int:comma-separator/en}}{{int:project-localized-name-frwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-huwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-newiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-trwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zhwiki/en}}) [https://phabricator.wikimedia.org/T378868] * One new wiki has been created: a {{int:project-localized-name-group-wikipedia}} in [[d:Q34129|Tigre]] ([[w:tig:|<code>w:tig:</code>]]) [https://phabricator.wikimedia.org/T381377] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:35}} community-submitted {{PLURAL:35|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, there was a bug with updating a user's edit-count after making a rollback edit, which is now fixed. [https://phabricator.wikimedia.org/T382592] '''Updates for technical contributors''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Wikimedia REST API users, such as bot operators and tool maintainers, may be affected by ongoing upgrades. Starting the week of January 13, we will begin rerouting [[phab:T374683|some page content endpoints]] from RESTbase to the newer MediaWiki REST API endpoints for all wiki projects. This change was previously available on testwiki and should not affect existing functionality, but active users of the impacted endpoints may raise issues directly to the [[phab:project/view/6931/|MediaWiki Interfaces Team]] in Phabricator if they arise. * Toolforge tool maintainers can now share their feedback on Toolforge UI, an initiative to provide a web platform that allows creating and managing Toolforge tools through a graphic interface, in addition to existing command-line workflows. This project aims to streamline active maintainers’ tasks, as well as make registration and deployment processes more accessible for new tool creators. The initiative is still at a very early stage, and the Cloud Services team is in the process of collecting feedback from the Toolforge community to help shape the solution to their needs. [[wikitech:Wikimedia Cloud Services team/EnhancementProposals/Toolforge UI|Read more and share your thoughts about Toolforge UI]]. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] For tool and library developers who use the OAuth system: The identity endpoint used for [[mw:Special:MyLanguage/OAuth/For Developers#Identifying the user|OAuth 1]] and [[mw:Special:MyLanguage/OAuth/For Developers#Identifying the user 2|OAuth 2]] returned a JSON object with an integer in its <code>sub</code> field, which was incorrect (the field must always be a string). This has been fixed; the fix will be deployed to Wikimedia wikis on the week of January 13. [https://phabricator.wikimedia.org/T382139] * Many wikis currently use [[:mw:Parsoid/Parser Unification/Cite CSS|Cite CSS]] to render custom footnote markers in Parsoid output. Starting January 20 these rules will be disabled, but the developers ask you to ''not'' clean up your <bdi lang="en" dir="ltr">[[MediaWiki:Common.css]]</bdi> until February 20 to avoid issues during the migration. Your wikis might experience some small changes to footnote markers in Visual Editor and when using experimental Parsoid read mode, but if there are changes these are expected to bring the rendering in line with the legacy parser output. [https://phabricator.wikimedia.org/T370027] '''Meetings and events''' * The next meeting in the series of [[c:Special:MyLanguage/Commons:WMF support for Commons/Commons community calls|Wikimedia Foundation Community Conversations with the Wikimedia Commons community]] will take place on [[m:Special:MyLanguage/Event:Commons community discussion - 15 January 2025 08:00 UTC|January 15 at 8:00 UTC]] and [[m:Special:MyLanguage/Event:Commons community discussion - 15 January 2025 16:00 UTC|at 16:00 UTC]]. The topic of this call is defining the priorities in tool investment for Commons. Contributors from all wikis, especially users who are maintaining tools for Commons, are welcome to attend. '''''[[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/2025/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-2025-W03"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:42, 14 January 2025 (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=28048614 --> == Wikipedia translation of the week: 2025-04 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:2010 Nagorno-Karabakh clashes]]'''<br /> <small>''([[:it:Scontri del Nagorno Karabakh del 2010]])&#32;([[:tr:2010 Dağlık Karabağ çatışmaları]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''2010 Nahorno karabakh war''' were a series of exchanges of gunfire that took place on February 18 on the line of contact dividing Azerbaijani and the Karabakh Armenian military forces. Azerbaijan accused the Armenian forces of firing on the Azerbaijani positions near Tap Qaraqoyunlu, Qızıloba, Qapanlı, Yusifcanlı and Cavahirli villages, as well as in uplands of Agdam Rayon with small arms fire including snipers. As a result, three Azerbaijani soldiers were killed and one wounded. <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:20, 20 January 2025 (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=28099770 --> == Tech News: 2025-04 == <section begin="technews-2025-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/2025/04|Translations]] are available. '''Updates for editors''' * Administrators can mass-delete multiple pages created by a user or IP address using [[mw:Special:MyLanguage/Extension:Nuke|Extension:Nuke]]. It previously only allowed deletion of pages created in the last 30 days. It can now delete pages from the last 90 days, provided it is targeting a specific user or IP address. [https://phabricator.wikimedia.org/T380846] * On [[phab:P72148|wikis that use]] the [[mw:Special:MyLanguage/Help:Patrolled edits|Patrolled edits]] feature, when the rollback feature is used to revert an unpatrolled page revision, that revision will now be marked as "manually patrolled" instead of "autopatrolled", which is more accurate. Some editors that use [[mw:Special:MyLanguage/Help:New filters for edit review/Filtering|filters]] on Recent Changes may need to update their filter settings. [https://phabricator.wikimedia.org/T302140] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the Visual Editor's "Insert link" feature did not always suggest existing pages properly when an editor started typing, which has now been [[phab:T383497|fixed]]. '''Updates for technical contributors''' * The Structured Discussion extension (also known as Flow) is being progressively removed from the wikis. 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|The last group of wikis]] ({{int:project-localized-name-cawikiquote/en}}{{int:comma-separator/en}}{{int:project-localized-name-fiwikimedia/en}}{{int:comma-separator/en}}{{int:project-localized-name-gomwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kabwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ptwikibooks/en}}{{int:comma-separator/en}}{{int:project-localized-name-sewikimedia/en}}) will soon be contacted. If you have questions about this process, please ping [[m:User:Trizek (WMF)|Trizek (WMF)]] at your wiki. [https://phabricator.wikimedia.org/T380912] * The latest quarterly [[mw:Technical_Community_Newsletter/2025/January|Technical Community Newsletter]] is now available. This edition includes: updates about services from the Data Platform Engineering teams, information about Codex from the Design System team, 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/2025/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-2025-W04"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:37, 21 January 2025 (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=28129769 --> == Wikipedia translation of the week: 2025-05 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Jinnah's birthday]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Yorkstatue.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Jinnah's Birthday''', officially Quaid-e-Azam Day and sometimes known as Quaid Day, is a public holiday in Pakistan observed annually on 25 December to celebrate the birthday of the founder of Pakistan, Muhammad Ali Jinnah, known as Quaid-i-Azam ("Great Leader"). A major holiday, commemorations for Jinnah began during his lifetime in 1942, and have continued ever since. The event is primarily observed by the government and the citizens of the country where the national flag is hoisted at major architectural structures such as private and public buildings, particularly at the top of Quaid-e-Azam House in Karachi. <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:30, 27 January 2025 (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=28156501 --> == Tech News: 2025-05 == <section begin="technews-2025-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/2025/05|Translations]] are available. '''Weekly highlight''' * Patrollers and admins - what information or context about edits or users could help you to make patroller or admin decisions more quickly or easily? The Wikimedia Foundation wants to hear from you to help guide its upcoming annual plan. Please consider sharing your thoughts on this and [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Product & Technology OKRs|13 other questions]] to shape the technical direction for next year. '''Updates for editors''' * iOS Wikipedia App users worldwide can now access a [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Personalized Wikipedia Year in Review/How your data is used|personalized Year in Review]] feature, which provides insights based on their reading and editing history on Wikipedia. This project is part of a broader effort to help welcome new readers as they discover and interact with encyclopedic content. * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] Edit patrollers now have a new feature available that can highlight potentially problematic new pages. When a page is created with the same title as a page which was previously deleted, a tag ('Recreated') will now be added, which users can filter for in [[{{#special:RecentChanges}}]] and [[{{#special:NewPages}}]]. [https://phabricator.wikimedia.org/T56145] * Later this week, there will be a new warning for editors if they attempt to create a redirect that links to another redirect (a [[mw:Special:MyLanguage/Help:Redirects#Double redirects|double redirect]]). The feature will recommend that they link directly to the second redirect's target page. Thanks to the user SomeRandomDeveloper for this improvement. [https://phabricator.wikimedia.org/T326056] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Wikimedia wikis allow [[w:en:WebAuthn|WebAuthn]]-based second factor checks (such as hardware tokens) during login, but the feature is [[m:Community Wishlist Survey 2023/Miscellaneous/Fix security key (WebAuthn) support|fragile]] and has very few users. The MediaWiki Platform team is temporarily disabling adding new WebAuthn keys, to avoid interfering with the rollout of [[mw:MediaWiki Platform Team/SUL3|SUL3]] (single user login version 3). Existing keys are unaffected. [https://phabricator.wikimedia.org/T378402] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * For developers that use the [[wikitech:Data Platform/Data Lake/Edits/MediaWiki history dumps|MediaWiki History dumps]]: The Data Platform Engineering team has added a couple of new fields to these dumps, to support the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|Temporary Accounts]] initiative. If you maintain software that reads those dumps, please review your code and the updated documentation, since the order of the fields in the row will change. There will also be one field rename: in the <bdi lang="zxx" dir="ltr"><code>mediawiki_user_history</code></bdi> dump, the <bdi lang="zxx" dir="ltr"><code>anonymous</code></bdi> field will be renamed to <bdi lang="zxx" dir="ltr"><code>is_anonymous</code></bdi>. The changes will take effect with the next release of the dumps in February. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/LKMFDS62TXGDN6L56F4ABXYLN7CSCQDI/] '''''[[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/2025/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-2025-W05"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:15, 27 January 2025 (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=28149374 --> == Wikipedia translation of the week: 2025-06 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:French conquest of Corsica]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Bataille de Ponte Novu.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''French conquest of Corsica''' was a successful expedition by French forces of the Kingdom of France under Comte de Vaux, against Corsican forces under Pasquale Paoli of the Corsican Republic. The expedition was launched in May 1768, in the aftermath of the Seven Years' War. <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]]) 12:20, 3 February 2025 (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=28200320 --> == Tech News: 2025-06 == <section begin="technews-2025-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/2025/06|Translations]] are available. '''Updates for editors''' * Editors who use the "Special characters" editing-toolbar menu can now see the 32 special characters you have used most recently, across editing sessions on that wiki. This change should help make it easier to find the characters you use most often. The feature is in both the 2010 wikitext editor and VisualEditor. [https://phabricator.wikimedia.org/T110722] * Editors using the 2010 wikitext editor can now create sublists with correct indentation by selecting the line(s) you want to indent and then clicking the toolbar buttons.[https://phabricator.wikimedia.org/T380438] You can now also insert <code><nowiki><code></nowiki></code> tags using a new toolbar button.[https://phabricator.wikimedia.org/T383010] Thanks to user stjn for these improvements. * Help is needed to ensure the [[mw:Special:MyLanguage/Citoid/Enabling Citoid on your wiki|citation generator]] works properly on each wiki. ** (1) Administrators should update the local versions of the page <code dir=ltr>MediaWiki:Citoid-template-type-map.json</code> to include entries for <code dir=ltr>preprint</code>, <code dir=ltr>standard</code>, and <code dir=ltr>dataset</code>; Here are example diffs to replicate [https://en.wikipedia.org/w/index.php?title=MediaWiki%3ACitoid-template-type-map.json&diff=1189164774&oldid=1165783565 for 'preprint'] and [https://en.wikipedia.org/w/index.php?title=MediaWiki%3ACitoid-template-type-map.json&diff=1270832208&oldid=1270828390 for 'standard' and 'dataset']. ** (2.1) If the citoid map in the citation template used for these types of references is missing, [[mediawikiwiki:Citoid/Enabling Citoid on your wiki#Step 2.a: Create a 'citoid' maps value for each citation template|one will need to be added]]. (2.2) If the citoid map does exist, the TemplateData will need to be updated to include new field names. Here are example updates [https://en.wikipedia.org/w/index.php?title=Template%3ACitation%2Fdoc&diff=1270829051&oldid=1262470053 for 'preprint'] and [https://en.wikipedia.org/w/index.php?title=Template%3ACitation%2Fdoc&diff=1270831369&oldid=1270829480 for 'standard' and 'dataset']. The new fields that may need to be supported are <code dir=ltr>archiveID</code>, <code dir=ltr>identifier</code>, <code dir=ltr>repository</code>, <code dir=ltr>organization</code>, <code dir=ltr>repositoryLocation</code>, <code dir=ltr>committee</code>, and <code dir=ltr>versionNumber</code>. [https://phabricator.wikimedia.org/T383666] * One new wiki has been created: a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q15637215|Central Kanuri]] ([[w:knc:|<code>w:knc:</code>]]) [https://phabricator.wikimedia.org/T385181] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the [[mediawikiwiki:Special:MyLanguage/Help:Extension:Wikisource/Wikimedia OCR|OCR (optical character recognition) tool]] used for Wikisource now supports a new language, Church Slavonic. [https://phabricator.wikimedia.org/T384782] '''''[[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/2025/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-2025-W06"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:09, 4 February 2025 (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=28203495 --> == Wikipedia translation of the week: 2025-07 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Assassination of Spencer Perceval]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:PercevalShooting.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> On 11 May 1812, at about 5:15 pm, Spencer Perceval, the prime minister of the United Kingdom of Great Britain and Ireland, was shot dead in the lobby of the House of Commons by John Bellingham, a Liverpool merchant with a grievance against the government. Bellingham was detained; four days after the murder, he was tried, convicted and sentenced to death. He was hanged at Newgate Prison on 18 May, one week after the assassination and one month before the start of the War of 1812. Perceval remains the sole British prime minister to have been assassinated. <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:18, 10 February 2025 (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=28200320 --> == Tech News: 2025-07 == <section begin="technews-2025-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/2025/07|Translations]] are available. '''Weekly highlight''' * The Product and Technology Advisory Council (PTAC) has published [[m:Special:MyLanguage/Product and Technology Advisory Council/February 2025 draft PTAC recommendation for feedback|a draft of their recommendations]] for the Wikimedia Foundation's Product and Technology department. They have recommended focusing on [[m:Special:MyLanguage/Product and Technology Advisory Council/February 2025 draft PTAC recommendation for feedback/Mobile experiences|mobile experiences]], particularly contributions. They request community [[m:Talk:Product and Technology Advisory Council/February 2025 draft PTAC recommendation for feedback|feedback at the talk page]] by 21 February. '''Updates for editors''' * The "Special pages" portlet link will be moved from the "Toolbox" into the "Navigation" section of the main menu's sidebar by default. This change is because the Toolbox is intended for tools relating to the current page, not tools relating to the site, so the link will be more logically and consistently located. To modify this behavior and update CSS styling, administrators can follow the instructions at [[phab:T385346|T385346]]. [https://phabricator.wikimedia.org/T333211] * As part of this year's work around improving the ways readers discover content on the wikis, the Web team will be running an experiment with a small number of readers that displays some suggestions for related or interesting articles within the search bar. Please check out [[mw:Special:MyLanguage/Reading/Web/Content Discovery Experiments#Experiment 1: Display article recommendations in more prominent locations, search|the project page]] for more information. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Template editors who use TemplateStyles can now customize output for users with specific accessibility needs by using accessibility related media queries (<code dir=ltr>[https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion prefers-reduced-motion]</code>, <code dir=ltr>[https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-transparency prefers-reduced-transparency]</code>, <code dir=ltr>[https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-contrast prefers-contrast]</code>, and <code dir=ltr>[https://developer.mozilla.org/en-US/docs/Web/CSS/@media/forced-colors forced-colors]</code>). Thanks to user Bawolff for these improvements. [https://phabricator.wikimedia.org/T384175] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:22}} community-submitted {{PLURAL:22|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the global blocks log will now be shown directly on the {{#special:CentralAuth}} page, similarly to global locks, to simplify the workflows for stewards. [https://phabricator.wikimedia.org/T377024] '''Updates for technical contributors''' * Wikidata [[d:Special:MyLanguage/Help:Default values for labels and aliases|now supports a special language as a "default for all languages"]] for labels and aliases. This is to avoid excessive duplication of the same information across many languages. If your Wikidata queries use labels, you may need to update them as some existing labels are getting removed. [https://phabricator.wikimedia.org/T312511] * The function <code dir="ltr">getDescription</code> was invoked on every Wiki page read and accounts for ~2.5% of a page's total load time. The calculated value will now be cached, reducing load on Wikimedia servers. [https://phabricator.wikimedia.org/T383660] * As part of the RESTBase deprecation [[mw:RESTBase/deprecation|effort]], the <code dir="ltr">/page/related</code> endpoint has been blocked as of February 6, 2025, and will be removed soon. This timeline was chosen to align with the deprecation schedules for older Android and iOS versions. The stable alternative is the "<code dir="ltr">morelike</code>" action API in MediaWiki, and [[gerrit:c/mediawiki/services/mobileapps/+/982154/13/pagelib/src/transform/FooterReadMore.js|a migration example]] is available. The MediaWiki Interfaces team [[phab:T376297|can be contacted]] for any questions. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/GFC2IJO7L4BWO3YTM7C5HF4MCCBE2RJ2/] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/January|Language and Internationalization newsletter]] is available. It includes: Updates about the "Contribute" menu; details on some of the newest language editions of Wikipedia; details on new languages supported by the MediaWiki interface; updates on the Community-defined lists feature; and more. * The latest [[mw:Extension:Chart/Project/Updates#January 2025: Better visibility into charts and tabular data usage|Chart Project newsletter]] is available. It includes updates on the progress towards bringing better visibility into global charts usage and support for categorizing pages in the Data namespace on Commons. '''''[[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/2025/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-2025-W07"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:12, 11 February 2025 (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=28231022 --> == Wikipedia translation of the week: 2025-08 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:2010 Malagasy constitutional referendum]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> A constitutional referendum was held in Madagascar on 17 November 2010, in which voters approved a proposal for the state's fourth Constitution. The Malagasy people were asked to answer "Yes" or "No" to the proposed new constitution, which was considered to help consolidate Andry Rajoelina's grip on power. At the time of the referendum, Rajoelina headed the governing Highest Transitional Authority (HAT), an interim junta established following the military-backed coup d'état against then President Marc Ravalomanana in March 2009. <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:21, 17 February 2025 (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=28245290 --> == Tech News: 2025-08 == <section begin="technews-2025-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/2025/08|Translations]] are available. '''Weekly highlight''' * Communities using growth tools can now showcase one event on the <code>{{#special:Homepage}}</code> for newcomers. This feature will help newcomers to be informed about editing activities they can participate in. Administrators can create a new event to showcase at <code>{{#special:CommunityConfiguration}}</code>. To learn more about this feature, please read [[diffblog:2025/02/12/community-updates-module-connecting-newcomers-to-your-initiatives/|the Diff post]], have a look [[mw:Special:MyLanguage/Help:Growth/Tools/Community updates module|at the documentation]], or contact [[mw:Talk:Growth|the Growth team]]. '''Updates for editors''' [[File:Page Frame Features on desktop.png|thumb|Highlighted talk pages improvements]] * Starting next week, talk pages at these wikis – {{int:project-localized-name-eswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-frwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-itwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-jawiki/en}} – will get [[diffblog:2024/05/02/making-talk-pages-better-for-everyone/|a new design]]. This change was extensively tested as a Beta feature and is the last step of [[mw:Special:MyLanguage/Talk pages project/Feature summary|talk pages improvements]]. [https://phabricator.wikimedia.org/T379102] * You can now navigate to view a redirect page directly from its action pages, such as the history page. Previously, you were forced to first go to the redirect target. This change should help editors who work with redirects a lot. Thanks to user stjn for this improvement. [https://phabricator.wikimedia.org/T5324] * When a Cite reference is reused many times, wikis currently show either numbers like "1.23" or localized alphabetic markers like "a b c" in the reference list. Previously, if there were so many reuses that the alphabetic markers were all used, [[MediaWiki:Cite error references no backlink label|an error message]] was displayed. As part of the work to [[phab:T383036|modernize Cite customization]], these errors will no longer be shown and instead the backlinks will fall back to showing numeric markers like "1.23" once the alphabetic markers are all used. * The log entries for each change to an editor's user-groups are now clearer by specifying exactly what has changed, instead of the plain before and after listings. Translators can [[phab:T369466|help to update the localized versions]]. Thanks to user Msz2001 for these improvements. * A new filter has been added to the [[{{#special:Nuke}}]] tool, which allows administrators to mass delete pages, to enable users to filter for pages in a range of page sizes (in bytes). This allows, for example, deleting pages only of a certain size or below. [https://phabricator.wikimedia.org/T378488] * Non-administrators can now check which pages are able to be deleted using the [[{{#special:Nuke}}]] tool. Thanks to user MolecularPilot for this and the previous improvements. [https://phabricator.wikimedia.org/T376378] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:25}} community-submitted {{PLURAL:25|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed in the configuration for the AV1 video file format, which enables these files to play again. [https://phabricator.wikimedia.org/T382193] '''Updates for technical contributors''' * Parsoid Read Views is going to be rolling out to most Wiktionaries over the next few weeks, following the successful transition of Wikivoyage to Parsoid Read Views last year. For more information, see the [[mw:Special:MyLanguage/Parsoid/Parser Unification|Parsoid/Parser Unification]] project page. [https://phabricator.wikimedia.org/T385923][https://phabricator.wikimedia.org/T371640] * Developers of tools that run on-wiki should note that <code dir=ltr>mw.Uri</code> is deprecated. Tools requiring <code dir=ltr>mw.Uri</code> must explicitly declare <code dir=ltr>mediawiki.Uri</code> as a ResourceLoader dependency, and should migrate to the browser native <code dir=ltr>URL</code> API soon. [https://phabricator.wikimedia.org/T384515] '''''[[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/2025/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-2025-W08"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:17, 17 February 2025 (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=28275610 --> == Wikipedia translation of the week: 2025-09 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Cooler Heads Coalition]]'''<br /> <small>''([[:de:Cooler Heads Coalition]])&#32;([[:fr:Cooler Heads Coalition]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''Cooler Heads Coalition''' is a politically conservative "informal and ad-hoc group" in the United States, financed and operated by the Competitive Enterprise Institute. The group, which rejects the scientific consensus on climate change, made efforts to stop the government from addressing climate change. <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:23, 24 February 2025 (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=28300238 --> == Tech News: 2025-09 == <section begin="technews-2025-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/2025/09|Translations]] are available. '''Updates for editors''' * Administrators can now customize how the [[m:Special:MyLanguage/User language|Babel feature]] creates categories using [[{{#special:CommunityConfiguration/Babel}}]]. They can rename language categories, choose whether they should be auto-created, and adjust other settings. [https://phabricator.wikimedia.org/T374348] * The <bdi lang="en" dir="ltr">[https://www.wikimedia.org/ wikimedia.org]</bdi> portal has been updated – and is receiving some ongoing improvements – to modernize and improve the accessibility of our portal pages. It now has better support for mobile layouts, updated wording and links, and better language support. Additionally, all of the Wikimedia project portals, such as <bdi lang="en" dir="ltr">[https://wikibooks.org wikibooks.org]</bdi>, now support dark mode when a reader is using that system setting. [https://phabricator.wikimedia.org/T373204][https://phabricator.wikimedia.org/T368221][https://meta.wikimedia.org/wiki/Project_portals] * One new wiki has been created: a {{int:project-localized-name-group-wiktionary/en}} in [[d:Q33965|Santali]] ([[wikt:sat:|<code>wikt:sat:</code>]]) [https://phabricator.wikimedia.org/T386619] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed that prevented clicking on search results in the web-interface for some Firefox for Android phone configurations. [https://phabricator.wikimedia.org/T381289] '''Meetings and events''' * The next Language Community Meeting is happening soon, February 28th at [https://zonestamp.toolforge.org/1740751200 14:00 UTC]. This week's meeting will cover: highlights and technical updates on keyboard and tools for the Sámi languages, Translatewiki.net contributions from the Bahasa Lampung community in Indonesia, and technical Q&A. If you'd like to join, simply [[mw:Wikimedia Language and Product Localization/Community meetings#28 February 2025|sign up on the wiki 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/2025/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-2025-W09"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:42, 25 February 2025 (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=28296129 --> == Wikipedia translation of the week: 2025-10 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:pt:Transmissor de Ondas]]'''<br /> <small>''([[:en:Wave Transmitter]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Esq eletr transm ondas color.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Transmissor de Ondas''' é um equipamento precursor do rádio, desenvolvido por Roberto Landell de Moura na década de 1890, capaz de transmitir áudio via ondas eletromagnéticas, com sua primeira demonstração pública documentada tendo ocorrido no dia 16 de julho de 1899. <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:49, 3 March 2025 (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=28317097 --> == Tech News: 2025-10 == <section begin="technews-2025-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/2025/10|Translations]] are available. '''Updates for editors''' * All logged-in editors using the mobile view can now edit a full page. The "{{int:Minerva-page-actions-editfull}}" link is accessible from the "{{int:minerva-page-actions-overflow}}" menu in the toolbar. This was previously only available to editors using the [[mw:Special:MyLanguage/Reading/Web/Advanced mobile contributions|Advanced mobile contributions]] setting. [https://phabricator.wikimedia.org/T387180] * Interface administrators can now help to remove the deprecated Cite CSS code matching "<code dir="ltr">mw-ref</code>" from their local <bdi lang="en" dir="ltr">[[MediaWiki:Common.css]]</bdi>. The list of wikis in need of cleanup, and the code to remove, [https://global-search.toolforge.org/?q=mw-ref%5B%5E-a-z%5D&regex=1&namespaces=8&title=.*css can be found with this global search] and in [https://ace.wikipedia.org/w/index.php?title=MediaWiki:Common.css&oldid=145662#L-139--L-144 this example], and you can learn more about how to help on the [[mw:Parsoid/Parser Unification/Cite CSS|CSS migration project page]]. The Cite footnote markers ("<code dir="ltr">[1]</code>") are now rendered by [[mw:Special:MyLanguage/Parsoid|Parsoid]], and the deprecated CSS is no longer needed. The CSS for backlinks ("<code dir="ltr">mw:referencedBy</code>") should remain in place for now. This cleanup is expected to cause no visible changes for readers. Please help to remove this code before March 20, after which the development team will do it for you. * When editors embed a file (e.g. <code><nowiki>[[File:MediaWiki.png]]</nowiki></code>) on a page that is protected with cascading protection, the software will no longer restrict edits to the file description page, only to new file uploads.[https://phabricator.wikimedia.org/T24521] In contrast, transcluding a file description page (e.g. <code><nowiki>{{:File:MediaWiki.png}}</nowiki></code>) will now restrict edits to the page.[https://phabricator.wikimedia.org/T62109] * When editors revert a file to an earlier version it will now require the same permissions as ordinarily uploading a new version of the file. The software now checks for 'reupload' or 'reupload-own' rights,[https://phabricator.wikimedia.org/T304474] and respects cascading protection.[https://phabricator.wikimedia.org/T140010] * When administrators are listing pages for deletion with the Nuke tool, they can now also list associated talk pages and redirects for deletion, alongside pages created by the target, rather than needing to manually delete these pages afterwards. [https://phabricator.wikimedia.org/T95797] * The [[m:Special:MyLanguage/Tech/News/2025/03|previously noted]] update to Single User Login, which will accommodate browser restrictions on cross-domain cookies by moving login and account creation to a central domain, will now roll out to all users during March and April. The team plans to enable it for all new account creation on [[wikitech:Deployments/Train#Tuesday|Group0]] wikis this week. See [[mw:Special:MyLanguage/MediaWiki Platform Team/SUL3#Deployment|the SUL3 project page]] for more details and an updated timeline. * Since last week there has been a bug that shows some interface icons as black squares until the page has fully loaded. It will be fixed this week. [https://phabricator.wikimedia.org/T387351] * One new wiki has been created: a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q2044560|Sylheti]] ([[w:syl:|<code>w:syl:</code>]]) [https://phabricator.wikimedia.org/T386441] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed with loading images in very old versions of the Firefox browser on mobile. [https://phabricator.wikimedia.org/T386400] '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.19|MediaWiki]] '''''[[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/2025/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-2025-W10"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 02:31, 4 March 2025 (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=28334563 --> == Wikipedia translation of the week: 2025-11 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Smoky (mascotte olimpica)]]'''<br /> <small>''([[:en:Smoky (Olympic mascot)]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Smoky 1932 Olympic Village Mascot.webp|center|300px]] <div style="text-align:left; padding: .4em;"> '''Smoky''' (Los Angeles, 1931 o 1932 - Los Angeles, aprile 1934), occasionalmente scritto Smokey, è stato un cane che divenne la mascotte del villaggio olimpico estivo del 1932 e, successivamente, dell'evento generale. Pur non essendo oggi riconosciuto dal CIO, è stato, seppur non in modo ufficiale, la prima mascotte olimpica dei Giochi, oltre che a essere attualmente l'unica a essere stata un animale vero. Le successive edizioni non ebbero mascotte, dovendo aspettare i X Giochi olimpici invernali di Grenoble nel 1968 per ritrovarne una ufficialmente riconosciuta, lo sciatore stilizzato Schuss, allora non considerato ufficiale ma successivamente riconosciuto come tale. <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:50, 10 March 2025 (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=28317097 --> == Tech News: 2025-11 == <section begin="technews-2025-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/2025/11|Translations]] are available. '''Updates for editors''' * Editors who use password managers at multiple wikis may notice changes in the future. The way that our wikis provide information to password managers about reusing passwords across domains has recently been updated, so some password managers might now offer you login credentials that you saved for a different Wikimedia site. Some password managers already did this, and are now doing it for more Wikimedia domains. This is part of the [[mw:Special:MyLanguage/MediaWiki Platform Team/SUL3|SUL3 project]] which aims to improve how our unified login works, and to keep it compatible with ongoing changes to the web-browsers we use. [https://phabricator.wikimedia.org/T385520][https://phabricator.wikimedia.org/T384844] * The Wikipedia Apps Team is inviting interested users to help improve Wikipedia’s offline and limited internet use. After discussions in [[m:Afrika Baraza|Afrika Baraza]] and the last [[m:Special:MyLanguage/ESEAP Hub/Meetings|ESEAP call]], key challenges like search, editing, and offline access are being explored, with upcoming focus groups to dive deeper into these topics. All languages are welcome, and interpretation will be available. Want to share your thoughts? [[mw:Special:MyLanguage/Wikimedia Apps/Improving Wikipedia Mobile Apps for Offline & Limited Internet Use|Join the discussion]] or email <bdi lang="en" dir="ltr">aramadan@wikimedia.org</bdi>! * All wikis will be read-only for a few minutes on March 19. This is planned at [https://zonestamp.toolforge.org/1742392800 14:00 UTC]. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.20|MediaWiki]] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Growth/Newsletters/33|Growth newsletter]] is available. It includes: the launch of the Community Updates module, the most recent changes in Community Configuration, and the upcoming test of in-article suggestions for first-time editors. * An old API that was previously used in the Android Wikipedia app is being removed at the end of March. There are no current software uses, but users of the app with a version that is older than 6 months by the time of removal (2025-03-31), will no longer have access to the Suggested Edits feature, until they update their app. You can [[diffblog:2025/02/24/sunset-of-wikimedia-recommendation-api/|read more details about this change]]. '''''[[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/2025/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-2025-W11"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:10, 10 March 2025 (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=28372257 --> == Wikipedia translation of the week: 2025-12 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Amazonas, o maior rio do mundo]]'''<br /> <small>''([[:pt:Amazonas, o maior rio do mundo]])&#32;([[:es:Amazonas, o maior rio do mundo]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Frame A from Amazonas, o maior rio do mundo.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''''Amazonas, o maior rio do mundo''''' (lit. 'Amazon: The Greatest River in the World') is a 1922 Brazilian silent documentary film produced in 1918 by Silvino Santos. It is a black-and-white film that portrays life in the Amazon rainforest. Completed in 1920, it is considered one of the oldest cinematic records of the Amazon. It was presumed lost in 1931 and only rediscovered in 2023 at the Czech Film Archive. Silvino Santos produced the work over three years using sophisticated cinematic techniques, which led it to be deemed of "immense artistic value" by Le Monde. It has also been described as the "Holy Grail of Brazilian silent cinema" by The Guardian. <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, 17 March 2025 (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=28392163 --> == Tech News: 2025-12 == <section begin="technews-2025-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/2025/12|Translations]] are available. '''Weekly highlight''' * Twice a year, around the equinoxes, the Wikimedia Foundation's Site Reliability Engineering (SRE) team performs [[m:Special:MyLanguage/Tech/Server switch|a datacenter server switchover]], redirecting all traffic from one primary server to its backup. This provides reliability in case of a crisis, as we can always fall back on the other datacenter. [http://listen.hatnote.com/ Thanks to the Listen to Wikipedia] tool, you can hear the switchover take place: Before it begins, you'll hear the steady stream of edits; Then, as the system enters a brief read-only phase, the sound stops for a couple of minutes, before resuming after the switchover. You can [[diffblog:2025/03/12/hear-that-the-wikis-go-silent-twice-a-year/|read more about the background and details of this process on the Diff blog]]. If you want to keep an ear out for the next server switchover, listen to the wikis on [https://zonestamp.toolforge.org/1742392800 March 19 at 14:00 UTC]. '''Updates for editors''' * The [https://test.wikipedia.org/w/index.php?title=Special:ContentTranslation&filter-type=automatic&filter-id=previous-edits&active-list=suggestions&from=en&to=es improved Content Translation tool dashboard] is now available in [[phab:T387820|10 Wikipedias]] and will be available for all Wikipedias [[phab:T387821|soon]]. With [[mw:Special:MyLanguage/Content translation#Improved translation experience|the unified dashboard]], desktop users can now: Translate new sections of an article; Discover and access topic-based [https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits article suggestion filters] (initially available only for mobile device users); Discover and access the [[mw:Special:MyLanguage/Translation suggestions: Topic-based & Community-defined lists|Community-defined lists]] filter, also known as "Collections", from wiki-projects and campaigns. * On Wikimedia Commons, a [[c:Commons:WMF support for Commons/Upload Wizard Improvements#Improve category selection|new system to select the appropriate file categories]] has been introduced: if a category has one or more subcategories, users will be able to click on an arrow that will open the subcategories directly within the form, and choose the correct one. The parent category name will always be shown on top, and it will always be possible to come back to it. This should decrease the amount of work for volunteers in fixing/creating new categories. The change is also available on mobile. These changes are part of planned improvements to the UploadWizard. * The Community Tech team is seeking wikis to join a pilot for the [[m:Special:MyLanguage/Community Wishlist Survey 2023/Multiblocks|Multiblocks]] feature and a refreshed Special:Block page in late March. Multiblocks enables administrators to impose multiple different types of blocks on the same user at the same time. If you are an admin or steward and would like us to discuss joining the pilot with your community, please leave a message on the [[m:Talk:Community Wishlist Survey 2023/Multiblocks|project talk page]]. * Starting March 25, the Editing team will test a new feature for Edit Check at [[phab:T384372|12 Wikipedias]]: [[mw:Special:MyLanguage/Help:Edit check#Multi-check|Multi-Check]]. Half of the newcomers on these wikis will see all [[mw:Special:MyLanguage/Help:Edit check#ref|Reference Checks]] during their edit session, while the other half will continue seeing only one. The goal of this test is to see if users are confused or discouraged when shown multiple Reference Checks (when relevant) within a single editing session. At these wikis, the tags used on edits that show References Check will be simplified, as multiple tags could be shown within a single edit. Changes to the tags are documented [[phab:T373949|on Phabricator]]. [https://phabricator.wikimedia.org/T379131] * The [[m:Special:MyLanguage/Global reminder bot|Global reminder bot]], which is a service for notifying users that their temporary user-rights are about to expire, now supports using the localized name of the user-rights group in the message heading. Translators can see the [[m:Global reminder bot/Translation|listing of existing translations and documentation]] to check if their language needs updating or creation. * The [[Special:GlobalPreferences|GlobalPreferences]] gender setting, which is used for how the software should refer to you in interface messages, now works as expected by overriding the local defaults. [https://phabricator.wikimedia.org/T386584] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:26}} community-submitted {{PLURAL:26|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the Wikipedia App for Android had a bug fixed for when a user is browsing and searching in multiple languages. [https://phabricator.wikimedia.org/T379777] '''Updates for technical contributors''' * Later this week, the way that Codex styles are loaded will be changing. There is a small risk that this may result in unstyled interface message boxes on certain pages. User generated content (e.g. templates) is not impacted. Gadgets may be impacted. If you see any issues [[phab:T388847|please report them]]. See the linked task for details, screenshots, and documentation on how to fix any affected gadgets. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.21|MediaWiki]] '''''[[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/2025/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-2025-W12"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:48, 17 March 2025 (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=28412594 --> == Wikipedia translation of the week: 2025-13 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Ali of the Eretnids]]'''<br /> <small>''([[:tr:Alaaddin Ali Bey]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Ala al-Din Ali''' (January 1353 – August 1380) was the third Sultan of the Eretnids ruling from 1366 until his death. He inherited the throne at a very early age and was removed from administrative matters. He was characterized as particularly keen on personal pleasures, which later discredited his authority. During his rule, emirs under the Eretnids enjoyed considerable autonomy, and the state continued to shrink as neighboring powers captured several towns. <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:59, 24 March 2025 (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=28433698 --> == Tech News: 2025-13 == <section begin="technews-2025-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/2025/13|Translations]] are available. '''Weekly highlight''' * The Wikimedia Foundation is seeking your feedback on the [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Product & Technology OKRs|drafts of the objectives and key results that will shape the Foundation's Product and Technology priorities]] for the next fiscal year (starting in July). The objectives are broad high-level areas, and the key-results are measurable ways to track the success of their objectives. Please share your feedback on the talkpage, in any language, ideally before the end of April. '''Updates for editors''' * The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] will be released to multiple wikis (see [[m:Special:MyLanguage/CampaignEvents/Deployment status#Global Deployment Plan|deployment plan]] for details) in April 2025, and the team has begun the process of engaging communities on the identified wikis. The extension provides tools to organize, manage, and promote collaborative activities (like events, edit-a-thons, and WikiProjects) on the wikis. The extension has three tools: [[m:Special:MyLanguage/Event Center/Registration|Event Registration]], [[m:Special:MyLanguage/CampaignEvents/Collaboration list|Collaboration List]], and [[m:Special:MyLanguage/Campaigns/Foundation Product Team/Invitation list|Invitation Lists]]. It is currently on 13 Wikipedias, including English Wikipedia, French Wikipedia, and Spanish Wikipedia, as well as Wikidata. Questions or requests can be directed to the [[mw:Help talk:Extension:CampaignEvents|extension talk page]] or in Phabricator (with <bdi lang="en" dir="ltr" style="white-space: nowrap;">#campaigns-product-team</bdi> tag). * Starting the week of March 31st, wikis will be able to set which user groups can view private registrants in [[m:Special:MyLanguage/Event Center/Registration|Event Registration]], as part of the [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents]] extension. By default, event organizers and the local wiki admins will be able to see private registrants. This is a change from the current behavior, in which only event organizers can see private registrants. Wikis can change the default setup by [[m:Special:MyLanguage/Requesting wiki configuration changes|requesting a configuration change]] in Phabricator (and adding the <bdi lang="en" dir="ltr" style="white-space: nowrap;">#campaigns-product-team</bdi> tag). Participants of past events can cancel their registration at any time. * Administrators at wikis that have a customized <bdi lang="en" dir="ltr">[[MediaWiki:Sidebar]]</bdi> should check that it contains an entry for the {{int:specialpages}} listing. If it does not, they should add it using <code dir=ltr style="white-space: nowrap;">* specialpages-url|specialpages</code>. Wikis with a default sidebar will see the link moved from the page toolbox into the sidebar menu in April. [https://phabricator.wikimedia.org/T388927] * The Minerva skin (mobile web) combines both Notice and Alert notifications within the bell icon ([[File:OOjs UI icon bell.svg|16px|link=|class=skin-invert]]). There was a long-standing bug where an indication for new notifications was only shown if you had unseen Alerts. This bug is now fixed. In the future, Minerva users will notice a counter atop the bell icon when you have 1 or more unseen Notices and/or Alerts. [https://phabricator.wikimedia.org/T344029] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * VisualEditor has introduced a [[mw:VisualEditor/Hooks|new client-side hook]] for developers to use when integrating with the VisualEditor target lifecycle. This hook should replace the existing lifecycle-related hooks, and be more consistent between different platforms. In addition, the new hook will apply to uses of VisualEditor outside of just full article editing, allowing gadgets to interact with the editor in DiscussionTools as well. The Editing Team intends to deprecate and eventually remove the old lifecycle hooks, so any use cases that this new hook does not cover would be of interest to them and can be [[phab:T355555|shared in the task]]. * Developers who use the <code dir=ltr>mw.Api</code> JavaScript library, can now identify the tool using it with the <code dir=ltr>userAgent</code> parameter: <code dir=ltr>var api = new mw.Api( { userAgent: 'GadgetNameHere/1.0.1' } );</code>. If you maintain a gadget or user script, please set a user agent, because it helps with library and server maintenance and with differentiating between legitimate and illegitimate traffic. [https://phabricator.wikimedia.org/T373874][https://foundation.wikimedia.org/wiki/Policy:Wikimedia_Foundation_User-Agent_Policy] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.22|MediaWiki]] '''''[[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/2025/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-2025-W13"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:43, 24 March 2025 (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=28443127 --> == Wikipedia translation of the week: 2025-14 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Chilembwe uprising]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Chilembwe supporters being led to be executed (cropped).jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Chilembwe uprising''' was a rebellion against British colonial rule in Nyasaland (modern-day Malawi) which took place in January 1915. It was led by John Chilembwe, an American-educated Baptist minister. Based around his church in the village of Mbombwe in the south-east of the colony, the leaders of the revolt were mainly from an emerging black middle class. They were motivated by grievances against the British colonial system, which included forced labour, racial discrimination and new demands imposed on the African population following the outbreak of 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]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:52, 31 March 2025 (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=28454663 --> == Tech News: 2025-14 == <section begin="technews-2025-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/2025/14|Translations]] are available. '''Updates for editors''' * The Editing team is working on a new [[mw:Special:MyLanguage/Edit Check|Edit check]]: [[mw:Special:MyLanguage/Edit check#26 March 2025|Peacock check]]. This check's goal is to identify non-neutral terms while a user is editing a wikipage, so that they can be informed that their edit should perhaps be changed before they publish it. This project is at the early stages, and the team is looking for communities' input: [[phab:T389445|in this Phabricator task]], they are gathering on-wiki policies, templates used to tag non-neutral articles, and the terms (jargon and keywords) used in edit summaries for the languages they are currently researching. You can participate by editing the table on Phabricator, commenting on the task, or directly messaging [[m:user:Trizek (WMF)|Trizek (WMF)]]. * [[mw:Special:MyLanguage/MediaWiki Platform Team/SUL3|Single User Login]] has now been updated on all wikis to move login and account creation to a central domain. This makes user login compatible with browser restrictions on cross-domain cookies, which have prevented users of some browsers from staying logged in. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:35}} community-submitted {{PLURAL:35|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Starting on March 31st, the MediaWiki Interfaces team will begin a limited release of generated OpenAPI specs and a SwaggerUI-based sandbox experience for [[mw:Special:MyLanguage/API:REST API|MediaWiki REST APIs]]. They invite developers from a limited group of non-English Wikipedia communities (Arabic, German, French, Hebrew, Interlingua, Dutch, Chinese) to review the documentation and experiment with the sandbox in their preferred language. In addition to these specific Wikipedia projects, the sandbox and OpenAPI spec will be available on the [[testwiki:Special:RestSandbox|on the test wiki REST Sandbox special page]] for developers with English as their preferred language. During the preview period, the MediaWiki Interfaces Team also invites developers to [[mw:MediaWiki Interfaces Team/Feature Feedback/REST Sandbox|share feedback about your experience]]. The preview will last for approximately 2 weeks, after which the sandbox and OpenAPI specs will be made available across all wiki projects. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.23|MediaWiki]] '''In depth''' * Sometimes a small, [[gerrit:c/operations/cookbooks/+/1129184|one line code change]] can have great significance: in this case, it means that for the first time in years we're able to run all of the stack serving <bdi lang="en" dir="ltr">[http://maps.wikimedia.org/ maps.wikimedia.org]</bdi> - a host dedicated to serving our wikis and their multi-lingual maps needs - from a single core datacenter, something we test every time we perform a [[m:Special:MyLanguage/Tech/Server switch|datacenter switchover]]. This is important because it means that in case one of our datacenters is affected by a catastrophe, we'll still be able to serve the site. This change is the result of [[phab:T216826|extensive work]] by two developers on porting the last component of the maps stack over to [[w:en:Kubernetes|kubernetes]], where we can allocate resources more efficiently than before, thus we're able to withstand more traffic in a single datacenter. This work involved a lot of complicated steps because this software, and the software libraries it uses, required many long overdue upgrades. This type of work makes the Wikimedia infrastructure more sustainable. '''Meetings and events''' * [[mw:Special:MyLanguage/MediaWiki Users and Developers Workshop Spring 2025|MediaWiki Users and Developers Workshop Spring 2025]] is happening in Sandusky, USA, and online, from 14–16 May 2025. The workshop will feature discussions around the usage of MediaWiki software by and within companies in different industries and will inspire and onboard new users. Registration and presentation signup is now available at the workshop's website. '''''[[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/2025/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-2025-W14"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:06, 1 April 2025 (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=28473566 --> == Wikipedia translation of the week: 2025-15 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:1930 Bago earthquake]]'''<br /> <small>''([[:my:၁၉၃၀ ပဲခူးငလျင်]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Thiao Mueang Phama (1955, p. 165).jpg|center|300px]] <div style="text-align:left; padding: .4em;"> An earthquake affected Myanmar on 5 May 1930 with a moment magnitude (Mw ) 7.4. The shock occurred 35 km (22 mi) beneath the surface with a maximum Rossi–Forel intensity of IX (Devastating tremor). The earthquake was the result of rupture along a 131 km (81 mi) segment of the Sagaing Fault—a major strike-slip fault that runs through the country. Extensive damage was reported in the southern part of the country, particularly in Bago and Yangon, where buildings collapsed and fires erupted. At least 550, and possibly up to 7,000 people were killed. A moderate tsunami struck the Burmese coast which caused minor damage to ships and a port. It was felt for over 570,000 km2 (220,000 sq mi) and as far as Shan State and Thailand. The mainshock was followed by many aftershocks; several were damaging. The December earthquake was similarly sized which also occurred along the Sagaing Fault. <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:54, 7 April 2025 (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=28454663 --> == Tech News: 2025-15 == <section begin="technews-2025-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/2025/15|Translations]] are available. '''Updates for editors''' * From now on, [[m:Special:MyLanguage/Interface administrators|interface admins]] and [[m:Special:MyLanguage/Central notice administrators|centralnotice admins]] are technically required to enable [[m:Special:MyLanguage/Help:Two-factor authentication|two-factor authentication]] before they can use their privileges. In the future this might be expanded to more groups with advanced user-rights. [https://phabricator.wikimedia.org/T150898] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * The Design System Team is preparing to release the next major version of Codex (v2.0.0) on April 29. Editors and developers who use CSS from Codex should see the [[mw:Codex/Release Timeline/2.0|2.0 overview documentation]], which includes guidance related to a few of the breaking changes such as <code dir=ltr style="white-space: nowrap;">font-size</code>, <code dir=ltr style="white-space: nowrap;">line-height</code>, and <code dir=ltr style="white-space: nowrap;">size-icon</code>. * The results of the [[mw:Developer Satisfaction Survey/2025|Developer Satisfaction Survey (2025)]]  are now available. Thank you to all participants. These results help the Foundation decide what to work on next and to review what they recently worked on. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.24|MediaWiki]] '''Meetings and events''' * The [[mw:Special:MyLanguage/Wikimedia Hackathon 2025|2025 Wikimedia Hackathon]] will take place in Istanbul, Turkey, between 2–4 May. Registration for attending the in-person event will close on 13 April. Before registering, please note the potential need for a [https://www.mfa.gov.tr/turkish-representations.en.mfa visa] or [https://www.mfa.gov.tr/visa-information-for-foreigners.en.mfa e-visa] to enter the country. '''''[[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/2025/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-2025-W15"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:53, 7 April 2025 (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=28507470 --> == Wikipedia translation of the week: 2025-16 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Museum of Zoology of the University of São Paulo]]'''<br /> <small>''([[:pt:Museu de Zoologia da Universidade de São Paulo]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Museu de Zoologia da USP 02.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Museum of Zoology of the University of São Paulo''' (Portuguese: Museu de Zoologia da Universidade de São Paulo, abbreviated MZUSP) is a public natural history museum located in the historic Ipiranga district of São Paulo, Brazil. The MZUSP is an educational and research institution that is part of the University of São Paulo. The museum began at the end of the 19th century as part of the Museu Paulista; in 1941, it moved into a dedicated building. In 1969 the museum became a part of the University of São Paulo, receiving its current name. <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:27, 14 April 2025 (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=28454663 --> == Tech News: 2025-16 == <section begin="technews-2025-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/2025/16|Translations]] are available. '''Weekly highlight''' * Later this week, the default thumbnail size will be increased from 220px to 250px. This changes how pages are shown in all wikis and has been requested by some communities for many years, but wasn't previously possible due to technical limitations. [https://phabricator.wikimedia.org/T355914] * File thumbnails are now stored in discrete sizes. If a page specifies a thumbnail size that's not among the standard sizes (20, 40, 60, 120, 250, 330, 500, 960), then MediaWiki will pick the closest larger thumbnail size but will tell the browser to downscale it to the requested size. In these cases, nothing will change visually but users might load slightly larger images. If it doesn't matter which thumbnail size is used in a page, please pick one of the standard sizes to avoid the extra in-browser down-scaling step. [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Images#Thumbnail_sizes][https://phabricator.wikimedia.org/T355914] '''Updates for editors''' * The Wikimedia Foundation are working on a system called [[m:Edge Uniques|Edge Uniques]] which will enable [[:w:en:A/B testing|A/B testing]], help protect against [[:w:en:Denial-of-service attack|Distributed denial-of-service attacks]] (DDoS attacks), and make it easier to understand how many visitors the Wikimedia sites have. This is so that they can more efficiently build tools which help readers, and make it easier for readers to find what they are looking for. * To improve security for users, a small percentage of logins will now require that the account owner input a one-time password [[mw:Special:MyLanguage/Help:Extension:EmailAuth|emailed to their account]]. It is recommended that you [[Special:Preferences#mw-prefsection-personal-email|check]] that the email address on your account is set correctly, and that it has been confirmed, and that you have an email set for this purpose. [https://phabricator.wikimedia.org/T390662] * "Are you interested in taking a short survey to improve tools used for reviewing or reverting edits on your Wiki?" This question will be [[phab:T389401|asked at 7 wikis starting next week]], on Recent Changes and Watchlist pages. The [[mw:Special:MyLanguage/Moderator Tools|Moderator Tools team]] wants to know more about activities that involve looking at new edits made to your Wikimedia project, and determining whether they adhere to your project's policies. * On April 15, the full Wikidata graph will no longer be supported on <bdi lang="zxx" dir="ltr">[https://query.wikidata.org/ query.wikidata.org]</bdi>. After this date, scholarly articles will be available through <bdi lang="zxx" dir="ltr" style="white-space:nowrap;">[https://query-scholarly.wikidata.org/ query-scholarly.wikidata.org]</bdi>, while the rest of the data hosted on Wikidata will be available through the <bdi lang="zxx" dir="ltr">[https://query.wikidata.org/ query.wikidata.org]</bdi> endpoint. This is part of the scheduled split of the Wikidata Graph, which was [[d:Special:MyLanguage/Wikidata:SPARQL query service/WDQS backend update/September 2024 scaling update|announced in September 2024]]. More information is [[d:Wikidata:SPARQL query service/WDQS graph split|available on Wikidata]]. * The latest quarterly [[m:Special:MyLanguage/Wikimedia Apps/Newsletter/First quarter of 2025|Wikimedia Apps Newsletter]] is now available. It covers updates, experiments, and improvements made to the Wikipedia mobile apps. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * The latest quarterly [[mw:Technical Community Newsletter/2025/April|Technical Community Newsletter]] is now available. This edition includes: an invitation for tool maintainers to attend the Toolforge UI Community Feedback Session on April 15th; recent community metrics; and recent technical blog posts. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.25|MediaWiki]] '''''[[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/2025/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-2025-W16"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:25, 15 April 2025 (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=28540654 --> == Wikipedia translation of the week: 2025-17 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Fear of crime]]'''<br /> <small>''([[:ar:الخوف من الجريمة]])&#32;([[:it:Criminofobia]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Fear of crime''' refers to the fear of being a victim of crime, which is not necessarily reflective of the actual probability of being such a victim. <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:23, 21 April 2025 (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=28559524 --> == Tech News: 2025-17 == <section begin="technews-2025-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/2025/17|Translations]] are available. '''Updates for editors''' * [[f:Special:MyLanguage/Wikifunctions:Main Page|Wikifunctions]] is now integrated with [[w:dag:Solɔɣu|Dagbani Wikipedia]] since April 15. It is the first project that will be able to call [[f:Special:MyLanguage/Wikifunctions:Introduction|functions from Wikifunctions]] and integrate them in articles. A function is something that takes one or more inputs and transforms them into a desired output, such as adding up two numbers, converting miles into metres, calculating how much time has passed since an event, or declining a word into a case. Wikifunctions will allow users to do that through a simple call of [[f:Special:MyLanguage/Wikifunctions:Catalogue|a stable and global function]], rather than via a local template. [https://www.wikifunctions.org/wiki/Special:MyLanguage/Wikifunctions:Status_updates/2025-04-16] * A new type of lint error has been created: [[Special:LintErrors/empty-heading|{{int:linter-category-empty-heading}}]] ([[mw:Special:MyLanguage/Help:Lint errors/empty-heading|documentation]]). The [[mw:Special:MyLanguage/Help:Extension:Linter|Linter extension]]'s purpose is to identify wikitext patterns that must or can be fixed in pages and provide some guidance about what the problems are with those patterns and how to fix them. [https://phabricator.wikimedia.org/T368722] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:37}} community-submitted {{PLURAL:37|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Following its publication on HuggingFace, the "Structured Contents" dataset, developed by Wikimedia Enterprise, is [https://enterprise.wikimedia.com/blog/kaggle-dataset/ now also available on Kaggle]. This Beta initiative is focused on making Wikimedia data more machine-readable for high-volume reusers. They are releasing this beta version in a location that open dataset communities already use, in order to seek feedback, to help improve the product for a future wider release. You can read more about the overall [https://enterprise.wikimedia.com/blog/structured-contents-snapshot-api/#open-datasets Structured Contents project], and about the [https://enterprise.wikimedia.com/blog/structured-contents-wikipedia-infobox/ first release that's freely usable]. * There is no new MediaWiki version this week. '''Meetings and events''' * The Editing and Machine Learning Teams invite interested volunteers to a video meeting to discuss [[mw:Special:MyLanguage/Edit check/Peacock check|Peacock check]], which is the latest [[mw:Special:MyLanguage/Edit check|Edit check]] that will detect "peacock" or "overly-promotional" or "non-neutral" language whilst an editor is typing. Editors who work with newcomers, or help to fix this kind of writing, or are interested in how we use artificial intelligence in our projects are encouraged to attend. The [[mw:Special:MyLanguage/Editing team/Community Conversations#Next Conversation|meeting will be on April 28, 2025]] at [https://zonestamp.toolforge.org/1745863200 18:00–19:00 UTC] and hosted on Zoom. '''''[[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/2025/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-2025-W17"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:01, 21 April 2025 (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=28578245 --> == Wikipedia translation of the week: 2025-18 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Heritage preservation in South Korea]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Korean.Dance-03.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The heritage preservation system of South Korea is a multi-level program aiming to preserve and cultivate Korean cultural heritage. The program is administered by the Cultural Heritage Administration (CHA), and the legal framework is provided by the Cultural Heritage Protection Act of 1962, last updated in 2012. The program started in 1962 and has gradually been extended and upgraded since then. <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:57, 28 April 2025 (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=28583422 --> == Tech News: 2025-18 == <section begin="technews-2025-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/2025/18|Translations]] are available. '''Updates for editors''' * Event organizers who host collaborative activities on [[m:Special:MyLanguage/CampaignEvents/Deployment status#Global Deployment Plan|multiple wikis]], including Bengali, Japanese, and Korean Wikipedias, will have access to the [[mw:Special:MyLanguage/Extension:CampaignEvents|CampaignEvents extension]] this week. Also, admins in the Wikipedia where the extension is enabled will automatically be granted the event organizer right soon. They won't have to manually grant themselves the right before they can manage events as [[phab:T386861|requested by a community]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:19}} community-submitted {{PLURAL:19|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * The release of the next major version of [[mw:Special:MyLanguage/Codex|Codex]], the design system for Wikimedia, is scheduled for 29 April 2025. Technical editors will have access to the release by the week of 5 May 2025. This update will include a number of [[mw:Special:MyLanguage/Codex/Release_Timeline/2.0#Breaking_changes|breaking changes]] and minor [[mw:Special:MyLanguage/Codex/Release_Timeline/2.0#Visual_changes|visual changes]]. Instructions on handling the breaking and visual changes are documented on [[mw:Special:MyLanguage/Codex/Release Timeline/2.0#|this page]]. Pre-release testing is reported in [[phab:T386298|T386298]], with post-release issues tracked in [[phab:T392379|T392379]] and [[phab:T392390|T392390]]. * Users of [[wikitech:Special:MyLanguage/Help:Wiki_Replicas|Wiki Replicas]] will notice that the database views of <code dir="ltr">ipblocks</code>, <code dir="ltr">ipblocks_ipindex</code>, and <code dir="ltr">ipblocks_compat</code> are [[phab:T390767|now deprecated]]. Users can query the <code dir="ltr">[[mw:Special:MyLanguage/Manual:Block_table|block]]</code> and <code dir="ltr">[[mw:Special:MyLanguage/Manual:Block_target_table|block_target]]</code> new views that mirror the new tables in the production database instead. The deprecated views will be removed entirely from Wiki Replicas in June, 2025. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.27|MediaWiki]] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/April|Language and Internationalization Newsletter]] is now available. This edition includes an overview of the improved [https://test.wikipedia.org/w/index.php?title=Special:ContentTranslation&campaign=contributionsmenu&to=es&filter-type=automatic&filter-id=previous-edits&active-list=suggestions&from=en#/ Content Translation Dashboard Tool], [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/April#Language Support for New and Existing Languages|support for new languages]], [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/April#Wiki Loves Ramadan Articles Made In Content Translation Mobile Workflow|highlights from the Wiki Loves Ramadan campaign]], [[m:Special:MyLanguage/Research:Languages Onboarding Experiment 2024 - Executive Summary|results from the Language Onboarding Experiment]], an analysis of topic diversity in articles, and information on upcoming community meetings and events. '''Meetings and events''' * The [[Special:MyLanguage/Grants:Knowledge_Sharing/Connect/Calendar|Let's Connect Learning Clinic]] will take place on [https://zonestamp.toolforge.org/1745937000 April 29 at 14:30 UTC]. This edition will focus on "Understanding and Navigating Conflict in Wikimedia Projects". You can [[m:Special:MyLanguage/Event:Learning Clinic %E2%80%93 Understanding and Navigating Conflict in Wikimedia Projects (Part_1)|register now]] to attend. * The [[mw:Special:MyLanguage/Wikimedia Hackathon 2025|2025 Wikimedia Hackathon]], which brings the global technical community together to connect, brainstorm, and hack existing projects, will take place from May 2 to 4th, 2025, at Istanbul, Turkey. '''''[[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/2025/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-2025-W18"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:32, 28 April 2025 (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=28585685 --> == Wikipedia translation of the week: 2025-19 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Lhamana]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:We-Wa, a Zuni berdache, weaving - NARA - 523796 (cropped).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Lhamana''', in traditional Zuni culture, are biologically male people who take on the social and ceremonial roles usually performed by women in their culture, at least some of the time. They wear a mixture of women's and men's clothing and much of their work is in the areas usually occupied by Zuni women. Some contemporary lhamana participate in the pan-Indian two-spirit community. <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]]) 07:28, 5 May 2025 (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=28583422 --> == Tech News: 2025-19 == <section begin="technews-2025-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/2025/19|Translations]] are available. '''Weekly highlight''' * The Wikimedia Foundation has shared the latest draft update to their [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026|annual plan]] for next year (July 2025–June 2026). This includes an [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026|executive summary]] (also on [[diffblog:2025/04/25/sharing-the-wikimedia-foundations-2025-2026-draft-annual-plan/|Diff]]), details about the three main [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Goals|goals]] ([[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Product & Technology OKRs|Infrastructure]], [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Goals/Volunteer Support|Volunteer Support]], and [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Goals/Effectiveness|Effectiveness]]), [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Global Trends|global trends]], and the [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Budget Overview|budget]] and [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Financial Model|financial model]]. Feedback and questions are welcome on the [[m:Talk:Wikimedia Foundation Annual Plan/2025-2026|talk page]] until the end of May. '''Updates for editors''' * For wikis that have the [[m:Special:MyLanguage/CampaignEvents/Deployment status|CampaignEvents extension enabled]], two new feature improvements have been released: ** Admins can now choose which namespaces are permitted for [[m:Special:MyLanguage/Event Center/Registration|Event Registration]] via [[mw:Special:MyLanguage/Community Configuration|Community Configuration]] ([[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Registration/Permitted namespaces|documentation]]). The default setup is for event registration to be permitted in the Event namespace, but other namespaces (such as the project namespace or WikiProject namespace) can now be added. With this change, communities like WikiProjects can now more easily use Event Registration for their collaborative activities. ** Editors can now [[mw:Special:MyLanguage/Transclusion|transclude]] the Collaboration List on a wiki page ([[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Collaboration list/Transclusion|documentation]]). The Collaboration List is an automated list of events and WikiProjects on the wikis, accessed via {{#special:AllEvents}} ([[w:en:Special:AllEvents|example]]). Now, the Collaboration List can be added to all sorts of wiki pages, such as: a wiki mainpage, a WikiProject page, an affiliate page, an event page, or even a user page. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Developers who use the <code dir=ltr>moment</code> library in gadgets and user scripts should revise their code to use alternatives like the <code dir=ltr>Intl</code> library or the new <code dir=ltr>mediawiki.DateFormatter</code> library. The <code dir=ltr>moment</code> library has been deprecated and will begin to log messages in the developer console. You can see a global search for current uses, and [[phab:T392532|ask related questions in this Phabricator task]]. * Developers who maintain a tool that queries the Wikidata term store tables (<code dir=ltr style="white-space: nowrap;">wbt_*</code>) need to update their code to connect to a separate database cluster. These tables are being split into a separate database cluster. Tools that query those tables via the wiki replicas must be adapted to connect to the new cluster instead. [[wikitech:News/2025 Wikidata term store database split|Documentation and related links are available]]. [https://phabricator.wikimedia.org/T390954] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.28|MediaWiki]] '''In depth''' * The latest [[mw:Special:MyLanguage/Extension:Chart/Project/Updates|Chart Project newsletter]] is available. It includes updates on preparing to expand the deployment to additional wikis as soon as this week (starting May 6) and scaling up over the following weeks, plus exploring filtering and transforming source data. '''''[[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/2025/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-2025-W19"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:15, 6 May 2025 (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=28665011 --> == Wikipedia translation of the week: 2025-20 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Gruppo del Sileno]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Parco3.JPG|300px|center]] <div style="text-align:left; padding: .4em;"> '''Sileno ed Egle con Mnasilo e Cromi''', meglio noto come Gruppo del Sileno, è un monumento in marmo di Carrara, realizzato da Jean-Baptiste Boudard nel 1765 per il Giardino Ducale di Parma; sostituito nel 1991 con una copia in polvere di marmo e resina, l'originale si trova provvisoriamente nel chiostro della Fontana del monastero di San Paolo, in attesa della definitiva collocazione prevista all'interno del palazzetto Eucherio Sanvitale nel parco Ducale. <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:28, 12 May 2025 (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=28709947 --> == Tech News: 2025-20 == <section begin="technews-2025-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/2025/20|Translations]] are available. '''Weekly highlight''' * The [[m:Special:MyLanguage/Wikimedia URL Shortener|"Get shortened URL"]] link on the sidebar now includes a [[phab:T393309|QR code]]. Wikimedia site users can now use it by scanning or downloading it to quickly share and access shared content from Wikimedia sites, conveniently. '''Updates for editors''' * The Wikimedia Foundation is working on a system called [[m:Edge Uniques|Edge Uniques]], which will enable [[w:en:A/B testing|A/B testing]], help protect against [[w:en:Denial-of-service attack|distributed denial-of-service attacks]] (DDoS attacks), and make it easier to understand how many visitors the Wikimedia sites have. This is to help more efficiently build tools which help readers, and make it easier for readers to find what they are looking for. Tech News has [[m:Special:MyLanguage/Tech/News/2025/16|previously written about this]]. The deployment will be gradual. Some might see the Edge Uniques cookie the week of 19 May. You can discuss this on the [[m:Talk:Edge Uniques|talk page]]. * Starting May 19, 2025, Event organisers in wikis with the [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] enabled can use [[m:Special:MyLanguage/Event Center/Registration|Event Registration]] in the project namespace (e.g., Wikipedia namespace, Wikidata namespace). With this change, communities don't need admins to use the feature. However, wikis that don't want this change can remove and add the permitted namespaces at [[Special:CommunityConfiguration/CampaignEvents]]. * The Wikipedia project now has a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q36720|Nupe]] ([[w:nup:|<code>w:nup:</code>]]). This is a language primarily spoken in the North Central region of Nigeria. Speakers of this language are invited to contribute to [[w:nup:Tatacin feregi|new Wikipedia]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Developers can now access pre-parsed Dutch Wikipedia, amongst others (English, German, French, Spanish, Italian, and Portuguese) through the [https://enterprise.wikimedia.com/docs/snapshot/#structured-contents-snapshot-bundle-info-beta Structured Contents snapshots (beta)]. The content includes parsed Wikipedia abstracts, descriptions, main images, infoboxes, article sections, and references. * The <code dir="ltr">/page/data-parsoid</code> REST API endpoint is no longer in use and will be deprecated. It is [[phab:T393557|scheduled to be turned off]] on June 7, 2025. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.1|MediaWiki]] '''In depth''' * The [https://wikitech.wikimedia.org/wiki/News/2025_Cloud_VPS_VXLAN_IPv6_migration IPv6 support] is a newly introduced Cloud virtual network that significantly boosts Wikimedia platforms' scalability, security, and readiness for the future. If you are a technical contributor eager to learn more, check out [https://techblog.wikimedia.org/2025/05/06/wikimedia-cloud-vps-ipv6-support/ this blog post] for an in-depth look at the journey to IPv6. '''Meetings and events''' * The 2nd edition of 2025 of [[m:Special:MyLanguage/Afrika Baraza|Afrika Baraza]], a virtual platform for African Wikimedians to connect, will take place on [https://zonestamp.toolforge.org/1747328400 May 15 at 17:00 UTC]. This edition will focus on discussions regarding [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026|Wikimedia Annual planning and progress]]. * The [[m:Special:MyLanguage/MENA Connect Community Call|MENA Connect Community Call]], a virtual meeting for [[w:en:Middle East and North Africa|MENA]] Wikimedians to connect, will take place on [https://zonestamp.toolforge.org/1747501200 May 17 at 17:00 UTC]. You can [[m:Event:MENA Connect (Wiki_Diwan) APP Call|register now]] to attend. '''''[[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/2025/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-2025-W20"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:38, 12 May 2025 (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=28714188 --> == Wikipedia translation of the week: 2025-21 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Lorrin A. Thurston]]'''<br /> <small>''([[:fi:Lorrin Thurston]])&#32;([[:ko:로린 A. 서스턴]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Lorrinandrewsthurston1892.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Lorrin Andrews Thurston''' (July 31, 1858 – May 11, 1931) was a Hawaiian citizen lawyer, politician, and businessman. Thurston played a prominent role in the revolution that overthrew the Hawaiian Kingdom to replace Queen Liliʻuokalani with the Republic of Hawaii, with discreet US support for which Congress much later apologized. He published the Pacific Commercial Advertiser (a forerunner of the present-day Honolulu Star-Advertiser), and owned other enterprises. From 1906 to 1916, he and his network lobbied with national politicians to create a national park to preserve the Hawaiian volcanoes. <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:33, 19 May 2025 (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=28731710 --> == Tech News: 2025-21 == <section begin="technews-2025-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/2025/21|Translations]] are available. '''Weekly highlight''' * The Editing Team and the Machine Learning Team are working on a new check for newcomers: [[mw:Edit check/Peacock check|Peacock check]]. Using a prediction model, this check will encourage editors to improve the tone of their edits, using artificial intelligence. We invite volunteers to review the first version of the Peacock language model for the following languages: Arabic, Spanish, Portuguese, English, and Japanese. Users from these wikis interested in reviewing this model are [[mw:Edit check/Peacock check/model test|invited to sign up at MediaWiki.org]]. The deadline to sign up is on May 23, which will be the start date of the test. '''Updates for editors''' * From May 20, 2025, [[m:Special:MyLanguage/Oversight policy|oversighters]] and [[m:Special:MyLanguage/Meta:CheckUsers|checkusers]] will need to have their accounts secured with two-factor authentication (2FA) to be able to use their advanced rights. All users who belong to these two groups and do not have 2FA enabled have been informed. In the future, this requirement may be extended to other users with advanced rights. [[m:Special:MyLanguage/Mandatory two-factor authentication for users with some extended rights|Learn more]]. * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] [[m:Special:MyLanguage/Community Wishlist Survey 2023/Multiblocks|Multiblocks]] will begin mass deployment by the end of the month: all non-Wikipedia projects plus Catalan Wikipedia will adopt Multiblocks in the week of May 26, while all other Wikipedias will adopt it in the week of June 2. Please [[m:Talk:Community Wishlist Survey 2023/Multiblocks|contact the team]] if you have concerns. Administrators can test the new user interface now on your own wiki by browsing to [{{fullurl:Special:Block|usecodex=1}} {{#special:Block}}?usecodex=1], and can test the full multiblocks functionality [[testwiki:Special:Block|on testwiki]]. Multiblocks is the feature that makes it possible for administrators to impose different types of blocks on the same user at the same time. See the [[mw:Special:MyLanguage/Help:Manage blocks|help page]] for more information. [https://phabricator.wikimedia.org/T377121] * Later this week, the [[{{#special:SpecialPages}}]] listing of almost all special pages will be updated with a new design. This page has been [[phab:T219543|redesigned]] to improve the user experience in a few ways, including: The ability to search for names and aliases of the special pages, sorting, more visible marking of restricted special pages, and a more mobile-friendly look. The new version can be [https://meta.wikimedia.beta.wmflabs.org/wiki/Special:SpecialPages previewed] at Beta Cluster now, and feedback shared in the task. [https://phabricator.wikimedia.org/T219543] * The [[mw:Special:MyLanguage/Extension:Chart|Chart extension]] is being enabled on more wikis. For a detailed list of when the extension will be enabled on your wiki, please read the [[mw:Special:MyLanguage/Extension:Chart/Project#Deployment Timeline|deployment timeline]]. * [[f:Special:MyLanguage/Wikifunctions:Main Page|Wikifunctions]] will be deployed on May 27 on five Wiktionaries: [[wikt:ha:|Hausa]], [[wikt:ig:|Igbo]], [[wikt:bn:|Bengali]], [[wikt:ml:|Malayalam]], and [[wikt:dv:|Dhivehi/Maldivian]]. This is the second batch of deployment planned for the project. After deployment, the projects will be able to call [[f:Special:MyLanguage/Wikifunctions:Introduction|functions from Wikifunctions]] and integrate them in their pages. A function is something that takes one or more inputs and transforms them into a desired output, such as adding up two numbers, converting miles into metres, calculating how much time has passed since an event, or declining a word into a case. Wikifunctions will allow users to do that through a simple call of [[f:Special:MyLanguage/Wikifunctions:Catalogue|a stable and global function]], rather than via a local template. * Later this week, the Wikimedia Foundation will publish a hub for [[diffblog:2024/07/09/on-the-value-of-experimentation/|experiments]]. This is to showcase and get user feedback on product experiments. The experiments help the Wikimedia movement [[diffblog:2023/07/13/exploring-paths-for-the-future-of-free-knowledge-new-wikipedia-chatgpt-plugin-leveraging-rich-media-social-apps-and-other-experiments/|understand new users]], how they interact with the internet and how it could affect the Wikimedia movement. Some examples are [[m:Special:MyLanguage/Future Audiences/Generated Video|generated video]], the [[m:Special:MyLanguage/Future Audiences/Roblox game|Wikipedia Roblox speedrun game]] and [[m:Special:MyLanguage/Future Audiences/Discord bot|the Discord bot]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:29}} community-submitted {{PLURAL:29|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, there was a bug with creating an account using the API, which has now been fixed. [https://phabricator.wikimedia.org/T390751] '''Updates for technical contributors''' * Gadgets and user scripts that interact with [[{{#special:Block}}]] may need to be updated to work with the new [[mw:Special:MyLanguage/Help:Manage blocks|manage blocks interface]]. Please review the [[mw:Help:Manage blocks/Developers|developer guide]] for more information. If you need help or are unable to adapt your script to the new interface, please let the team know on the [[mw:Help talk:Manage blocks/Developers|talk page]]. [https://phabricator.wikimedia.org/T377121] * The <code dir=ltr>mw.title</code> object allows you to get information about a specific wiki page in the [[w:en:Wikipedia:Lua|Lua]] programming language. Starting this week, a new property will be added to the object, named <code dir=ltr>isDisambiguationPage</code>. This property allows you to check if a page is a disambiguation page, without the need to write a custom function. [https://phabricator.wikimedia.org/T71441] * [[File:Octicons-tools.svg|15px|link=|class=skin-invert|Advanced item]] User script developers can use a [[toolforge:gitlab-content|new reverse proxy tool]] to load javascript and css from [[gitlab:|gitlab.wikimedia.org]] with <code dir=ltr>mw.loader.load</code>. The tool's author hopes this will enable collaborative development workflows for user scripts including linting, unit tests, code generation, and code review on <bdi lang="zxx" dir="ltr">gitlab.wikimedia.org</bdi> without a separate copy-and-paste step to publish scripts to a Wikimedia wiki for integration and acceptance testing. See [[wikitech:Tool:Gitlab-content|Tool:Gitlab-content on Wikitech]] for more information. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.2|MediaWiki]] '''Meetings and events''' * The 12th edition of [[m:Special:MyLanguage/Wiki Workshop 2025|Wiki Workshop 2025]], a forum that brings together researchers that explore all aspects of Wikimedia projects, will be held virtually on 21-22 May. Researchers can [https://pretix.eu/wikimedia/wikiworkshop2025/ register now]. '''''[[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/2025/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-2025-W21"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:13, 19 May 2025 (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=28724712 --> == Wikipedia translation of the week: 2025-22 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Lamiera bugnata]]'''<br /> <small>''([[:en:Tread plate]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Diamond Plate.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> Una '''lamiera bugnata''' o mandorlata è una lamiera di metallo ottenuta dalla laminazione di una bramma attraverso rulli che, tramite punzonatura o goffratura, imprimono sulla lamina rilievi a forma di rombo o ellisse, detti bugne. Nel caso questi rilievi siano alternati singolarmente nei due assi, si parla di lamiera diamantata, mentre se le forme sono predisposte in maniera parallela per formare piccoli quadranti tra di loro tangenti, questo pattern viene identificato con il nome di mandorlato. We tend to ignore the fact that this type of plate is the only reason we don't slip when we walk on steel and wet or frozen surfaces. The Italian article it's short but quite complete, and has just the right amount of citations, unlike other poor languages' versions. <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]]) 06:03, 26 May 2025 (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=28751788 --> == Tech News: 2025-22 == <section begin="technews-2025-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/2025/22|Translations]] are available. '''Weekly highlight''' * A community-wide discussion about a very delicate issue for the development of [[m:Special:MyLanguage/Abstract Wikipedia|Abstract Wikipedia]] is now open on Meta: where to store the abstract content that will be developed through functions from Wikifunctions and data from Wikidata. The discussion is open until June 12 at [[m:Special:MyLanguage/Abstract Wikipedia/Location of Abstract Content|Abstract Wikipedia/Location of Abstract Content]], and every opinion is welcomed. The decision will be made and communicated after the consultation period by the Foundation. '''Updates for editors''' * Since last week, on all wikis except [[phab:T388604|the largest 20]], people using the mobile visual editor will have [[phab:T385851|additional tools in the menu bar]], accessed using the new <code>+</code> toolbar button. To start, the new menu will include options to add: citations, hieroglyphs, and code blocks. Deployment to the remaining wikis is [[phab:T388605|scheduled]] to happen in June. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] The <code dir=ltr>[[mw:Special:MyLanguage/Help:Extension:ParserFunctions##ifexist|#ifexist]]</code> parser function will no longer register a link to its target page. This will improve the usefulness of [[{{#special:WantedPages}}]], which will eventually only list pages that are the target of an actual red link. This change will happen gradually as the source pages are updated. [https://phabricator.wikimedia.org/T14019] * This week, the Moderator Tools team will launch [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|a new filter to Recent Changes]], starting at Indonesian Wikipedia. This new filter highlights edits that are likely to be reverted. The goal is to help Recent Changes patrollers identify potentially problematic edits. Other wikis will benefit from this filter in the future. * Upon clicking an empty search bar, logged-out users will see suggestions of articles for further reading. The feature will be available on both desktop and mobile. Readers of Catalan, Hebrew, and Italian Wikipedias and some sister projects will receive the change between May 21 and mid-June. Readers of other wikis will receive the change later. The goal is to encourage users to read the wikis more. [[mw:Special:MyLanguage/Reading/Web/Content Discovery Experiments/Search Suggestions|Learn more]]. * Some users of the Wikipedia Android app can use a new feature for readers, [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/TrivaGame|WikiGames]], a daily trivia game based on real historical events. The release has started as an A/B test, available to 50% of users in the following languages: English, French, Portuguese, Russian, Spanish, Arabic, Chinese, and Turkish. * The [[mw:Special:MyLanguage/Extension:Newsletter|Newsletter extension]] that is available on MediaWiki.org allows the creation of [[mw:Special:Newsletters|various newsletters]] for global users. The extension can now publish new issues as section links on an existing page, instead of requiring a new page for each issue. [https://phabricator.wikimedia.org/T393844] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * The previously deprecated <code dir=ltr>[[mw:Special:MyLanguage/Manual:Ipblocks table|ipblocks]]</code> views in [[wikitech:Help:Wiki Replicas|Wiki Replicas]] will be removed in the beginning of June. Users are encouraged to query the new <code dir=ltr>[[mw:Special:MyLanguage/Manual:Block table|block]]</code> and <code dir=ltr>[[mw:Special:MyLanguage/Manual:Block target table|block_target]]</code> views instead. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.3|MediaWiki]] '''Meetings and events''' * [[d:Special:MyLanguage/Event:Wikidata and Sister Projects|Wikidata and Sister Projects]] is a multi-day online event that will focus on how Wikidata is integrated to Wikipedia and the other Wikimedia projects. The event runs from May 29 – June 1. You can [[d:Special:MyLanguage/Event:Wikidata and Sister Projects#Sessions|read the Program schedule]] and [[d:Special:RegisterForEvent/1291|register]]. '''''[[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/2025/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-2025-W22"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:05, 26 May 2025 (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=28788673 --> == Wikipedia translation of the week: 2025-23 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Angelo azzurro (cocktail)]]'''<br /> <small>''([[:es:Ángel azul (cóctel)]])&#32;([[:fr:Ange bleu (cocktail)]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Angelo Azzurro Cocktail.png|300px|center]] <div style="text-align:left; padding: .4em;"> L''''angelo azzurro''' è un cocktail alcolico italiano. È considerato uno dei cocktail più popolari in Italia negli anni novanta, insieme al B-52 e all'Invisibile. <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]]) 05:39, 2 June 2025 (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=28788623 --> == Tech News: 2025-23 == <section begin="technews-2025-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/2025/23|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Extension:Chart|Chart extension]] is now available on all Wikimedia wikis. Editors can use this new extension to create interactive data visualizations like bar, line, area, and pie charts. Charts are designed to replace many of the uses of the legacy [[mw:Special:MyLanguage/Extension:Graph|Graph extension]]. '''Updates for editors''' * It is now easier to configure automatic citations for your wiki within the visual editor's [[mw:Special:MyLanguage/Citoid/Enabling Citoid on your wiki|citation generator]]. Administrators can now set a default template by using the <code dir=ltr>_default</code> key in the local <bdi lang="en" dir="ltr">[[MediaWiki:Citoid-template-type-map.json]]</bdi> page ([[mw:Special:Diff/6969653/7646386|example diff]]). Setting this default will also help to future-proof your existing configurations when [[phab:T347823|new item types]] are added in the future. You can still set templates for individual item types as they will be preferred to the default template. [https://phabricator.wikimedia.org/T384709] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Starting the week of June 2, bots logging in using <code dir=ltr>action=login</code> or <code dir=ltr>action=clientlogin</code> will fail more often. This is because of stronger protections against suspicious logins. Bots using [[mw:Special:MyLanguage/Manual:Bot passwords|bot passwords]] or using a loginless authentication method such as [[mw:Special:MyLanguage/OAuth/Owner-only consumers|OAuth]] are not affected. If your bot is not using one of those, you should update it; using <code dir=ltr>action=login</code> without a bot password was deprecated [[listarchive:list/wikitech-l@lists.wikimedia.org/message/3EEMN7VQX5G7WMQI5K2GP5JC2336DPTD/|in 2016]]. For most bots, this only requires changing what password the bot uses. [https://phabricator.wikimedia.org/T395205] * From this week, Wikimedia wikis will allow ES2017 features in JavaScript code for official code, gadgets, and user scripts. The most visible feature of ES2017 is <bdi lang="zxx" dir="ltr"><code>async</code>/<code>await</code></bdi> syntax, allowing for easier-to-read code. Until this week, the platform only allowed up to ES2016, and a few months before that, up to ES2015. [https://phabricator.wikimedia.org/T381537] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.4|MediaWiki]] '''Meetings and events''' * Scholarship applications to participate in the [[m:Special:MyLanguage/GLAM Wiki 2025|GLAM Wiki Conference 2025]] are now open. The conference will take place from 30 October to 1 November, in Lisbon, Portugal. GLAM contributors who lack the means to support their participation can [[m:Special:MyLanguage/GLAM Wiki 2025/Scholarships|apply here]]. Scholarship applications close on June 7th. '''''[[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/2025/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-2025-W23"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:55, 2 June 2025 (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=28819186 --> == Wikipedia translation of the week: 2025-24 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:fi:Kotiryssä]]'''<br /> <small>''([[:en:Kotiryssä]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> A '''kotiryssä''' (jocular Finnish: one’s home Russky or home Russian) was a Soviet or Russian contact person of a Finnish politician, bureaucrat, businessman or other important person. <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:33, 9 June 2025 (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=28788623 --> == Tech News: 2025-24 == <section begin="technews-2025-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/2025/24|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Trust and Safety Product|Trust and Safety Product team]] is finalizing work needed to roll out [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] on large Wikipedias later this month. The team has worked with stewards and other users with extended rights to predict and address many use cases that may arise on larger wikis, so that community members can continue to effectively moderate and patrol temporary accounts. This will be the second of three phases of deployment – the last one will take place in September at the earliest. For more information about the recent developments on the project, [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Updates|see this update]]. If you have any comments or questions, write on the [[mw:Talk:Trust and Safety Product/Temporary Accounts|talk page]], and [[m:Event:CEE Catch up Nr. 10 (June 2025)|join a CEE Catch Up]] this Tuesday. '''Updates for editors''' * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] The [[mw:Special:MyLanguage/Help:Watchlist expiry|watchlist expiry]] feature allows editors to watch pages for a limited period of time. After that period, the page is automatically removed from your watchlist. Starting this week, you can set a preference for the default period of time to watch pages. The [[Special:Preferences#mw-prefsection-watchlist-pageswatchlist|preferences]] also allow you to set different default watch periods for editing existing pages, pages you create, and when using rollback. [https://phabricator.wikimedia.org/T265716] [[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 will change at almost all Wikipedias ([[m:Special:MyLanguage/Tech/News/2024/19|some]] have already received this design change, [[phab:T379264|a few]] will get these changes later). You can read details about the changes [[diffblog:2024/05/02/making-talk-pages-better-for-everyone/|on ''Diff'']]. It is possible to opt out of these changes [[Special:Preferences#mw-prefsection-editing-discussion|in user preferences]] ("{{int:discussiontools-preference-visualenhancements}}"). [https://phabricator.wikimedia.org/T319146][https://phabricator.wikimedia.org/T392121] * Users with specific extended rights (including administrators, bureaucrats, checkusers, oversighters, and stewards) can now have IP addresses of all temporary accounts [[phab:T358853|revealed automatically]] during time-limited periods where they need to combat high-speed account-hopping vandalism. This feature was requested by stewards. [https://phabricator.wikimedia.org/T386492] * This week, the Moderator Tools and Machine Learning teams will continue the rollout of [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|a new filter to Recent Changes]], releasing it to several more Wikipedias. This filter utilizes the Revert Risk model, which was created by the Research team, to highlight edits that are likely to be reverted and help Recent Changes patrollers identify potentially problematic contributions. The feature will be rolled out to the following Wikipedias: {{int:project-localized-name-afwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-bewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-bnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hawwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-simplewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-trwiki/en}}. The rollout will continue in the coming weeks to include [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|the rest of the Wikipedias in this project]]. [https://phabricator.wikimedia.org/T391964] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * AbuseFilter editors active on Meta-Wiki and large Wikipedias are kindly asked to update AbuseFilter to make it compatible with temporary accounts. A link to the instructions and the private lists of filters needing verification are [[phab:T369611|available on Phabricator]]. * Lua modules now have access to the name of a page's associated thumbnail image, and on [https://gerrit.wikimedia.org/g/operations/mediawiki-config/+/2e4ab14aa15bb95568f9c07dd777065901eb2126/wmf-config/InitialiseSettings.php#10849 some wikis] to the WikiProject assessment information. This is possible using two new properties on [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#added-by-extensions|mw.title objects]], named <code dir=ltr>pageImage</code> and <code dir=ltr>pageAssessments</code>. [https://phabricator.wikimedia.org/T131911][https://phabricator.wikimedia.org/T380122] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.5|MediaWiki]] '''''[[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/2025/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-2025-W24"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:17, 10 June 2025 (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=28846858 --> == Wikipedia translation of the week: 2025-25 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Future self]]'''<br /> <small>''([[:pl:Przyszła jaźń]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> In the psychology of self, the '''future self''' concerns the processes and consequences associated with thinking about oneself in the future. People think about their future selves similarly to how they think about other people. The extent to which people feel psychologically connected (e.g., similarity, closeness) to their future self influences how well they treat their future self. When people feel connected to their future self, they are more likely to save for retirement, make healthy decisions, and avoid ethical transgressions. Interventions that increase feelings of connectedness with future selves can improve future-oriented decision making across these domains. <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:18, 16 June 2025 (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=28788623 --> == Tech News: 2025-25 == <section begin="technews-2025-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/2025/25|Translations]] are available. '''Updates for editors''' * You can [https://wikimediafoundation.limesurvey.net/359761?lang=en nominate your favorite tools] for the sixth edition of the [[m:Special:MyLanguage/Coolest Tool Award|Coolest Tool Award]]. Nominations are anonymous and will be open until June 25. You can re-use the survey to nominate multiple tools. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:33}} community-submitted {{PLURAL:33|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.6|MediaWiki]] '''In depth''' * Foundation staff and technical volunteers use Wikimedia APIs to build the tools, applications, features, and integrations that enhance user experiences. Over the coming years, the MediaWiki Interfaces team will be investing in Wikimedia web (HTTP) APIs to better serve technical volunteer needs and protect Wikimedia infrastructure from potential abuse. You can [https://techblog.wikimedia.org/2025/06/12/apis-as-a-product-investing-in-the-current-and-next-generation-of-technical-contributors/ read more about their plans to evolve the APIs in this Techblog post]. '''''[[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/2025/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-2025-W25"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:39, 16 June 2025 (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=28870688 --> == Wikipedia translation of the week: 2025-26 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Pictorial map]]'''<br /> <small>''([[:fa:نقشه تصویری]])&#32;([[:ja:絵地図]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Blake Britain Spearhead of Attack.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Pictorial maps''' (also known as illustrated maps, panoramic maps, perspective maps, bird's-eye view maps, and geopictorial maps) depict a given territory with a more artistic rather than technical style. It is a type of map in contrast to road map, atlas, or topographic map. The cartography can be a sophisticated 3-D perspective landscape or a simple map graphic enlivened with illustrations of buildings, people and animals. They can feature all sorts of varied topics like historical events, legendary figures or local agricultural products and cover anything from an entire continent to a college campus. Drawn by specialized artists and illustrators, pictorial maps are a rich, centuries-old tradition and a diverse art form that ranges from cartoon maps on restaurant placemats to treasured art prints in museums. <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:18, 23 June 2025 (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=28788623 --> == Tech News: 2025-26 == <section begin="technews-2025-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/2025/26|Translations]] are available. '''Weekly highlight''' * This week, the Moderator Tools and Machine Learning teams will continue the rollout of [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|a new filter to Recent Changes]], releasing it to the third and last batch of Wikipedias. This filter utilizes the Revert Risk model, which was created by the Research team, to highlight edits that are likely to be reverted and help Recent Changes patrollers identify potentially problematic contributions. The feature will be rolled out to the following Wikipedias: {{int:project-localized-name-azwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lawiki/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-mrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-swwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tlwiki/en}}. The rollout will continue in the coming weeks to include [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|the rest of the Wikipedias in this project]]. [https://phabricator.wikimedia.org/T391964] '''Updates for editors''' * Last week, [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] were rolled out on Czech, Korean, and Turkish Wikipedias. This and next week, deployments on larger Wikipedias will follow. [[mw:Talk:Trust and Safety Product/Temporary Accounts|Share your thoughts]] about the project. [https://phabricator.wikimedia.org/T340001] * Later this week, the Editing team will release [[mw:Special:MyLanguage/Help:Edit check#Multi check|Multi Check]] to all Wikipedias (except English Wikipedia). This feature shows multiple [[mw:Special:MyLanguage/Help:Edit check#Reference check|Reference checks]] within the editing experience. This encourages users to add citations when they add multiple new paragraphs to a Wikipedia article. This feature was previously available as an A/B test. [https://analytics.wikimedia.org/published/reports/editing/multi_check_ab_test_report_final.html#summary-of-results The test shows] that users who are shown multiple checks are 1.3 times more likely to add a reference to their edit, and their edit is less likely to be reverted (-34.7%). [https://phabricator.wikimedia.org/T395519] * A few pages need to be renamed due to software updates and to match more recent Unicode standards. All of these changes are related to title-casing changes. Approximately 71 pages and 3 files will be renamed, across 15 wikis; the complete list is in [[phab:T396903|the task]]. The developers will rename these pages next week, and they will fix redirects and embedded file links a few minutes later via a system settings update. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:24}} community-submitted {{PLURAL:24|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed that had caused pages to scroll upwards when text near the top was selected. [https://phabricator.wikimedia.org/T364023] '''Updates for technical contributors''' * Editors can now use Lua modules to filter and transform tabular data for use with [[mw:Special:MyLanguage/Extension:Chart|Extension:Chart]]. This can be used for things like selecting a subset of rows or columns from the source data, converting between units, statistical processing, and many other useful transformations. [[mw:Special:MyLanguage/Extension:Chart/Transforms|Information on how to use transforms is available]]. [https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:Chart/Project/Updates] * The <code dir=ltr>all_links</code> variable in [[Special:AbuseFilter|AbuseFilter]] is now renamed to <code dir=ltr>new_links</code> for consistency with other variables. Old usages will still continue to work. [https://phabricator.wikimedia.org/T391811] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.7|MediaWiki]] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Growth/Newsletters/34|Growth newsletter]] is available. It includes: the recent updates for the "Add a Link" Task, two new Newcomer Engagement Features, and updates to Community Configuration. '''''[[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/2025/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-2025-W26"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:21, 23 June 2025 (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=28870688 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Queen Elizabeth University Hospital]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:QEUH.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Queen Elizabeth University Hospital''' (QEUH) is a 1,677-bed acute hospital located in Govan, in the south-west of Glasgow, Scotland. The hospital is built on the site of the former Southern General Hospital and opened at the end of April 2015. The hospital comprises a 1,109-bed adult hospital, a 256-bed children's hospital and two major Emergency Departments; one for adults and one for children. There is also an Immediate Assessment Unit for local GPs and out-of-hours services, to send patients directly, without having to be processed through the Emergency Department. The retained buildings from the former Southern General Hospital include the Maternity Unit, the Institute of Neurological Sciences, the Langlands Unit for medicine of the elderly and the laboratory. The whole facility is operated by NHS Greater Glasgow and Clyde, and is one of the largest acute hospital campuses in Europe. <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, 30 June 2025 (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=28788623 --> == Tech News: 2025-27 == <section begin="technews-2025-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/2025/27|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] has been enabled on all Wikipedias. The extension makes it easier to organize and participate in collaborative activities, like edit-a-thons and WikiProjects, on the wikis. The extension has three features: [[m:Special:MyLanguage/Event Center/Registration|Event Registration]], [[m:Special:MyLanguage/CampaignEvents/Collaboration list|Collaboration List]], and [[m:Campaigns/Foundation Product Team/Invitation list|Invitation List]]. To request the extension for your wiki, visit the [[m:Special:MyLanguage/CampaignEvents/Deployment status#How to Request the CampaignEvents Extension for your wiki|Deployment information page]]. '''Updates for editors''' * AbuseFilter maintainers can now [[mw:Special:MyLanguage/Extension:IPReputation/AbuseFilter variables|match against IP reputation data]] in [[mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilters]]. IP reputation data is information about the proxies and VPNs associated with the user's IP address. This data is not shown publicly and is not generated for actions performed by registered accounts. [https://phabricator.wikimedia.org/T354599] * Hidden content that is within [[mw:Special:MyLanguage/Manual:Collapsible elements|collapsible parts of wikipages]] will now be revealed when someone searches the page using the web browser's "Find in page" function (Ctrl+F or ⌘F) in supporting browsers. [https://phabricator.wikimedia.org/T327893][https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/hidden#browser_compatibility] * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] A new feature, called [[mw:Special:MyLanguage/Help:TemplateData/Template discovery|Favourite Templates]], will be deployed later this week on all projects (except English Wikipedia, which will receive the feature next week), following a piloting phase on Polish and Arabic Wikipedia, and Italian and English Wikisource. The feature will provide a better way for new and experienced contributors to recall and discover templates via the template dialog, by allowing users to put templates on a special "favourite list". The feature works with both the visual editor and the wikitext editor. The feature is a [[m:Special:MyLanguage/Community Wishlist/Focus areas/Template recall and discovery|community wishlist focus area]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed that had caused some Notifications to be sent multiple times. [https://phabricator.wikimedia.org/T397103] '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.8|MediaWiki]] '''''[[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/2025/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-2025-W27"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:41, 30 June 2025 (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=28917415 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Non-constituency Member of Parliament]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> A '''Non-constituency Member of Parliament''' (NCMP) is a member of an opposition political party in Singapore who, as stipulated in Article 39 of the Constitution and the Parliamentary Elections Act, is declared to have been elected a Member of Parliament (MP) without constituency representation, despite having lost in a general election, by virtue of having been one of the opposition candidates with the highest vote shares among the unelected. <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:10, 7 July 2025 (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=28788623 --> == Tech News: 2025-28 == <section begin="technews-2025-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/2025/28|Translations]] are available. '''Weekly highlight''' * [[mw:Special:MyLanguage/Help:Temporary accounts|Temporary accounts]] have been rolled out on 18 large and medium-sized Wikipedias, including German, Japanese, French, and Chinese. Now, about 1/3 of all logged-out activity across wikis is coming from temporary accounts. Users involved in patrolling may be interested in two new documentation pages: [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Access to IP|Access to IP]], explaining everything related to access to temporary account IP addresses, and [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Repository|Repository]] with a list of new gadgets and user scripts. '''Updates for editors''' * Anyone can play an experimental new game, [[mw:Special:MyLanguage/New Engagement Experiments/WikiRun|WikiRun]], that lets you race through Wikipedia by clicking from one article to another, aiming to reach a target page in as few steps and in as little time as possible. The project's goal is to explore new ways of engaging readers. [https://wikirun-game.toolforge.org/ Try playing the game] and let the team know what you think [[mw:Talk:New Engagement Experiments/WikiRun|on the talk page]]. * Users of the Wikipedia Android app in some languages can now play the new [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/TrivaGame|trivia game]]. ''Which came first?'' is a simple history game where you guess which of two events happened earlier on today's date. It was previously available as an A/B test. It is now available to all users in English, German, French, Spanish, Portuguese, Russian, Arabic, Turkish, and Chinese. The goal of the feature is to help engage with new generations of readers. [https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/News/2025/22] * Users of the iOS Wikipedia App in some languages may see a new tabbed browsing feature that enables you to open multiple tabs while reading. This feature makes it easier to explore related topics and switch between articles. The A/B test is currently running in Arabic, English, and Japanese in selected regions. More details are available on the [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Tabbed Browsing (Tabs)|Tabbed Browsing project page]]. * Bureaucrats on Wikimedia wikis can now use [[{{#special:VerifyOATHForUser}}]] to check if users have enabled [[mw:Special:MyLanguage/Help:Two-factor authentication|two-factor authentication]]. [https://phabricator.wikimedia.org/T265726] * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] A new feature related to [[m:Special:MyLanguage/Community Wishlist/Focus areas/Template recall and discovery|Template Recall and Discovery]] will be deployed later this week to all Wikimedia projects: a [[mw:Special:MyLanguage/Help:TemplateData/Template discovery#Template categories|template category browser]] will be introduced to assist users in finding templates to put in their “favourite” list. The browser will allow users to browse a list of templates which have been organised into a given category tree. The feature has been requested by the community [[m:Special:MyLanguage/Community Wishlist/Wishes/Select templates by categories|through the Community Wishlist]]. * It is now possible to access watchlist preferences from the watchlist page. Also the redundant button to edit the watchlist has been removed. [https://www.mediawiki.org/wiki/Moderator_Tools/Watchlist] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * As part of [[mw:MediaWiki_1.44|MediaWiki 1.44]] there is now a unified built-in Notifications system that makes it easier for developers to send, manage, and customize notifications. Check out the updated documentation at [[mw:Manual:Notifications|Manual:Notifications]], information about migration in [[phab:T388663|T388663]] and details on deprecated hooks in [[phab:T389624|T389624]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.9|MediaWiki]] '''Meetings and events''' * [[d:Special:MyLanguage/Event:WikidataCon 2025|WikidataCon 2025]], the conference dedicated to Wikidata is now open for [https://pretalx.com/wikidatacon-2025/cfp session proposals] and for [[d:Special:RegisterForEvent/1340|registration]]. This year's event will be held online from October 31 – November 02 and will explore on the theme of "Connecting People through Linked Open Data". '''''[[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/2025/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-2025-W28"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:06, 8 July 2025 (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=28930584 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Immunolabeling]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Immunolabeling process image.png|300px|center]] <div style="text-align:left; padding: .4em;"> '''Immunolabeling''' is a biochemical process that enables the detection and localization of an antigen to a particular site within a cell, tissue, or organ. Antigens are organic molecules, usually proteins, capable of binding to an antibody. These antigens can be visualized using a combination of antigen-specific antibody as well as a means of detection, called a tag, that is covalently linked to the antibody <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]]) 13:44, 14 July 2025 (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=28945528 --> == Tech News: 2025-29 == <section begin="technews-2025-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/2025/29|Translations]] are available. '''Updates for editors''' * [[mw:Special:MyLanguage/Help:TemplateData/Template discovery#Featured templates|Featured templates]], a new feature related to [[m:Special:MyLanguage/Community Wishlist/Focus areas/Template recall and discovery|Template Recall and Discovery]] will be deployed this week to all Wikimedia projects: With this feature, editors will be able to quickly access a list of templates that are likely to be useful. These templates will be displayed in a list, under the "featured" tab of the template discovery interface. Administrators can define the list via the Community Configuration interface. The feature fulfills a request by the community [[m:Special:MyLanguage/Community Wishlist/Wishes/Easy access Templates|through the Community Wishlist]]. [https://phabricator.wikimedia.org/T367428][https://phabricator.wikimedia.org/T392896] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the request to add Malayalam fonts in the [[oldWikisource:Special:MyLanguage/Wikisource:WS Export|Wikisource Book Export Tool]] was resolved and now, the rendering of Malayalam letters in exported Wikisource books are accurate. [https://phabricator.wikimedia.org/T374457] '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.10|MediaWiki]] '''In depth''' * Developers, designers, and all Wikimedians are invited to [https://phabricator.wikimedia.org/project/board/7953/ submit a project idea] for the Wikimania Hackathon 2025. Read [https://diff.wikimedia.org/2025/06/30/call-for-projects-wikimania-hackathon-2025-is-coming-to-nairobi/ this Diff blog post] for more details. '''Meetings and events''' * [[m:WikiIndaba conference 2025|WikiIndaba 2025]] scholarship application and program submission is open until 23:59 GMT on July 20. WikiIndaba is a regional conference for African Wikimedians both on the continent and in the diaspora to unite and grow together. Submit [https://docs.google.com/forms/d/e/1FAIpQLSdJTv68R1OPASXXDfpIl8EWiMLTM-TDwh6_5gNVvFuWccFZ2Q/viewform your scholarship application] and [https://ee.kobotoolbox.org/x/BI3omIfH program proposal] now! * [https://br.wikimedia.org/wiki/WikiCon_Brasil_2025 WikiCon Brasil 2025] will take place on July 19-20 in Salvador, Bahia, Brazil. The Brazilian community members are encouraged to register and attend! '''''[[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/2025/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-2025-W29"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:10, 14 July 2025 (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=28980963 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Vespa analis]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Plumpy hornet on the ground - 1.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''Vespa analis''''', the yellow-vented hornet, is a species of common hornet found in 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]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:28, 21 July 2025 (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=28984647 --> == Tech News: 2025-30 == <section begin="technews-2025-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/2025/30|Translations]] are available. '''Updates for editors''' * The Translation Suggestions feature in the [[mw:Special:MyLanguage/Content translation|Content Translation tool]] now has another level of article filters added to the "[https://en.wikipedia.org/w/index.php?title=Special:ContentTranslation&filter-type=automatic&filter-id=previous-edits&active-list=suggestions&from=en&to=fi#/ ... More]" category. Translators who use the Suggestions feature can now select and receive article suggestions that are customized to geographical locations of their interest using the new "{{int:Cx-sx-suggestions-filters-tab-regions}}" filter. [https://phabricator.wikimedia.org/T113257] * Administrators can now limit "Add a Link" to newcomers. The [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|"Add a Link"]] Structured Task [[mw:Special:MyLanguage/Growth/Constructive activation experimentation#Enwiki A/B test & "Add a Link" Improvements (Wiki Experiences 1.2.11 & 1.2.16)|helps new account holders start editing]], but some communities have requested the ability to restrict it to its intended audience: newcomers. Administrators can configure this setting within the [[Special:CommunityConfiguration/GrowthSuggestedEdits|Community Configuration]] feature. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:29}} community-submitted {{PLURAL:29|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * For AbuseFilter editors on [[phab:T392144|some wikis]], it is now possible to filter edits based on the RevertRisk score of the edit being attempted. It is only populated if the action being evaluated is an edit. For more information, please see the [[mw:Special:MyLanguage/Extension:ORES/AbuseFilter variables#What variables are available for use|ORES/AbuseFilter variables]] documentation. * The [[mw:Special:MyLanguage/Beta Cluster|Beta Cluster]] wikis have [[listarchive:list/wikitech-l@lists.wikimedia.org/thread/YDABPV75LADRQCXMJAFWUP256N4EQ25B/|been moved]] from <code dir=ltr>beta.wmflabs.org</code> to <code dir=ltr>beta.wmcloud.org</code>. Users may need to update URLs in any tools, or in their password managers. Any related issues can be [[phab:T289318|reported in the task]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.11|MediaWiki]] '''Meetings and events''' * [[m:Special:MyLanguage/WikiCite 2025|WikiCite 2025]] will take place from 29–31 August, both online and in-person in Bern, Switzerland. The event's goals are to reconnect communities, institutions, and individuals working with open citations, bibliographic data, and the Wikidata/Wikibase ecosystem. Registration is open and the call for proposals will be announced soon. [https://lists.wikimedia.org/hyperkitty/list/wikidata@lists.wikimedia.org/message/KQZUG3ETKLBWPBYSB2YAWZIRPWHS24TG/] '''''[[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/2025/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-2025-W30"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:43, 21 July 2025 (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=29005283 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Fernando de Noronha Marine National Park]]'''<br /> <small>''([[:pt:Parque Nacional Marinho de Fernando de Noronha]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Baía dos Porcos - Fernando de Noronha (32811749914).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Fernando de Noronha Marine National Park''' (Portuguese: Parque Nacional Marinho de Fernando de Noronha) is a national park in the state of Pernambuco, Brazil. <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:40, 28 July 2025 (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=29047614 --> == Tech News: 2025-31 == <section begin="technews-2025-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/2025/31|Translations]] are available. '''Weekly highlight''' * The Community Tech team will be focusing on wishes related to Watchlists and Recent Changes pages, over the next few months. They are looking for feedback. Please [[m:Special:MyLanguage/Community Wishlist/Updates#July 24, 2025: Watchlists and Recent Changes pages|read the latest update]], and if you have ideas, please [[m:Special:MyLanguage/Community Wishlist|submit a wish]] on the topic. '''Updates for editors''' * The Wikimedia Commons community has decided to block [[:mw:Special:MyLanguage/Upload dialog|cross-wiki uploads]] to Wikimedia Commons, for all users without autoconfirmed rights on that wiki, starting on August 16. This is because of [[:c:Commons:Cross-wiki media upload tool/History|widespread problems]] related to files that are uploaded by newcomers. Users who are affected by this will get an error message with a link to the less restrictive UploadWizard on Commons. Please help translating the [[:c:Special:MyLanguage/MediaWiki:Abusefilter-disallowed-cross-wiki-upload|message]] or give feedback on the message text. Please also update your local help pages to explain this restriction. [https://phabricator.wikimedia.org/T370598] * On wikis with temporary accounts enabled and Meta-Wiki, administrators may now set up a footer for the Special:Contributions pages of temporary accounts, similar to those which can be shown on IP and user-account pages. They may do it by creating the page named <code dir=ltr>MediaWiki:Sp-contributions-footer-temp</code>. [https://phabricator.wikimedia.org/T398347] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.12|MediaWiki]] '''Meetings and events''' * [[wmania:Special:MyLanguage/2025:Wikimania|Wikimania 2025]] will run from August 6–9. The [https://wikimedia.eventyay.com/talk/wikimania2025/schedule/ program is available] for you to plan which sessions you want to attend. Most sessions will be live-streamed, with exceptions for those that show the "no camera" icon. If you are joining online to watch live-streams and use the interactive features, please [[wmania:Special:MyLanguage/2025:Registration|register]] for a free virtual ticket. For example, you may be interested in technical sessions such as: ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/KFEFVG/ Temporary Accounts: Enhancing privacy for our unregistered editors] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/TVCVAB/ Building a Sustainable Future for Wikimedia Contributors] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/WTRQCJ/ A dozen visions for wikitext!] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/8YKKP9/ Coordinate Across Stakeholders with the Product and Technology Advisory Council] * The [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Fall 2025|MediaWiki Users and Developers Conference, Fall 2025]] will be held 28–30 October 2025 in Hanover, Germany. This event is organized by and for the third-party MediaWiki community. You can propose sessions and register to attend. '''''[[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/2025/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-2025-W31"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:27, 29 July 2025 (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=29051727 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Xie Zhiliu]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Xie Zhiliu''' (Chinese: 谢稚柳; 1910–1997) was a leading traditional painter, calligrapher, and art connoisseur of modern China. <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:21, 4 August 2025 (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=29077280 --> == Tech News: 2025-32 == <section begin="technews-2025-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/2025/32|Translations]] are available. '''Updates for editors''' * Editors can now enable the [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/User Info|User Info card]]. This feature adds an icon next to usernames on history pages and similar user-contribution log pages. When you tap or click on the icon, it displays data related to that user account such as the number of edits, reverted edits, blocks, and more. It's part of a broader project to make it easier for moderators to evaluate account trustworthiness. The feature can be enabled in [[testwiki:Special:GlobalPreferences#mw-prefsection-rendering|your global preferences]], and later this week it will be available in local preferences. [https://phabricator.wikimedia.org/T386439] * Everybody is invited to share comments on [[m:Special:MyLanguage/CampaignEvents/Collaborative contributions|Collaborative Contributions]], a project recently launched by the [[m:Special:MyLanguage/Connection Team|Connection team]]. The project aims to create a new way to display the impact of collaborative editing activities (such as edit-a-thons, backlog drives, and WikiProjects) on the wikis. Post your comments on the [[m:Talk:CampaignEvents/Collaborative contributions|project talk page]]. [https://phabricator.wikimedia.org/T378035] * Administrators can now define the default block duration for temporary accounts. To do that, they need to create a page named <code dir=ltr>MediaWiki:Ipb-default-expiry-temporary-account</code> and use a value defined in <code dir=ltr>MediaWiki:Ipboptions</code>. This allows administrators to easily block temporary accounts for 90 days, which is functionally equivalent to an indefinite block. The advantage of this solution is that it does not clutter Special:BlockList. [[mw:Special:MyLanguage/Manual:Block and unblock#Default block duration options|More documentation]] is available. [https://phabricator.wikimedia.org/T398626] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Gadgets can now include <code dir=ltr>.vue</code> files. This makes it easier to develop modern user interfaces using [[mw:Vue.js|Vue.js]], in particular using [[mw:Special:MyLanguage/Codex|Codex]], the official design system of Wikimedia. [[wmdoc:codex/latest/icons/overview.html|Codex icons]] can be loaded through the gadget definition. [[mw:Special:MyLanguage/Extension:Gadgets#Pages|The documentation]] has examples. For user scripts that use Vue.js, an [[mw:API:CodexIcons|API module]] now exists to load Codex icons. [https://phabricator.wikimedia.org/T340460][https://phabricator.wikimedia.org/T311099] * Module developers can now use a [[mw:Help:Extension:Translate/Message Bundles/Lua reference|Lua interface]] to simplify the preparation of Lua modules for translation on Meta-Wiki. This improvement makes it easier for translators to find and edit module strings without dealing with raw Lua code. It helps prevent mistakes that could break the module during translation. Module developers and translators are invited to [[commons:File:Translatable modules video demo July 2025.webm|watch the demo video]], read more about [[mw:Special:MyLanguage/Translatable modules|translatable modules]] to understand how it works, refer to Meta-Wiki's [[m:Module:User Wikimedia project|Module:User Wikimedia project]] for example usage, and [[mw:Talk:Translatable modules|share their feedback]] on how well it addresses the challenges in their workflow. The interface still has some performance issues, so it should not be used in widely used modules yet. [https://phabricator.wikimedia.org/T359918] * Developers of external tools that connect to Wikimedia pages must set a user-agent that complies with [[foundation:Special:MyLanguage/Policy:Wikimedia Foundation User-Agent Policy|the user-agent policy]]. This policy will start to be more strongly enforced in August because of external crawlers that are [[diffblog:2025/04/01/how-crawlers-impact-the-operations-of-the-wikimedia-projects/|overusing]] Wikimedia's resources. Tools that are hosted on Wikimedia's Toolforge or Cloud VPS will not be affected by this for now, but should still set a user-agent. [[phab:T400119|More technical details are available]], and related questions are welcome in that task. * Parsoid Read Views is going to be rolling out to some smaller Wikipedias over the next few weeks, following the successful transition of Wikivoyages and Wiktionaries to Parsoid Read Views. For more information, see the [[mw:Special:MyLanguage/Parsoid/Parser Unification|Parsoid/Parser Unification]] project page. [https://phabricator.wikimedia.org/project/profile/7694/] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.13|MediaWiki]] '''Meetings and events''' * [[wmania:Special:MyLanguage/2025:Wikimania|Wikimania 2025]] will run from August 6–9. The [https://wikimedia.eventyay.com/talk/wikimania2025/schedule/ program is available] for you to plan which sessions you want to attend. Most sessions will be live-streamed, with exceptions for those that show the "no camera" icon. If you are joining online to watch live-streams and use the interactive features, please [[wmania:Special:MyLanguage/2025:Registration|register]] for a free virtual ticket. For example, you may be interested in technical sessions such as: ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/GEH9DH/ Wikimedia’s knowledge infrastructure in a changing internet: Establishing sustainable pathways for content reuse] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/7ELN9Q/ Wikifunctions is coming soon to a wiki near you!] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/ZMGVJV/ Shaping the Future of Wikipedia’s Reader Experience] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/KCKTFZ/ Making Wikipedia More Readable: What Comes Next] '''''[[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/2025/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-2025-W32"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 03:41, 5 August 2025 (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=29083927 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Lethocerus patruelis]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Lethocerus patruelis.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''Lethocerus patruelis''''' is a giant water bug in the family Belostomatidae. It is native to southeastern Europe, through Southwest Asia, to Pakistan, India and Burma. <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:20, 11 August 2025 (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=29085671 --> == Tech News: 2025-33 == <section begin="technews-2025-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/2025/33|Translations]] are available. '''Updates for editors''' * The WikiEditor toolbar now includes [[mw:Special:MyLanguage/Help:Extension:WikiEditor#Keyboard shortcuts|its keyboard shortcuts]] in the tooltips for its buttons. This will help to improve the discoverability of this feature. [https://phabricator.wikimedia.org/T400583] * The [[m:Special:MyLanguage/Product and Technology Advisory Council|Product and Technology Advisory Council]] published a set of [[m:Special:MyLanguage/Product and Technology Advisory Council/August 2025 draft PTAC proposals for feedback|proposed experiments]] the Wikimedia Foundation can try to improve communication with community. Feedback on the proposals are welcomed until August 22 on [[m:Talk:Product and Technology Advisory Council/August 2025 draft PTAC proposals for feedback|this talk page]]. * The search bar on the Minerva skin (mobile) has been updated to use the same type-ahead search component that is used on the Vector 2022 skin. There are no changes in search functionality but there are minor visual changes. Specifically, the close-search button has been changed from an "X" to a back arrow. This helps to distinguish it from the other "X" button that is used to clear any text. [https://phabricator.wikimedia.org/T393944] * Editors on some wikis will see a new toggle for "Group results by page" on watchlist, related changes, and recent changes pages. This is [[mw:Special:MyLanguage/Moderator Tools/Watchlist/Experiment|an A/B experiment]] that is planned to start on August 11, and will run for 3–6 weeks on the Bengali, Chinese, Czech, French, Greek, Portuguese, and Urdu Wikipedias. The experiment will examine how making this feature more discoverable might affect editors' ability to find the edits they are looking for. [https://phabricator.wikimedia.org/T396789] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * The multiwiki datasets of [[:wikt:en:Module:Unicode data|Unicode data]] have been moved to [[c:Category:Unicode Module Datasets|Category:Unicode Module Datasets]] on Wikimedia Commons, to follow the idea of "One common data source, multiple local wikis". Most wikis have been updated to use the Commons version. You can ask questions at [[c:Category talk:Unicode Module Datasets|the talkpage]]. [https://en.wiktionary.org/wiki/Module_talk:Unicode_data#Data_from_commons] * Lua code can add warnings when something is wrong, by using the <code dir=ltr>mw.addWarning()</code> function. It is now possible to add more than one warning, instead of new warnings replacing old ones. If you maintain a Lua module that used warnings, you should check it still works as expected. [https://phabricator.wikimedia.org/T398390] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.14|MediaWiki]] '''''[[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/2025/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-2025-W33"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:30, 11 August 2025 (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=29106516 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Ikiza]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:CIA map of Burundi and surrounding countries during 1972 killings.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Ikiza''' (variously translated from Kirundi as the Catastrophe, the Great Calamity, and the Scourge), or the Ubwicanyi (Killings), was a series of mass killings—often characterised as a genocide—which were committed in Burundi in 1972 by the Tutsi-dominated army and government, primarily against educated and elite Hutus who lived in the country. Conservative estimates place the death toll of the event between 100,000 and 150,000 killed, while some estimates of the death toll go as high as 300,000. <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:43, 18 August 2025 (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=29115447 --> == Tech News: 2025-34 == <section begin="technews-2025-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/2025/34|Translations]] are available. '''Updates for editors''' * Later this week, people who are logged-in and have the "[[mw:Special:MyLanguage/Talk pages project/Feature summary|Discussion tools]]" [[Special:Preferences#mw-prefsection-betafeatures|Beta Feature]] enabled will gain the ability to "Thank" individual comments directly from talk pages, rather than needing to navigate to page history. [[mw:Special:MyLanguage/Talk pages project/Feature summary#Comment actions|Learn more about this feature]]. [https://phabricator.wikimedia.org/T400849] * An A/B test comparing two versions of the desktop donate link launched on testwiki on 12 August and on English Wikipedia 14 August for 0.1% of logged out users on the desktop site. The experiment will run for three weeks, ending on 12 September. [https://phabricator.wikimedia.org/T395716] * An A/A test to measure the baseline for reader retention was launched 12 August using [[wikitech:Experimentation Lab|Experimentation Lab]]. This measures the percentage of users who revisit a wiki after their initial visit over a 14-day period. No visual changes are expected. The experiment will run through 31 August. [https://phabricator.wikimedia.org/T399227] * Five new wikis have been created: ** a {{int:project-localized-name-group-wikisource/en}} in [[d:Q34057|Tagalog]] ([[s:tl:|<code>s:tl:</code>]]) [https://phabricator.wikimedia.org/T388639] ** a {{int:project-localized-name-group-wikisource/en}} in [[d:Q36213|Madurese]] ([[s:mad:|<code>s:mad:</code>]]) [https://phabricator.wikimedia.org/T391747] ** a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q3450749|Rakhine]] ([[w:rki:|<code>w:rki:</code>]]) [https://phabricator.wikimedia.org/T392490] ** a {{int:project-localized-name-group-wikibooks/en}} in [[d:Q13324|Minangkabau]] ([[b:min:|<code>b:min:</code>]]) [https://phabricator.wikimedia.org/T395452] ** a {{int:project-localized-name-group-wiktionary/en}} in [[d:Q7598268|Standard Moroccan Amazigh]] ([[wikt:zgh:|<code>wikt:zgh:</code>]]) [https://phabricator.wikimedia.org/T399684] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:46}} community-submitted {{PLURAL:46|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.15|MediaWiki]] '''''[[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/2025/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-2025-W34"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:39, 19 August 2025 (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=29127690 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Corallite]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Recent azooxanthellate Scleractinia (Cnidaria, Anthozoa) - ZooKeys-227-001-g004.jpeg|300px|center]] <div style="text-align:left; padding: .4em;"> A '''corallite''' is the skeletal cup, formed by an individual stony coral polyp, in which the polyp sits and into which it can retract. The cup is composed of aragonite, a crystalline form of calcium carbonate, and is secreted by the polyp. Corallites vary in size, but in most colonial corals they are less than 3 mm (0.12 in) in diameter. <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:18, 25 August 2025 (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=29115447 --> == Tech News: 2025-35 == <section begin="technews-2025-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/2025/35|Translations]] are available. '''Updates for editors''' * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Template authors can now use additional CSS properties, since the CSS sanitizer used by [[mw:Special:MyLanguage/Help:TemplateStyles|TemplateStyles]] was updated. For example: <code>width: fit-content</code>; <code>ruby-align</code>; relative units such as <code>lh</code>; and custom strings in <code>list-style-type</code>. These improvements are a [[m:Special:MyLanguage/Community Wishlist/Wishes/Allow use of modern CSS in templates by updating the TemplateStyles CSS sanitizer|Community Wishlist wish]]. [https://phabricator.wikimedia.org/T271958][https://phabricator.wikimedia.org/T277755][https://phabricator.wikimedia.org/T293633][https://phabricator.wikimedia.org/T295088][https://phabricator.wikimedia.org/T326906][https://phabricator.wikimedia.org/T340057][https://phabricator.wikimedia.org/T360725][https://phabricator.wikimedia.org/T371809][https://phabricator.wikimedia.org/T375344][https://phabricator.wikimedia.org/T394619] * On large wikis, the default time period to display edits from, within the Special:RecentChanges page, has been changed from 7 days to 1 day. This is part of a performance improvement project. This should have no user-facing impact due to the quantity of edits on these wikis. [https://phabricator.wikimedia.org/T399455] * Administrators can now access the [[{{#special:BlockedExternalDomains}}]] page from the [[{{#special:CommunityConfiguration}}]] list page. This makes it easier to find. [https://phabricator.wikimedia.org/T393240] * Wikimedia Commons videos were not shown in the Videos tab in Google Search. The problem was investigated and reported to Google who have now fixed the issue. [https://phabricator.wikimedia.org/T396168][https://meta.wikimedia.org/wiki/Community_Wishlist/Wishes/Do_something_about_Google_%26_DuckDuckGo_search_not_indexing_media_files_and_categories_on_Commons] * One new wiki has been created: a {{int:project-localized-name-group-wiktionary/en}} in [[d:Q33014|Betawi]] ([[wikt:bew:|<code>wikt:bew:</code>]]) [https://phabricator.wikimedia.org/T402130] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:39}} community-submitted {{PLURAL:39|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Two fields of the [[mw:Special:MyLanguage/Manual:Recentchanges table|recentchanges database table]] are being removed. <code>rc_new</code> and <code>rc_type</code> are being removed in favor of <code>rc_source</code>. Queries to these older fields will start to fail starting this week and developers should use <code>rc_source</code> instead. These older fields were deprecated over 10 years ago and should not be in use. This is part of work to improve the performance and stability of queries to the recentchanges table. [https://phabricator.wikimedia.org/T400696] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.16|MediaWiki]] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/July|Language and Internationalization Newsletter]] is now available. This edition includes: support for new languages in MediaWiki and translatewiki; the start of the Language Onboarding and Development project to help support the growth of new and small wikis; updates on research projects; and more. '''Meetings and events''' * The next [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Community meetings#29 August 2025|Language Community Meeting]] is happening soon, August 29th at [https://zonestamp.toolforge.org/1756479600 15:00 UTC]. This week's meeting will cover: the Avro keyboard developers from Wikimedia Bangladesh, who were recently awarded a national award for their contributions to this keyboard; and other topics. '''''[[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/2025/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-2025-W35"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:13, 26 August 2025 (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=29175124 --> == Wikipedia translation of the week: 2025-36 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Diksam Plateau]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Dixam plateau (6407168437).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Diksam Plateau''' or Dixam Plateau (Arabic: دكسم) is a limestone plateau in Socotra, Yemen. The Firmihin forest, located east of the Dirhur canyon within the plateau, has the highest concentration of Dragon's Blood Trees on the entire island. <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:40, 1 September 2025 (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=29195081 --> == Tech News: 2025-36 == <section begin="technews-2025-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/2025/36|Translations]] are available. '''Weekly highlight''' * The Editing team wants to compile a list of templates, jargon terms, and policies used in edit summaries when a copyright violation is removed. This will help them identify the number of edits reverted due to copyright issues. We invite community members from the following Wikis to list these terms in [[Phab:T402601|T402601]], or to share their list with [[User:Trizek (WMF)|Trizek_(WMF)]]: {{int:project-localized-name-arwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-enwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-eswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-frwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-idwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-itwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-jawiki/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-plwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ptwiki/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}}{{int:comma-separator/en}}{{int:project-localized-name-zhwiki/en}}. This project is open until September 9th 2025. '''Updates for editors''' * The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] has been enabled for all Wikisources. The extension makes it easier to organize and participate in collaborative activities, like edit-a-thons and WikiProjects, on the wikis. The extension has three features: [[m:Special:MyLanguage/Event Center/Registration|Event Registration]], [[m:Special:MyLanguage/CampaignEvents/Collaboration list|Collaboration List]], and [[m:Special:MyLanguage/Connection Team/Invitation list|Invitation List]]. To request the extension for your wiki, visit the Deployment information page. [https://meta.wikimedia.org/wiki/CampaignEvents/Deployment_status#How_to_Request_the_CampaignEvents_Extension_for_your_wiki] * The lists in the footer of the editing interface, such as "Templates used on this page," will now be organized into columns when there is enough space. This enhancement minimizes scrolling when editing lengthy articles on Wikipedia. [https://phabricator.wikimedia.org/T401066] * On September 3rd, 2025 we will increase the sampling percentages of our [[mw:Special:MyLanguage/Moderator Tools/Watchlist/Experiment#Scope of the experiment|group by toggle experiment]] of the <code>Special:RecentChanges</code>, <code>Special:Watchlist</code>, and <code>Special:RelatedChanges</code> pages on the Chinese, French, and Portuguese Wikipedias to 100 percent, allowing more editors to be part of this experiment. This adjustment is intended to ensure we have sufficient data to make informed decisions when evaluating the experiment results. [https://phabricator.wikimedia.org/T402958][https://phabricator.wikimedia.org/T396789] * Upon clicking an empty search bar, logged-out users will see suggestions of articles for further reading on English Wikipedia beginning the week of September 22. The feature will be available on both desktop and mobile. All non-English wikis received this change in June and July. The goal is to make it easier for users to find articles. [[mw:Special:MyLanguage/Reading/Web/Content Discovery Experiments/Search Suggestions|Learn more]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:37}} community-submitted {{PLURAL:37|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.17|MediaWiki]] '''In depth''' * Wikifunctions now has a new capability called "lightweight enumeration types", an enumeration type is simply a fixed set of values that's in the type's definition. This capability makes it quick and easy to define such a type, and allows for the reuse of values that are already present in Wikidata. Here is [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-07-19|a newsletter]] to learn more. * The latest [[mw:Special:MyLanguage/Readers/Newsletter updates#August 2025: Newsletter #1|Readers Newsletter]] is now available. This edition includes: the formation of two new teams — Reader Growth and Reader Experience; insights into declining pageviews and account creations; highlights from the Wikimania Nairobi panel on improving the reading experience; upcoming experiments to engage new and existing readers; and more. '''Meetings and events''' * Spotlight on some Wikimania 2025 Sessions: ** Identifying AI-generated text by searching for ISBNs whose checksums fail: Mathias Schindler of WMDE [https://www.youtube.com/watch?v=Dw9o8Lsl974&t=15910s shared tools to help communities search for these]. ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/TCHZKH/ La durabilité du mouvement Wikimedia face aux défis actuels et futurs]: This session explored how Wikimedia can stay a trusted source of knowledge in the age of generative AI, information overload, and disinformation. '''''[[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/2025/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-2025-W36"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:51, 1 September 2025 (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=29196010 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Ttongsul]]'''<br /> <small>''([[:ja:トンスル]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Ttongsul (imitation).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> Il '''ttongsul''' (똥술), o vino di feci, è una tradizionale preparazione medicinale coreana con gradazione alcolica al 9% a base di feci, solitamente umane e preferibilmente di bambino. Nato probabilmente traendo spunto dalla medicina tradizionale cinese, nelle credenze popolari il vino di feci avrebbe proprietà benefiche per molti tipi di malesseri: sarebbe un rimedio per dolori muscolari, ustioni, infiammazioni, epilessia e fratture ossee. Sebbene alcuni media occidentali abbiano in passato riportato che questa bevanda sia diffusa tra la popolazione coreana, al giorno d'oggi un numero molto limitato di persone ne fa uso, dopo aver subito un declino di popolarità nei secoli scorsi, tanto che la maggioranza dei giovani coreani non ne ha mai sentito parlare. <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:28, 8 September 2025 (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=29195081 --> == Tech News: 2025-37 == <section begin="technews-2025-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/2025/37|Translations]] are available. '''Weekly highlight''' * The Editing team is working on a new check: [[mw:Special:MyLanguage/Paste check|Paste check]]. This check informs newcomers who paste text into Wikipedia that the content might not be accepted. This check is an effort to increase the likelihood that the new content people are adding to Wikipedia is aligned with the Movement's commitment to offering information under a free content license. This check will soon be tested at a few wikis. If your community is interested in this test, please [[phab:T403680|tell us in this task]], or [[mw:Talk:Edit check|contact the team]]. '''Updates for editors''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Later this week, users of the "{{int:codemirror-beta-feature-title}}" [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] will be able to use a [[w:en:Lint (software)|linting tool]] to see errors or other potential problems in wikitext in real time. See the [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|help page for more information]]. [https://phabricator.wikimedia.org/T381577] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] When browsing a wiki (like <code dir=ltr>en.wikipedia.org</code>), the software responds in one of two ways: a desktop page, or a redirect to a mobile version on an "m" domain (like <code dir=ltr>en.m.wikipedia.org</code>). Over the next three weeks, MediaWiki will start displaying the mobile version to mobile devices directly on the standard domain, without this redirect. This change does not affect existing m-dot URLs, or the "Desktop view" opt-out. [[mw:Requests for comment/Mobile domain sunsetting/2025 Announcement|Learn more]]. [https://phabricator.wikimedia.org/T214998] * When an edit changes the categories of a page, the changes to the category membership counts are now happening asynchronously. This improves the speed of saving edits, especially when moving many pages to or from the same category, and reduces the risk of site outages, but it means that the counts can show outdated information for a few minutes. [https://phabricator.wikimedia.org/T365303] * Edits on Wikidata to qualifiers (properties and values) and references (properties and values) in a Wikidata item statement will now not add entries to the RecentChanges or Watchlist pages on all other Wikis. This is a temporary change to improve performance while other solutions are created. Wikidata's own pages remain unchanged. [[m:Wikidata For Wikimedia Projects/Reduce change propagation noise#Phase 1: Turn off (temporarily) Qualifiers and References Wikidata edits to the Recent Changes tables|Learn more]]. [https://phabricator.wikimedia.org/T401286][https://phabricator.wikimedia.org/T400698] * Japanese-language wikis have had a major upgrade to the way that search works. The new search should generally give more accurate and more relevant search results. [https://phabricator.wikimedia.org/T318269] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.18|MediaWiki]] '''''[[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/2025/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-2025-W37"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:15, 9 September 2025 (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=29238161 --> == Wikipedia translation of the week: 2025-38 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Pak Kum-chol]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Pak Kum-chol in 1961 (cropped).jpg|center]] <div style="text-align:left; padding: .4em;"> '''Pak Kum-chol''' was a North Korean politician. Having been a guerrilla during the anti-Japanese struggle, he became a high-ranking politician after the liberation of Korea. Pak aligned himself with his former guerrilla brothers in arms from the Kapsan Operation Committee to form a faction within the ruling Workers' Party of Korea (WPK) called the "Kapsan faction". This faction sought to replace Kim Il Sung with Pak. Kim retaliated by purging the faction in 1967 in what is known as the Kapsan faction incident. <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:18, 15 September 2025 (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=29249252 --> == Tech News: 2025-38 == <section begin="technews-2025-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/2025/38|Translations]] are available. '''Updates for editors''' * References lists that are made using the <code dir=ltr><nowiki><references/></nowiki></code> [[mw:Special:MyLanguage/Help:Cite#references-tag|tag]] will now automatically display with columns in Vector 2022 when readers are using its 'standard' settings for text-size and page-width. [https://phabricator.wikimedia.org/T334941] * Starting in the week of October 6, on [[gitiles:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/small.dblist|small wikis]] and [[gitiles:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/medium.dblist|medium wikis]] that have the [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] enabled, all autoconfirmed users will be able to use [[m:Special:MyLanguage/Event Center/Registration|Event Registration]] as an organizer. No changes will be made for [[gitiles:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/large.dblist|large wikis]] unless requested in Phabricator. This change is being made to make it easier for more people to use Event Registration, especially on wikis that are less likely to have policies related to the Event Organizer right. [[m:Special:MyLanguage/CampaignEvents/Proposal to grant autoconfirmed users on small and medium wikis the organizer access to the event registration tool|Learn more]]. * Users that search using regular expressions (regex) can now use additional features including: ** for the <code dir=ltr>intitle:</code> keyword: [[mw:Special:MyLanguage/Help:CirrusSearch#Metacharacters|metacharacters]] for start-of-line (<code dir=ltr>^</code>) and end-of-line (<code dir=ltr>$</code>) anchors [https://phabricator.wikimedia.org/T317599] ** for both <code dir=ltr>intitle:</code> and <code dir=ltr>insource:</code> keywords: shorthand [[mw:Special:MyLanguage/Help:CirrusSearch#Character_Classes|character classes]] for digits (<code dir=ltr>\d</code>), whitespace (<code dir=ltr>\s</code>), and word characters (<code dir=ltr>\w</code>); and [[mw:Special:MyLanguage/Help:CirrusSearch#Escape codes|escape codes]] for line feed (<code dir=ltr>\r</code>), newline (<code dir=ltr>\n</code>), tab (<code dir=ltr>\t</code>), and unicode (e.g. <code dir=ltr>\uHHHH</code>). [https://phabricator.wikimedia.org/T403212] * When you search for text that looks like an IP, the system will now show search results. It used to take you to the contributions for that IP instead of showing search results. [https://phabricator.wikimedia.org/T306325] * [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on September 24. This is planned at [https://zonestamp.toolforge.org/1758726000 15:00 UTC]. This is for the datacenter server switchover backup tests which happen twice a year. You can [[diffblog:2025/03/12/hear-that-the-wikis-go-silent-twice-a-year/|read more about the background and details of this process on the Diff blog]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:24}} community-submitted {{PLURAL:24|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed that affected users who used the page-tabs to switch from wikitext editing of a section into the visualeditor. [https://phabricator.wikimedia.org/T401043] '''Updates for technical contributors''' * The MediaWiki Interfaces team is redesigning the Wikimedia REST API Sandbox with Codex. If you have feedback on improvements for the API documentation or what makes developer experiences smooth (or frustrating), you’re invited to [https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ2aZzbXeQvjOF7gB1fJXiwAYemQjKf4sXNaRODPA7_obFyNBwkzNkoVCoTF-aeov89kIjXHbCQm join an upcoming discovery interview], or [[mw:MediaWiki Interfaces Team/Developer Feedback/Wikimedia Web APIs|leave feedback onwiki]]. [[listarchive:list/wikitech-l@lists.wikimedia.org/thread/C4FBAOA57PH6G5ORVMAUF5TGYBLZDU5Q/|Learn more]]. * Edits to Wikidata aliases (an alternative name for an item or a property) will now be shown in RecentChanges and Watchlist entries on other wikis less often, reducing unnecessary notifications. This will reduce the overall quantity of 'noisy' entries. Wikidata's own pages remain unchanged. [[m:Wikidata For Wikimedia Projects/Reduce change propagation noise#Phase 1: More granular Alias tracking|Learn more]]. [https://phabricator.wikimedia.org/T401288] * The new [https://www.unicode.org/versions/Unicode17.0.0/ Unicode 17.0] version has been released. The [[:c:Category:Unicode Module Datasets|datasets on Commons]] for the [[:d:Q39301585|Module:Unicode data]] have been updated. Wikipedias that do not use the Commons datasets should either update their own data or switch to the Commons datasets. * Users of the [[m:Special:MyLanguage/Wikimedia Enterprise|Wikimedia Enterprise]] Structured Contents endpoints can now access [https://enterprise.wikimedia.com/blog/parsed-wikipedia-tables/ Parsed Tables]. The new Parsed Tables feature extracts and represents Wikipedia tables in structured JSON. This improves machine accessibility as part of the [https://enterprise.wikimedia.com/api/structured-contents/ Structured Contents initiative]. Structured Contents output is freely available through the [https://enterprise.wikimedia.com/docs/on-demand/#article-structured-contents-beta On-demand API], or through Wikimedia Cloud Services. * A [https://www.kaggle.com/datasets/wikimedia-foundation/english-wikipedia-people-dataset dataset of English Wikipedia biographical information] from [[m:Special:MyLanguage/Wikimedia Enterprise|Wikimedia Enterprise]] has been published on Kaggle, for evaluation and research. This provides structured data from more than 1.5 million biographies, including birth and death dates, education, affiliations, careers, awards, and more (from a June 2024 snapshot). * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.19|MediaWiki]] '''Meetings and events''' * [[wmania:Special:MyLanguage/2026:Scholarships|Scholarship applications]] for Wikimania 2026 in Paris, France, are open until October 31. '''''[[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/2025/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-2025-W38"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:08, 15 September 2025 (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=29263921 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Federation of Central America (1921–1922)]]'''<br /> <small>''([[:es:Federación de Centro América (1921-1922)]])&#32;([[:ar:اتحاد أمريكا الوسطى (1921-1922)]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Central America's Northern Triangle (orthographic projection).png|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Federation of Central America''' (Spanish: Federación de Centro América)[1] was a short-lived federal republic that existed in Central America between 1921 and 1922. The federation consisted of the Central American nations of El Salvador, Guatemala, and Honduras. <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:45, 22 September 2025 (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=29311347 --> == Tech News: 2025-39 == <section begin="technews-2025-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/2025/39|Translations]] are available. '''Weekly highlight''' * [https://zonestamp.toolforge.org/1758726000 On September 24th at 15:00 UTC], all Wikimedia sites users will experience a brief read-only period due to a scheduled [[m:Special:MyLanguage/Tech/Server switch|datacenter server switchover]]. The Wikimedia Foundation's Site Reliability Engineering (SRE) team will redirect all traffic from one primary server to its backup. You can listen to the switchover using the [http://listen.hatnote.com/ "Listen to Wikipedia"] tool, where you will hear edits stop for a few minutes during the read-only phase, then resume. This twice-yearly datacenter server switchover ensures reliability by testing the backup datacenter, so that our sites can stay online even if the primary datacenter fails. You can [[diffblog:2025/03/12/hear-that-the-wikis-go-silent-twice-a-year/|read more about the process on the Diff blog]]. '''Updates for editors''' * Editors of [[f:Special:Mylanguage/Wikifunctions:Status updates/2025-09-12#Next round of Wiktionaries to receive embedded Wikifunctions calls|60 more Wiktionaries]] will soon be able to call [[f:Special:MyLanguage/Wikifunctions:Introduction|functions from Wikifunctions]] and integrate them into their pages. A function takes one or more inputs and transforms them into a desired output, like adding numbers, converting miles to meters, calculating elapsed time, or declining a word into a case. They will join the other [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-08-29#Wikifunctions available on 65 Wiktionaries|65 Wiktionary language editions]], which already have access to embedded Wikifunctions calls. Later this year, plans are in place to expand to more Wiktionaries and the Incubator. * A new [[mw:Special:MyLanguage/Help:Magic words#Technical metadata of another page|parser function]] has been added: <code><nowiki>{{#contentmodel}}</nowiki></code>. Template editors and admins can use it to get the localized or canonical name of the [[mw:Special:MyLanguage/Help:ChangeContentModel|content model]] of a specific page. The function makes it easier to create and edit system messages, such as ''MediaWiki:editinginterface'', even when you switch types of pages, like wiki, JavaScript, CSS or JSON page. [https://phabricator.wikimedia.org/T328254] * Adding or editing a <code>DISPLAYTITLE</code> for an article using VisualEditor will no longer be broken. Editors who use VisualEditor mode to modify the <code><nowiki>{{DISPLAYTITLE}}</nowiki></code> would no longer have the literal text "DISPLAYTITLE" or its localized variant added to their articles. A list of pages that may have been affected and might need cleanup is documented in [[phab:P83438|this ticket]]. * Beta users of the Wikipedia Android app can now try the redesigned [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/Activity Tab Experiment|Activity tab]], which replaces the Edits tab. The new tab offers personalized insights into reading, editing, and donation activity, while simplifying navigation and making app use more engaging. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:12}} community-submitted {{PLURAL:12|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.20|MediaWiki]] '''In depth''' * Wikifunctions users can now import many essential facts involving [[f:Special:MyLanguage/Z6011|geo-coordinates]], [[f:Special:MyLanguage/Z6010|quantities]] and [[f:Special:MyLanguage/Z6064|time]] values from Wikidata. This is made possible by the creation of Wikifunctions types for these values, which makes them available for use by functions in Wikifunctions. Learn more about how this works in [[c:File:ImportingWikidataDatatypesIntoWikifunctions.webm|this video]] and Wikifunctions' [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-08-01#News in Types I: Wikidata quantity|August 1 newsletter]] (for quantities) and [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-08-22#News in Types: Wikidata geo-coordinate|August 22 newsletter]] (for geo-coordinates). '''''[[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/2025/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-2025-W39"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:56, 22 September 2025 (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=29305556 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Palazzo delle Poste (Latina)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Postelittoria2.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> Il '''Palazzo delle Poste''', fino al 1945 Ricevitoria Postelegrafonica di Littoria, è un edificio postale di Latina, situato in piazzale dei Bonificatori. Costruito nel 1932 in stile razionalista con influenze futuriste, riscontrabili nell'utilizzo di ampie superfici vetrate e di volumi verticali, oltre che per la presenza di l’utilizzo di materiali e scelte di design molto in voga all'epoca come, come i mattoni a vista, il travertino di Tivoli e l'Anticorodal (una lega di alluminio), ospita l'ufficio postale Latina Centro. <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:58, 29 September 2025 (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=29341788 --> == Tech News: 2025-40 == <section begin="technews-2025-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/2025/40|Translations]] are available. '''Weekly highlight''' * A major software upgrade has been made to [[phab:|Phabricator]]. The update introduces performance improvements, a refreshed search interface, enhancements to Maniphest task search, updates to user profile pages and project workboards, new Herald automation features, as well as general text input, mobile experience improvements and more. [https://phabricator.wikimedia.org/phame/post/view/321/iterative_improvements_september_2025/] '''Updates for editors''' * The Community Tech team will release the new Community Wishlist extension on October 1, that will improve the way wishes will be submitted. The new extension will allow users to add tags to their wishes to better categorise them, and (in a future iteration) to filter them by status, tags and focus areas. It will also be possible to support individual wishes again, as requested by the community in many instances. The old system will be retired. There will be a brief period of downtime while the extension is deployed and wishes are migrated to the new system. You can read more about this [[:m:Special:MyLanguage/Community Wishlist/Updates|in the latest update]] or you can consult the [[:mw:Special:MyLanguage/Help:Extension:CommunityRequests|current documentation on MediaWiki]]. * As announced [[diffblog:2025/09/02/better-detecting-bots-and-replacing-our-captcha/|on Diff blog]], the production trial of the [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/hCaptcha|hCaptcha]] service for bot detection has begun. The trial is currently using hCaptcha to protect account creation on Chinese, Persian, Portuguese, Indonesian, Japanese, and Turkish Wikipedias, where it will replace our existing [[mw:Special:MyLanguage/Extension:ConfirmEdit#FancyCaptcha|CAPTCHA]] (FancyCaptcha). The goal with the trial is to better block bots while also improving usability and accessibility for users who encounter CAPTCHA challenges. * The [[mw:Special:MyLanguage/Extension:CampaignEvents|CampaignEvents]] extension has been [[m:Special:MyLanguage/CampaignEvents/Deployment status|deployed]] to Wikimedia Commons. The extension makes it easier to organize and participate in collaborative activities, like edit-a-thons and WikiProjects, on the wikis. On Commons, anyone who is a registered user can use it as an event participant. To use it as an organizer, someone needs to have the [[c:Special:MyLanguage/Commons:Event organizers|event organizer right]]. * [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Sub-referencing]], a new feature to re-use references with different details has been released to German Wikipedia. You can [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#test|test the feature]] on testwiki or [https://en.wikipedia.beta.wmcloud.org/wiki/Sub-referencing on betawiki] as well. Please share your thoughts on [[:m:Talk:WMDE Technical Wishes/Sub-referencing#Templates used in sub-references|using templates in sub-references]] or [[:m:Talk:WMDE Technical Wishes/Sub-referencing#Pilot wikis|volunteer to become a pilot wiki]]. * On wikis using the [[mw:Special:MyLanguage/Help:Growth/Mentorship|Mentorship]] system, communities can now opt experienced editors out of Mentorship through [[{{#special:CommunityConfiguration/Mentorship}}]]. Within this setting, communities may define thresholds, based on edit count and account age, to decide when an editor is considered experienced enough to no longer receive Mentorship. [https://phabricator.wikimedia.org/T403563] * The Editing Team and the Machine Learning Team are working on a new check for newcomers: [[mw:Special:MyLanguage/Edit check/Tone Check|Tone check]]. Using a prediction model, this check will encourage editors to improve the tone of their edits, using artificial intelligence. We invite volunteers to review the first version of the Tone language model for the following languages: Arabic, Czech, German, Hebrew, Indonesian, Dutch, Polish, Russian, Turkish, Chinese, Farsi, Italian, Norwegian, Romanian and Latvian. Users from these wikis interested in reviewing this model are [[mw:Special:MyLanguage/Edit_check/Tone_Check/Model_evaluation|invited to sign up at MediaWiki.org]]. The deadline to sign up is on October 3, which will be the start date of the test. * The rollout of [[:mw:Special:MyLanguage/Help:Manage blocks|multiblocks]] had the side effect that non-active block logs may have been shown on {{#special:Contributions}} and on blocked users' user and user_talk pages. This issue will be fully resolved in a few days. As part of the fix, [{{fullurl:Special:Allmessages|prefix=sp-contributions-blocked-notice}} messages prefixed with <code>sp-contributions-blocked-notice</code>] will be removed and replaced with [{{fullurl:Special:Allmessages|prefix=blocked-notice-logextract}} those prefixed with <code>blocked-notice-logextract</code>] in a few weeks. Please help translate the new messages and update any local overrides if needed. * There was a bug with links added using visual editor if they included characters such as <code dir=ltr><nowiki>[ ] |</nowiki></code> after the fragment identifier (<code><nowiki>#</nowiki></code>). They were not encoded properly creating an incorrect link. This has been fixed. [https://phabricator.wikimedia.org/T404823] * One new wiki has been created: a {{int:project-localized-name-group-wikiquote/en}} in [[d:Q9237|Malay]] ([[q:ms:|<code>q:ms:</code>]]) [https://phabricator.wikimedia.org/T404698] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/User Info|User Info Card]] now displays currently active global lock/blocks. [https://phabricator.wikimedia.org/T401128] '''Updates for technical contributors''' * Later this week, editors using Lua modules will be able to use the <code>[[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#mw.title.newBatch|mw.title.newBatch]]</code> function to look up the existence of up to 25 pages at once, in a way that only increases the [[mw:Special:MyLanguage/Manual:Parser functions#Expensive parser functions|expensive function]] count once. * A new [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|Unsupported Tools Working Group]] has been formed as part of ongoing efforts to collectively determine technical work priorities, similar to the [[m:Special:MyLanguage/Product and Technology Advisory Council|Product & Technology Advisory Council]] (PTAC). The working group will help prioritize and review requests for support of unmaintained extensions, gadgets, bots, and tools. For the first cycle, the group will be prioritizing an unsupported Wikimedia Commons tool. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.21|MediaWiki]] '''''[[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/2025/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-2025-W40"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:54, 29 September 2025 (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=29355230 --> == Wikipedia translation of the week: 2025-41 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Majed Abu Maraheel]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Majed Abu Maraheel''' was a Palestinian long-distance runner, football player, security officer, and athletics coach, who was the first Palestinian to compete at the Olympic Games. <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]]) 12:48, 6 October 2025 (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=29341788 --> == Tech News: 2025-41 == <section begin="technews-2025-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/2025/41|Translations]] are available. '''Weekly highlight''' * [[mw:Special:MyLanguage/Help:Edit check#paste|Paste Check]] is a new Edit Check feature to help avoid and fight copyright violations. When editors paste text into an article, Paste Check prompts them to confirm the origin and licensing of the content. Starting Wednesday, 8 October, [[phab:T403680|22 wikis will test Paste Check]]. Paste Check will help new volunteers understand and follow the policies and guidelines necessary to make constructive contributions to Wikipedia projects. '''Updates for editors''' * Mobile devices will receive mobile articles directly on the standard domain (like <code>en.wikipedia.org</code>), instead of via a redirect to an "m" domain (like <code>en.m.wikipedia.org</code>). This change improves performance. This week it will be enabled on Wikipedias. The existing mobile URLs and the "Desktop view" opt-out remain available. [[mw:Requests for comment/Mobile domain sunsetting/2025 Announcement|Learn more]]. [https://phabricator.wikimedia.org/T214998] * New [[mw:Special:MyLanguage/Help:CirrusSearch#creationdate and lasteditdate|date filters]], <code dir=ltr>creationdate:</code> and <code dir=ltr>lasteditdate:</code>, are now available in the wiki search engine. This allows users to filter search results by a page's first or last revision date. The filters support comparison operators (e.g. <code dir=ltr>>2024</code>) and relative dates (e.g. <code dir=ltr>today-1d</code>), making it easier to find recently updated content or pages within specific age ranges. [https://phabricator.wikimedia.org/T403593] * [[f:|Wikifunctions]] now supports rich text in embedded calls across the 150 wikis where it's enabled. To showcase this, the team created a [[f:Z26333|Latin declination table]] that Wiktionary editors can use to automatically generate noun forms, producing clear, formatted results — see an [[f:Wikifunctions:Embedded function calls/Wiktionary tables demonstration|example output]]. If you need any help or have any feedback, please [[f:Wikifunctions:Project chat|contact the Wikifunctions Team]]. [https://phabricator.wikimedia.org/T397402] * An edit link will now appear inside the categories box on article pages for logged in users, which will directly launch the VisualEditor category dialog. [https://phabricator.wikimedia.org/T291691] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:34}} community-submitted {{PLURAL:34|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, there was a problem downloading pdf files last week and that has been resolved. [https://phabricator.wikimedia.org/T405957] '''Updates for technical contributors''' * The field <code dir=ltr>rev_sha1</code> in the revision database table is being removed in favor of <code dir=ltr>content_sha1</code> in the content database table. See [https://lists.wikimedia.org/hyperkitty/list/cloud@lists.wikimedia.org/thread/2D2M3SP4WHR6BXXKTZ2PBLZQYR3EGQVR/ the announcement] for more information. * The [[mw:Special:MyLanguage/Reading/Web|Reader Experience team]] will roll out [[w:en:Light-on-dark color scheme|Dark Mode]] user interface on all Wikimedia sites on October 29, 2025. All anonymous users of Wikimedia sites will have the option to activate a color scheme that features light-colored text on a dark background. This is designed to provide a more comfortable reading experience, especially in low-light situations. Template authors and technical contributors are encouraged to [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates/2024-04|learn how to make pages ready for Dark mode]] and address any compatibility issues found in templates in their wiki before the enablement. Please contact the Web team for questions or any support on [[mw:Talk:Reading/Web/Accessibility for reading#|this talk page]] before the enablement. [https://phabricator.wikimedia.org/T395628] * Starting on Monday, October 6, API endpoints under the <code>rest.php</code> path will be rerouted through a new internal API Gateway. Individual wikis will be updated based on the standard release groups, with total traffic increased over time. This change is expected to be non-breaking and non-disruptive. If any issues are observed, please file a Phabricator ticket to the [[phab:tag/serviceops/|Service Ops team board]]. [https://phabricator.wikimedia.org/T400130] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.22|MediaWiki]] '''''[[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/2025/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-2025-W41"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:24, 6 October 2025 (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=29400897 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Abortion in Eritrea]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> In Eritrea, abortion is banned except on the grounds of pregnancy from rape or incest, pregnancy of a minor, or risk to physical or mental health. Legal abortions require medical or judicial approval. Prior to Eritrea's independence, it applied Ethiopia's abortion law of the 1950s, which banned abortion unless life-saving. After independence, the 1991 penal code adapted this law to lift punishments on abortions on the grounds of rape, incest, or risk to life or health, but legal abortions did not exist in effect. The penal codes of 2001 and 2015 required physicians to prove health grounds for abortion. Unsafe abortion is common and contributes to maternal mortality in Eritrea. Post-abortion care is unavailable in some regions. <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:06, 13 October 2025 (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=29341788 --> == Tech News: 2025-42 == <section begin="technews-2025-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/2025/42|Translations]] are available. '''Weekly highlight''' * Last week, improvements to account security and two-factor authentication (2FA) features were enabled across all wikis. These changes include user interface improvements for [https://auth.wikimedia.org/metawiki/wiki/Special:AccountSecurity Special:AccountSecurity], the support of multiple 2FA methods via authenticator apps and portable security keys (previously users could only enable one method), and a new Recovery Codes module which facilitates fewer account lockouts due to lost two-factor apps and devices. As part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] project, work is continuing through the rest of 2025 on further user experience improvements, and support for passkeys as an alternate second factor. '''Updates for editors''' * Another part of the Account security project is making 2FA generally available to all users. Along with editors with advanced privileges, such as administrators and bureaucrats, 40% of editors now have access to 2FA. You can check if you have access at [https://auth.wikimedia.org/metawiki/wiki/Special:AccountSecurity Special:AccountSecurity]. Instructions for activation are on the linked page. The plan is to continue increasing availability if it is determined that the user support capabilities are able to support global usage. [https://phabricator.wikimedia.org/T400579] * This week, users at wikis where talk page [[mw:Special:MyLanguage/Talk pages project/Usability|Usability Improvements]] are already available by default (everywhere ''except'' the 12 wikis listed in [[phab:T379264|T379264]]) will gain the ability to Thank a comment directly from the talk page it appears on. Before this change, Thanking could only be done by visiting the revision history of the talk page. You can [[diffblog:2025/10/13/revolutionizing-gratitude-a-new-era-of-thanking-comments/|learn more about this change]]. [https://phabricator.wikimedia.org/T366095] * Users who have not [[Special:Preferences#mw-prefsection-personal-email|verified their email address]] will soon be receiving monthly Notification reminders to do so. This is because users who have verified their email can more easily recover their account. These reminders will not be sent if the user is inactive or removes the unverified email from their account. [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Email_confirmation][https://phabricator.wikimedia.org/T58074] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a fix was made for an occasional error with saving translated paragraphs in the Content Translation tool, and the related error messages are now easier to see. [https://phabricator.wikimedia.org/T376531] '''Updates for technical contributors''' * The Unsupported Tools Working Group has chosen [[c:Special:MyLanguage/Commons:Video2commons|Video2Commons]] as the first tool for its pilot cycle. The group will explore ways to improve and sustain the tool over the coming months. [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|Learn more on Meta]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.23|MediaWiki]] '''''[[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/2025/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-2025-W42"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:00, 13 October 2025 (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=29434481 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Liberation of Auschwitz concentration camp]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Auschwitz Liberated January 1945.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> On 27 January 1945, Auschwitz—a Nazi concentration camp and extermination camp in occupied Poland where more than a million people were murdered as part of the Nazis' "Final Solution" to the Jewish question—was liberated by the Soviet Red Army during the Vistula–Oder Offensive. Although most of the prisoners had been forced onto a death march, about 7,000 had been left behind. The Soviet soldiers attempted to help the survivors and were shocked at the scale of Nazi crimes. The date is recognized as International Holocaust Remembrance Day. <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:04, 20 October 2025 (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=29452019 --> == Tech News: 2025-43 == <section begin="technews-2025-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/2025/43|Translations]] are available. '''Updates for editors''' * To optimize how user data is stored in our databases, the saved preferences of users who haven't logged in for over five years and have fewer than 100 edits will be cleared. When those users return, default settings will apply. [https://phabricator.wikimedia.org/T406724] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, there was a broken link from the GlobalContributions interface message to the XTools GlobalContributions page which has now been fixed. [https://phabricator.wikimedia.org/T406415] '''Updates for technical contributors''' * The work to reroute all traffic to API endpoints under the <code dir=ltr><nowiki>rest.php</nowiki></code> route through a common API gateway is now complete. If any issues are observed, please file a phabricator ticket to the [[phab:tag/serviceops/|Service Ops team board]]. * Edits to Wikidata references or qualifiers will now be shown in RecentChanges and Watchlist entries on other wikis less often, reducing unnecessary notifications. This will reduce the overall quantity of 'noisy' entries. Wikidata's own pages remain unchanged. [https://phabricator.wikimedia.org/T401290] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.24|MediaWiki]] '''''[[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/2025/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-2025-W43"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:37, 20 October 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29478670 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Black Diaries]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''Black Diaries''' are diaries purported to have been written by the Irish revolutionary Roger Casement, which contained accounts of homosexual liaisons with young men. They cover the years 1903, 1910 and 1911 (two) and were handed in to Scotland Yard after his capture in April 1916. <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:51, 27 October 2025 (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=29487357 --> == Tech News: 2025-44 == <section begin="technews-2025-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/2025/44|Translations]] are available. '''Updates for editors''' * The Wikipedia iOS app has launched an A/B/C test of improvements made to the tabbed browsing feature for select regions and languages. The test, named “More dynamic tabs”, explores new tab experiences and includes “Did you know” and “Because you read” article recommendations. You can [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Tabbed Browsing (Tabs)/New Tab Experience and Recommendations Experiment|read more on the project page]]. * Autoconfirmed users on [[gitiles:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/small.dblist|small]] and [[gitiles:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/medium.dblist|medium wikis]] with the CampaignEvents extension can now use [[m:Special:MyLanguage/Event Center/Registration|Event Registration]] without the Event Organizer right. This feature lets organizers enable registration, manage participants, and lets users register with one click instead of signing event pages. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue of flashing colors when holding or pressing the arrow keys under the dark mode settings in Vector 2022 has been fixed. [https://phabricator.wikimedia.org/T402285] '''Updates for technical contributors''' * The CampaignEvents extension will be deployed to all remaining wikis during the week of 17 November 2025. The extension currently includes three features: Event Registration, Collaboration List, and Invitation List. For this rollout, Invitation List will not be enabled on Wikifunctions and MediaWiki unless requested by those communities. [[m:Special:MyLanguage/CampaignEvents/Deployment status|Visit the deployment page to learn more]]. * The SwaggerUI-based REST sandbox experience is now live on all wiki projects. The sandbox can be accessed through the [[{{#special:RestSandbox}}]] page. Please report any issues to the MediaWiki Interfaces team board, or join the discussion on the [[mw:Special:MyLanguage/MediaWiki Interfaces Team/Feature Feedback/REST Sandbox|project launch]] page. [https://phabricator.wikimedia.org/project/board/6931/] * Transform endpoints with a trailing slash path in the MediaWiki REST API are now marked as deprecated. They will remain functional during this time, but removal is expected by the end of January 2026. All API users currently calling them are encouraged to transition to the non-trailing slash versions. Both endpoint variations can be found and tested using the [https://test.wikipedia.org/w/index.php?api=mw-extra&title=Special%3ARestSandbox REST Sandbox]. See the [[mw:API/Deprecation|MediaWiki REST API Deprecation]] page for more detailed information about the API deprecation policies and procedures. * A dedicated [[mw:API:REST API/Changelog|changelog now exists for the MediaWiki REST API]]. The changelog provides an overview of these changes, making it easier for developers to keep track of improvements and iterations. Announcements will also continue to flow through the standard communication channels, including Tech News and email distribution lists, but can now be more easily referenced from a central location. If you have feedback about the style, structure, or content of this changelog, please [[mw:API talk:REST API/Changelog|join the discussion]]. * Administrators can delete the tracking category which was previously added by the JsonConfig extension, as it is no longer used. See the categories linked from [[d:Q130635582#sitelinks-wikipedia|Q130635582]]. It is OK if there are still pages listed in the category as that is just a caching issue, and they will be automatically cleared out the next time each page is edited. [https://phabricator.wikimedia.org/T378352] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.25|MediaWiki]] '''''[[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/2025/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-2025-W44"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:32, 27 October 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29513638 --> |} == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Consolations (Liszt)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Franz Liszt - Consolation No. 3, Lento placido.ogg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Consolations''', S. 171a/172 (German: Tröstungen) are a set of six solo piano works by Franz Liszt. The compositions take the musical style of nocturnes with each having its own distinctive style. <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:52, 3 November 2025 (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=29558323 --> == Tech News: 2025-45 == <section begin="technews-2025-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/2025/45|Translations]] are available. '''Updates for editors''' * Administrators will now find that [[{{#special:MergeHistory}}]] is now significantly more flexible about what it can merge. It can now merge sections taken from the middle of the history of the source (rather than only the start) and insert revisions anywhere in the history of the destination page (rather than only the start). [https://phabricator.wikimedia.org/T382958] * For users with "{{int:discussiontools-preference-autotopicsub}}" [[Special:Preferences#mw-prefsection-editing|enabled in their preferences]], starting a new topic or adding a reply to an existing topic will now subscribe them to replies to that topic. Previously, this would only happen if the DiscussionTools "{{int:Skin-action-addsection}}" or "{{int:Discussiontools-replybutton}}" widgets were used. When DiscussionTools was originally launched existing accounts were not opted in to automatic topic subscriptions, so this change should primarily affect newer accounts and users who have deliberately changed their preferences since that time. [https://phabricator.wikimedia.org/T290778] * Scribunto modules can now be used to [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#SVG library|generate SVG images]]. This can be used to build charts, graphics and other visualizations dynamically through Lua, reducing the need to compose them externally and upload them as files. [https://phabricator.wikimedia.org/T405861] * Wikimedia sites now provide all anonymous users with the option to enable a dark mode color scheme, featuring light-colored text on a dark background. This enhancement aims to deliver a more enjoyable reading experience, especially in dimly lit environments. [https://phabricator.wikimedia.org/T395628] * Users with large watchlists have long faced timeouts when editing [[Special:EditWatchlist|Special:EditWatchlist]]. The page now loads entries in smaller sections instead of all at once due to a paging update, allowing everyone to edit their watchlists smoothly. As part of the database update, sorting by expiry has been removed because it was over 100× slower than sorting by title. A [https://meta.wikimedia.org/wiki/Community_Wishlist/W454 community wish] has been created to explore alternative ways to restore sort-by-expiry. If this feature is important to you, please support the wish! [https://phabricator.wikimedia.org/T41510] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the fixing of the persisting highlighting when using VisualEditor find and replace during a query. [https://phabricator.wikimedia.org/T407318] '''Updates for technical contributors''' * Since 2019 the [[m:Special:MyLanguage/Wikimedia URL Shortener|Wikimedia URL Shortener]] at https://w.wiki is available for all Wikimedia wikis to create short links to articles, permalinks, diffs, etc. It is available in the sidebar as "Get shortened URL". There are 30 wikis that also install an older "ShortUrl" extension. The old extension will soon be removed. This means <code>/s/</code> URLs will not be advertised under article titles via HTML <code dir=ltr>class="title-shortlink"</code>. The <code>/s/</code> URLs will keep working. [https://phabricator.wikimedia.org/T107188] * On Thursday, October 30, the [[:mw:Special:MyLanguage/MediaWiki Interfaces Team|MediaWiki Interfaces]] and [[:mw:Special:MyLanguage/Wikimedia Site Reliability Engineering|SRE Service Operations]] teams began rerouting Action API traffic through a common API gateway. Individual wikis will be updated based on the standard release groups, with total traffic increased over time. This change is expected to be non-breaking and non-disruptive. If any issues are observed, please file a Phabricator ticket to the [https://phabricator.wikimedia.org/tag/serviceops/ Service Ops team] board. * MediaWiki Train deployments will pause for the final two weeks of 2025: 22 December and 29 December. Backport windows will also pause between Monday, 22 December 2025 and Thursday, 2 January 2026. A backport window is a scheduled time to add things like bug fixes and configuration changes. There are seven deployment trains remaining for 2025. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/SMWTEAES4SDLDUSK4HMWNBSKNCXZAWYN/] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.26|MediaWiki]] '''In depth''' * In 2025, the Wikimedia Foundation reported that AI systems and search engines increasingly use Wikipedia content without driving users to the site, contributing to an 8% drop in human pageviews compared to 2024. After detecting bots disguised as humans, Wikimedia updated its traffic data to reflect this shift. Read more about current user trends on Wikipedia in [[diffblog:2025/10/17/new-user-trends-on-wikipedia/|a Diff blog post]]. '''''[[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/2025/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-2025-W45"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:35, 3 November 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29552512 --> == Wikipedia translation of the week: 2025-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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Marine coastal ecosystem]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Vegetation and fauna processes controlling benthic biogeochemical fluxes.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> A '''marine coastal ecosystem''' is a marine ecosystem which occurs where the land meets the ocean. Worldwide there is about 620,000 kilometres (390,000 mi) of coastline. Coastal habitats extend to the margins of the continental shelves, occupying about 7 percent of the ocean surface area. Marine coastal ecosystems include many very different types of marine habitats, each with their own characteristics and species composition. They are characterized by high levels of biodiversity and productivity. For example, estuaries are areas where freshwater rivers meet the saltwater of the ocean, creating an environment that is home to a wide variety of species, including fish, shellfish, and birds. Salt marshes are coastal wetlands which thrive on low-energy shorelines in temperate and high-latitude areas, populated with salt-tolerant plants such as cordgrass and marsh elder that provide important nursery areas for many species of fish and shellfish. Mangrove forests survive in the intertidal zones of tropical or subtropical coasts, populated by salt-tolerant trees that protect habitat for many marine species, including crabs, shrimp, and fish. <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:54, 10 November 2025 (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=29584005 --> == Tech News: 2025-46 == <section begin="technews-2025-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/2025/46|Translations]] are available. '''Updates for editors''' [[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.]] * Starting November 12, users will see a change in the [[m:Special:MyLanguage/Talk pages project/Feature summary#Usability improvements|appearance of talk pages]] on [[Phab:T379264|some Wikipedias]]. Almost [[phab:T392121|all wikis]] have received this design change; [[phab:T409297|English Wikipedia]] will get these changes later. You can read more [[diffblog:2024/05/02/making-talk-pages-better-for-everyone/|on ''Diff'']]. Users can opt out of these changes [[Special:Preferences#mw-prefsection-editing|in their user preferences]] in "{{int:discussiontools-preference-visualenhancements}}". [https://phabricator.wikimedia.org/T379264] * MediaWiki can now display a [[mw:Special:MyLanguage/Help:Protection indicators|page indicator]] automatically while a page is protected. This feature is disabled by default. It can be enabled by [[m:Special:MyLanguage/Requesting wiki configuration changes|community request]]. [https://phabricator.wikimedia.org/T12347] * Using the "{{int:showpreview}}" or "{{int:showdiff}}" buttons in the wikitext editor will now carry over certain URL parameters like '[[mw:Special:MyLanguage/Manual:Parameters to index.php#useskin|useskin]]', '[[mw:Special:MyLanguage/Manual:Parameters to index.php#uselang|uselang]]' and '[[mw:Special:MyLanguage/Help:Section#Editing sections|section]]'. This update also fixes an issue where, if the browser crashed while previewing an edit to a single section, saving this edit could overwrite the entire page with just that section’s content. [https://phabricator.wikimedia.org/T62744][https://phabricator.wikimedia.org/T24029][https://phabricator.wikimedia.org/T155097] * Wikivoyage wikis can use [[mw:Special:MyLanguage/Help:Extension:Kartographer#Markers and counters|colored map markers in the article text]]. The text of these markers will now be shown in contrasting black or white color, instead of always being white. Local workarounds for the problem can be removed. [https://phabricator.wikimedia.org/T369454] * The Activity tab in the Wikipedia Android app is now available for all users. The new tab offers personalized insights into reading, editing, and donation activity, while simplifying navigation and making app use more engaging. [https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/Android/Activity_Tab_Experiment] * The Reader Growth team is launching an experiment called "Image browsing" to test how to make it easier for readers to browse and discover images on Wikipedia articles. This experiment, a mobile-only A/B test, will go live on English Wikipedia in the week of November 17 and will run for four weeks, affecting 0.05% of users on English wiki. The test launched on November 3 on Arabic, Chinese, French, Indonesian, and Vietnamese wikis, affecting up to 10% of users on those wikis. [https://www.mediawiki.org/wiki/Readers/Reader_Growth/WE3.1.3_Image_Browsing] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example the inability to lock accounts on mobile sites has been fixed. [https://phabricator.wikimedia.org/T256185] '''Updates for technical contributors''' * [[wikitech:Help talk:Toolforge/Toolforge standards committee#November 2025 committee nominations|Nominations are open on Wikitech]] for new [[wikitech:Help:Toolforge/Toolforge standards committee|Toolforge standards committee]] members. 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 through 2025-11-28. * The [[w:JSON Web Token#Standard fields|JWT issuer field]] in [[mw:Special:MyLanguage/OAuth/For Developers#OAuth 2|OAuth 2 access tokens]] for [[m:Special:MyLanguage/Help:Unified login|SUL wikis]] has been changed to <code><nowiki>https://meta.wikimedia.org</nowiki></code>. Old access tokens will still work. [https://phabricator.wikimedia.org/T399199] * The [[w:JSON Web Token#Standard fields|JWT subject field]] in [[mw:Special:MyLanguage/OAuth/For Developers#OAuth 2|OAuth 2 access tokens]] will soon change from <code><user id></code> to <code dir=ltr style="white-space:nowrap">mw:<identity type>:<user id></code>, where <code><identity type></code> is typically <code dir=ltr>CentralAuth:</code><!-- not a typo --> (for [[m:Special:MyLanguage/Help:Unified login|SUL wikis]]) or <code dir=ltr style="white-space:nowrap">local:<wiki id></code> (for other wikis). This is to avoid conflicts between different user ID types, and to make OAuth 2 access tokens and the <code>sessionJwt</code> cookie more similar. Old access tokens will still work. [https://phabricator.wikimedia.org/T399199] * MediaWiki's block messages ([[MediaWiki:Blockedtext|blockedtext]], [[MediaWiki:Blockedtext-partial|blockedtext-partial]], [[MediaWiki:Autoblockedtext|autoblockedtext]], [[MediaWiki:Systemblockedtext|systemblockedtext]], [[MediaWiki:Blockedtext-tempuser|blockedtext-tempuser]], [[MediaWiki:Autoblockedtext-tempuser|autoblockedtext-tempuser]]) now support additional parameters indicating whether the user is blocked from editing their own user talk page <code><nowiki>$9</nowiki></code> or emailing other users <code><nowiki>$</nowiki><nowiki>10</nowiki></code>. [https://phabricator.wikimedia.org/T285612] * A <code>REL1_45</code> branch for MediaWiki core and each of the extensions and skins in Wikimedia git has been created. This is the first step in the release process for MediaWiki 1.45.0, scheduled for late November 2025. If you are working on a critical bug fix or working on a new feature, you may need to take note of this change. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/ZUY7TY3Z6XPZWZVAZV63OPO5OW52Q6GE/] * The process for generating CirrusSearch dumps has been updated due to slowing performance. If you encounter any issues migrating to the replacement dumps, please contact the Search Platform Team for support. [https://phabricator.wikimedia.org/T366248][https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/3KQPOR6ACVN6OVLMLZPIBXQSWQKW4E3K/] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.2|MediaWiki]] '''''[[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/2025/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-2025-W46"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:38, 10 November 2025 (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=29606150 --> == Wikipedia translation of the week: 2025-47 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Elephant communication]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Three elephant's curly kisses.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Elephants communicate''' via touching, visual displays, vocalisations, seismic vibrations, and semiochemicals. <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:24, 17 November 2025 (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=29627457 --> == Tech News: 2025-47 == <section begin="technews-2025-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/2025/47|Translations]] are available. '''Updates for editors''' * The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] is experimenting with [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4_Reading lists|reading lists on mobile web]], allowing logged-in readers with no edits to save private lists of articles for later. The experiment is running on Arabic, Chinese, French, Indonesian, and Vietnamese Wikipedias since the week of 10 November, and will begin on English Wikipedia the week of 17 November. * Users who can’t receive their email verification code during login can now get help by submitting a form on a new special page. This update is part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] initiative. If your account has an email address, please make sure you still have access to it. When logging in from a new device or location without 2FA, you may be asked to enter a 6-digit code sent by email to finish logging in. [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security#Why are you requiring me to enter a code from my email to log in? Can I opt out of this?|Learn more]]. * One new wiki has been created: a {{int:project-localized-name-group-wikisource}} in [[d:Q13324|Minangkabau]] ([[s:min:|<code>s:min:</code>]]) [https://phabricator.wikimedia.org/T408317] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * As part of the [[mw:Special:MyLanguage/Parsoid/Parser Unification|Parser Unification]] project, the Content Transform Team rolled out Parsoid as the default parser to many low-traffic Wikipedias and is preparing the next step to high traffic ones. This message is an invitation for you to opt-in to Parsoid, as described in the [[mw:Special:MyLanguage/Help:Extension:ParserMigration|Extension:ParserMigration]] documentation, and identify any issues you might encounter with your own workflow using bots, gadgets, or user scripts. Please, let us know through the ''"Report Visual Bug"'' link in the Tools sidebar or create a phab ticket and tag the [[phab:project/view/5846|Content Transform Team in Phabricator]]. * Unsupported Tools: Several issues with [[:c:Special:MyLanguage/Commons:Video2commons|Video2Commons]] have been fixed, including filename-related upload failures, black-video imports, and retry handling. AV1 support has also been added. Ongoing work focuses on backend stability, ffmpeg errors, subtitle imports, metadata handling, and playlist uploads. To track specific tasks, check the [[phab:tag/video2commons/|Phabricator board]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.3|MediaWiki]] '''Meetings and events''' * Save the date for the next Wikimedia Hackathon happening in Milan, Italy from May 1–3, 2026. Registration will open in January 2026. [https://pretix.eu/wikimedia/Hackathon-2026/ Scholarship applications are currently open], and will close on November 28, 2025. If you have any questions, please email <bdi lang="en" dir="ltr">hackathon@wikimedia.org</bdi>. '''''[[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/2025/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-2025-W47"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:27, 17 November 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29627455 --> == Wikipedia translation of the week: 2025-48 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Animal-made art]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Painting Queen 1024x768.png|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Animal-made art''' consists of works by non-human animals, that have been considered by humans to be artistic, including visual works, music, photography, and videography. Some of these are created naturally by animals, often as courtship displays, while others are created with human involvement. There have been debates about the copyright status of these works, with the United States Copyright Office stating in 2014 that works that lack human authorship cannot have their copyright registered at the US Copyright Office. <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:13, 24 November 2025 (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=29627457 --> == Tech News: 2025-48 == <section begin="technews-2025-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/2025/48|Translations]] are available. '''Updates for editors''' * Last week, the [[mw:Special:MyLanguage/Wikimedia Search Platform|Wikimedia Search Team]] recreated the "DWIM" (Do What I Mean) gadget functionality server-side, for Russian and Hebrew Wikipedias. This feature adds cross-keyboard suggestions to the standard search-box suggestions. For example, searching for ''<span lang="und" dir="ltr">cxfcnmt</span>'' on Russian Wikipedia will now add suggestions for ''<span lang="ru" dir="ltr">счастье</span>'' ("happiness") that the user probably intended. They plan to enable this feature for other Russian and Hebrew wikis this week. [https://phabricator.wikimedia.org/T408734] * Later this week, users of the "{{int:codemirror-beta-feature-title}}" [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] will have syntax highlighting available in [[mw:Special:MyLanguage/Help:DiscussionTools|DiscussionTools]]. This requires that the "{{int:discussiontools-preference-sourcemodetoolbar}}" preference be set. [https://phabricator.wikimedia.org/T407918] * [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|Campaign events extension]] – the set of tools for coordinating events and other on-wiki collaborations has now been deployed to all Wikimedia wikis. A new feature known as [[m:Special:MyLanguage/CampaignEvents/Collaborative contributions|Collaborative contribution]] to help organizers and participants see the impact of activities has also been added. Join the upcoming [[m:Special:MyLanguage/Event:Connection learning session 3|learning session]] to see the new feature in action and share your feedback. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:24}} community-submitted {{PLURAL:24|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug which stopped CodeReviewBot from working, has now been fixed. [https://phabricator.wikimedia.org/T410417] '''Updates for technical contributors''' * Users of Wikimedia API can join a usability study to help validate the new design of Wikimedia REST API sandboxes. Interested participants should fill the [https://wikimediafoundation.limesurvey.net/487662 recruitment survey]. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/IREJRRWTZTGCYWQHDMSNJFTQAEPOOAE3/] * The MediaWiki Interfaces team is deprecating XSLT stylesheets within the Action API. Support for <code dir=ltr>format=xml'''&xlst={stylesheet}'''</code> will be removed from Wikimedia projects by the end of November, 2025. In addition, it will soon be disabled by default in MediaWiki release versions: v1.43 (LTS), v1.44, and v1.45. Support for XSLT stylesheets will be fully removed from MediaWiki v1.46 (expected to release between April and May 2026). [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/5AX7UWAVVUNUSBOIRHMNOKWOZ5EZI3JX/] * The WDQS legacy endpoint ([https://query-legacy-full.wikidata.org/ query-legacy-full.wikidata.org]) will be decommissioned at the end of December 2025, and finally closed down on 7th January 2026. After this date, users should expect requests to query.wikidata.org that require the full graph to fail or return invalid results if they are not rewritten to use SPARQL federation. The team encourages users to ensure that tools and workflows use the supported WDQS endpoints (<span dir=ltr><nowiki>https://query.wikidata.org/</nowiki></span> - Main graph or <span dir=ltr><nowiki>https://query-scholarly.wikidata.org/</nowiki></span> - Scholarly graph). For support with migrating use cases, please review the [[d:Special:MyLanguage/Wikidata:Data_access|Data Access]] and [[d:Wikidata:Request_a_query|Request a Query]] pages for details and assistance on alternative access methods. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.4|MediaWiki]] '''''[[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/2025/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-2025-W48"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:57, 24 November 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29702226 --> == Wikipedia translation of the week: 2025-49 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Halachic state]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The term "'''halachic state'''" (Hebrew: מְדִינַת הֲלָכָה‎ Medīnat Hălāḵā) refers to a sovereign state that endorses Judaism in an official capacity and governs by Jewish religious law. It has been a subject of discussion among Orthodox Jews, particularly with regard to modern Israel, which, although a Jewish state, is not classified as a theocracy. <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]]) 08:01, 1 December 2025 (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=29719355 --> == Tech News: 2025-49 == <section begin="technews-2025-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/2025/49|Translations]] are available. '''Updates for editors''' * The Wikipedia Year in Review 2025 will be available on December 2 for users of iOS and Android Wikipedia apps, featuring new personalized insights, updated reading highlights, and refreshed designs. Learn more on the review's [[mw:Special:MyLanguage/Wikimedia Apps/Team/Wikipedia Year in Review/Updates|project page]]. * The Growth team is working on improving the text and presentation of the Verification Email sent to new users to make them more welcoming, useful and informative. Some new text have been drafted for A/B testing and you can help by translating them. See [[phab:T396155|Phabricator]]. * [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]] will now be deployed at Japanese, Urdu and Chinese Wikipedias on December 2. Add a link is based on a prediction model that suggests links to be added to articles. While this feature has already been available on most Wikipedias, the prediction model could not support certain languages. A new model has now been developed to handle these languages, and it will be gradually rolled out to other Wikipedias over time. If you would like to know more, please contact [[mw:user:Trizek (WMF)|Trizek (WMF)]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:34}} community-submitted {{PLURAL:34|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where search boxes on some Commons pages showed no results due to switch from SpecialSearch to MediaSearch, has now been fixed. [https://phabricator.wikimedia.org/T399476] * Two new wikis have been created: ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q36846|Toki Pona]] ([[w:tok:|<code>w:tok:</code>]]) [https://phabricator.wikimedia.org/T404457] ** a {{int:project-localized-name-group-wikiquote}} in [[d:Q33655|Nigerian Pidgin]] ([[q:pcm:|<code>q:pcm:</code>]]) [https://phabricator.wikimedia.org/T408318] '''Updates for technical contributors''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.5|MediaWiki]] '''In depth''' * The Wikimedia Foundation is in the early stages of exploring approaches to '''Article guidance'''. The initiative aims to identify interventions that could help new editors easily understand and apply existing Wikipedia practices and policies when creating an article. The project is in the exploration and early experimental design phase. All community members are encouraged to [[mw:Special:MyLanguage/Article guidance|learn more]] about the project, and share their thoughts on [[mw:Special:MyLanguage/Talk:Article guidance|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/2025/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-2025-W49"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:58, 1 December 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29732328 --> == Wikipedia translation of the week: 2025-50 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:ru:Сто лошадей]]'''<br /> <small>''([[:en:One Hundred Horses]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:A_Hundred_Steeds.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''One Hundred Horses''''' (Chinese: 百駿圖) is a Qing dynasty silk and ink painting by Giuseppe Castiglione. It was painted in 1728 for the Yongzheng emperor. The painting depicts a hundred horses in a variety of poses and activities, combining Western realism with traditional Chinese composition and brushwork. <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:29, 8 December 2025 (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=29719355 --> == Tech News: 2025-50 == <section begin="technews-2025-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/2025/50|Translations]] are available. '''Weekly highlight''' * Anybody who wishes to secure their user account can now use [[m:Special:MyLanguage/Help:Two-factor authentication|two-factor authentication]] (2FA). This is available to all registered users of all Wikimedia projects. This is part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] initiative. Later, 2FA will be required for all users who can take security- or privacy-sensitive actions. '''Updates for editors''' * Following last week's deployments, the [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]] feature, which allows editors to add suggested links during editing, will be available to an additional [[Phab:T410469|33 Wikipedias]] starting on 9 December. This expansion is possible thanks to the new prediction model that now supports all languages, including those that were previously not covered. While the feature has been available on most Wikipedias for some time, this rollout brings us closer to using the improved model everywhere. If you have any questions or would like more details please contact [[mw:user:Trizek (WMF)|Trizek (WMF)]]. * Last week, the [[mw:Special:MyLanguage/Wikimedia Search Platform|Search Platform team]] added [[w:en:Transliteration|transliterated]] as-you-type search suggestions to Georgian wikis. If there are only a few regular search suggestions, then queries in Latin or Cyrillic script [[phab:T127003|are now rewritten into Georgian script]] to look for more matches. For example, searching for either <bdi lang="ka-Latn" dir="ltr">''bedniereba''</bdi> or <bdi lang="ka-Cyrl" dir="ltr">''бедниереба''</bdi> will now suggest the existing article about <bdi lang="ka" dir="ltr">ბედნიერება</bdi> ("happiness"). You can recommend other languages where transliterated suggestions would be useful [[phab:T375215|on Phabricator]] for future development. * Later this week, a controlled experiment will begin for editors on the 100 largest Wikipedias who are editing a section in the mobile web visual editor. 50% of these editors will notice a new "Edit full page" button that will enable them to expand their editing session to the whole page. This feature is intended to make it easier for people on mobile web to edit any article section, regardless of which section-edit icon they tapped to begin. The experiment will last ~4 weeks. You can find [[phab:T409112|more details]] about the project. * Later this week, the [[mw:Special:MyLanguage/Readers/Reader Growth|Reader Growth team]] will launch a [[mw:Special:MyLanguage/Readers/Reader Growth/WE3.1.14 Expanded Mobile Sections|mobile web experiment]] to expand all article sections by default (currently they are collapsed by default) and pin the section header the user is currently reading to the top of the page. The experiment will affect 10% of users on Arabic, Chinese, French, Indonesian, and Vietnamese Wikipedias. [https://phabricator.wikimedia.org/T409485] * The [[mw:Special:MyLanguage/Wikimedia Apps/Team/Wikipedia Year in Review/2025 Year in Review|Wikipedia Year in Review 2025]], a feature in the Wikipedia mobile apps (iOS and Android) that provides users with a personalised summary of their engagement with Wikipedia over the year, is now available on the iOS and Android apps. This edition includes expanded personalised insights, improved reading highlights, new donor messaging, and updated designs. Open the app to view your Year in Review and explore your reading journey from 2025. * A recent software bug caused edits made with VisualEditor to make unintended changes to wikitext, including removing whitespace and replacing spaces with underscores in wikilinks inside citations. This was partially fixed last week, and further fixes are in progress. Editors who used VisualEditor between November 28 and December 2 should review their edits for unexpected modifications. [https://phabricator.wikimedia.org/T411238] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the incorrect handling of URLs copied from the address bar of Microsoft Edge users, has been resolved. [https://phabricator.wikimedia.org/T341281] '''Updates for technical contributors''' * Starting this week, users of the "{{int:codemirror-beta-feature-title}}" [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] will have [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror]] as the editor for Lua, JavaScript, CSS, JSON and Vue content models, instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]]. With this, the [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|linters]] will be upgraded. This is part of a larger effort to eventually replace CodeEditor and provide a consistent code editing experience. [https://phabricator.wikimedia.org/T373711] * Developers are encouraged to take the [https://wikimediafoundation.limesurvey.net/552643 2025 Developer Satisfaction Survey], which remains open until 5 January 2026. If you build software for the Wikimedia ecosystem and would like to share your experiences or feedback, your participation is greatly appreciated. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/W4WBKO6Q55UWWCCSFWQATKEXBEHP3QNR/] * 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/2025/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-2025-W50"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:46, 8 December 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29738112 --> == Wikipedia translation of the week: 2025-51 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:First Universal Races Congress]]'''<br /> <small>''([[:fr:Premier Congrès universel des races]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Universal Races Congress seated outside the entrance to the Imperial Institute, London, 1911.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''First Universal Races Congress''' met in 1911 for four days at the University of London as an early effort at anti-racism. Speakers from a number of countries discussed race relations and how to improve them. The congress, with 2,100 attendees, was organised by prominent humanists of that era. <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, 15 December 2025 (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=29779168 --> == Tech News: 2025-51 == <section begin="technews-2025-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/2025/51|Translations]] are available. '''Updates for editors''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:18}} community-submitted {{PLURAL:18|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, one of the fixes addressed an issue for temporary accounts adding an external URL, which triggered an hCaptcha request in more cases than intended, and did not display the required popup on the first attempt to publish the edit. [https://phabricator.wikimedia.org/T411927] '''Updates for technical contributors''' * To improve database and site performance, external links to Wikimedia projects will no longer be stored in the database. This means they will not be searchable in [[{{#special:LinkSearch}}]], will not be checked by the Spam Blacklist or AbuseFilter as new links, and will not be in the <code dir=ltr>externallinks</code> table on database replicas. In the future this may be extended to other highly-linked trusted websites on a per-wiki basis, such as Creative Commons links on Wikimedia Commons. [https://phabricator.wikimedia.org/T405005] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.7|MediaWiki]] '''''[[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/2025/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-2025-W51"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:03, 15 December 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29796010 --> == Wikipedia translation of the week: 2025-52 == <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/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Pin Malakul]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Pin Malakul, January 1922.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Pin Malakul''' (24 October 1903 – 5 October 1995) was a Thai professor, educator and writer. His contributions to education in Thailand include the establishment of various institutions of higher education, the introduction of fixed class schedules, and the implementation of teacher-training programmes. In his career he served as Director-General of the Department of General Education, later becoming Permanent Secretary, and Minister, of Education. He was also a member of the executive board of UNESCO. His writings earned him the title of National Artist in 1987, and the 100th anniversary of his birth was celebrated by the UNESCO in 2003 as recognition of his contribution to the advancement of education in Thailand 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]]'' </div> </div> -[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:26, 22 December 2025 (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=29802495 --> == Tech News: 2025-52 == <section begin="technews-2025-W52"/><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/2025/52|Translations]] are available. '''Updates for editors''' * From January, edit filters [[mw:Special:MyLanguage/Extension:AbuseFilter/Access flags|can be set]] to automatically suppress their details such as rules and list of attempted edits and actions. This will help oversighters use edit filters to prevent doxxing or other suppressible material. [https://phabricator.wikimedia.org/T290324] * The next issue of Tech News will be sent out on 12 January 2026 because of the end of year holidays. Thank you to all of the translators, and people who submitted content or feedback, this year. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:16}} community-submitted {{PLURAL:16|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the crash that occurred when tapping "First Steps" in the Wikipedia Android Year in Review has now been fixed, and the feature opens as expected. [https://phabricator.wikimedia.org/T411546] '''Updates for technical contributors''' * Interface elements such as diffs and categories generated by MediaWiki used to have the attribute <code dir=ltr>data-mw="interface"</code> to distinguish from wiki content. The attribute has been replaced with <code dir=ltr>data-mw-interface=""</code>, to avoid potential conflicts with other <code dir=ltr>data-mw</code> attributes, which are generated by Parsoid. [https://phabricator.wikimedia.org/T409187] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] There is no new MediaWiki version this week or next week. '''Meetings and events''' * The [[mw:Wikimedia Hackathon Northwestern Europe 2026|Wikimedia Hackathon Northwestern Europe 2026]] will take place on 13-14 March 2026 in Arnhem, the Netherlands. Applications just opened mid-December and will close in mid-January or earlier if capacity is reached. With space for approximately 100 participants, early application is encouraged. '''''[[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/2025/52|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-2025-W52"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:46, 22 December 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29831856 --> == Wikipedia translation of the week: 2026-01 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:The Morning of the Magicians]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Le Matin des magiciens, couverture.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''The Morning of the Magicians: Introduction to Fantastic Realism''''' (French: Le Matin des magiciens: Introduction au réalisme fantastique) is a 1960 book by the journalists Louis Pauwels and Jacques Bergier. It covers topics like cryptohistory, ufology, occultism in Nazism, alchemy, spiritual philosophy. The second half of the book is entirely dedicated to the Nazi-Occult connections; the book is widely credited with the proliferation of numerous myths related to occultism in Nazism. <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:20, 29 December 2025 (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=29802495 --> == Wikipedia translation of the week: 2026-02 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Somaliland War of Independence]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Somaliland, fighters of the Somali National Movement (SNM), 1980s.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Somaliland War of Independence''' was a rebellion waged by the Somali National Movement (SNM) against the ruling military junta in Somalia led by General Siad Barre lasting from its founding on 6 April 1981 and ended on 18 May 1991 when the SNM declared what was then northern Somalia independent as the Republic of Somaliland. The conflict served as the main theater of the larger Somali Rebellion that started in 1978. The conflict was in response to the harsh policies enacted by the Barre regime against the main clan family in Somaliland, the Isaaq, including a declaration of economic warfare on the clan-family. These harsh policies were put into effect shortly after the conclusion of the disastrous Ogaden War in 1978. <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:00, 5 January 2026 (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=29871911 --> == Wikipedia translation of the week: 2026-03 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Pietro Lauro]]'''<br /> <small>''([[:en:Pietro Lauro]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Master I.A.V.F., Pietro Lauro, born 1508, Modenese Poet and Scholar (obverse), 1555, NGA 45072.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Pietro Lauro''', conosciuto anche come Pietro Lauro Modonese o Pietro Lauro da Modona (Modena o dintorni, 1510 circa – Venezia, 1568 circa) è stato un traduttore, scrittore e divulgatore scientifico italiano. Nonostante non si conosca gran parte della sua biografia, fu uno dei poligrafi italiani più conosciuti del Cinquecento. La sua produzione raccoglie traduzioni dal latino, dal greco e dallo spagnolo e riguardano opere di autori classici, stranieri e protestanti. Lauro si dimostrò abile nel trattare testi con temi molto diversi, come la filosofia, l'architettura, la medicina, il giardinaggio, l'agronomia, le scienze biologiche, la storia, la teologia e l'astronomia. Si cimentò anche nella scrittura di un poema cavalleresco sullo stile di quelli spagnoli, il Polendo, sua magnum opus in questo senso. Aderente alla Riforma protestante, sebbene le sue trasposizioni siano state oggetto di critiche già degli autori a lui contemporanei, che le giudicarono troppo letterali, rozze e imparziali, a Lauro si deve il merito di aver ultimato la traduzione in lingua volgare di numerosi testi sia classici, sia scientifici, sia epistolari. I suoi lavori ebbero una notevole diffusione, non solo tra i letterati veneziani della sua epoca, ma in tutta Italia, tanto che alcune sue traduzioni vengono ancora oggi ristampate in nuove edizioni. <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:45, 12 January 2026 (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=29894468 --> == Tech News: 2026-03 == <section begin="technews-2026-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/2026/03|Translations]] are available. '''Weekly highlight''' * The Wikimedia Foundation has shared some guiding questions for the July 2026–June 2027 Annual Plan on [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs|Meta]] and ''[[diffblog:2025/12/10/shaping-wikimedia-foundations-2026-2027-annual-goals-key-questions-for-the-wikimedia-movement/|Diff]]''. These focus on global trends, faster and healthier experimentation, better support for newcomers, strengthening editors and advanced users, improving collaboration across projects, and growing and retaining readership. Feedback and ideas are welcome on the [[m:Talk:Wikimedia Foundation Annual Plan/2026-2027|talk page]]. '''Updates for editors''' * As part of the current work of Community Tech team on the [[m:Special:MyLanguage/Community Wishlist/W372|Multiple watchlists]] project, the display of [[Special:EditWatchlist|EditWatchlist]] will be updated as a first step towards multiple watchlists. Additionally, the pagination on [[Special:Search|Search]] will be updated too, as a part of the work on the [[m:Special:MyLanguage/Community Wishlist/W186|Revamp pagination / page navigation]] wish. [https://phabricator.wikimedia.org/T411596] * [[m:Special:GlobalWatchlist|The Global Watchlist]] is a MediaWiki [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] that lets you see your watchlists from different wikis on the same page. It was recently updated to look more like the regular [[Special:Watchlist|Watchlist]], such as preparing it for temporary accounts in IP masking (including rerouting user links to contributions pages), making page titles bold, and opening links in edit summaries and tags in new browser tabs. [https://phabricator.wikimedia.org/T398361][https://phabricator.wikimedia.org/T298919][https://phabricator.wikimedia.org/T273526][https://phabricator.wikimedia.org/T286309] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:28}} community-submitted {{PLURAL:28|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where global blocks did not have the option to disable sending emails, has now been fixed, and will be available for use in the week of January 13. [https://phabricator.wikimedia.org/T401293] '''Updates for technical contributors''' * The [[mw:Special:MyLanguage/VisualEditor/Citation tool|VisualEditor citation tool]] and [[mw:Special:MyLanguage/Help:Reference Previews|Reference Previews]] now support "map" as a reference type. [https://phabricator.wikimedia.org/T411083] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.10|MediaWiki]]/[[mw:MediaWiki 1.46/wmf.11|MediaWiki]] '''''[[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/2026/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-2026-W03"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:34, 12 January 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29907192 --> == Wikipedia translation of the week: 2026-04 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Volto di Palazzo Vecchio]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Piazza della signoria angolo via della ninna, palazzo vecchio, cantonata con testa scolpita 02.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> Il '''volto di Palazzo Vecchio''' (conosciuto anche come L'importuno o L'inopportuno) è un incisione su pietraforte attibuita a Michelangelo Buonarroti, scolpita in una delle pietre di Palazzo Vecchio a Firenze. Secondo le varie leggende, il profilo sarebbe stato realizzato come graffito dall'artista toscano, con soggetto un suo importunatore, un debitore, un condannato a morte o se stesso. Nel 2020, gli studiosi hanno ipotizzato possa invece trattarsi di un ritratto di Francesco Granacci, pittore amico di Michelangelo. <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:14, 19 January 2026 (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=29945240 --> == Tech News: 2026-04 == <section begin="technews-2026-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/2026/04|Translations]] are available. '''Updates for editors''' * The tray shown on [[Special:Diff|Special:Diff]] in mobile view has been redesigned. It is now collapsed by default, and incorporates a link to undo the edit being viewed, making it easier for mobile editors and reviewers to take action while keeping the interface uncluttered. [https://phabricator.wikimedia.org/T402297] * [[m:Special:GlobalWatchlist|The Global Watchlist]] lets you view your watchlists from multiple wikis on one page. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] continues to improve — it now automatically determines the text direction (ensuring correct display of sites with unusual domain names) and shows detailed descriptions for log actions. Later this week, a new permanent link for page creations and CSS classes for each entry element will be added. [https://phabricator.wikimedia.org/T412505][https://phabricator.wikimedia.org/T287929][https://phabricator.wikimedia.org/T262768][https://phabricator.wikimedia.org/T414135] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] 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, the previously observed issue in Vector 2022, where anchor link targets were obscured by the sticky header, has now been addressed. [https://phabricator.wikimedia.org/T406114] '''Updates for technical contributors''' * As mentioned in the [[m:Special:MyLanguage/Tech/News/2025/44|October 2025 deprecation announcement]], MediaWiki Interfaces team will begin sunsetting all transform endpoints containing a trailing slash from the MediaWiki REST API the week of January 26. Changes are expected to roll out to all wikis on or before January 30th. All API users currently calling them are encouraged to transition to the non-trailing slash versions. Both endpoint variations can be found, compared, and tested using the [https://test.wikipedia.org/wiki/Special:RestSandbox REST Sandbox]. If you have questions or encounter any problems, please file a ticket in Phabricator to the [https://phabricator.wikimedia.org/project/view/6931/ #MW-Interfaces-Team board]. * Interactive reference documentation for the [[mw:Special:MyLanguage/Wikimedia REST API|Wikimedia REST API]] has moved. Requests to API docs previously hosted through [[mw:Special:MyLanguage/RESTBase|RESTBase]] (e.g.: <code dir=ltr>https://en.wikipedia.org/api/rest_v1/</code>) are now redirected to the [[w:en:Special:RestSandbox|REST Sandbox]]. * The [[mw:Special:MyLanguage/Wikidata Platform|WMF Wikidata Platform team]] (WDP) has published its [[d:Special:MyLanguage/Wikidata:Wikidata Platform team/Newsletter|January 2026 newsletter]]. It includes updates on the legacy full-graph endpoint decommissioning, the User-Agent policy change, the monthly Blazegraph migration office hours, and efforts to reduce regressions caused by the legacy endpoint shutdown. As a reminder, you can [[m:Special:MyLanguage/Global message delivery/Targets/WDP team updates|subscribe to the WDP newsletter]]! * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.12|MediaWiki]] '''Meetings and events''' * The [[mw:Wikimedia Hackathon Northwestern Europe 2026|Wikimedia Hackathon Northwestern Europe 2026]] will take place on 13-14 March 2026 in Arnhem, the Netherlands. Applications opened mid-December and will close soon or when capacity is reached. It's a two-day, technically oriented hackathon bringing together Wikimedians from the region. Hope to see you 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/2026/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-2026-W04"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:30, 19 January 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29943403 --> == Wikipedia translation of the week: 2026-05 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Raffaello Kobayashi]]'''<br /> <small>''([[:en:Raffaello Kobayashi]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Raffaello Kobayashi''', nato Raffaele Sanzio (Bari, 14 gennaio 1917 – Yokohama, 1 aprile 2011), è stato un militare italiano naturalizzato giapponese. Sommergibilista durante la Seconda guerra mondiale, prestò servizio per tutte e tre le principali Potenze dell'Asse: Regno d'Italia, Germania nazista e Impero giapponese. Alla fine della guerra si nascose in Giappone per evitare di subire l'internamento in un campo di prigionia, divenendo poi cittadino nipponico e cambiando il proprio nome. Prese parte all'affondamento della HMS Calypso nel 1940, primo successo italiano in campo navale nel corso del conflitto mondiale. Con l'abbattimento di un bombardiere statunitense il 22 agosto 1945, otto giorni dopo il discorso di resa del Giappone alle potenze alleate della seconda guerra mondiale, a bordo del Comandante Cappellini, sarebbe stata l'ultima persona in assoluto a mettere fuori combattimento un velivolo degli Alleati nella stessa guerra. <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, 26 January 2026 (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=29945240 --> == Tech News: 2026-05 == <section begin="technews-2026-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/2026/05|Translations]] are available. '''Updates for editors''' * Wikimedia Foundation invites comments on [[m:Special:MyLanguage/Product and Technology Advisory Council/Year1 Reflections and Proposed Way Forward 2026 Update|proposed future]] of the [[:m:Special:MyLanguage/Product and Technology Advisory Council|Product and Technology Advisory Council]] until 28 February. * All users with registered accounts can now use passkeys for [[m:Special:MyLanguage/Help:Two-factor authentication|two-factor authentication]] (2FA). Passkeys are a simple way to log in without using a second device. They verify the user's identity using a fingerprint, face scan, or a PIN code. To set up a passkey, first set up a regular 2FA method. Currently, to log in with a passkey, users must also use a password. Later this quarter, passwordless login will allow users to log in with a single click and a passkey. Users with advanced rights will also be required to have 2FA enabled. This is part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] project. * Unregistered contributors on blocked IPs or blocked IP ranges can now interact on-wiki to appeal a block by creating a temporary account to appeal a block on the user talk page, unless the "prevent this user from editing their own talk page" is enabled. This solves the problem of logged-out users unable to use the default unblock process via user talk page. [https://phabricator.wikimedia.org/T398673] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the Two-Factor Authentication (2FA) methods description on the management page has been updated. It is now clearer and easier for users to understand and make use of. [https://phabricator.wikimedia.org/T332385] '''Updates for technical contributors''' * A new AbuseFilter variable, <code>account_type</code>, has been added to provide a reliable way to determine the account type being created in the <code>createaccount</code> and <code>autocreateaccount</code> actions. As part of this change, the variable <code>accountname</code> has been renamed to <code>account_name</code>, and <code>accountname</code> is now deprecated. Edit filter managers should update any filters that use hardcoded account type checks or the deprecated variable. [https://phabricator.wikimedia.org/T414049] * Image thumbnails that are requested in non-standard sizes, and using non-standard methods such as direct requests to <code dir=ltr><nowiki>upload.wikimedia.org/…</nowiki></code> will stop working in the near future. This change is to prevent ongoing external abuse by web-scrapers and bots. Some users with custom CSS/JS, Interface Admins who can fix gadgets and local skins, and Tool-authors, will need to update their code to use standard thumbnail sizes. [[phab:T414805|Details, search-links, and examples of how to fix them, are available in the task]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.13|MediaWiki]] '''''[[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/2026/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-2026-W05"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:18, 26 January 2026 (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=29969530 --> == Wikipedia translation of the week: 2026-06 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Censorship in the Czech Republic]]'''<br /> <small>''([[:cs:Cenzura v Česku]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Censorship in the Czech Republic''' had been highly active until 17 November 1989 and the fall of Communism in the former Czechoslovakia. Czech Republic was ranked as the 13th most free country in the World Press Freedom Index in 2014. <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:32, 2 February 2026 (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=29945240 --> == Tech News: 2026-06 == <section begin="technews-2026-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/2026/06|Translations]] are available. '''Updates for editors''' * The "{{int:pageinfo-toolboxlink}}" feature, which gives validating information about a page ([{{fullurl:{{FULLPAGENAME}}|action=info}} example]), now automatically includes a table of contents. If there is a local [[{{ns:8}}:Pageinfo-header]] page created by individual users, it can now be removed. [https://phabricator.wikimedia.org/T363726] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, VisualEditor previously added bold or italic formatting inside link descriptions, making the wikicode complex. This has now been fixed. [https://phabricator.wikimedia.org/T409669] '''Updates for technical contributors''' * There was no XML dump on 20 January. Additionally, from now on, dumps will be generated once per month only. [https://phabricator.wikimedia.org/T414389] * The MediaWiki Interfaces team removed support for all transform endpoints containing a trailing slash from the [https://www.mediawiki.org/wiki/Special:MyLanguage/API:REST%20API MediaWiki REST API]. All API users currently calling those endpoints are encouraged to transition to the non-trailing slash versions. If you have questions or encounter any problems, please file a ticket in phabricator to the [https://phabricator.wikimedia.org/project/view/6931/ #MW-Interfaces-Team board]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.14|MediaWiki]] '''Weekly highlight''' * Users are reminded that the Wikimedia Foundation has shared some guiding questions for the July 2026–June 2027 Annual Plan on [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs|Meta]] and ''[[diffblog:2025/12/10/shaping-wikimedia-foundations-2026-2027-annual-goals-key-questions-for-the-wikimedia-movement/|Diff]]''. These focus on global trends, faster and healthier experimentation, better support for newcomers, strengthening editors and advanced users, improving collaboration across projects, and growing and retaining readership. Feedback and ideas are welcome on the [[m:Talk:Wikimedia Foundation Annual Plan/2026-2027|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/2026/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-2026-W06"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:44, 2 February 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30000986 --> == Wikipedia translation of the week: 2026-07 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Petites Heures of Jean de France, Duc de Berry]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Jacquemart de Hesdin 002.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Petites Heures of Jean de France, Duc de Berry''' is an illuminated book of hours commissioned by John, Duke of Berry between 1375 and 1385–90. It is known for its ornate miniature leaves and border decorations. <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:59, 9 February 2026 (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=29945240 --> == Tech News: 2026-07 == <section begin="technews-2026-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/2026/07|Translations]] are available. '''Updates for editors''' * [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Wishlist item]] Logged-in contributors who manage large or complex watchlists can now organise and filter watched pages in ways that improve their workflows with the new [[mw:Special:MyLanguage/Help:Watchlist labels|Watchlist labels]] feature. By adding custom labels (for example: pages you created, pages being monitored for vandalism, or discussion pages) users can more quickly identify what needs attention, reduce cognitive load, and respond more efficiently. This improves watchlist usability, especially for highly active editors. * A new feature available on [[Special:Contributions|Special:Contributions]] shows [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] that are likely operated by the same person, and so makes patrolling less time-consuming. Upon checking contributions of a temporary account, users with access to temporary account IP addresses can now see a view of contributions from the related temporary accounts. The feature looks up all the IPs associated with a given temporary account within the data retention period and shows all the contributions of all temporary accounts that have used these IPs. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts#February 2026: Improvements to the patroller tooling|Learn more]]. [https://phabricator.wikimedia.org/T415674] * When editors preview a wikitext edit, the reminder box that they are only seeing a preview (which is shown at the top), now has a grey/neutral background instead of a yellow/warning background. This makes it easier to distinguish preview notes from actual warnings (for example, edit conflicts or problematic redirect targets), which will now be shown in separate warning or error boxes. [https://phabricator.wikimedia.org/T414742] * The [[m:Special:GlobalWatchlist|Global Watchlist]] lets you view your watchlists from multiple wikis on one page. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] continues to improve — it now properly supports more than one Wikibase site, for example both [[d:|Wikidata]] and [[testwikidata:|testwikidata]]. In addition, issues regarding text direction have been fixed for users who prefer Wikidata or other Wikibase sites in right-to-left (RTL) languages. [https://phabricator.wikimedia.org/T415440][https://phabricator.wikimedia.org/T415458] * The automatic "magic links" for ISBN, RFC, and PMID numbers have been [[mw:Special:MyLanguage/Help:Magic links|deprecated in wikitext since 2021]] due to inflexibility and difficulties with localization. Several wikis have successfully replaced RFC and PMID magic links with equivalent external links, but a template was often required to replace the functionality of the ISBN magic link. There is now a new [[mw:Special:MyLanguage/Help:Magic words#isbn|built-in parser function]] <code dir=ltr><nowiki>{{#isbn}}</nowiki></code> available to replace the basic functionality of the ISBN magic link. This makes it easier for wikis who wish to migrate off of the deprecated magic link functionality to do so. [https://phabricator.wikimedia.org/T145604] * Two new wikis have been created: ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q35401|Jju]] ([[w:kaj:|<code>w:kaj:</code>]]) [https://phabricator.wikimedia.org/T413283] ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q1186896|Nawat]] ([[w:ppl:|<code>w:ppl:</code>]]) [https://phabricator.wikimedia.org/T413273] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * A new global user group has been created: [[{{int:grouppage-local-bot}}|{{int:group-local-bot}}]]. It will be used internally by the software to allow community bots to bypass rate limits that are applied to abusive [[w:en:Web scraping|web scrapers]]. Accounts that are approved as bots on at least one Wikimedia wiki will be automatically added to this group. It will not change what user permissions the bot has. [https://phabricator.wikimedia.org/T415588] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.15|MediaWiki]] '''Meetings and events''' * The [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Spring 2026|MediaWiki Users and Developers Conference, Spring 2026]] will be held March 25–27 in Salt Lake City, USA. This event is organized by and for the third-party MediaWiki community. You can propose sessions and register to attend. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/AZBWVI46SDEB65PGR5J6E4TYOQQEZXM7/] '''''[[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/2026/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-2026-W07"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:31, 9 February 2026 (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=30026671 --> == Wikipedia translation of the week: 2026-08 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Lysmata grabhami]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Lysmata grabhami1.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''Lysmata grabhami''''' is a species of saltwater shrimp in the family Hippolytidae. It was first described by Gordon in 1935. It occurs in the tropical and subtropical Atlantic Ocean and is a cleaner shrimp, operating a cleaning station to which fish come to have parasites removed. <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]]) 13:45, 16 February 2026 (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=29945240 --> == Tech News: 2026-08 == <section begin="technews-2026-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/2026/08|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Wikimedia Site Reliability Engineering|SRE Team]] will be performing a cleanup of Wikimedia's [[m:Special:MyLanguage/Etherpad|Etherpad]] instance, the web-based editor for real-time collaborative document editing. All pads will be permanently deleted after 30 April, 2026 – if there are still migration projects in progress at that point the team can revisit the date on a case by case basis. Please create local backups of any content you wish to keep, as deleted data cannot be recovered. This cleanup helps reduce database size and minimize infrastructure footprint. Etherpad will continue to support real-time collaboration, but long-term storage should not be expected. Additional cleanups may occur in the future without prior notice. [https://phabricator.wikimedia.org/T415237] '''Updates for editors''' * The Information Retrieval team will be launching an [[mw:Special:MyLanguage/Readers/Information Retrieval/Phase 1|Android mobile app experiment]] that tests hybrid search capabilities which can handle both semantic and keyword queries. The improvement of on-platform search will enable readers to find what they’re looking for directly on Wikipedia more easily. The experiment will first be launched on Greek Wikipedia in late February, followed by English, French, and Portuguese in March. [https://diff.wikimedia.org/2026/01/08/semantic-search-making-it-easier-to-find-the-information-readers-want/ Read more] on Diff blog. [https://www.mediawiki.org/wiki/Readers/Information_Retrieval] * The Reader Growth team will run [[mw:Special:MyLanguage/Readers/Reader Growth/WE3.10.2 Mobile Table of Contents|an experiment]] for mobile web users, that adds a table of contents and automatically expands all article sections, to learn more about navigation issues they face. The test will be available on Arabic, Chinese, English, French, Indonesian, and Vietnamese Wikipedias. * Previously, site notices ([[{{ns:8}}:Sitenotice]] and [[{{ns:8}}:Anonnotice]]) would only render on the desktop site. Now, they will render on all platforms. Users on mobile web will now see these notices and be informed. Site administrators should be prepared to test and fix notices on mobile devices to avoid interference with articles. To opt out, interface admins can add <code dir="ltr">#siteNotice { display: none; }</code> to [[{{ns:8}}:Minerva.css]]. [https://phabricator.wikimedia.org/T138572][https://phabricator.wikimedia.org/T416644] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:19}} community-submitted {{PLURAL:19|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue on [[Special:RecentChanges|Special:RecentChanges]] has been fixed. Previously, clicking hide in the active filters caused the "view new changes since…" button to disappear, though it should have remained visible. The button now behaves as expected. [https://phabricator.wikimedia.org/T406339] '''Updates for technical contributors''' * New documentation is now available to help editors debug on-site search features. It supports troubleshooting when pages do not appear in results, when ranking seems unexpected, and when you need to inspect what content is being indexed, helping make search behavior easier to understand and analyze. [[mw:Help:CirrusSearch/Debug|Learn more]]. [https://phabricator.wikimedia.org/T411169] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.16|MediaWiki]] '''''[[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/2026/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-2026-W08"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:17, 16 February 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30086330 --> == Wikipedia translation of the week: 2026-09 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Elefante di Cremona]]'''<br /> <small>''([[:de:Elefant von Cremona]])&#32;([[:eo:Elefanto de Cremona]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Matthew Paris Elephant from Parker MS 16 fol 151v.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> L''''elefante di Cremona''' (Asia, prima del 1228 - Parma, gennaio 1248) fu un esemplare di elefante donato nel 1228 a Federico II di Svevia da parte del sultano ayyubide al-Malik al-Kamil durante gli incontri che porteranno alla Pace di Giaffa. Usato principalmente per le manifestazioni trionfali del sovrano, l'elefante è citato da numerosi cronachisti e testimoni dell'epoca ed è noto per aver trainato il Carroccio dopo la grande vittoria delle armate di Federico II nella battaglia di Cortenuova del 1237. Rimasto a lungo nell'immaginario popolare collettivo, l'animale venne ucciso durante alcuni scontri occorsi nelle settimane immediatamente precedenti alla battaglia di Parma. <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]]) 11:43, 23 February 2026 (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=30097839 --> == Tech News: 2026-09 == <section begin="technews-2026-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/2026/09|Translations]] are available. '''Weekly highlight''' * [[mw:Special:MyLanguage/Edit check/Reference Check|Reference Check]] has been deployed to English Wikipedia, completing its rollout across all Wikipedias. The feature prompts newcomers to add a citation before publishing new content, helping reduce common citation-related reverts and improve verifiability. In A/B testing, the impact was substantial: newcomers shown Reference Check were approximately 2.2 times more likely to include a reference on desktop and about 17.5 times more likely on mobile web. [https://analytics.wikimedia.org/published/reports/editing/reference_check_ab_test_report_final_2025.html] '''Updates for editors''' * The [[mw:Special:MyLanguage/Extension:InterwikiSorting|InterwikiSorting extension]], which allowed for the [[m:Special:MyLanguage/Interwiki sorting order|sorting of interwiki links]], has been undeployed from Wikipedia. As a result, editors who had enabled interwiki link sorting in non-compact mode (full list format) will now see links reordered. The links moving forward will be listed in the alphabetical order of language code. [https://phabricator.wikimedia.org/T253764] * Later this week, people who are editing a page-section using the mobile visual editor, will notice a new "Edit full page" button. When tapped, you will be able to edit the entire article. This helps when the change you want to make is outside the section you initially opened. [https://phabricator.wikimedia.org/T387175][https://phabricator.wikimedia.org/T409112] * [[mw:Special:MyLanguage/Readers/Reader Experience|The Reader Experience team]] is inviting editors to assess whether dark mode should still be considered "beta" on their wiki, based on their experience of how well it functions on desktop and mobile. If the feature is deemed mature, editors can update the interface messages in <code dir=ltr>MediaWiki:skin-theme-description</code> and <code dir=ltr>MediaWiki:Vector-night-mode-beta-tag</code> to indicate that dark mode is ready and no longer considered beta. * The improved [[mw:Wikimedia_Apps/Team/iOS/Activity_Tab|Activity tab]] which displays user-insights is now available to all users of the Wikipedia iOS app (version 7.9.0 and later). Following earlier A/B testing that showed higher account creation among users with access to the feature, it has been rolled out to 100% of users along with some updates. The Activity tab now shows your edited articles in the timeline, offers editing impact insights like contribution counts and article view trends, and customization options to improve in-app experience for users. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug that prevented [[mw:Special:MyLanguage/Extension:DiscussionTools|DiscussionTools]] from working on mobile has now been fixed, restoring full functionality. [https://phabricator.wikimedia.org/T415303] '''Updates for technical contributors''' * The [[m:Special:GlobalWatchlist|Global Watchlist]] lets you view your watchlists from multiple wikis on one page. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] that makes this possible continues to improve. The latest upgrade is the inclusion of a [[mw:Extension:GlobalWatchlist#hook|new hook]], <code dir=ltr>ext.globalwatchlist.rebuild</code>, which fires after each watchlist rebuild. This allows you to run gadgets and user scripts for the Special page. [https://phabricator.wikimedia.org/T275159] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.17|MediaWiki]] '''''[[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/2026/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-2026-W09"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:04, 23 February 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30119102 --> == Wikipedia translation of the week: 2026-10 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Treaty of the Danish West Indies]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:The Virgin islands of the United States of America; historical and descriptive, commercial and industrial facts, figures, and resources (1918) (14596880870).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Treaty of the Danish West Indies''' (Danish: Vestindiens traktat), officially the Convention between the United States and Denmark for cession of the Danish West Indies (Danish: Konventionen mellem USA og Danmark), was a 1916 treaty transferring sovereignty of the Danish West Indies from Denmark to the United States in exchange for a sum of US$25,000,000 in gold ($722 million in 2024) and a declaration from the United States that it would "not object to the Danish Government extending their political and economic interests to the whole of Greenland". It is one of the most recent permanent expansions of United States territory. <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:43, 2 March 2026 (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=30097839 --> == Tech News: 2026-10 == <section begin="technews-2026-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/2026/10|Translations]] are available. '''Weekly highlight''' * Wikipedia 25 [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments|Birthday mode]] is now live on Betawi, Breton, Chinese, Czech, Dutch, English, French, Gorontalo, Indonesian, Italian, Luxembourgish, Madurese, Sicilian, Spanish, Thai, and Vietnamese Wikipedias! This limited-time campaign feature celebrates 25 years of Wikipedia with a birthday mascot, Baby Globe. When turned on, Baby Globe is shown on [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments/article configuration|~2,500 articles]], waiting to be discovered by readers. Communities can choose to turn Birthday mode on by getting consensus from their community and asking an admin to enable the feature and customize it via [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments#Community Configuration Demo|community configuration]] on the local wiki. '''Updates for editors''' * [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Sub-referencing]], a new feature to re-use references with different details has been released to Swedish Wikipedia, Polish Wikipedia and [[:phab:T418209|a couple of other wikis]]. You can [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#test|try the feature]] on these projects or on testwiki and [https://en.wikipedia.beta.wmcloud.org/wiki/Sub-referencing betawiki]. Learnings from the first pilot wiki German Wikipedia have been [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing/Learnings|published in a report]]. Reach out to the Wikimedia Deutschland team if you are [[:m:Talk:WMDE Technical Wishes/Sub-referencing#Pilot wikis|interested in becoming a pilot wiki]]. * [[mw:Special:MyLanguage/Help:Edit check#Paste check|Paste Check]] will become available at all Wikipedias this week. The feature prompts newcomers who are pasting text they are not likely to have written into VisualEditor to consider whether doing so risks a copyright violation. Paste Check [[mw:Special:MyLanguage/Edit check/Tags|tags]] all edits where it is shown for potential review. Local administrators can configure various aspects of the feature via [[{{#special:EditChecks}}]]. [[mw:Special:MyLanguage/Edit check/Paste Check#A/B Experiment|Research]] across 22 wikis found that Paste Check resulted in an 18% decrease in relative reverted-edits compared to the control group. Translators can [https://translatewiki.net/w/i.php?title=Special%3ATranslate&group=ext-visualeditor-ve-mw-editcheck&filter=&optional=1&action=translate help to localize] this and related features. * The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] will be standardizing the user menu in the top right for all mobile users so that it is closer to the desktop experience. Currently this user menu is only visible to users with Advanced Mobile Controls (AMC) turned on. The only change is that a couple buttons previously in the left-side menu will move to the top right for users who do not have AMC turned on. This change is expected to go out March 9 and seeks to improve the user interface. [https://phabricator.wikimedia.org/T413912] * Starting in the week of March 2, the emails sent out when an email address was added, removed, or changed for an account will switch to a substantially nicer and clearer HTML email from the prior plaintext one. [https://phabricator.wikimedia.org/T410807] * Notifications are currently limited to 2,000 historic entries per user, and extend back to 2013 when the feature was released. This is going to be changed to only store Notifications from the last 5 years, but up to 10,000 of them. This will help with long-term infrastructure health and help to prevent more recent notifications from disappearing too soon. [https://phabricator.wikimedia.org/T383948] * The [[m:Special:GlobalWatchlist|Global Watchlist]] which lets you view your watchlists from multiple wikis on a single page continues to see improvements. The latest update improves label usage experience. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] now allows activating the [[mw:Special:MyLanguage/Manual:Language#Fallback languages|language fallback system]] for Wikidata items without labels in the viewed language, and showing those labels in the user’s preferred Wikidata language if no <code dir=ltr>uselang=</code> URL parameter is provided. [https://phabricator.wikimedia.org/T373686][https://phabricator.wikimedia.org/T416111] * The Wikipedia Android team has started a beta test of [[mw:Special:MyLanguage/Readers/Information Retrieval/Phase 1|hybrid search]] on Greek Wikipedia. Hybrid search capabilities can handle both semantic and keyword queries enabling readers to find what they’re looking for directly on Wikipedia more easily. * For security reasons, members of certain user groups are [[m:Special:MyLanguage/Mandatory two-factor authentication for users with some extended rights|required to have two-factor authentication]] (2FA) enabled. Currently, 2FA is required to use the group, but not to be a member of it. Given that this model still has some vulnerabilities, the situation will [[phab:T418580|gradually change in March]]. Members of these groups will be unable to disable last 2FA method on their account, and it will be impossible to add users without 2FA to these groups. Users will still be able to add new authentication methods or remove them, as long as at least one method is continuously enabled. In the second half of March, users without 2FA will be removed from these groups. This applies to: CentralNotice administrators, checkusers, interface administrators, suppressors, Wikidata staff, Wikifunctions staff, WMF Office IT and WMF Trust & Safety. Nothing will change for other users. See the linked task for deployment schedule. [https://phabricator.wikimedia.org/T418580] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue preventing users from creating an instance in [https://www.wikibase.cloud/ Wikibase.cloud] has now been fixed. [https://phabricator.wikimedia.org/T416807] '''Updates for technical contributors''' * To help ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]], over the next month the Wikimedia Foundation will implement global API rate limits across our APIs. In early March, stricter limits will be applied to unidentified requests from outside Toolforge/WMCS and API requests that are made from web browsers. In April, higher limits will be applied to identified traffic. These limits are intentionally set as high as possible to minimise impact on the community. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]]. * The Wikidata Query Service Linked Data Fragment (LDF) endpoint will be decommissioned in February. This endpoint served limited traffic, which was successfully migrated to other data access methods that were better suited to support existing use cases. The hardware used to support the LDF endpoint will be reallocated to support the ongoing backend migration efforts. [https://phabricator.wikimedia.org/T415696] * The new Parsoid parser [[mw:Special:MyLanguage/Parsoid/Parser Unification/Updates|continues to be deployed to additional wikis]], improving platform sustainability and making it easier to introduce new reading and editing features. Parsoid is now the default parser on 488 WMF wikis (268 Wikipedias), now covering more than 10% of all Wikipedia page views. * The process and criteria for [[Special:MyLanguage/Wikimedia Enterprise#Access|requesting exceptional access]] to the high volume feed of the ''Wikimedia Enterprise'' APIs (at no cost for mission-aligned usecases), [[m:Talk:Wikimedia Enterprise#Exceptional access criteria|have now been published]]. This is to provide more thorough and clearer documentation for users. * [https://techblog.wikimedia.org/ Tech Blog], the blog dedicated to the Wikimedia technical community [https://techblog.wikimedia.org/2026/02/24/a-tech-blog-diff/ will be migrating] to [[diffblog:|Diff]], the community news and event blog. The migration should be complete in April 2026, after which new posts will be accepted for publishing. Readers will be able to access posts – old and new – on the landing page at https://diff.wikimedia.org/techblog. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.18|MediaWiki]] '''''[[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/2026/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-2026-W10"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:52, 2 March 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30137798 --> == Wikipedia translation of the week: 2026-11 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Steens Mountain]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Steens Mountain near Andrews, Oregon.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Steens Mountain''' is a large fault-block mountain in the northwest United States, located in Harney County, Oregon. Stretching some fifty miles (80 km) north to south, on its east side it rises from the Alvord Desert at an elevation of about 4,200 feet (1,280 m) to 9,738 feet (2,968 m) at the summit. Steens Mountain is not part of a mountain range but is properly a single mountain, the largest of Oregon's fault-block mountains. <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]]) 07:30, 9 March 2026 (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=30097839 --> == Tech News: 2026-11 == <section begin="technews-2026-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/2026/11|Translations]] are available. '''Weekly highlight''' * [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on Wednesday, 25 March 2026 at [https://zonestamp.toolforge.org/1774450800 15:00 UTC]. This is for the datacenter server switchover backup tests, [[wikitech:Deployments/Yearly calendar|which happen twice a year]]. During the switchover, all Wikimedia website traffic is shifted from one primary data center to the backup data center to test availability and prevent service disruption even in emergencies. * Last week, all wikis had 2 hours of read-only time, and extended unavailability for user-scripts and gadgets. This was due to a security incident which has since been resolved. Work is ongoing to prevent re-occurrences. For current information please see the [[m:Steward's noticeboard#Statement on Meta about today's user script security incident|post on the Stewards' noticeboard]] ([[m:Special:MyLanguage/Wikimedia Foundation/Product and Technology/Product Safety and Integrity/March 2026 User Script Incident|translations]]). '''Updates for editors''' * Users facing multiple blocks on mobile will now see the reasons for each block separately, instead of a generic message. This helps them understand why they are blocked and what steps they can take to resolve the issue. For example, users affected for using common VPNs (such as [[Special:MyLanguage/Apple iCloud Private Relay|iCloud Private Relay]]) will receive clearer guidance on what they need to do to start editing again. [https://phabricator.wikimedia.org/T357118] * Later this week, [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Suggestion Mode]] will become available as a beta feature within the visual editor at all Wikipedias. This feature proactively suggests various types of actions that people can consider taking to improve Wikipedia articles, and learn about related guidelines. The feature is locally configurable, and can also be locally expanded with custom Suggestions. Current settings can be seen at [[Special:EditChecks]] and there are [[mw:Special:MyLanguage/Help:Suggestion mode#For administrators %E2%80%93 local customization|instructions for how administrators can customize]] the links to point to local guidelines. The feature is connected to [[mw:Special:MyLanguage/Help:Edit check|Edit check]] which suggests improvements while someone is writing new content. In the future, the Editing team plans to evaluate the feature's impact with newcomers through a controlled experiment. [https://phabricator.wikimedia.org/T404600] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where the cursor became misaligned during the use of CodeMirror’s syntax highlighting, which makes wikitext and code easier to read, has now been fixed. This problem specifically affected users who defined a font rule in a custom stylesheet while creating a new topic with DiscussionTools. [https://phabricator.wikimedia.org/T418793] '''Updates for technical contributors''' * API rate limiting update: To help ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]], global API rate limits will be applied this week to requests without a compliant User-Agent that originate from outside Toolforge/WMCS and to unauthenticated requests made from web browsers. Higher limits will be applied to identified traffic in April. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]]. * The new GraphQL API has been released. The API was developed as a flexible alternative to select features of the Wikidata Query Service (WDQS), to improve developer experience and foster adaptability, and efficient data access. Try it out and [[d:Wikidata:Wikibase GraphQL#Feedback and development|give feedback]]. You can also [https://greatquestion.co/wikimediadeutschland/GraphQLAPI/apply sign up for usability tests]. * The [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|PTAC Unsupported Tools Working Group]] continued improvements to [[commons:Special:MyLanguage/Commons:Video2commons#|Video2Commons]] in February, with fixes addressing authentication errors, large-file handling, task queue visibility, and clearer upload behavior. Work is still ongoing in some areas, including changes related to deprecated server-side uploads. Read [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group#February 2026|this update]] to learn more. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.19|MediaWiki]] '''In depth''' * The Article Guidance team invites experienced Wikipedia editors from selected [[mw:Special:MyLanguage/Article guidance/Pilot wikis and collaborators#Collaborators|pilot wikis]] and interested contributors from other Wikipedias to fill out this questionnaire which is available in [https://docs.google.com/forms/d/e/1FAIpQLSfmLeVWnxmsCbPoI_UF2jyRcn73WRGWCVPHzerXb4Cz97X_Ag/viewform English], [https://docs.google.com/forms/d/e/1FAIpQLSd6rzr4XXQw8r4024fE3geTPFe13M_6w7Mitj-YJi0sOlWTAw/viewform?usp=header Arabic], [https://docs.google.com/forms/d/e/1FAIpQLSdok3-RfB18lcugYTUMGkpwmqG_8p760Wv4dCXitOXOszjUDw/viewform?usp=header Bengali], [https://docs.google.com/forms/d/e/1FAIpQLSfjTfYp4jEo0akA4B1e-Nfg3QZPCudUjhJzHzzDi6AHyAaMGA/viewform?usp=header Japanese], [https://docs.google.com/forms/d/e/1FAIpQLScteVoI29Aue4xc72dekk-6RYtvmMgQxzMI900UOawrFrSTWg/viewform?usp=header Portuguese], [https://docs.google.com/forms/d/e/1FAIpQLSetdxnYwL3ub2vqA7awCg5hJZPMIYcDPaiTe12rY9h0GYnVlw/viewform?usp=header Persian], and [https://docs.google.com/forms/d/e/1FAIpQLScNvfJF-Ot-4pzA4qAN771_0QDJ4Li19YcUsaTgSKW8Nc7U_Q/viewform?usp=header Turkish]. Your answers will help the team customize guidance for less experienced editors and help them learn community policies and practices while creating an article. Learn more [[mw:Special:MyLanguage/Article guidance|on the project 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/2026/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-2026-W11"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:53, 9 March 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30213008 --> == Wikipedia translation of the week: 2026-12 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Casque (anatomy)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Great hornbill (Buceros bicornis) Photograph by Shantanu Kuveskar.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> A '''casque''' is an anatomical feature found in some species of birds, reptiles, and amphibians. In birds, it is an enlargement of the bones of the upper mandible or the skull, either on the front of the face, the top of the head, or both. The casque has been hypothesized to serve as a visual cue to a bird's sex, state of maturity, or social status; as reinforcement to the beak's structure; or as a resonance chamber, enhancing calls. <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:43, 16 March 2026 (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=30245038 --> == Tech News: 2026-12 == <section begin="technews-2026-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/2026/12|Translations]] are available. '''Updates for editors''' * The [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature, also known as [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror 6]], has been used for wikitext syntax highlighting since November 2024. It will be promoted out of beta by May 2026 in order to bring improvements and new [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Features|features]] to all editors who use the standard syntax highlighter. If you have any questions or concerns about promoting the feature out of beta, [[mw:Special:MyLanguage/Help talk:Extension:CodeMirror|please share]]. [https://phabricator.wikimedia.org/T259059] * Some changes to local user groups are performed by stewards on Meta-Wiki and logged there only. Now, interwiki rights changes will be logged both on Meta-Wiki and the wiki of the target user to make it easier to access a full record of user's rights changes on a local wiki. Past log entries for such changes will be backfilled in the coming weeks. [https://phabricator.wikimedia.org/T6055] * On wikis using [[m:Special:MyLanguage/Flagged Revisions|Flagged Revisions]], the number of pending changes shown on [[{{#Special:PendingChanges}}]] previously counted pages which were no longer pending review, because they have been removed from the system without being reviewed, e.g. due to being deleted, moved to a different namespace, or due to wiki configuration changes. The count will be correct now. On some wikis the number shown will be much smaller than before. There should be no change to the list of pages itself. [https://phabricator.wikimedia.org/T413016] * Wikifunctions composition language has been rewritten, resulting in a new version of the language. This change aims to increase service stability by reducing the orchestrator's memory consumption. This rewrite also enables substantial latency reduction, code simplification, and better abstractions, which will open the door to later feature additions. Read more about [[f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-11|the changes]]. * Users can now sort search results alphabetically by page title. The update gives an additional option to finding pages more easily and quickly. Previously, results could be sorted by Edit date, Creation date, or Relevance. To use the new option, open 'Advanced Search' on the search results page and select 'Alphabetically' under 'Sorting Order'. [https://phabricator.wikimedia.org/T403775] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:28}} community-submitted {{PLURAL:28|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug that prevented UploadWizard on Wikimedia Commons from importing files from Flickr has now been fixed. [https://phabricator.wikimedia.org/T419263] '''Updates for technical contributors''' * A new special page, [[{{#special:LintTemplateErrors}}]], has been created to list transcluded pages that are flagged as containing lint errors to help users discover them easily. The list is sorted by the number of transclusions with errors. For example: [[{{#special:LintTemplateErrors}}/night-mode-unaware-background-color]]. [https://phabricator.wikimedia.org/T170874] * Users of the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature have been using [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] for syntax highlighting when editing JavaScript, CSS, JSON, Vue and Lua content pages, for some time now. Along with promoting CodeMirror 6 out of beta, the plan is to replace CodeEditor as the standard editor for these content models by May 2026. [[mw:Special:MyLanguage/Help talk:Extension:CodeMirror|Feedback or concerns are welcome]]. [https://phabricator.wikimedia.org/T419332] * The [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] JavaScript modules will soon be upgraded to CodeMirror 6. Leading up to the upgrade, loading the <code dir=ltr>ext.CodeMirror</code> or <code dir=ltr>ext.CodeMirror.lib</code> modules from gadgets and user scripts was deprecated in July 2025. The use of the <code dir=ltr>ext.CodeMirror.switch</code> hook was also deprecated in March 2025. Contributors can now make their scripts or gadgets compatible with CodeMirror 6. See the [[mw:Special:MyLanguage/Extension:CodeMirror#Gadgets and user scripts|migration guide]] for more information. [https://phabricator.wikimedia.org/T373720] * The MediaWiki Interfaces team is expanding coverage of REST API module definitions to include [[mw:Special:MyLanguage/API:REST API/Extensions|extension APIs]]. REST API modules are groups of related endpoints that can be independently managed and versioned. Modules now exist for [https://phabricator.wikimedia.org/T414470 GrowthExperiments] and [https://phabricator.wikimedia.org/T419053 Wikifunctions] APIs. As we migrate extension APIs to this structure, documentation will move out of the main MediaWiki OpenAPI spec and REST Sandbox view, and will instead be accessible via module-specific options in the dropdown on the [https://test.wikipedia.org/wiki/Special:RestSandbox REST Sandbox] (i.e., [[{{#Special:RestSandbox}}]], available on all wiki projects). * The [[mw:Special:MyLanguage/Extension:Scribunto|Scribunto]] extension provides different pieces of information about the wiki where the module is being used via the [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual|mw.site]] library. Starting last week, the library also provides a [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#mw.site.wikiId|way]] of accessing the [[mw:Special:MyLanguage/Manual:Wiki ID|wiki ID]] that can be used to facilitate cross-wiki module maintenance. [https://phabricator.wikimedia.org/T146616] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.20|MediaWiki]] '''In depth''' * The [[m:Special:MyLanguage/Coolest Tool Award|2026 Coolest Tool Award]] celebrating outstanding community tools, is now open for nominations! Nominate your favorite tool using the [https://wikimediafoundation.limesurvey.net/435684?lang=en nomination survey] form by 23 March 2026. For more information on privacy and data handling, please see the [[foundation:Special:MyLanguage/Legal:Coolest_Tool_Award_2026_Survey_Privacy_Statement|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/2026/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-2026-W12"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:36, 16 March 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30260505 --> == Wikipedia translation of the week: 2026-13 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Etruscan sculpture]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Frontone A del grande tempio di luni con concilio degli dei, 175-150 ac. ca. 01.JPG|300px|center]] <div style="text-align:left; padding: .4em;"> '''Etruscan sculpture''' was one of the most important artistic expressions of the Etruscan people, who inhabited the regions of Northern Italy and Central Italy between about the 9th century BC and the 1st century BC. Etruscan art was largely a derivation of Greek art, although developed with many characteristics of its own. Given the almost total lack of Etruscan written documents, a problem compounded by the paucity of information on their language—still largely undeciphered—it is in their art that the keys to the reconstruction of their history are to be found, although Greek and Roman chronicles are also of great help. Like its culture in general, Etruscan sculpture has many obscure aspects for scholars, being the subject of controversy and forcing them to propose their interpretations always tentatively, but the consensus is that it was part of the most important and original legacy of Italian art and even contributed significantly to the initial formation of the artistic traditions of ancient Rome. <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:07, 23 March 2026 (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=30245038 --> == Tech News: 2026-13 == <section begin="technews-2026-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/2026/13|Translations]] are available. '''Weekly highlight''' * Wikimedia site users can now log in without a password using passkeys. This is a secure method supported by fingerprint, facial recognition, or PIN. With this change, all users who opt for passwordless login will find it easier, faster, and more secure to log in to their accounts using any device. The new passkey login option currently appears as an autofill suggestion in the username field. An additional [[phab:T417120|"Log in with passkey" button]] will soon be available for users who have already registered a passkey. This update will improve security and user experience. The [[c:File:Passwordless_login_screencast.webm|screen recording]] demonstrates the passwordless login process step by step. * [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on Wednesday, 25 March 2026 at [https://zonestamp.toolforge.org/1774450800 15:00 UTC]. This is for the datacenter server switchover backup tests, [[wikitech:Deployments/Yearly calendar|which happen twice a year]]. During the switchover, all Wikimedia website traffic is shifted from one primary data center to the backup data center to test availability and prevent service disruption even in emergencies. '''Updates for editors''' * Wikimedia site users can now export their notifications older than 5 years using a [[toolforge:echo-chamber|new Toolforge tool]]. This will ensure that users retain their important notifications and avoid them being lost based on the planned change to delete notifications older than 5 years, as previously announced. [https://phabricator.wikimedia.org/T383948] * Wikipedia editors in Indonesian, Thai, Turkish, and Simple English now have access to Special:PersonalDashboard. This is an [[mw:Special:MyLanguage/Moderator Tools/Dashboard|early version of an experience]] that introduces newer editors to patrolling workflows, making it easier for them to move from making edits to participating in more advanced moderation work on their project. [https://phabricator.wikimedia.org/T402647] * The [[Special:Block]] now has two minor interface changes. Administrators can now easily perform indefinite blocks through a dedicated radio button in the expiry section. Also, choosing an indefinite expiry provides a different set of common reasons to select from, which can be changed at: [[MediaWiki:Ipbreason-indef-dropdown]]. [https://phabricator.wikimedia.org/T401823] * Mobile editors [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#Logged-out|at several wikis]] can now see an improved logged-out edit warning, thanks to the recent updates from the Growth team. These changes released last week are part of ongoing efforts and tests to enhance [[mw:Special:MyLanguage/Contributors/Account Creation Experiments|account creation experience on mobile]] and then increase participation. [https://phabricator.wikimedia.org/T408484] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:36}} community-submitted {{PLURAL:36|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug that prevented mobile web users from seeing the block information when affected by multiple blocks has been fixed. They can now see messages of all the blocks currently affecting them when they access Wikipedia. '''Updates for technical contributors''' * Images built using Toolforge will soon get the upgraded buildpacks version, bringing support for newer language versions and other upstream improvements and fixes. If you use Toolforge Build Service, review the recent [https://lists.wikimedia.org/hyperkitty/list/cloud-announce@lists.wikimedia.org/thread/EMYTA32EV2V5SQ2JIEOD2CL66YFIZEKV/ cloud-announce email] and update your build configuration as necessary to ensure your tools are compatible. [https://wikitech.wikimedia.org/w/index.php?title=Help:Toolforge/Building_container_images&oldid=2392097#Buildpack_environment_upgrade_process][https://phabricator.wikimedia.org/T380127] * The [https://api.wikimedia.org/wiki/Main_Page API Portal] documentation wiki will shut down in June 2026. API keys created on the API Portal will continue to work normally. api.wikimedia.org endpoints will be deprecated gradually starting in July 2026. Documentation on the API Portal is moving to [[mw:Wikimedia APIs|mediawiki.org]]. Learn more on the [[wikitech:API Portal/Deprecation|project page]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.21|MediaWiki]] '''In depth''' * [[m:Special:MyLanguage/WMDE Technical Wishes|WMDE Technical Wishes]] is considering improvements to [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names|automatically generated reference names in VisualEditor]]. Please check out the [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names#Proposed solutions|proposed solutions]] and participate in the [[m:Talk:WMDE Technical Wishes/References/VisualEditor automatic reference names#Request for comment|request for comment]]. '''''[[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/2026/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-2026-W13"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:51, 23 March 2026 (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=30268305 --> == Wikipedia translation of the week: 2026-14 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Pulse (nightclub)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Orlando FL Pulse Nightclub01.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Pulse''' was a gay bar, dance club, and nightclub in Orlando, Florida, founded in 2004 by Barbara Poma and Ron Legler. On June 12, 2016, the club was the scene of the second-deadliest mass shooting by a single gunman in U.S. history, and the second-deadliest terrorist attack on U.S. soil since the September 11 attacks. Forty-nine people were killed and 58 other people were injured. <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:37, 30 March 2026 (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=30306870 --> == Tech News: 2026-14 == <section begin="technews-2026-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/2026/14|Translations]] are available. '''Weekly highlight''' * The Beta version of [[abstract:|Abstract Wikipedia]] a new Wikimedia project which is language-independent, was launched last week. The project allows communities to build Wikipedia articles in their native language, which can be readily accessed by other users in their own languages. The wiki is powered by instructions from Wikifunctions and also based on structured content from Wikidata. [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-26|Read more]]. '''Updates for editors''' * The Growth team is running an A/B test to evaluate a clearer, more user-friendly message that promotes account creation on wikis. Currently when logged-out mobile users begin editing, they see a jarring warning message that can feel abrupt and discouraging. This also presents temporary account editing as the default rather than encouraging account creation. The test is running on ten Wikipedias, including Arabic, French, Spanish and German. [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#2. Improve logged-out warning message (T415160)|Read more]]. * The Wikimedia Apps team is inviting feedback on [[mw:Special:MyLanguage/Wikimedia Apps/Team/Future of Editing on the Mobile Apps|how editing should work on the Wikipedia mobile apps]]. The discussion focuses on improving how users access editing tools when they tap "Edit". This is part of a broader effort to convert readers who develop an interest in editing, to access a more user-friendly pathway to start contributing. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:45}} community-submitted {{PLURAL:45|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where citation fetching from the large newspaper archive [https://www.newspapers.com Newspapers.com] was no longer working, due to a block in [[mw:Special:MyLanguage/Citoid|Citoid]] requests, has now been fixed. [https://phabricator.wikimedia.org/T419903] '''Updates for technical contributors''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.22|MediaWiki]] '''''[[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/2026/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-2026-W14"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:26, 30 March 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30329462 --> == Wikipedia translation of the week: 2026-15 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Tofana di Rozes]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Tofana di Rozes 04.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Tofana di Rozes''' (3,225 metres (10,581 ft)) is a mountain of the Dolomites in the Province of Belluno, Veneto, Italy. Located west of the resort of Cortina d'Ampezzo, the mountain's giant three-edged pyramid shape and its vertical south face, above the Falzarego Pass, makes it the most popular peak in the Tofane group, and one of the most popular in the Dolomites. <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]]) 12:27, 6 April 2026 (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=30306870 --> == Tech News: 2026-15 == <section begin="technews-2026-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/2026/15|Translations]] are available. '''Updates for editors''' * The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] now includes a new group goal-setting feature, enabling organizers to set and track event goals such as the number of articles created and participating contributors in real time. Similarly, participants can work toward shared targets and see their collective impact as the event unfolds. The feature is now available on all Wikimedia wikis. Learn more in [[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Registration/Collaborative contributions#Goal setting|the documentation]]. * [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Wishlist item]] The new [[mw:Special:MyLanguage/Help:Watchlist labels|watchlist labels]] feature (announced in [[m:Special:MyLanguage/Tech/News/2026/07|Tech News 2026-07]]) is now available via VisualEditor, the source editor, and the 'watchstar' (or watch link, for skins that don't have a star icon). Previously it was only possible to assign labels via [[Special:EditWatchlist|EditWatchlist]]. In all three places it is a new field following the expiry field. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where talk pages on mobile with Parsoid are unusable after empty section headers, has now been fixed. [https://phabricator.wikimedia.org/T419171] '''Updates for technical contributors''' * The [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|sub-referencing feature]], which lets editors add details to an existing reference without duplicating it, will be gradually rolled out to [[phab:T414094|more wikis]] later this year. Wikis using the [[mw:Special:MyLanguage/Reference Tooltips|Reference Tooltips]] gadget are encouraged to update their version (typically at [[m:MediaWiki:Gadget-ReferenceTooltips.js|MediaWiki:Gadget-ReferenceTooltips.js]] as shown [https://en.wikipedia.org/w/index.php?diff=1344408362 here]) to ensure compatibility. Other reference-related gadgets may also be affected. [https://phabricator.wikimedia.org/T416304] * All Wikinews editions will be closed and switched to read-only mode on 4 May 2026. Content will remain accessible, but no new edits or articles can be added. This closure was approved by the Board of Trustees of the Wikimedia Foundation following extended discussions. [[m:Wikimedia Foundation Board noticeboard#Board of Trustees Approves Closure of Wikinews|Read more]]. * The [[:mw:Special:MyLanguage/API:Action API|Action API]] has had several formats for requested output. One of them, <bdi lang="zxx" dir="ltr"><code><nowiki>format=php</nowiki></code></bdi>, is being removed soon. Please ensure your scripts or bots use the [[mw:Special:MyLanguage/API:Data formats#Output|JSON format]]. This removal should affect very few scripts and bots. [https://phabricator.wikimedia.org/T118538] * The [[Special:NamespaceInfo|Special:NamespaceInfo]] page now includes namespace aliases. For example "WP" for the "Project" ("Wikipedia") namespace on the German Wikipedia. [https://phabricator.wikimedia.org/T381455] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.23|MediaWiki]] '''''[[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/2026/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-2026-W15"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:19, 6 April 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30362761 --> == Wikipedia translation of the week: 2026-16 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Very-low-calorie diet]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Green smoothie (8222465502).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> A '''very-low-calorie diet''' (VLCD), also known as semistarvation diet and crash diet, is a type of diet with very or extremely low daily food energy consumption. VLCDs are defined as a diet of 800 kilocalories (3,300 kJ) per day or less. Modern medically supervised VLCDs use total meal replacements, with regulated formulations in Europe and Canada which contain the recommended daily requirements for vitamins, minerals, trace elements, fatty acids, protein and electrolyte balance. <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:56, 13 April 2026 (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=30306870 --> == Tech News: 2026-16 == <section begin="technews-2026-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/2026/16|Translations]] are available. '''Weekly highlight''' * Experienced editors are invited to [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Main_Page test] the [[mw:Special:MyLanguage/Article guidance|Article guidance]] feature, designed to help less-experienced editors create well-structured, policy-compliant Wikipedia articles. Testing instructions are [[mw:Special:MyLanguage/Article guidance/Test feature guide|available]]. Also, after reviewing [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Category:Pages_using_article_guidance the outlines], please provide feedback on the [[mw:Talk:Article guidance|project talk page]]. Based on your input, the feature will be refined and transferred to the pilot Wikipedias to translate and adapt. Check out [[c:File:Article Guidance workflow demo - April 2026.webm|the video]] explaining the feature. '''Updates for editors''' * On most wikis, all autoconfirmed users can now use [[Special:ChangeContentModel|Special:ChangeContentModel]] page to [[mw:Special:MyLanguage/Help:ChangeContentModel|create new pages with custom content models]], such as mass message lists, making custom page formats more accessible. Check [[Special:ListGroupRights|Special:ListGroupRights]] for the status of your wiki. [https://phabricator.wikimedia.org/T248294] * The Growth team has launched an [[mw:Special:MyLanguage/Contributors/Account_Creation_Experiments|account creation experiment]] to evaluate whether adding an account creation button to the mobile web header increases new account registrations and encourages more mobile users to contribute to the wikis. The experiment is currently live on Hindi, Indonesian, Bengali, Thai, and Hebrew Wikipedia, and targets 10% of logged-out mobile web users. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where VisualEditor could get stuck loading on Windows devices with animations turned off, has now been fixed. [https://phabricator.wikimedia.org/T382856] '''Updates for technical contributors''' * Starting later this week, {{int:group-abusefilter}} who have the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature enabled will have [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] as the editor at [[Special:AbuseFilter|Special:AbuseFilter]]. This is part of the broader effort to make the user experience more consistent across all editors. [https://phabricator.wikimedia.org/T399673][https://phabricator.wikimedia.org/T419332] * Tools and bots that access the [[mw:Special:MyLanguage/Notifications/API|Notifications API]] (<bdi lang="zxx" dir="ltr"><code><nowiki>action=query&meta=notifications</nowiki></code></bdi>) will need to update their OAuth or BotPassword grants to also include access to private notifications. [https://phabricator.wikimedia.org/T421991] * Due to a library upgrade, listings on category pages may be displayed out of order starting on Monday, 20th April. A migration script will be run to correct this, and will take hours to days depending on the size of the wiki (up to a week for English Wikipedia). [https://phabricator.wikimedia.org/T422544] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.24|MediaWiki]] '''''[[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/2026/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-2026-W16"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:19, 13 April 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30380527 --> == Wikipedia translation of the week: 2026-17 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Chromodoris willani]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Babosa de mar (Chromodoris willani), Anilao, Filipinas, 2023-08-24, DD 34.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''Chromodoris willani''''', commonly known as Willan's chromodoris, is a species of sea slug, a dorid nudibranch, a shell-less marine gastropod mollusk in the family Chromodorididae. The species is named for the renowned nudibranch taxonomist Dr. Richard C. Willan. <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:34, 20 April 2026 (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=30430366 --> == Tech News: 2026-17 == <section begin="technews-2026-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/2026/17|Translations]] are available. '''Weekly highlight''' * After two years of development, [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]], also known as [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror 6]], is to be promoted out of beta on Tuesday, April 21. It brings better code and wikitext readability, reduction in typing errors, and other [[mw:Special:MyLanguage/Help:Extension:CodeMirror|benefits]] to all users of the standard syntax highlighter. A huge thank you to volunteer [https://phabricator.wikimedia.org/p/Bhsd/ Bhsd] who developed many of the new features, including [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Code folding|code folding]], [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Autocompletion|autocompletion]], and [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|linting]]. [https://phabricator.wikimedia.org/T259059] * A major update to the Wikipedia app for iOS is now rolling out, redesigning the interface to align with Apple's latest "Liquid Glass" visual design. [https://apps.apple.com/us/app/wikipedia/id324715238 Download the latest version] and explore the update. '''Updates for editors''' * [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|Reading lists]] is a feature which allows readers to save articles to a list for reading later. This feature is now in beta on Arabic, French, Indonesian, Vietnamese, and Chinese Wikipedias and by default for all new accounts on all Wikipedias. * An experiment which explores extending [[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews|Page Previews to mobile web]] will be launched in the week of April 20 on Arabic, English, French, Italian, Polish, and Vietnamese Wikipedias. Page Previews are pop-ups that display a thumbnail, lead paragraph, and a link to open the full article of a blue link, thereby improving content discovery. The feature is already available on desktop and in the apps. [[m:Special:MyLanguage/List of experiments in Product and Technology#Template|Read more about this experiment and others]]. * On several wikis, logged-in editors who haven't [[mw:Special:MyLanguage/Help:Email confirmation|confirmed their email addresses]] can now see a banner encouraging them to do so. Having the email address confirmed allows a user to restore access to the account if they lose it. [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security#Encouraging users to confirm their email addresses|Learn more]]. [https://phabricator.wikimedia.org/T421366] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:15}} community-submitted {{PLURAL:15|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where editing very large wiki pages in the 2017 wikitext editor caused slow loading, preview and scrolling lag, and performance issues when selecting, cutting, or pasting content, has now been fixed. [https://phabricator.wikimedia.org/T184857] '''Updates for technical contributors''' * As part of the promotion of [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror]] from a beta feature, all users will use [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] for syntax highlighting when editing JavaScript, CSS, JSON, Vue and Lua content pages. [https://phabricator.wikimedia.org/T419332] * The <code>mirrors.wikimedia.org</code> service for Debian and Ubuntu users will sunset and stop working on May 15. The resources for the service will be replaced with new and better options. Some users may need to switch to a different server which should take about a minute. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/LJYRIS4WB66HIRCAO4GIDTXCMDVZRBMA/ You can read more]. [https://phabricator.wikimedia.org/T416707] * The <bdi lang="zxx" dir="ltr"><code><nowiki>image</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>oldimage</nowiki></code></bdi> table will be removed from [[wikitech:Help:Wiki Replicas|wikireplicas]]. If your tools or queries access <bdi lang="zxx" dir="ltr"><code><nowiki>image</nowiki></code></bdi> or <bdi lang="zxx" dir="ltr"><code><nowiki>oldimage</nowiki></code></bdi> directly, please update them to use the <bdi lang="zxx" dir="ltr"><code><nowiki>file</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>filerevision</nowiki></code></bdi> table before 28 May. [https://phabricator.wikimedia.org/T28741] * Following the recent implementation of global API rate limits on unidentified traffic, the Wikimedia Foundation will continue efforts to ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]] by applying global limits to identified API traffic beginning the last week of April. These limits are intentionally set as high as possible to minimise impact on the community. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]] and [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits/FAQ|Frequently Asked Questions]]. * The [[mw:Special:MyLanguage/Attribution API|Attribution API]] is now available as a [[mw:Special:MyLanguage/Wikimedia APIs/Stability policy|beta]]. The API fetches information for crediting Wikimedia articles and media files wherever they are used. Reference documentation is available through the REST Sandbox special page available on all Wikimedia wikis (such as the [https://en.wikipedia.org/w/index.php?api=attribution.v0-beta&title=Special%3ARestSandbox REST sandbox on English Wikipedia]). Share your feedback on the [[mw:Talk:Attribution API|project talk page]]. * 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/2026/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-2026-W17"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:01, 20 April 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30432763 --> == Wikipedia translation of the week: 2026-18 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Platypus venom]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Platypus spur.JPG|300px|center]] <div style="text-align:left; padding: .4em;"> The platypus is one of the few living mammals to produce venom. The venom is made in venom glands that are connected to hollow spurs on their hind legs; it is primarily made during the mating season.[1] While the venom's effects are described as extremely painful, it is not lethal to humans. Many archaic mammal groups possess similar tarsal spurs, so it is thought that, rather than having developed this characteristic uniquely, the platypus simply inherited this characteristic from its ancestors. Rather than being a unique outlier, the platypus is the last demonstration of what was once a common mammalian characteristic, and it can be used as a model for non-therian mammals and their venom delivery and properties. <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:04, 27 April 2026 (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=30449041 --> == Tech News: 2026-18 == <section begin="technews-2026-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/2026/18|Translations]] are available. '''Updates for editors''' * There is a change in how new users are autoconfirmed that will improve anti-vandalism protection. Currently, users who have had an account for a few days and made a few edits are automatically added to the [[{{int:grouppage-autoconfirmed/{{CONTENTLANGUAGE}}}}|{{int:group-autoconfirmed}}]] group. This configuration tends to be exploited by some vandals, who create accounts and start to use them only after some time. To mitigate this, the configuration will be updated next week so that – for the purpose of becoming autoconfirmed – the account age will be counted from their first edit, instead of registration date. The numeric value of the age threshold will remain the same. This change will be deployed only to wikis which require at least one edit as part of the autoconfirmation conditions. [https://phabricator.wikimedia.org/T418484] * All Wikipedia users with new accounts and those who activated the "automatically enable most beta features" option in their preference can now use the [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|reading lists]] beta feature to save articles for later reading. This helps organize reading interests in one place for convenient access. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where infobox images have huge padding in Firefox, has been fixed. [https://phabricator.wikimedia.org/T423676] '''Updates for technical contributors''' * As a reminder, the global API rate limits will be applied this week to identified API traffic. This is to help ensure [[mw:MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]]. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, including the actual rate limits, see [[mw:Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]] and [[mw:Wikimedia APIs/Rate limits/FAQ|Frequently Asked Questions]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.26|MediaWiki]] '''''[[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/2026/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-2026-W18"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:06, 27 April 2026 (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=30458046 --> == Wikipedia translation of the week: 2026-19 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Kuwait National Assembly Building]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Kuwait City Arabian Gulf Street 10.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Kuwait National Assembly Building''' is the building that housed the National Assembly of Kuwait. Designed by Danish architect Jørn Utzon in 1972, it was completed in 1982 under the direction of his son Jan. The structural design was by Max Walt. The building was seriously damaged in February 1991 when retreating Iraqi troops set it on fire but has since been restored. <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]]) 12:16, 4 May 2026 (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=30464799 --> == Tech News: 2026-19 == <section begin="technews-2026-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/2026/19|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Article guidance|Article guidance]] team invites experienced editors of [[mw:Special:MyLanguage/Article guidance/Pilot wikis and collaborators|pilot Wikipedias]]—Arabic, Bangla, Japanese, Portuguese, Persian, Turkish, Simple English, Spanish, and French—to help translate and adapt [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Category:Pages_using_article_guidance sample outlines]. These outlines will guide editors in creating clear, well-structured, and policy-compliant articles when using [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Special:NewArticle the feature] once it is launched in May 2026. [[mw:Special:MyLanguage/Article guidance#Adapting a sample outline in a Wikipedia|Simple instructions]] on how to translate and adapt the outlines are available. '''Updates for editors''' * The [[:m:Special:MyLanguage/Product and Technology Advisory Council|Product and Technology Advisory Council]] has published [[:m:Special:MyLanguage/Product and Technology Advisory Council/May 2026 draft PTAC recommendation for feedback|draft recommendations]] on a model that affiliates can follow when contributing to the technical space. Community members are invited to provide feedback on the recommendation until May 8th [[:m:Talk:Product and Technology Advisory Council/May 2026 draft PTAC recommendation for feedback|on the talk page]]. * The number of available thumbnail size preferences in MediaWiki is being reduced to three standardized options—Small (180px), Regular (250px), and Large (400px), as part of ongoing efforts to improve performance and reduce strain on thumbnail services. As a result, existing preferences will be mapped to the nearest new size (for example, smaller selections like 120px or 150px will render at 180px, while larger ones like 300px or 360px will render at 400px). The preferences interface will soon be updated to reflect these changes, and users who wish to opt out or provide feedback can do so. [https://phabricator.wikimedia.org/T424909] * From now on, even when a permission expires automatically, users will receive an Echo notification similar to the standard notification for permission changes. There is a difference between this and [[m:Special:MyLanguage/Global reminder bot|Global reminder bot]] in that the latter reminds users a week ''before'' the rights are due to expire, so that they can renew the rights. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] 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, the problem where the ULS language selector in [[m:Special:Translate|Special:Translate]] would scroll vertically when it shouldn't, has been resolved. Previously, when users opened the "Translate to English" dropdown and typed certain inputs, the dialog would scroll vertically by a few pixels even when there was enough space to display all results. The dropdown no longer shifts unnecessarily when filtering languages. [https://phabricator.wikimedia.org/T358864] * The [[m:Special:GlobalWatchlist|Global Watchlist]], which lets you view your watchlists from multiple wikis on a single page, continues to improve. For example, watchlists for Wikibase sites such as [[:d:|Wikidata]] now support [[mw:Special:MyLanguage/Extension:EntitySchema|EntitySchema]] elements for better tracking. The Live Updates mode now refreshes the special page every 60 seconds to comply with the updated [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|global API rate limits]] for improved real-time responsiveness. Additionally, a directionality bug that displayed links as "changes 3" instead of "3 changes" in mixed-direction lists has been fixed. [https://phabricator.wikimedia.org/T415450][https://phabricator.wikimedia.org/T424422][https://phabricator.wikimedia.org/T418091] '''Updates for technical contributors''' * The second phase of [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|global API rate limits]] has been rolled out to reduce the [[diffblog:2026/03/26/quo-vadis-crawlers-progress-and-whats-next-on-safeguarding-our-infrastructure/|impact of AI crawlers]] and ensure fair, sustainable access to Wikimedia resources, prioritising human and mission-aligned traffic. [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits#Limits|Limits]] have been shifted from per-hour to per-minute, producing smoother traffic patterns and more predictable API load. Community users are not expected to be affected, and no action is required. Early indications show some User-Agent-based requestors are adjusting behaviour, and around 64% of automated API traffic has been identified. Monitoring continues, and Wikimedia Enterprise remains available for commercial support. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.27|MediaWiki]] '''''[[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/2026/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-2026-W19"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:44, 4 May 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30498077 --> == Wikipedia translation of the week: 2026-20 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Macau National Security Law]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Lei relative à defesa da segurança do Estado projecto.JPG|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Macau National Security Law''' is a law in Macau which prohibits and punishes acts of treason, secession, and subversion against the Central government, as well as preparative acts leading to any of the three acts. Taken into effect on 3 March 2009, the purpose of the law is to fulfil Article 23 of the Macau Basic Law, the de facto constitution of the Macau Special Administration 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]]) 02:53, 11 May 2026 (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=30513945 --> == Tech News: 2026-20 == <section begin="technews-2026-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/2026/20|Translations]] are available. '''Weekly highlight''' * Community Tech has published [[m:Special:MyLanguage/Community Wishlist/How to write a good wish|new guidance]] explaining how wishes on Community Wishlist are triaged and prioritized. The documentation is intended to help contributors write stronger proposals by clarifying the factors that influence prioritization decisions. Beyond vote counts, the guidance highlights considerations such as potential impact on the community when determining which wishes move forward. '''Updates for editors''' * The Reader Growth team is launching an experiment to test a new [[mw:Special:MyLanguage/Readers/Reader_Growth/Share_Card|Share Card feature]] that allows readers to create visually engaging cards from Wikipedia articles or selected article sections and share them online, with each card linking back to the original article to help expand readership and article discovery. The mobile-only A/B test will be available to a portion of readers on Arabic, Chinese, French, Vietnamese, and English Wikipedia to better understand reading and sharing habits, and is scheduled to begin the week of May 18 and run for four weeks. * The Android and iOS Wikipedia apps recently released the [[mw:Special:MyLanguage/Wikimedia_Apps/Team/25th_Birthday_Reading_Challenge|25-day reading challenge]] into Beta, as part of efforts to drive reader engagement by encouraging users to complete reading milestones. To track their reading streak during the challenge, App users can add a widget featuring Baby Globe to their home screen. The challenge officially begins May 11. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:17}} community-submitted {{PLURAL:17|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the global preference for enabling syntax highlighting in wikitext could unexpectedly disable itself after being turned on, has now been fixed. [https://phabricator.wikimedia.org/T425286] '''Updates for technical contributors''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The ResourceLoader module <bdi lang="zxx" dir="ltr"><code><nowiki>mediawiki.ui.input</nowiki></code></bdi>, deprecated since [[m:Special:MyLanguage/Tech/News/2023/39|September 2023]], will be removed this week. There is a [[mw:Special:MyLanguage/Codex/Migrating_from_MediaWiki_UI|guide for migrating from MediaWiki UI to Codex]] for any tools that use it. [https://phabricator.wikimedia.org/T420125] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.2|MediaWiki]] '''''[[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/2026/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-2026-W20"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:21, 11 May 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30524429 --> == Tech News: 2026-21 == <section begin="technews-2026-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/2026/21|Translations]] are available. '''Weekly highlight''' * The Abstract Wikipedia team has identified five potential pilot wikis to assess their interest in adopting abstract articles on their wikis. The pilots are Malayalam, Bengali, Dagbani, Arabic, and Indonesian Wikipedia. The feedback period will be open until May 22. If your community is interested in becoming a pilot, [[m:Talk:Abstract Wikipedia|let us know on Meta]]. '''Updates for editors''' * An experiment to show [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Reading Lists]] to logged-out readers on mobile web will launch on May 18 across German, Spanish, Italian, Portuguese, Polish, Dutch, Turkish, and Urdu Wikipedias, and will run for one month. The effort supports broader goals of helping readers save and organize articles for later reading, while encouraging habits that could lead to future Wikipedia contributions. * To support a bookmark button in the Reading List beta feature, the "Tools > Action" menu has been updated to display icons, including the watch star indicator that helps editors identify temporarily watched articles. The icons now also match those used on mobile, improving consistency across platforms. The change is currently limited to the actions menu and mainly affects editors with privileged user rights. [https://phabricator.wikimedia.org/T426008] * [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Suggestion Mode]] was released as an [[w:en:A/B test|A/B test]] for newcomer editors on the mobile website at [[phab:T421189|~15 Wikipedias]]. The experiment will measure the impact that Suggestion Mode has on the proportion of newcomer mobile web edit sessions that result in constructive (un-reverted) article edits. The experiment will also evaluate the feature's impact on editor retention, and monitor changes in revert and block rates. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue in the Wikipedia Android app where images could sometimes fail to load after opening a recommended reading list notification, has now been fixed. [https://phabricator.wikimedia.org/T418231] '''Updates for technical contributors''' * The [[mw:Special:MyLanguage/Wikidata Platform|Wikidata Platform team]] has published its [[d:Special:MyLanguage/Wikidata:SPARQL query service/WDQS backend update/Backend Replacement|backend replacement recommendation]] and accompanying [[wikitech:Wikidata Query Service/WDQS Architecture re-design|technical architecture]] for the migration of the Wikidata Query Service (WDQS) away from Blazegraph. Feedback is invited until May 25th 2026, especially on potential gaps and impacts on advanced use cases. Wikidata community members and WDQS users are also encouraged to help identify high-impact tools and workflows that may need attention on [[d:Wikidata:SPARQL query service/WDQS backend update/High-Impact Use Cases|this page]]. Feedback can be shared on the [[d:Wikidata talk:SPARQL query service/WDQS backend update|Migration talk page]] or during the [[d:Special:MyLanguage/Wikidata:Blazegraph Migration Office Hours|next office hour]]. See the [[d:Special:MyLanguage/Wikidata:Wikidata Platform team/Newsletter|WDP team newsletter]] for more details. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.3|MediaWiki]] '''In depth''' * On English, French, Japanese, and a few other Wikipedias, there was a [[diffblog:2025/09/02/better-detecting-bots-and-replacing-our-captcha/|trial of hCaptcha]], a third-party bot detection service. The trial showed that hCaptcha effectively detects and deters some bad-faith automated activity, on its own and by giving [[w:en:Wikipedia:Village pump (technical)/Archive 225#Introducing SuggestedInvestigations|checkusers and stewards]] signals to look into. Because the results were positive, hCaptcha will be rolled out across all wikis over the next few weeks. [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/hCaptcha|See the hCaptcha project page]] for technical information about the implementation and privacy protections. [[diffblog:2026/05/04/better-detecting-bots-and-replacing-our-captcha-part-2/|Learn more]]. * The latest Community Tech update is now available, with progress across several Community Wishlist initiatives, including Reading Lists expansion from the mobile app to the website, new language support for "Who Wrote That" and the Personal Dashboard, improvements to 3D rendering and Charts, and upcoming work on talk page sorting, audio playback, and editing workflows. The update also shares current priorities, wishlist status trends, and opportunities for community feedback on future focus areas and the Wikimedia Foundation’s 2026–2027 Annual Plan. [[m:Special:MyLanguage/Community Wishlist/Updates#May 13, 2026: Latest updates from the Community Tech team|Read the full newsletter for details]]. '''''[[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/2026/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-2026-W21"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:22, 18 May 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30539262 --> == Wikipedia translation of the week: 2026-21 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Stela of the cactus bearer]]'''<br /> <small>''([[:es:Estela del portador del cactus]])&#32;([[:ca:Estela del portador del cactus]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Estela Wachumero en Chavin.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''stela of the cactus bearer''' is a monolith or stele of a single piece of granite, belonging to the Chavín culture of ancient Peru, which remains in its original location on the northwest side of the circular plaza at the archaeological site known as the ceremonial center of Chavín de Huántar in the Ancash region of Peru. It was discovered during the 1972 excavation season by Peruvian archaeologist Luis Guillermo Lumbreras. <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]]) 04:05, 21 May 2026 (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=30529698 --> == Wikipedia translation of the week: 2026-22 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Griffith Hughes]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The Reverend '''Griffith Hughes''' (1707 – c.1758), FRS, was a Welsh naturalist, clergyman, and author. Hughes wrote The Natural History of Barbados, which included the first description of the grapefruit (also known as "The Forbidden Fruit"). His work was praised by Linnaeus, but it has also been considered a "scientific fraud". <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:32, 25 May 2026 (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=30529698 --> == Tech News: 2026-22 == <section begin="technews-2026-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/2026/22|Translations]] are available. '''Weekly highlight''' * Following a [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#LOWM|successful account creation experiment]], an improved logged-out edit warning message will be deployed to all Wikimedia wikis in the first week of June. The change will only affect logged-out users on mobile web who open an editing session. The updated experience is designed to encourage account creation more clearly, while still allowing users to edit with temporary accounts. Results from the experiment showed a significant increase in account creation, with a 27% relative lift among users shown the updated message. As expected, as more people funnel into account creation, temporary accounts decreased by a relative 16%. The experiment did not show any significant changes in constructive edit rates or other monitored contributor metrics. [https://phabricator.wikimedia.org/T424595] '''Updates for editors''' * For security reasons, members of certain user groups are [[m:Special:MyLanguage/Mandatory two-factor authentication for users with some extended rights|required to have two-factor authentication]] (2FA) enabled. Members of these groups will be unable to disable the last 2FA method on their account, and it will be impossible to add users without 2FA to these groups. Users will still be able to add new authentication methods or remove them, as long as at least one method is continuously enabled. In the next few weeks, users without 2FA will be removed from these groups. Notably, this applies to bureaucrats. See the linked tasks for deployment schedules. [https://phabricator.wikimedia.org/T423119][https://phabricator.wikimedia.org/T423120] * [[m:Special:MyLanguage/WMDE Technical Wishes|WMDE Technical Wishes]] will run an [[w:en:A/B testing|A/B test]] on [[:phab:T415904|10 wikis]], testing [[m:WMDE Technical Wishes/References/Reference Previews|potential improvements for Reference Previews]]. The experiment will run for ~2 weeks at the end of May / beginning of June and will affect 10% of desktop readers on the participating wikis. * After two successful experiments, the Reader Growth team is rolling out an [[mw:Special:MyLanguage/Readers/Reader Growth/Image Browsing|Image Browsing]] beta feature for all Wikipedias on mobile on May 25. This means that anyone who has all beta features on by default will start to see this feature, and others can check the box to turn it on in their preferences. The beta feature will include a carousel of all an article's images at the top of the article, with controls for editors to [[mw:Readers/Reader_Growth/Image_Browsing#Phase_2.1_beta_feature|exclude images from the article's carousel or to exclude an article from the feature entirely]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, three dimensional STL files were being rendered incorrectly by the media viewer 3D extension which is now fixed. [https://phabricator.wikimedia.org/T416723] '''Updates for technical contributors''' * The legacy CSS classes <bdi lang="zxx" dir="ltr"><code><nowiki>tleft</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>tright</nowiki></code></bdi> have been replaced with <bdi lang="zxx" dir="ltr"><code><nowiki>floatleft</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>floatright</nowiki></code></bdi> as the former do not work consistently across all MediaWiki platforms, notably mobile web and mobile apps. Projects relying on these classes are encouraged to review related usage and plan for migration. Please note that <bdi lang="zxx" dir="ltr"><code><nowiki>floatleft</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>floatright</nowiki></code></bdi> may also be deprecated in future, although there are currently no plans to do so. [[phab:T426452|Read more]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.4|MediaWiki]] '''''[[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/2026/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-2026-W22"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:52, 25 May 2026 (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=30584502 --> == Wikipedia translation of the week: 2026-23 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Umuganda]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Umuganda"Rwandan community work".jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Umuganda''' is a national holiday in Rwanda taking place on the last Saturday of every month for mandatory nationwide community service from 08:00 to 11:00. Participation in Umuganda is required by law; failure to participate can result in a fine. The program was most recently re-established under President Paul Kagame in 2009, having resulted in a notable improvement in the cleanliness of Rwanda. Also, there are other informal Umuganda day activities that occur in the middle of the month. These activities are initiated by either society or the government. <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:55, 1 June 2026 (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=30529698 --> == Tech News: 2026-23 == <section begin="technews-2026-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/2026/23|Translations]] are available. '''Updates for editors''' * The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] is conducting an experiment to show the [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|reading lists]] feature, which is still in development, to logged-out mobile readers to test whether it encourages account creation at a higher rate compared to the watchstar button. The [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists#Experiment timeline|experiment]] was launched on May 18th on German, Spanish, Italian, Portuguese, Polish, Dutch, Turkish, and Urdu wikis, and it will run for a month. * The Wikimedia Apps team released [[mw:Special:MyLanguage/Wikimedia Apps/Team/Explore Feed Refresh/Phase 1|Phase 1]] of the redesigned Home Feed to the Android Beta app. The new Home Feed includes a refreshed "Community" tab and a personalized "For You" tab featuring daily updated reading recommendations. The redesign is part of a broader effort to improve content discovery and create more engaging learning experiences in the Wikipedia apps. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:18}} community-submitted {{PLURAL:18|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where images could fail to load for some suggested edits on [[w:Special:Homepage|Special:Homepage]], leaving the thumbnail stuck in a loading state, has now been fixed. [https://phabricator.wikimedia.org/T424048] '''Updates for technical contributors''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.5|MediaWiki]] '''''[[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/2026/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-2026-W23"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:09, 1 June 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30613639 --> == Wikipedia translation of the week: 2026-24 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Juryeonggu]]'''<br /> <small>''([[:kr:주령구]])&#32;([[:ja:酒令具]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:주령구의 발굴 당시 사진.png|300px|center]] <div style="text-align:left; padding: .4em;"> Il '''Juryeonggu''' (주령구?, 酒令具?, JuryeongguLR, ChuryŏngguMR) è un dado a 14 facce, risalente al periodo del Silla unificato (668-935 d.C.), ritrovato nel 1975 dopo alcuni scavi occorsi presso il Donggung e lo stagno Wolji di Gyeongju, in Corea del Sud. Le facce del dado mostravano inscrizioni recanti varie penalità o sfide, legate ad un gioco di bevute, dimostrando l'importanza dell'alcool e la raffinatezza con cui la sua assunzione veniva celebrata. L'artefatto originale è andato perduto, incendiato in un maldestro tentativo di preservazione: oggi ne esistono delle repliche, disponibili anche commercialmente. <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:20, 8 June 2026 (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=30622359 --> == Tech News: 2026-24 == <section begin="technews-2026-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/2026/24|Translations]] are available. '''Weekly highlight''' * Wikimedia Enterprise has increased the free usage limits for its API offerings. The monthly request limit for the On-demand API has increased from 5,000 to 50,000 requests, while the Snapshot API limit has increased from 15 to 30 requests per month. In addition, Structured Contents snapshots are now available for free accounts. These changes expand access to Wikimedia Enterprise data for developers, researchers, and organizations using Wikimedia content. [https://enterprise.wikimedia.com/blog/enhanced-free-api] '''Updates for editors''' * The [[mw:Special:MyLanguage/Wikimedia_Apps/Team/Explore Feed Refresh/Phase 1|refreshed Explore Feed]], now called the Home Feed, is rolling out to 50% of users of the Wikipedia Android app. The Home Feed helps readers discover relevant content through two new tabs: ''Community'' and ''For You''. The Community tab provides a scrollable feed of curated content and updates from the broader Wikimedia community and movement, while the ''For You'' tab offers a full-screen, swipeable experience that shows content tailored to a user's interests. The redesign is part of a broader effort to improve discovery and enhance the learning experience in the Wikipedia app. * The [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/"Which came first?" Game|Which came first?]] daily trivia game is now available in the beta version of the Wikipedia iOS app in English, German, French, Portuguese, Russian, Spanish, Arabic, Chinese, and Turkish. The game uses historical events from Wikipedia's "On This Day" content and challenges readers to guess which of two events happened first. The game was previously released on Android. Communities interested in making the game available in their languages can [[mw:Special:MyLanguage/Wikimedia_Apps/Team/Games#Game availability by language|read the instructions and requirements]]. * [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Sub-referencing]], a new MediaWiki feature that allows editors to reuse references with different details, will begin rolling out to Wikimedia wikis following a successful pilot phase. Deployment will start on 8 June for most [[wikitech:Deployments/Train#Wednesday|Group 1 wikis]] and French Wikipedia, with additional Wikipedia language editions receiving the feature over the coming months. Communities are encouraged to prepare by checking for [https://translatewiki.net/w/i.php?title=Special%3ATranslate&group=ext-cite&language=en&action_source=search&filter=%21translated&optional=1&action=translate untranslated Cite extension messages] in their language and reviewing any use of [[mw:Special:MyLanguage/Reference Tooltips|Reference Tooltips]], which may require [[:phab:T416304#11668731|updates]] to support the new functionality. Wikis using [[mw:Special:MyLanguage/Help:Reference Previews|Reference Previews]] do not need to take any action. Communities may also wish to create the ''cite-tracking-category-ref-details'' [[Special:TrackingCategories|tracking category]] as a hidden category using <code><nowiki>__HIDDENCAT__</nowiki></code> (or a dedicated template), and connect it to the corresponding Wikidata item [[d:Q129764848]]. [https://phabricator.wikimedia.org/T425662] * The [[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews#Experimentation|Page Previews experiment]] on mobile web has concluded. The team decided not to roll out the feature after the results showed no statistically significant impact on reader retention, as the primary success metric was retention improvement. Page Previews, which are already available on desktop and in the apps, display a thumbnail, lead paragraph, and link to the full article when readers tap a blue link. The experiment tested this experience on mobile web across six Wikipedias. * The [[mw:Special:MyLanguage/Codex/Design/Icons|user interface icon library]] will be [[phab:T399175|updated later this week or next week]]. Most of the ~300 icons have been slightly refined and ~30 new icons have been added. These changes improve the icons to make them more consistent and comprehensible, and provide more visual balance when they are used in groups. * The [[mw:Special:MyLanguage/Universal Language Selector|Universal Language Selector]] (ULS) interface in MediaWiki, which helps users select content in other languages, has been updated. The new version improves speed and accessibility, and users of Wikimedia projects can now pin languages for quicker language switching. The deployment to Wikimedia sites will happen gradually in the coming weeks. You can test it now as a beta feature by selecting [[Special:Preferences#mw-prefsection-betafeatures|beta features]] in your profile preferences and share your feedback on [[mw:Special:MyLanguage/Universal Language Selector/New ULS|the project page]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the Pageviews Analysis dashboard on pageviews.wmcloud.org stopped updating graph data in May 2026, affecting all users, has been fixed. [https://phabricator.wikimedia.org/T427171] '''Updates for technical contributors''' * The function signature for <bdi lang="zxx" dir="ltr"><code><nowiki>mw.util.addPortletLink()</nowiki></code></bdi> has been simplified. Developers can now pass a configuration object instead of a list of positional parameters when creating portlet links. The previous function signature remains supported for backwards compatibility. For example, instead of: <bdi lang="zxx" dir="ltr"><code><nowiki>mw.util.addPortletLink('p-cactions', '#', 'Stub', 'ca-stubtag', 'Add a stub tag to this page');</nowiki></code></bdi> use <bdi lang="zxx" dir="ltr"><code><nowiki>mw.util.addPortletLink('p-cactions', { href: '#', text: 'Stub', id: 'ca-stubtag', tooltip: 'Add a stub tag to this page' });</nowiki></code></bdi>. Script maintainers are encouraged to review existing uses of <bdi lang="zxx" dir="ltr"><code><nowiki>addPortletLink()</nowiki></code></bdi> and update them where appropriate. This change will be available on all wikis from 11 June. Thanks to community volunteer Gerges for contributing this improvement. [https://phabricator.wikimedia.org/T427945] * '''Community Wishlist discussion''': Product & Technology [[m:Special:MyLanguage/Community Wishlist/Updates#May 20, 2026: Community Tech becomes a program|introduced changes]] meant to increase the number and complexity of wishes fulfilled, including the disbanding of the Community Tech team. They are [[m:Special:MyLanguage/Community Wishlist/Updates|engaging in discussions]] about a [[m:Talk:Community Wishlist#Proposed direction for Wishlist|proposed direction for the wishlist]] from community members. Includes ways to structure annual voting, better tracking of wishes, removing focus areas, and [[m:Special:MyLanguage/Community Wishlist/Updates|staffing updates]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.6|MediaWiki]] '''''[[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/2026/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-2026-W24"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:30, 8 June 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30650573 --> == Wikipedia translation of the week: 2026-25 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Cape Fiolent]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Beach of Cape Fiolent, Crimea.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Cape Fiolent''' (Crimean Tatar: Felenk Burun; Ukrainian: Фіолент; Russian: Фиолент; Latin: Parthenium), also historically called Cape Fiolente, is a cape and nature reserve (zakaznik) located in southern Sevastopol, a city within Crimea that is internationally recognised as part of Ukraine but currently occupied by Russia since 2014. <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:24, 15 June 2026 (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=30662919 --> == Tech News: 2026-25 == <section begin="technews-2026-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/2026/25|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Readers/Reader Growth|Reader Growth team]] has launched an [[mw:Special:MyLanguage/Readers/Reader Growth/Image Browsing|Image Browsing]] beta feature on the mobile web version of all Wikipedias. The feature shows an image carousel at the top of articles with 3 or more images. Editors can configure this feature with the following controls: to hide a specific image from a page, either use <code>class=notpageimage</code> excluding it from thumbnail previews, or <code>class=noviewer</code> excluding it from MediaViewer. The carousel can also be disabled from a page entirely, with the magic word <code><nowiki>__NOMEDIAVIEWERCAROUSEL__</nowiki></code>. To submit feedback or flag bugs, please visit the [[mw:Talk:Readers/Reader Growth/Image Browsing|project page]]. * [[mw:Special:MyLanguage/Help:Tables#class="wikitable"|Wikitables]] can now be [[mw:Special:MyLanguage/Help:Sortable tables#Forcing the initial sort direction|sorted in descending order]] on the first click by adding <code dir=ltr>data-sort-order="desc"</code> to the header cell. Previously, by default, clicking a column header for the first time sorts it in ascending order. This addition to a Wikitable gives it more control and flexibility, while the default behavior for subsequent clicks remains unchanged. [https://phabricator.wikimedia.org/T398416] '''Updates for editors''' * The [[mw:Special:MyLanguage/Article guidance|Article guidance]] feature is currently being tested with some editors creating new articles on the Simple English, French, and Turkish Wikipedias. The experiment will soon begin on the Arabic and Bangla Wikipedias as well. [[w:simple:Special:NewArticle|This feature]] gives editors community-curated guidance to help them create articles that follow community standards. Experienced editors can continue creating or adapting outlines for specific article types that are commonly created by less experienced contributors. The outlines guide less experienced editors in creating high-quality articles. A quick guide to markups used in outlines can be found on [[mw:Special:MyLanguage/Article guidance/Test feature guide#Markups in outlines|this page]]. [[w:simple:Wikipedia:Article Guidance|Example outlines]] that can be adapted and instructions for how to adapt them are on [[mw:Special:MyLanguage/Article guidance#Adapting a sample outline in a Wikipedia|this section]] of the project page. * Wikis that wish to replace the "indefinitely" button in Special:Block for temporary accounts (for example, wikis that block temporary users only until account expiration) will be able to do so by creating [[MediaWiki:ipb-indefinite-expiry-temporary-account]] with the block duration they want. [https://phabricator.wikimedia.org/T427125] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:41}} community-submitted {{PLURAL:41|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * By the end of June, a valid user-agent string will be required for automated dumps downloads from the dumps.wikimedia.org website. Automated requests that provide a generic or empty user-agent will be blocked. This [[phab:T400119|extends enforcement]] of the long standing [[foundation:Special:MyLanguage/Policy:Wikimedia Foundation User-Agent Policy|user-agent policy]]. Access to dumps through Wikimedia Cloud Services will not change. * The roll out of global [[mw:Wikimedia APIs/Rate limits|API rate limits]] is now complete, with limits enforced across all APIs and at the documented levels for all groups. Bots running in Toolforge/WMCS or with the bot user right on any wiki remain exempt. All bots should continue to follow the documented best practices to avoid being rate limited. * The [https://api.wikimedia.org/wiki/Main_Page API Portal wiki] will be read only starting this week (June 15-18). The following week (June 22-25), all API Portal wiki URLs will redirect to [[mw:Wikimedia APIs|Wikimedia APIs on mediawiki.org]]. Learn more on the [[wikitech:API Portal/Deprecation|project page]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.7|MediaWiki]] '''Meetings and events''' * On June 17th at 6pm UTC the WMF will be holding Discord call focused on a code review. We've heard through the [[mw:Special:MyLanguage/Developer Satisfaction Survey/2026|Developer Satisfaction Survey]] that volunteers are struggling with code review and we'd like to discuss these experiences with the goal of surfacing workable solutions. You can join the call [https://discord.gg/wikipedia?event=1514727511102062664 via the Wikimedia Community Discord server]. * The [[m:Special:MyLanguage/Conferencia Wikimedia de América Latina 2026|Latin American Wikimedia Conference]] will host a regional hackathon that will bring together the Wikimedia movement’s technical community including developers, system administrators, data scientists, and users with extended rights. Interested technical contributors can [https://docs.google.com/forms/d/e/1FAIpQLSf4osJzTHBJjQbYJk7TMVEJjTEQv7IgtsUDfP-o-qTgeRQQxw/viewform apply for a scholarship] to participate until June 21 at midnight (Bolivia time, UTC-4). * Sign up for Wikimania Team Challenges to join this special event. The Team challenges will take place online and in person from July 21 to 22, before Wikimania conference. Everyone is welcome, regardless of skills or Wikimania registration. Teams will work on 10 important challenges supporting the Wikimedia community. For details, visit [[wmania:Special:MyLanguage/2026:Team challenges|the Team Challenges page]] and [https://wikimedia.eventyay.com/wm/teamchallenges/ register there]. Registration closes on June 20th at 11pm 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/2026/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-2026-W25"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:49, 15 June 2026 (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=30689604 --> == Wikipedia translation of the week: 2026-26 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Renovating Action Party]]'''<br /> <small>''([[:es:Partido de Acción Renovadora]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Flag of the Renovating Action Party.svg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Renovating Action Party''' was a left-wing Salvadoran political party that existed from 1944 to 1967. The party had three distinct phases of its existence under the leaderships of Colonel José Asencio Menéndez (1944–1950), the old line (1950–1964), and the new line (1964–1967). <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:52, 22 June 2026 (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=30717601 --> == Tech News: 2026-26 == <section begin="technews-2026-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/2026/26|Translations]] are available. '''Weekly highlight''' * [[mw:Special:MyLanguage/Growth/Feature summary|Growth features]] are [[phab:T418115|now available at Wikidata]]. This update enables access to Mentorship ([[mw:Special:MyLanguage/Help:Growth/Mentorship|if configured]]), Impact module, the Help Panel, and a simplified Newcomer Homepage (without Suggested Edits). Wikidata administrators are still configuring the features through Community Configuration. '''Updates for editors''' * The special page [[{{#special:RangeCalculator}}]] has been created. It allows users to find an IP range without needing to rely on external tools. Until now, this tool was only available to CheckUsers. [https://phabricator.wikimedia.org/T268429] * [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Sub-referencing]] is a new MediaWiki feature that allows editors to reuse references with different details. It will be deployed to most small and medium-sized Wikipedia language versions on June 23. The [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#deployment|FAQ]] lists possible actions to take on your wiki to support the deployment. Check the [[:phab:T414094|rollout plan]] for the next deployment steps. [https://phabricator.wikimedia.org/T428902] * Starting next week, users will get a notification when they are blocked or unblocked from editing, or if this block changes. [https://phabricator.wikimedia.org/T100974] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Starting next week, abuse filters that are set to "require CAPTCHA verification" will begin to also affect users with the <code>skipcaptcha</code> right, which includes most autoconfirmed users. Bots are exempted. This change only affects edits that trigger an abuse filter. The <code>skipcaptcha</code> right will continue to exempt users from having to solve CAPTCHAs in the ordinary course of using the wikis. [https://phabricator.wikimedia.org/T402595] * Reference documentation for the [[wikitech:Machine_Learning/LiftWing/API|Lift Wing API]] has moved from the API Portal to the interactive [https://wikitech.wikimedia.org/w/index.php?api=lift-wing&title=Special%3ARestSandbox REST Sandbox]. * The API Portal wiki is now closed. For API documentation, see [[mw:Special:MyLanguage/Wikimedia_APIs|Wikimedia APIs on mediawiki.org]]. All API Portal wiki URLs (https://api.wikimedia.org/wiki/) will redirect to the mediawiki.org page starting June 22. [https://phabricator.wikimedia.org/T427537] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.8|MediaWiki]] '''Meetings and events''' * Join an online call on 25 June at 2:30pm UTC to meet the current Wikimedia interns for [[mw:Google_Summer_of_Code/2026|Google Summer of Code]] and [[mw:Outreachy/Round_32|Outreachy]]. Interns will provide an overview of their projects and a brief demo of their work so far. Attendees are encouraged to [[mw:event:Google_Summer_of_Code/Summer_2026_June_Internship_open_session|share ideas and connections in their community]]. '''''[[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/2026/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-2026-W26"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 13:05, 23 June 2026 (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=30722494 --> == Wikipedia translation of the week: 2026-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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Facial age estimation]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Facial age estimation''' is the use of artificial intelligence to estimate the age of a person based on their facial features. Computer vision techniques are used to analyse the facial features in the images of millions of people whose age is known and then deep learning is used to create an algorithm that tries to predict the age of an unknown person. The key use of the technology is to prevent access to age-restricted goods and services. Examples include restricting children from accessing internet pornography, checking that they meet a mandatory minimum age when registering for an account on social media, or preventing adults from accessing websites, online chat or games designed only for use by children. <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:44, 29 June 2026 (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=30717601 --> == Tech News: 2026-27 == <section begin="technews-2026-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/2026/27|Translations]] are available. '''Updates for editors''' * As part of the [[mw:Special:MyLanguage/Contributors/Account Creation Experiments|Account Creation Experiments]], the Growth team tested adding a user account icon in the mobile web header for logged-out users, providing direct access to "Create account" and "Log in" actions. The experiment increased account creation by about 20% without negatively affecting edit quality or constructive edit rates. The feature will now be rolled out to all Wikimedia Foundation wikis on mobile web in the first week of July. [https://phabricator.wikimedia.org/T428220] * After a [[phab:T426248|successful experiment]], logged-in users who did not [[mw:Special:MyLanguage/Help:Email_confirmation|confirm their email address]] when their account was created see a new banner asking them to complete that process. This helps reduce the risk that users get locked out of their account, and makes account email addresses overall more reliable. This is part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] project. [https://phabricator.wikimedia.org/T428292] * An update to [[Special:Search|Search]] is refining how the <bdi lang="zxx" dir="ltr"><code><nowiki>-prefix:</nowiki></code></bdi> behaves when used to exclude results. Previously, using <bdi lang="zxx" dir="ltr"><code><nowiki>-prefix:</nowiki></code></bdi> with negation could unintentionally broaden search results by adding the namespaces included in the search scope, leading to confusing behavior for users expecting a straightforward exclusion filter. With the update, <bdi lang="zxx" dir="ltr"><code><nowiki>-prefix:</nowiki></code></bdi> will now strictly exclude matching page titles as intended and may display a warning if the relevant namespace has not been explicitly selected. The behavior of <bdi lang="zxx" dir="ltr"><code><nowiki>prefix:</nowiki></code></bdi> without negation however remains unchanged. [https://phabricator.wikimedia.org/T427443] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:33}} community-submitted {{PLURAL:33|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where reviewers using the Page Curation toolbar were not automatically subscribed to talk page discussions they started has now been fixed. Reviewers will now receive notifications when someone replies to those discussions. [https://phabricator.wikimedia.org/T329346] '''Updates for technical contributors''' * Starting June 29th, automated downloads from the dumps.wikimedia.org website will be subject to the [[Foundation:Special:MyLanguage/Policy:Wikimedia Foundation User-Agent Policy|user-agent policy]]. Automated requests that provide a generic or empty user-agent will be blocked. Access to dumps through Wikimedia Cloud Services remains unaffected. This is a follow up to the announcement made in the [[m:Special:MyLanguage/Tech/News/2026/25|2026/25 issue of Tech News]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.9|MediaWiki]] '''''[[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/2026/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-2026-W27"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 11:48, 29 June 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30744833 --> == Wikipedia translation of the week: 2026-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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Paulo César Vinha State Park]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Capim dourado.jpg|300px|center|]] <div style="text-align:left; padding: .4em;"> The '''Paulo César Vinha State Park''' (Portuguese: Parque Estadual Paulo César Vinha) is a state park in the state of Espírito Santo, Brazil. It protects an area of dunes, lagoons and marshes along the Atlantic shore. <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:35, 6 July 2026 (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=30717601 --> == Tech News: 2026-28 == <section begin="technews-2026-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/2026/28|Translations]] are available. '''Updates for editors''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:34}} community-submitted {{PLURAL:34|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the search bar results on Wikidata, showed English results instead of using the correct language fallback for users of language variants, has now been fixed. Search suggestions will now follow the expected language fallback chain. [https://phabricator.wikimedia.org/T429769] '''Updates for technical contributors''' * In preparation for [[m:Special:MyLanguage/Event:Celebrate Women|Celebrate Women campaign]] planned for March 2027, the Wikimedia Foundation’s [[m:Special:MyLanguage/Wikimedia Foundation/Advancement/Community Growth/Content Enablement|Content Enablement team]] has launched a 22-question survey to better understand technical contributions by women+ (anyone who identifies as a woman) across Wikimedia projects. The survey takes approximately 15–20 minutes to complete and will remain open until 20 July 2026. The [[m:Special:MyLanguage/Celebrate Women/Technical contributions survey|questions]] are also available on-wiki for review in advance. * The [[mw:Special:MyLanguage/Extension:Score|Score extension]] now supports rendering music scores as SVG images in addition to PNG, addressing a long-standing [[:phab:T49578|feature request]] and resolving historical image quality issues. Both formats are now provided to clients, with PNG in the <bdi lang="zxx" dir="ltr"><code><nowiki>src</nowiki></code></bdi> attribute and SVG in the <bdi lang="zxx" dir="ltr"><code><nowiki>srcset</nowiki></code></bdi> attribute. * The new [[wikitech:Parsoid|Parsoid]] parser [[mw:Special:MyLanguage/Parsoid/Parser_Unification/Updates|continues to be deployed to additional wikis]], making it easier to introduce new reading and editing features. It was enabled on French Wikipedia, bringing total progress to covering 78.9% of Wikipedia page views. Rollout to English Wikipedia desktop will progress through this week. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.10|MediaWiki]] '''In depth''' * The Wikimedia Hackathon 2026 [[diffblog:2026/06/29/wikimedia-hackathon-2026-building-collaborating-and-shaping-the-future-together/|recap blog post]] is now live. It highlights the projects, sessions, and social activities from this year’s event, and shares initial plans for the 2027 Wikimedia Hackathon. '''''[[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/2026/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-2026-W28"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 13:57, 6 July 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30773578 --> == Wikipedia translation of the week: 2026-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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Caledonian MacBrayne]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Cal-Mac HQ2005.jpg|300px|center|]] <div style="text-align:left; padding: .4em;"> '''Caledonian MacBrayne''', in short form CalMac, is the trade name of CalMac Ferries Ltd, the major operator of passenger and vehicle ferries to the west coast of Scotland, serving ports on the mainland and 22 of the major islands. It is a subsidiary of holding company David MacBrayne, which is owned by the Scottish Government. <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:20, 13 July 2026 (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=30717601 --> == Tech News: 2026-29 == <section begin="technews-2026-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/2026/29|Translations]] are available. '''Updates for editors''' * [[mw:Special:MyLanguage/Growth/Revise_Tone|Revise Tone]] helps newcomers identify passages in Wikipedia articles that may contain non-encyclopedic language and encourages them to consider revising the tone. The feature was [[w:en:A/B_testing|A/B tested]] on the Arabic, English, French, and Portuguese Wikipedias, where newcomer task completion rates [[mw:Special:MyLanguage/Growth/Revise_Tone#Experiment_Results|increased by 38.7%]] compared to the default Copyedit task, with no decrease in edit quality. The test ended on July 9, and the feature is now available for everyone on these wikis, configurable via Community Configuration. [[phab:T426364|The plan]] is to release Revise Tone to more wikis. * The community configuration that allows [[mw:Special:MyLanguage/Help:Growth/Mentorship#Automated mentor list cleanup|automatic removal of inactive mentors]] based on configurable criteria will be enabled on Thursday 16, [[mw:Special:MyLanguage/Growth/Deployment|on some wikis]] to keep mentor lists up to date. Mentors are experienced contributors who opt in to help new users on-wiki through the [[mw:Special:MyLanguage/Growth/Feature summary|Growth Features]]. Administrators can now prepare the settings via [[w:Special:CommunityConfiguration/Mentorship|Special:CommunityConfiguration/Mentorship]]; they will take effect starting Thursday. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:38}} community-submitted {{PLURAL:38|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where some users of the Wikipedia Android app were logged out immediately after signing in, preventing them from staying logged in and editing pages, has now been fixed. [https://phabricator.wikimedia.org/T316916] '''Updates for technical contributors''' * Editing a page via user scripts or gadgets was causing watchlist labels that the user had assigned to that page to reset. This has now been fixed. [https://phabricator.wikimedia.org/T423778] * To work around a Safari bug (see [[phab:T425211]]), on Parsoid-enabled wikis, wikilink hrefs now use absolute urls instead of protocol-relative urls. REST API output remains unchanged and continue to use protocol-relative urls. Gadgets, user scripts, bots, and CSS might need to be adapted if they relied on the presence of protocol-relative urls in wikilink hrefs. [https://phabricator.wikimedia.org/T431358] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.11|MediaWiki]] '''In depth''' * The Wikimedia Foundation’s Experiment Platform Team has published a blog post reflecting on its first year of structured experimentation. It highlights successful experiments such as Paste Check, Reference Check, and Tone Check, which improved editing outcomes and have been rolled out to more users, as well as experiments that did not lead to product changes. [[diffblog:2026/07/07/moving-the-needle-how-we-test-new-ideas-across-wikimedia-projects|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/2026/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-2026-W29"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:12, 13 July 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30804401 --> == Wikipedia translation of the week: 2026-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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Immigration to Switzerland]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> In 2023, resident foreigners made up 26.3% of Switzerland's population. Most of these (83%) were from European countries. Italy provided the largest single group of foreigners, accounting for 14.7% of total foreign population, followed closely by Germany (14.0%), Portugal (11.7%), France (6.6%), Kosovo (5.1%), Spain (3.9%), Turkey (3.1%), North Macedonia (3.1%), Serbia (2.8%), Austria (2.0%), United Kingdom (1.9%), Bosnia and Herzegovina (1.3%) and Croatia (1.3%). Immigrants from Sri Lanka (1.3%), most of them former Tamil refugees, were the largest group of Asian origin (7.9%). <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:18, 20 July 2026 (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=30717601 --> == Tech News: 2026-30 == <section begin="technews-2026-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/2026/30|Translations]] are available. '''Updates for editors''' * The [[mw:Special:MyLanguage/Reader/Reader Experience|Reader Experience team]] has incorporated community feedback around the placement of watchstar and watchlist buttons for the [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|Reading Lists beta feature]], which would allow for saving articles for later reading – a [[m:Special:MyLanguage/Community Wishlist/W102|wishlist item]] to bring the functionality to web. Editors are invited to enable the beta feature to test it out and [[phab:T426453|share their thoughts]]. * [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Suggestion Mode]] offers edit suggestions within the VisualEditor for improving Wikipedia articles. [[Special:EditChecks|All suggestions]] are [[mw:Special:MyLanguage/Help:Suggestion mode#For administrators – local customization|community-configurable]]. The [[mw:Special:MyLanguage/Edit check/TextMatch|TextMatch]] feature is a way for volunteers to create custom local suggestions. The feature searches in articles for strings of text, and now includes support for regular expressions. This gives volunteers greater precision and flexibility over the kinds of local suggestions they can create. Note: Suggestions [[mw:Special:MyLanguage/Edit check/Configuration#:~:text=maximumEditcount|can be targeted]] based on the edit count of the person editing as well as other aspects of the page. You can [[mw:Special:MyLanguage/Help:Suggestion mode#Create custom local types of Suggestions|find examples from other communities]] for inspiration, including TextMatches that detect: typos, grammar-errors, potential advertisements, clichés, incorrect dash or hyphen usage, non-specific time keywords, outdated names, and more. Any [[mw:Special:MyLanguage/Talk:VisualEditor/Suggestion Mode|feedback]] is appreciated. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the SVG Translate tool could use an outdated version of a file, causing existing translations to be overwritten when new ones were uploaded, has now [[phab:T430577|been fixed]]. Overall, in the last quarter from April – June 2026 about 337 community tasks were resolved by the Wikimedia Foundation. '''Updates for technical contributors''' * On Parsoid-enabled wikis, Parsoid now renders a maximum of 1,250 images per page. A new tracking category, "media-limit-reached", will be soon made available to identify pages where this limit is reached, making it easier to find content whose media output may have been restricted during rendering. See [[phab:T430854]] for more information and to provide feedback. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.12|MediaWiki]] '''''[[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/2026/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-2026-W30"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 05:47, 21 July 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30836091 --> == Wikipedia translation of the week: 2026-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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:fr:Study of Man's Impact on Climate]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> La '''Study of Man's Impact on Climate''' (traduisible en français par « Étude de l'impact de l'homme sur le climat ») est une conférence scientifique internationale consacrée à l'influence humaine sur le climat qui s'est tenue à Stockholm, en Suède, du 28 juin au 16 juillet 1971. Elle aborde diverses hypothèses parmi lesquelles la destruction de la couche d'ozone et le réchauffement (ou refroidissement) climatique, établit l'état du savoir à leur sujet et, soulignant les nombreuses inconnues qui demeurent, appelle à consacrer davantage de fonds à la recherche scientifique sur le climat. <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:00, 27 July 2026 (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=30849684 --> == Tech News: 2026-31 == <section begin="technews-2026-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/2026/31|Translations]] are available. '''Updates for editors''' * [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Wishlist item]] [[mw:Special:MyLanguage/ContentTranslation|Content Translation]] now supports dark mode, fulfilling a [[m:Community Wishlist/W544|Community Wishlist request]]. This brings the tool in line with the accessibility features available in the Vector 2022 and Minerva skins, helping reduce visual fatigue for users translating content. [https://phabricator.wikimedia.org/T367077] * DiscussionTools' source mode and the 2017 wikitext editor will now offer autocomplete for links (<bdi lang="zxx" dir="ltr"><code><nowiki>[[</nowiki></code></bdi>), templates (<bdi lang="zxx" dir="ltr"><code><nowiki>{{</nowiki></code></bdi>), HTML and parser tags (<bdi lang="zxx" dir="ltr"><code><nowiki><</nowiki></code></bdi>), and magic words (<bdi lang="zxx" dir="ltr"><code><nowiki>__</nowiki></code></bdi>), making it quicker and easier to insert links, templates, and other wiki markup while editing. [https://phabricator.wikimedia.org/T432400] * The [[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews|Readers Growth team]] has concluded its experiment with mobile page previews and will not roll out the feature. Page Previews are a pop-up bottom sheet that appears when readers tap a blue link, showing a thumbnail, lead paragraph, and an option to open the article. The experiment showed flat retention and negative indicator metrics, suggesting that mobile web readers preferred navigating directly to linked articles rather than using page previews. * The Reader Experience team has seen encouraging early results from the [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Reading Lists feature]], with 93% of participating users reporting that it was useful. Reading Lists help active readers save articles for future reading and support their learning goals on Wikimedia projects. The team plans further improvements before expanding the feature to more users. * The [[mw:Special:MyLanguage/Wikimedia Apps/Team/Explore Feed Refresh|Explore Feed Refresh]] initiative was tested with new and casual Wikipedia app readers. The refreshed feed helps readers discover new and relevant content. After a 10.5% increase in engagement with the feed, Wikimedia Apps team has decided to scale the Home Feed redesign to iOS with the learnings from the Android release applied. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where subject names in the Article Guidance feature were displayed with incorrect capitalization on French Wikipedia, has now been fixed. Subject names will now follow the correct capitalization rules for the language. [https://phabricator.wikimedia.org/T427201] '''Updates for technical contributors''' * After running several [[mw:Special:MyLanguage/Contributors/Account Creation Experiments|Account Creation Experiments]] to improve registration completion rates, a new version of the username field on [[Special:CreateAccount|Create Account]] has been rolled out. It includes [[:c:File:Create account - July 2026 updates.png|a popover summarizing the username policy]] to provide clearer guidance during account creation. As part of this change, the messages <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-helpusername</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-help</nowiki></code></bdi> that several communities have configured will no longer be used. If communities want to customize the guidance shown in the new popover, they can instead edit the following messages: <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-policy-popover-bullet1</nowiki></code></bdi>, <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-policy-popover-bullet2</nowiki></code></bdi>, and <bdi lang="zxx" dir="ltr"><code><nowiki>createacct-username-policy-popover-bullet3</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T430604] * Later this week, the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror syntax highlighter]] will offer [[w:en:Theme (computing)|themes]]. The themes can be picked from a dropdown menu in the full [[mw:Special:MyLanguage/Help:Extension:CodeMirror#CodeMirror preferences|CodeMirror preferences]] dialog. For wikitext, available themes are default, colorblind-friendly (previously the colorblind preference option on [[Special:Preferences#mw-prefsection-editing]]) and no-highlighting. For code languages (i.e., CSS/JavaScript/JSON/Vue/Lua), there are several themes available. These same themes will eventually be available for wikitext, too. [https://phabricator.wikimedia.org/T163533] * From now on, wikis can restrict editing in the "User" namespace to only the page owner and certain user groups. [[mw:Special:MyLanguage/Manual:$wgRestrictUserPageEditing|Read the configuration documentation]] to learn more. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.14|MediaWiki]] '''''[[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/2026/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-2026-W31"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:50, 27 July 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30856308 --> == Wikipedia translation of the week: 2026-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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Plot of Prats de Molló]]'''<br /> <small>''([[:ca:Fets de Prats de Molló]])&#32;([[:es:Complot de Prats de Molló]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''plot of Prats de Molló''' was an attempted military invasion of Catalonia carried out from France to achieve its independence planned by Francesc Macià and the leadership of the Estat Català party, discovered and aborted in 1926. The plan consisted of the penetration of two columns (one from Saint-Laurent-de-Cerdans, the other from Coll d'Ares), which were to occupy Olot and proclaim the Catalan Republic. <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:11, 3 August 2026 (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=30879613 --> == Tech News: 2026-32 == <section begin="technews-2026-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/2026/32|Translations]] are available. '''Updates for editors''' * The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] has developed a [https://82db7c8d4b.catalyst.wmcloud.org/w/index.php?title=Regent%27s_Park&uselang=de patch demo] that wraps the page toolbar onto two lines when there is not enough horizontal space for all the buttons. This aims to reduce crowding in the Vector 2022 toolbar, which can occur on some language Wikipedias at certain screen widths. [https://phabricator.wikimedia.org/T429518] * The Reader Experience team is planning to launch [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Reading Lists]], a [[m:Special:MyLanguage/Community Wishlist Survey 2021/Mobile and apps/Have Apps reading lists available on Destop/Mobile|Community Wishlist item]], which is currently available to try in beta, as a full feature in September. Before then, volunteer translator help is needed for [https://translatewiki.net/w/i.php?title=Special%3ATranslate&group=ext-readinglists&filter=&action=translate string translations] into a number of languages. The feature supports reading and learning goals on Wikipedia. * Next week, the table of contents on Wikimedia Commons file pages will be improved by consolidating the file page table of contents with the page table of contents. This will make it easier to understand a file page’s structure, navigate to specific sections, and share links to individual sections. [https://phabricator.wikimedia.org/T332644] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:24}} community-submitted {{PLURAL:24|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where some [[w:TIFF|TIFF]] images failed to load after clicking their thumbnail, causing a broken image to be displayed instead of the full-size image, has now been fixed. [https://phabricator.wikimedia.org/T429326] '''Updates for technical contributors''' * The variable and function selector in AbuseFilter has been updated to support search and autocomplete. It will allow filter maintainers to find the desired variable or function more quickly. [https://phabricator.wikimedia.org/T323698] * The MJPEG and VP8 formats are removed from the video player. The MP4 format (MPEG-4 Part 2) is added instead, which provides higher quality videos to older iPhone devices. It may take a few weeks to retroactively update all existing videos. The default format for modern devices stays the same (VP9/WebM). [https://phabricator.wikimedia.org/T358266] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.15|MediaWiki]] '''''[[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/2026/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-2026-W32"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:47, 3 August 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30872536 --> == Wikipedia translation of the week: 2026-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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Composizione VII]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Composition VII - Wassily Kandinsky, GAC.jpg|300px|center|]] <div style="text-align:left; padding: .4em;"> '''Composizione VII''' (Композиция VII o Zu Komposition 7) è un olio su tela del 1913, realizzato dal pittore russo Vasilij Vasil'evič Kandinskij e conservato nella Galleria Tret'jakov di Mosca. Prodotto centrale del pittore russo nel periodo 1910-1915, essa è considerata l'opera che certificò la raggiunta maturità creativa da parte di Kandinskij, rappresentando anche l'apice della sua energia creativa. È considerato il più rappresentativo tra i lavori completati durante l'anno del successo internazionale dell'artista, simboleggiando il punto di emancipazione definitivo dell'Astrattismo. Opera più grande mai realizzata dall'artista per dimensione, facente parte della serie denominata Composizioni, rappresenta un'allegoria dell'Apocalisse, di cui riprende il tema e lo propone in una versione astratta, trasfigurata dalla realtà in una forma composta da sole linee e colori. <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:24, 10 August 2026 (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=30889664 --> == Tech News: 2026-33 == <section begin="technews-2026-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/2026/33|Translations]] are available. '''Updates for editors''' * [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Wishlist item]] A new ChartWizard is [[c:Special:ChartWizard/Data:Example.Pie.chart|now available on Wikimedia Commons]] for users interested in creating charts from their own data. The wizard makes the [[mw:Special:MyLanguage/Extension:Chart|Chart extension]] more beginner-friendly by allowing editors to create charts, such as bar and pie charts, without needing to use JSON. Users can still switch to the JSON editor if they prefer. Feedback on the new tool is welcome on the [[m:Talk:Community Wishlist/W414|wish talk page]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:19}} community-submitted {{PLURAL:19|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the Wikipedia iOS app’s Picture of the Day widget displayed the same image every day instead of updating daily, has now been fixed. [https://phabricator.wikimedia.org/T430692] '''Updates for technical contributors''' * [[mw:Special:MyLanguage/Extension:Math|Math formula]] SVG images will soon be generated in the browser instead of on the server. MathML continues to be generated on the server and renders in the browser without JavaScript. Wikibooks will see this change on 12 August, Wikisource on 19 August and Wikipedia from 20-27 August. You can try this by selecting "{{int:Mw-math-mathjax}}" in your preferences. This change is part of [[mw:Special:MyLanguage/RESTBase/deprecation|deprecating RESTBase]] and [[phab:T431372|deprecating Mathoid]]. [https://phabricator.wikimedia.org/T271001] * Category pages will soon support sorting entries by the time they are added to a category. This will make it easier to find recently or long-standing categorized pages. It will also improve workflows for maintenance categories such as deletion backlogs and other time-based review tasks. You can use <bdi lang="zxx" dir="ltr"><code><nowiki>cldsort=timestamp</nowiki></code></bdi> URL argument in category view to sort the entries. [https://phabricator.wikimedia.org/T433768] * [[mw:Special:MyLanguage/Extension:Gadgets|Gadgets]] and user scripts on Wikimedia wikis may now use [[phab:T395347|ES2018 features]] and [[phab:T419142|ES2019 features]] in JavaScript code. Previously, the platform only allowed up to ES2017. MediaWiki validates the source code to protect functionality from syntax errors and to ensure scripts are valid in all [[mw:Special:MyLanguage/Compatibility#Browser_support_matrix|supported browsers]]. [https://phabricator.wikimedia.org/T419142] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.16|MediaWiki]] '''''[[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/2026/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-2026-W33"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:46, 10 August 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30901051 --> == Wikipedia translation of the week: 2026-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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Divorce in Poland]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Divorce in Poland''' occurs at a rate slightly below that of the average for Europe. In the Polish legal system, divorce proceedings fall within the exclusive jurisdiction of the civil court; there is no legal basis for resolving a marriage through the agreement of the spouses or through administrative procedures. Divorce requests are assessed by the court, in accordance with the positive and negative prerequisites set in the relevant law. <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:59, 17 August 2026 (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=30927700 --> == Tech News: 2026-34 == <section begin="technews-2026-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/2026/34|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Registration/Worklist|Worklist feature]] for the Event Registration tool is now live on all Wikimedia wikis. With Worklist, event organizers can add the articles their event will focus on directly to the event page. The Worklist also powers [[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Registration/Worklist#How Event Pathways uses the worklist|Event Pathways]] which notifies other editors of the upcoming or ongoing event when they edit an article featured in the event's Worklist. This is the minimum viable version (MVP), and feedback is welcome. Organizers are encouraged to try the feature. A hands-on [[m:Special:MyLanguage/Event:Worklist Setup Workshop: Get Your Event Ready|Worklist Setup Workshop]] will take place on 18 August at 16:00 UTC and 19 August at 11:00 UTC. '''Updates for editors''' * [[Special:ShortPages]] displays short pages by their size, but in many cases it gets filled with disambiguations and soft redirects, making it harder to find the short articles themselves. Starting this weekend, you will be able to choose not to include an article in the special page by adding the magic word <bdi lang="zxx" dir="ltr"><code><nowiki>__EXPECTSHORTPAGE__</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T433203] * One new wiki has been created: a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q3436680|Bole]] ([[w:bol:|<bdi lang="zxx" dir="ltr"><code><nowiki>w:bol:</nowiki></code></bdi>]]) [https://phabricator.wikimedia.org/T429921] * Starting the week of August 17, the page toolbar will wrap onto two lines when there is not enough horizontal space for all the buttons. This is a [[phab:T429518|fully merged patch from the Reader Experience team]] which aims to reduce crowding in the Vector 2022 toolbar, that may occur on some language Wikipedias at certain screen widths. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:16}} community-submitted {{PLURAL:16|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, uploading large files to Wikimedia Commons has become more stable and less prone to failure following some fixes related to the “Could not acquire lock” upload error. [https://phabricator.wikimedia.org/T386640] '''Updates for technical contributors''' * Debian Bullseye will reach the end of its Long Term Support on 31 August 2026. [[phab:T434103|Some Cloud VPS projects]] still have instances running Debian Bullseye. Maintainers of those projects are encouraged to migrate to Debian Bookworm or Debian Trixie. A [[wikitech:Help:Cloud VPS instance operating system migration|migration guide]] is available to help with the process, and users may also want to consider whether their workload is better suited to Toolforge. If you need help or cannot complete the migration by 31 August, please contact the Cloud VPS admins as soon as possible. [[listarchive:list/cloud-announce@lists.wikimedia.org/thread/RVIPQSYLKMSL5M46JP6NEJVGVE6I2RXQ/|Read more]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.16|MediaWiki]] '''''[[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/2026/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-2026-W34"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:04, 17 August 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30922806 --> == Wikipedia translation of the week: 2026-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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Day of the Macedonian Revolutionary Struggle]]'''<br /> <small>''([[:mk:Ден на македонската револуционерна борба]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''Day of the Macedonian Revolutionary Struggle''' (Macedonian: Ден на македонската револуционерна борба),[1] also known as Day of VMRO, is a national holiday which is celebrated on October 23 in North Macedonia. In 2007, the holiday was voted into law as a new national holiday. It is a non-working day. <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:15, 24 August 2026 (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=30927700 --> == Tech News: 2026-35 == <section begin="technews-2026-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/2026/35|Translations]] are available. '''Updates for editors''' * The [[Special:CreateAccount|Special:CreateAccount]] page has been simplified as part of ongoing work to modernize the account creation experience. The panel showing project statistics no longer appears next to the form on desktop and mobile web. Multiple account creation experiments show that a simpler form helps newcomers complete registration. [https://phabricator.wikimedia.org/T433783] * In order to improve page performance, images now load when they are viewed. This means images lower down an article will not load if a reader never scrolls to that part of the page, which may affect some image-related metrics. [https://phabricator.wikimedia.org/T148047] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:42}} community-submitted {{PLURAL:42|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where image thumbnails in Abstract Wikipedia could fail to display after the corresponding file was moved on Wikimedia Commons, has now been fixed. Thumbnails will now update correctly when files are moved. [https://phabricator.wikimedia.org/T433448] '''Updates for technical contributors''' * User Info card is a feature that helps patrollers see information about user accounts. So far, it has been available only in places such as page history, logs and recent changes. Now, it's possible to [[mw:Special:MyLanguage/Help:Extension:CheckUser#User_Info_card_in_page_content|place it in the page content]] as well, using the <bdi lang="zxx" dir="ltr"><code><nowiki>{{#uic:}}</nowiki></code></bdi> parser function. It can be particularly useful in templates like [[:en:Template:Userlinks|<bdi lang="zxx" dir="ltr"><code><nowiki>{{Userlinks}}</nowiki></code></bdi>]] (or their specialized variants), as it will make it easier to see the context about a user on various noticeboard pages. The card will be displayed only to users who have it enabled in their [[Special:Preferences#mw-input-wpcheckuser-userinfocard-enable|preferences]]. [https://phabricator.wikimedia.org/T424466] * Due to user security and privacy risks, we have disabled access to <bdi lang="zxx" dir="ltr"><code><nowiki>Special:MyPage</nowiki></code></bdi> URLs when specifically using <bdi lang="zxx" dir="ltr"><code><nowiki>action=raw</nowiki></code></bdi>. If you are impacted by this, consider whether you can use an alternative approach. <bdi lang="zxx" dir="ltr"><code><nowiki>Special:MyPage</nowiki></code></bdi> URLs can still be accessed and used without <bdi lang="zxx" dir="ltr"><code><nowiki>action=raw</nowiki></code></bdi>. Specified user page URLs (e.g. <bdi lang="zxx" dir="ltr"><code><nowiki>User:Myusername</nowiki></code></bdi>) can still be used with <bdi lang="zxx" dir="ltr"><code><nowiki>action=raw</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T120386] * Due to an update, the thumbnailing software has been improved. This includes upgrading <bdi lang="zxx" dir="ltr"><code><nowiki>librsvg</nowiki></code></bdi> to 2.60 and <bdi lang="zxx" dir="ltr"><code><nowiki>ImageMagick</nowiki></code></bdi> to 7, as well as resolving a number of long-standing thumbnailing bugs like rendering errors. [https://phabricator.wikimedia.org/T419815#12222841] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.17|MediaWiki]] '''''[[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/2026/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-2026-W35"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:46, 24 August 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30961208 --> == Wikipedia translation of the week: 2026-36 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Wimmen's Comix]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''''Wimmen's Comix''''', later retitled (respelled) as Wimmin's Comix, is an influential all-female underground comics anthology published from 1972 to 1992. Though it covered a wide range of genres and subject matters, Wimmen's Comix focused more than other anthologies of the time on feminist concerns, homosexuality, sex and politics in general, and autobiographical comics. <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:54, 31 August 2026 (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=30988228 --> == Tech News: 2026-36 == <section begin="technews-2026-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/2026/36|Translations]] are available. '''Weekly highlight''' * A new format for the Community Wishlist is open for feedback. You can [[m:Special:MyLanguage/Community Wishlist/Community Wishlist 2027|read the proposed ideas on Meta]]. This new process plans to improve how wishes are triaged, voted on, and prioritized in a way that is transparent and balanced across project families and language editions. This consultation is open for two weeks. '''Updates for editors''' * The latest release of the Wikipedia Android app includes updates to the Saved feature, bringing the app’s saving experience closer to iOS and Web. The update redesigns the Saved tab with an “All articles” view, removes the default “Saved” reading list, renames reading lists to “Collections,” and modernizes the article-saving experience. [https://phabricator.wikimedia.org/T420788] * The [[mw:Special:MyLanguage/Readers/Reader Experience/Reading lists|Reading Lists]] feature was enabled for all logged-in users on Bengali, Chinese, Czech and Vietnamese Wikipedias on August 25, after several months as a beta feature. Reading Lists will be available to all logged-in users on Arabic, French and Indonesian Wikipedias on September 1, followed by English Wikipedia on September 14, and all other Wikipedia wikis on September 28. * At the end of the month, some logged-out readers on Bengali, Czech, Persian, English, and Polish Wikipedias using the Minerva skin on mobile will see an [[mw:Special:MyLanguage/Readers/Reader_Growth/Minimal_Minerva|updated navigation bar]] in an [[w:A/B test|A/B test]]. The test will compare the current navigation bar with a new version designed to make it easier to find information more quickly. The goal is to determine whether these changes encourage readers to return more often. This experiment will not change the experience for logged-in readers and/or editors. * Editors who maintain redirects, templates, and categories used on redirect pages now have improved ways for finding and curating redirects. Previously, redirects pages could not be searched. Two new search keywords, <bdi lang="zxx" dir="ltr"><code><nowiki>onlyredirects:</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>withredirects:</nowiki></code></bdi>, now allow redirects to be searched directly and can be combined with existing keywords such as <bdi lang="zxx" dir="ltr"><code><nowiki>incategory:</nowiki></code></bdi>, <bdi lang="zxx" dir="ltr"><code><nowiki>intitle:</nowiki></code></bdi>, and <bdi lang="zxx" dir="ltr"><code><nowiki>insource:</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T204089] * The ISBN lookup tools for generating citations were recently not working because of external service problems. Developers are working on solutions. [https://phabricator.wikimedia.org/T435179] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where searching for pages by category using <bdi lang="zxx" dir="ltr"><code><nowiki>deepcat</nowiki></code></bdi> could return no results or unrelated results has now been fixed. [https://phabricator.wikimedia.org/T414859] '''Updates for technical contributors''' * The domain of URLs for thumbnails is changing from upload.wikimedia.org to thumb.wikimedia.org. The old URLs will continue to work for the foreseeable future but MediaWiki will advertise the new domain instead. URLs to other types of media such as original files, videos and transcodes will still be served from upload.wikimedia.org. [https://phabricator.wikimedia.org/T427465] * The Wikimedia [https://www.mediawiki.org/w/index.php?api=wmf-math%2Fv1&title=Special%3ARestSandbox Math API] is now deprecated. These endpoints will be fully sunset by the end of September 2026. Developers who call these endpoints should transition to alternative math rendering solutions, such as the native [https://developer.mozilla.org/en-US/docs/Web/MathML MathML] or [https://www.mathjax.org/ MathJax]. Third-party MediaWiki installations that utilize the Math extension for formula rendering are required to upgrade to v1.43+ to avoid disruption of service. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.18|MediaWiki]] '''In depth''' * Read more about [[mw:Special:MyLanguage/Edit_check/TextMatch|TextMatch]] in a Diff post titled, [[diffblog:2026/08/28/custom-edit-suggestions-for-every-wiki-how-communities-are-shaping-suggestion-mode-with-textmatch/|Custom edit suggestions for every wiki: How communities are shaping Suggestion Mode with TextMatch]]. '''''[[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/2026/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-2026-W36"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:54, 31 August 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30990659 --> == Wikipedia translation of the week: 2026-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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Paulet affair]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''Paulet affair''', also known as British Hawaii, was the insubordinate five-month occupation of the Hawaiian Kingdom in 1843 by British naval officer Captain Lord George Paulet, of HMS Carysfort. It was ended by the arrival of American warships sent to defend Hawaii's independence. The British government in London did not authorise the move and it had no official status. <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:59, 7 September 2026 (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=30993988 --> == Tech News: 2026-37 == <section begin="technews-2026-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/2026/37|Translations]] are available. '''Updates for editors''' * [[mw:Special:MyLanguage/Help:Growth/Tools/Add_a_link|Add a Link]] has been upgraded for English Wikipedia users with improved detection of links that have different capitalization. This will help reduce ambiguous suggestions caused by differences in capitalization in article titles, including articles about cultural goods. A second phase of improvements is planned, which will also prepare the feature for release in other languages. [https://phabricator.wikimedia.org/T435526#12240876] [https://phabricator.wikimedia.org/T434259] * The [[mw:Special:MyLanguage/Article_guidance|Article guidance]] feature will be enabled by default for junior editors on Simple English and Turkish Wikipedia starting 10 September 2026 following [[mw:Special:MyLanguage/Article_guidance/Updates#Summary_of_experiment_result|an experiment]]. Junior editors with 0 to 99 edits will automatically see the feature when they click a red link or use the "[[tr:Vikipedi:Madde_sihirbazı|Madde oluşturto]]" option on Turkish Wikipedia to create a new article. The change is intended to help junior editors create higher-quality articles that meet each Wikipedia’s standards. [[phab:maniphest/query/z3tcTjmLMxk5/#R|Additional improvements]] will continue based on the experiment results and community feedback. * The [https://pageviews.wmcloud.org Pageviews Analysis] tool which allows users to compare pageviews across multiple pages, turns 10 years old this year and several new features have been added. They include [[toolforge:wikinav|WikiNav]] which provides insights into how readers of Wikipedia explore the content, editing stats in [https://pageviews.wmcloud.org/siteviews?range=latest-30&sites=en.wikipedia.org Siteviews], the ability to [https://pageviews.wmcloud.org/massviews?source=wikiproject&project=en.wikipedia.org lookup articles belonging to a WikiProject], and support for dark mode. [https://phabricator.wikimedia.org/T378549] * A [[mw:Special:MyLanguage/Readers/Reader_Growth/Minimal_Minerva|visually simplified Minerva]] navigation bar is being tested for logged-out readers using mobile web on the Bengali, Czech, English, Farsi, and Polish Wikipedias. The experiment aims to determine whether simplifying the navigation improves reader retention. The test will run from August 31 to September 28, and no action is required from users. * [[m:Special:MyLanguage/WMDE Technical Wishes|WMDE Technical Wishes]] is working on improving [[en:Wikipedia:VisualEditor/Named references|auto-generated reference names in VisualEditor]]. Editors will only notice a slight change starting this week. When adding automatic reference names the numbering will start at <bdi lang="zxx" dir="ltr"><code><nowiki>:1</nowiki></code></bdi> instead of <bdi lang="zxx" dir="ltr"><code><nowiki>:0</nowiki></code></bdi>. Read more on the [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names|project page]]. [https://gerrit.wikimedia.org/r/c/VisualEditor/VisualEditor/+/1332704] * All wikis will be [[m:Special:MyLanguage/Tech/Server switch|read-only for a few minutes]] on September 23. 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/T433363] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:25}} community-submitted {{PLURAL:25|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where [[mw:Special:MyLanguage/Parsoid|Parsoid]] could mishandle nested nowiki tags, causing content to be lost and displaying unwanted text has now been fixed. [https://phabricator.wikimedia.org/T435116] '''Updates for technical contributors''' * Interface administrators can configure gadgets from [[MediaWiki:Gadgets-definition]]. The definition format has been updated and no longer requires the <bdi lang="zxx" dir="ltr"><code><nowiki>ResourceLoader</nowiki></code></bdi> option, as gadgets are always loaded through <bdi lang="zxx" dir="ltr"><code><nowiki>ResourceLoader</nowiki></code></bdi>. This simplifies gadget configuration by removing an option that is no longer necessary, making gadget definitions easier for administrators. [https://phabricator.wikimedia.org/T298199] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.19|MediaWiki]] '''''[[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/2026/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-2026-W37"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:45, 7 September 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=31008437 --> == Wikipedia translation of the week: 2026-38 == <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/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:No-AI label]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:No AI Sign.svg|300px|center|]] <div style="text-align:left; padding: .4em;"> A '''no-AI label''' is a label used on a product to signify that it was not made using generative AI. Phrases on the labels include but are not limited to "human-made", "proudly human" and "AI-free". Some organisations that provide the labels allow product creators to download and use their no-AI labels for free, while others charge creators for analysing the content and allowing the use of the labels if the organisation believes that no AI was used. <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:43, 14 September 2026 (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=31028050 --> == Tech News: 2026-38 == <section begin="technews-2026-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/2026/38|Translations]] are available. '''Weekly highlight''' * The Future Audiences team has started a [[en:Special:MyLanguage/Wikipedia:Village pump (proposals)#New proposed experiment to let readers know about “Google preferred sources”|discussion on English Wikipedia]] about a proposed new experiment to show a temporary notice about the new [https://blog.google/products-and-platforms/products/search/original-high-quality-content-search/ Google Preferred Sources] feature to Wikipedia readers coming from Google. The experiment is to test whether this notice makes visitors come back to Wikipedia more often. Preferred Sources feature lets users choose websites they trust so Google can highlight content from those sources more prominently in Search and AI experiences. We are interested in testing this on other languages that Google supports and would welcome assistance with starting conversations on other wikis. If interested, please reach out to Future Audiences on the [[m:Special:MyLanguage/Future Audiences/Preferred sources|talk page]]. '''Updates for editors''' * The chat platform Discord is releasing a new self-service framework that websites can use to specify how their links should look when shared on Discord. The Future Audiences team is planning to start using this new framework to improve how Wikipedia links look when shared on Discord, giving better attribution and credit to contributors. The link appearance and behavior won't change in the first phase of this project as we want to first collect some baseline data to assess the impact of future changes. However, if community members who are active on Discord spot any issues, they can reach out on [[phab:tag/future-audiences/|Phabricator]] or [[m:Special:MyLanguage/Future Audiences|Metawiki]]. * The Reader Growth team will be running an experiment to test whether [[mw:Special:MyLanguage/Readers/Reader_Growth/Compact Lead|compacting article lead sections on mobiles]] with the addition of a "read more" button improves reader retention. The test will begin on September 17 on Arabic, Spanish, French, Indonesian, Italian, Japanese, Portuguese, Vietnamese, and Chinese Wikipedias and will run for four weeks. * All wikis will be [[m:Special:MyLanguage/Tech/Server switch|read-only for a few minutes]] on September 23. 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 week. [https://phabricator.wikimedia.org/T433363] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:28}} community-submitted {{PLURAL:28|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where [https://wikistats.wmcloud.org/ Wikistats] for Wikipedias was returning an HTTP 500 error and could not be reached, has now been fixed. [https://phabricator.wikimedia.org/T435959] '''Updates for technical contributors''' * Developers who maintain a tool that queries the Wikimedia Commons links tables need to update their code to connect to the new x4 database cluster. The links tables have been moved from the s4 cluster to x4, and will no longer receive updates on s4. The page and redirect tables remain available on both clusters. A wiki replica for the x4 cluster will be set up afterwards. The change is being made because the s4 cluster has grown too large to operate efficiently. You can [[wikitech:Special:MyLanguage/News/2026 Commons links tables database split|read more]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.20|MediaWiki]] '''''[[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/2026/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-2026-W38"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:31, 14 September 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=31039826 --> j6njkh754yl338g9dy3dwbjfgd4b1qi Mirad Lexicon 0 455899 4670096 4662203 2026-09-14T19:42:23Z Tyoyafud 6233 4670096 wikitext text/x-wiki {{shelves|Mirad}} <noinclude> {{Alphabetical|M}} {{status|100%}} {{Chapter navigation with TOC||Mirad-English-A|}} {{Book search | style=image}} {{Caution|This is outdated material. A more current dictionary can be found at [[Mirad Lexicon]].}} </noinclude> Welcome to a bilingual lexicon of <big><b>Mirad</b></big>. Formerly known as '''Unilingua''', Mirad is an artificially constructed auxiliary language ([[Constructed language|conlang]]) developed originally by Paris-based author Noubar Agopoff [http://www.europalingua.eu] as a ''serious'' medium for easy, regular, expressive, and logical international communication. This lexicon is a revision of the Agapoff's lexicon with over 80,000 word/expression pairings. It is a companion to the [[Mirad_Grammar|Mirad Grammar]] Wikibook. [[File:The Earth seen from Apollo 17.jpg|thumb|right|'''Yubjo, ha mir gonbio yansauna gabyuxea dalzeyn.''' (''Soon, the world will share a common auxiliary language.'')]] </noinclude> <div style="background: lightyellow;{{text default color}} border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}}; font-size:smaller;"> * [[/Mirad-English-A]] {{stage short|100%}} * [[/Mirad-English-B]] {{stage short|100%}} * [[/Mirad-English-C]] {{stage short|100%}} * [[/Mirad-English-D]] {{stage short|100%}} * [[/Mirad-English-E]] {{stage short|100%}} * [[/Mirad-English-F]] {{stage short|100%}} * [[/Mirad-English-G]] {{stage short|100%}} * [[/Mirad-English-H]] {{stage short|100%}} * [[/Mirad-English-I]] {{stage short|100%}} * [[/Mirad-English-J]] {{stage short|100%}} * [[/Mirad-English-K]] {{stage short|100%}} * [[/Mirad-English-L]] {{stage short|100%}} * [[/Mirad-English-M]] {{stage short|100%}} * [[/Mirad-English-N]] {{stage short|100%}} * [[/Mirad-English-O]] {{stage short|100%}} * [[/Mirad-English-P]] {{stage short|100%}} * [[/Mirad-English-Q]] {{stage short|100%}} * [[/Mirad-English-R]] {{stage short|100%}} * [[/Mirad-English-S]] {{stage short|100%}} * [[/Mirad-English-T]] {{stage short|100%}} * [[/Mirad-English-U]] {{stage short|100%}} * [[/Mirad-English-V]] {{stage short|100%}} * [[/Mirad-English-W]] {{stage short|100%}} * [[/Mirad-English-X]] {{stage short|100%}} * [[/Mirad-English-Y]] {{stage short|100%}} * [[/Mirad-English-Z]] {{stage short|100%}} * [[/English-Mirad-A]] {{stage short|100%}} * [[/English-Mirad-B]] {{stage short|100%}} * [[/English-Mirad-C]] {{stage short|100%}} * [[/English-Mirad-D]] {{stage short|100%}} * [[/English-Mirad-E]] {{stage short|100%}} * [[/English-Mirad-F]] {{stage short|100%}} * [[/English-Mirad-G]] {{stage short|100%}} * [[/English-Mirad-H]] {{stage short|100%}} * [[/English-Mirad-I]] {{stage short|100%}} * [[/English-Mirad-J]] {{stage short|100%}} * [[/English-Mirad-K]] {{stage short|100%}} * [[/English-Mirad-L]] {{stage short|100%}} * [[/English-Mirad-M]] {{stage short|100%}} * [[/English-Mirad-N]] {{stage short|100%}} * [[/English-Mirad-O]] {{stage short|100%}} * [[/English-Mirad-P]] {{stage short|100%}} * [[/English-Mirad-Q]] {{stage short|100%}} * [[/English-Mirad-R]] {{stage short|100%}} * [[/English-Mirad-S]] {{stage short|100%}} * [[/English-Mirad-T]] {{stage short|100%}} * [[/English-Mirad-U]] {{stage short|100%}} * [[/English-Mirad-V]] {{stage short|100%}} * [[/English-Mirad-W]] {{stage short|100%}} * [[/English-Mirad-X]] {{stage short|100%}} * [[/English-Mirad-Y]] {{stage short|100%}} * [[/English-Mirad-Z]] {{stage short|100%}} </div> == External Links == * [[Mirad_Grammar | Mirad Grammar (a wikibook)]] * [[Mirad|Earlier version of Mirad (Unilingua)]] * [http://openlibrary.org/authors/OL2124066A/Noubar_Agopoff Noubar Agopoff, author of Unilingua] * [[Wikipedia: Constructed_Language]] * [[Mirad_Thesaurus | Mirad Thesaurus (a wikibook)]] 8rst8tnp8zc30qgwsdc862qlopdw85i 4670097 4670096 2026-09-14T19:43:46Z Tyoyafud 6233 4670097 wikitext text/x-wiki {{shelves|Mirad}} <noinclude> {{Alphabetical|M}} {{status|100%}} {{Chapter navigation with TOC||Mirad-English-A|}} {{Book search | style=image}} {{Caution|This is outdated material. A more current dictionary can be found at [[Mirad_Grammar|Mirad Grammar]].}} </noinclude> Welcome to a bilingual lexicon of <big><b>Mirad</b></big>. Formerly known as '''Unilingua''', Mirad is an artificially constructed auxiliary language ([[Constructed language|conlang]]) developed originally by Paris-based author Noubar Agopoff [http://www.europalingua.eu] as a ''serious'' medium for easy, regular, expressive, and logical international communication. This lexicon is a revision of the Agapoff's lexicon with over 80,000 word/expression pairings. It is a companion to the [[Mirad_Grammar|Mirad Grammar]] Wikibook. [[File:The Earth seen from Apollo 17.jpg|thumb|right|'''Yubjo, ha mir gonbio yansauna gabyuxea dalzeyn.''' (''Soon, the world will share a common auxiliary language.'')]] </noinclude> <div style="background: lightyellow;{{text default color}} border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}}; font-size:smaller;"> * [[/Mirad-English-A]] {{stage short|100%}} * [[/Mirad-English-B]] {{stage short|100%}} * [[/Mirad-English-C]] {{stage short|100%}} * [[/Mirad-English-D]] {{stage short|100%}} * [[/Mirad-English-E]] {{stage short|100%}} * [[/Mirad-English-F]] {{stage short|100%}} * [[/Mirad-English-G]] {{stage short|100%}} * [[/Mirad-English-H]] {{stage short|100%}} * [[/Mirad-English-I]] {{stage short|100%}} * [[/Mirad-English-J]] {{stage short|100%}} * [[/Mirad-English-K]] {{stage short|100%}} * [[/Mirad-English-L]] {{stage short|100%}} * [[/Mirad-English-M]] {{stage short|100%}} * [[/Mirad-English-N]] {{stage short|100%}} * [[/Mirad-English-O]] {{stage short|100%}} * [[/Mirad-English-P]] {{stage short|100%}} * [[/Mirad-English-Q]] {{stage short|100%}} * [[/Mirad-English-R]] {{stage short|100%}} * [[/Mirad-English-S]] {{stage short|100%}} * [[/Mirad-English-T]] {{stage short|100%}} * [[/Mirad-English-U]] {{stage short|100%}} * [[/Mirad-English-V]] {{stage short|100%}} * [[/Mirad-English-W]] {{stage short|100%}} * [[/Mirad-English-X]] {{stage short|100%}} * [[/Mirad-English-Y]] {{stage short|100%}} * [[/Mirad-English-Z]] {{stage short|100%}} * [[/English-Mirad-A]] {{stage short|100%}} * [[/English-Mirad-B]] {{stage short|100%}} * [[/English-Mirad-C]] {{stage short|100%}} * [[/English-Mirad-D]] {{stage short|100%}} * [[/English-Mirad-E]] {{stage short|100%}} * [[/English-Mirad-F]] {{stage short|100%}} * [[/English-Mirad-G]] {{stage short|100%}} * [[/English-Mirad-H]] {{stage short|100%}} * [[/English-Mirad-I]] {{stage short|100%}} * [[/English-Mirad-J]] {{stage short|100%}} * [[/English-Mirad-K]] {{stage short|100%}} * [[/English-Mirad-L]] {{stage short|100%}} * [[/English-Mirad-M]] {{stage short|100%}} * [[/English-Mirad-N]] {{stage short|100%}} * [[/English-Mirad-O]] {{stage short|100%}} * [[/English-Mirad-P]] {{stage short|100%}} * [[/English-Mirad-Q]] {{stage short|100%}} * [[/English-Mirad-R]] {{stage short|100%}} * [[/English-Mirad-S]] {{stage short|100%}} * [[/English-Mirad-T]] {{stage short|100%}} * [[/English-Mirad-U]] {{stage short|100%}} * [[/English-Mirad-V]] {{stage short|100%}} * [[/English-Mirad-W]] {{stage short|100%}} * [[/English-Mirad-X]] {{stage short|100%}} * [[/English-Mirad-Y]] {{stage short|100%}} * [[/English-Mirad-Z]] {{stage short|100%}} </div> == External Links == * [[Mirad_Grammar | Mirad Grammar (a wikibook)]] * [[Mirad|Earlier version of Mirad (Unilingua)]] * [http://openlibrary.org/authors/OL2124066A/Noubar_Agopoff Noubar Agopoff, author of Unilingua] * [[Wikipedia: Constructed_Language]] * [[Mirad_Thesaurus | Mirad Thesaurus (a wikibook)]] g8blehbi6hzboklpckaatkrxkwg9esa 4670098 4670097 2026-09-14T19:45:20Z Tyoyafud 6233 4670098 wikitext text/x-wiki {{shelves|Mirad}} <noinclude> {{Alphabetical|M}} {{status|100%}} {{Chapter navigation with TOC||Mirad-English-A|}} {{Book search | style=image}} {{Caution|This is outdated material. A more current dictionary can be found at [[Mirad_Grammar|Mirad Grammar]].}} </noinclude> Welcome to a bilingual lexicon of <big><b>Mirad</b></big>. Formerly known as '''Unilingua''', Mirad is an artificially constructed auxiliary language ([[Constructed language|conlang]]) developed originally by Paris-based author Noubar Agopoff [http://www.europalingua.eu] as a ''serious'' medium for easy, regular, expressive, and logical international communication. This lexicon is a revision of the Agapoff's lexicon with nearly 150,000 word/expression pairings. It is a companion to the [[Mirad_Grammar|Mirad Grammar]] Wikibook. [[File:The Earth seen from Apollo 17.jpg|thumb|right|'''Yubjo, ha mir gonbio yansauna gabyuxea dalzeyn.''' (''Soon, the world will share a common auxiliary language.'')]] </noinclude> <div style="background: lightyellow;{{text default color}} border: solid blue 2px; {{column-count|2}};{{column-rule|2px solid blue}}; font-size:smaller;"> * [[/Mirad-English-A]] {{stage short|100%}} * [[/Mirad-English-B]] {{stage short|100%}} * [[/Mirad-English-C]] {{stage short|100%}} * [[/Mirad-English-D]] {{stage short|100%}} * [[/Mirad-English-E]] {{stage short|100%}} * [[/Mirad-English-F]] {{stage short|100%}} * [[/Mirad-English-G]] {{stage short|100%}} * [[/Mirad-English-H]] {{stage short|100%}} * [[/Mirad-English-I]] {{stage short|100%}} * [[/Mirad-English-J]] {{stage short|100%}} * [[/Mirad-English-K]] {{stage short|100%}} * [[/Mirad-English-L]] {{stage short|100%}} * [[/Mirad-English-M]] {{stage short|100%}} * [[/Mirad-English-N]] {{stage short|100%}} * [[/Mirad-English-O]] {{stage short|100%}} * [[/Mirad-English-P]] {{stage short|100%}} * [[/Mirad-English-Q]] {{stage short|100%}} * [[/Mirad-English-R]] {{stage short|100%}} * [[/Mirad-English-S]] {{stage short|100%}} * [[/Mirad-English-T]] {{stage short|100%}} * [[/Mirad-English-U]] {{stage short|100%}} * [[/Mirad-English-V]] {{stage short|100%}} * [[/Mirad-English-W]] {{stage short|100%}} * [[/Mirad-English-X]] {{stage short|100%}} * [[/Mirad-English-Y]] {{stage short|100%}} * [[/Mirad-English-Z]] {{stage short|100%}} * [[/English-Mirad-A]] {{stage short|100%}} * [[/English-Mirad-B]] {{stage short|100%}} * [[/English-Mirad-C]] {{stage short|100%}} * [[/English-Mirad-D]] {{stage short|100%}} * [[/English-Mirad-E]] {{stage short|100%}} * [[/English-Mirad-F]] {{stage short|100%}} * [[/English-Mirad-G]] {{stage short|100%}} * [[/English-Mirad-H]] {{stage short|100%}} * [[/English-Mirad-I]] {{stage short|100%}} * [[/English-Mirad-J]] {{stage short|100%}} * [[/English-Mirad-K]] {{stage short|100%}} * [[/English-Mirad-L]] {{stage short|100%}} * [[/English-Mirad-M]] {{stage short|100%}} * [[/English-Mirad-N]] {{stage short|100%}} * [[/English-Mirad-O]] {{stage short|100%}} * [[/English-Mirad-P]] {{stage short|100%}} * [[/English-Mirad-Q]] {{stage short|100%}} * [[/English-Mirad-R]] {{stage short|100%}} * [[/English-Mirad-S]] {{stage short|100%}} * [[/English-Mirad-T]] {{stage short|100%}} * [[/English-Mirad-U]] {{stage short|100%}} * [[/English-Mirad-V]] {{stage short|100%}} * [[/English-Mirad-W]] {{stage short|100%}} * [[/English-Mirad-X]] {{stage short|100%}} * [[/English-Mirad-Y]] {{stage short|100%}} * [[/English-Mirad-Z]] {{stage short|100%}} </div> == External Links == * [[Mirad_Grammar | Mirad Grammar (a wikibook)]] * [[Mirad|Earlier version of Mirad (Unilingua)]] * [http://openlibrary.org/authors/OL2124066A/Noubar_Agopoff Noubar Agopoff, author of Unilingua] * [[Wikipedia: Constructed_Language]] * [[Mirad_Thesaurus | Mirad Thesaurus (a wikibook)]] 656agf9sw7kyzhmv4vdbd75xh952x6u User:Madéquis 2 468765 4670105 4424772 2026-09-14T22:14:11Z Mfield 753190 Mfield moved page [[User:Wheatley2]] to [[User:Madéquis]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Wheatley2|Wheatley2]]" to "[[Special:CentralAuth/Madéquis|Madéquis]]" 4424772 wikitext text/x-wiki {{userboxtop|Facts about me and my opinions}} {{User USA}} {{User Arizona}} {{userboxbottom}}{{Babel|es-0|en|la-2|it-1}} Heyo. I'm just a regular editor. My homewiki is the English Wikipedia, so check me out [[en:wikipedia:user:Wheatley2|there]]. 4axhni8qiqh70un6s6qpn6h5kvie6mg User:JJPMaster (bot)/markAdmins-Data.json 2 471107 4670062 4670000 2026-09-14T15:49:14Z JJPMaster (bot) 3488561 Bot: Updating markAdmins data 4670062 json application/json { ".snoopy.": [ "global-rollbacker", "editor" ], "1234qwer1234qwer4": [ "editor", "steward" ], "157yagz5r48a5f1a1f": [ "editor" ], "1997kB": [ "global-rollbacker", "global-renamer", "editor" ], "1F616EMO": [ "global-renamer" ], "1exec1": [ "transwiki", "editor" ], "1sfoerster": [ "editor" ], "20041027 tatsu": [ "global-rollbacker" ], "2005-Fan": [ "transwiki", "editor", "uploader" ], "331dot": [ "global-renamer" ], "33rogers": [ "editor" ], "3MMPEYTON": [ "editor" ], "4PlayerChess": [ "autoreview" ], "4pillars": [ "editor" ], "511KeV": [ "global-rollbacker" ], "94rain": [ "global-rollbacker", "editor" ], "A R King": [ "editor" ], "A Sulaiman Z": [ "editor" ], "A.K.Karthikeyan": [ "editor" ], "A09": [ "steward" ], "AFBorchert": [ "vrt-permissions" ], "AIProf": [ "editor" ], "ALittleSlow": [ "autoreview" ], "AManWithNoPlan": [ "editor" ], "ATannedBurger": [ "global-renamer" ], "AVRS": [ "editor" ], "Aafi": [ "global-renamer", "vrt-permissions" ], "Abenwagner": [ "editor" ], "Abigor": [ "editor" ], "Abitt002": [ "editor" ], "Abyssal": [ "editor" ], "Acagastya": [ "autoreview" ], "Acalamari": [ "global-renamer" ], "Acarologiste": [ "editor" ], "AcidBat": [ "editor" ], "Acrow005": [ "editor" ], "Actualist": [ "editor" ], "Adalvis": [ "editor" ], "Adart001": [ "editor" ], "Adavyd": [ "global-renamer" ], "Addihockey10": [ "editor" ], "Addihockey10 (automated)": [ "editor" ], "Adrignola": [ "editor" ], "AdventureWriter": [ "editor" ], "Aelxen": [ "global-renamer" ], "Aferg006": [ "editor" ], "Afett001": [ "editor" ], "Affe2011": [ "global-rollbacker" ], "Agnerf": [ "editor", "uploader" ], "Agpires": [ "editor" ], "Agricola": [ "editor" ], "Agusbou2015": [ "editor" ], "Ah3kal": [ "editor" ], "Ahecht": [ "global-renamer", "vrt-permissions" ], "Ahonc": [ "global-renamer", "vrt-permissions" ], "AiClassEland": [ "editor" ], "Ainz Ooal Gown": [ "editor" ], "Airpmb": [ "editor" ], "Ajraddatz": [ "editor", "steward" ], "Aka": [ "vrt-permissions" ], "Alanah.97": [ "autoreview" ], "Albertoleoncio": [ "steward", "vrt-permissions" ], "Albmont": [ "editor" ], "Alchimista": [ "vrt-permissions" ], "Aldnonymous": [ "editor" ], "Aledownload": [ "editor" ], "Alexlatham96": [ "editor" ], "Alextejthompson": [ "editor" ], "Alison": [ "global-rollbacker" ], "AllenZh": [ "editor" ], "Alphama": [ "global-renamer" ], "AlvaroMolina": [ "editor" ], "AmandaNP": [ "steward" ], "Ambrevar": [ "editor" ], "Amcgail": [ "editor" ], "Ameisenigel": [ "global-rollbacker", "global-sysop", "ombuds", "editor", "vrt-permissions" ], "AmieKim": [ "editor" ], "Amire80": [ "global-sysop" ], "Anachronist": [ "editor", "vrt-permissions" ], "Ancient9983": [ "editor" ], "Andrei Stroe": [ "vrt-permissions" ], "Andrew janke": [ "editor" ], "Andriy.v": [ "vrt-permissions" ], "Andyross": [ "editor" ], "Anil Shaligram": [ "editor" ], "Animajosser": [ "editor" ], "Anne Correia": [ "editor" ], "Anonim Şahıs": [ "editor" ], "Anonymity": [ "editor" ], "AnotherEditor144": [ "autoreview" ], "Antanana": [ "vrt-permissions" ], "Antandrus": [ "editor" ], "Anthere": [ "editor" ], "AntiCompositeNumber": [ "steward", "vrt-permissions" ], "Antonizoon": [ "editor" ], "Antonw": [ "editor" ], "Apfelmus": [ "editor" ], "Aphoneyclimber": [ "editor" ], "Aplucas0703": [ "vrt-permissions" ], "Apocheir": [ "editor" ], "Aqurs1": [ "global-rollbacker", "global-renamer", "global-sysop" ], "AramilFeraxa": [ "steward" ], "Arch dude": [ "editor" ], "Archolman": [ "editor" ], "Arcticocean": [ "ombuds" ], "ArdentPerf": [ "editor", "uploader" ], "Arian": [ "global-renamer" ], "Arlen22": [ "transwiki", "editor" ], "Armchair": [ "editor" ], "Arno-nl": [ "editor" ], "Arrow303": [ "vrt-permissions" ], "Arthurvogel": [ "editor" ], "Artoria2e5": [ "editor" ], "Arturoiochoam": [ "editor" ], "Arunreginald": [ "editor" ], "AshLin": [ "editor" ], "Atcovi": [ "sysop", "global-rollbacker" ], "Athrash": [ "editor" ], "Atiedebee": [ "editor" ], "Atlas.Spheres": [ "editor" ], "Atsme": [ "vrt-permissions" ], "Auremel": [ "editor" ], "Austncorp": [ "editor" ], "AuthorsAndContributorsBot": [ "autoreview" ], "Avicennasis": [ "editor" ], "Avraham": [ "global-renamer", "editor" ], "Awesome Princess": [ "editor" ], "Axpde": [ "editor" ], "Az1568": [ "global-rollbacker" ], "Az2008": [ "editor" ], "Azotochtli": [ "editor" ], "B.Korlah": [ "editor" ], "BD2412": [ "editor" ], "BORGATO Pierandrea": [ "editor" ], "BRPever": [ "global-rollbacker", "global-sysop" ], "BRUTE": [ "editor" ], "Backfromquadrangle": [ "editor" ], "Baiji": [ "global-rollbacker" ], "Bakasakali": [ "editor" ], "Balaji.md au": [ "editor" ], "BarkingFish": [ "editor" ], "Barras": [ "steward" ], "Base": [ "steward", "vrt-permissions" ], "Bastique": [ "editor" ], "Bautsch": [ "editor" ], "BeardMD": [ "editor" ], "Beetstra": [ "global-rollbacker" ], "BenTels": [ "editor" ], "Bencemac": [ "global-rollbacker", "global-renamer", "vrt-permissions" ], "Benjamin J. Burger": [ "editor" ], "Benjamin.doe": [ "editor" ], "Benrattray": [ "editor" ], "Benson Muite": [ "editor" ], "Bentbracke": [ "editor" ], "Bequw": [ "editor" ], "Bert Niehaus": [ "autoreview" ], "BethNaught": [ "editor" ], "Beuc": [ "editor" ], "Bhardwaj Anil": [ "autoreview" ], "BiT": [ "editor" ], "Bigdelboy": [ "transwiki" ], "Bignose~enwikibooks": [ "editor" ], "Billinghurst": [ "editor" ], "Billymac00": [ "editor" ], "Biplab Anand": [ "global-rollbacker", "global-sysop" ], "Birdofadozentides": [ "editor" ], "BitterAsianMan": [ "editor" ], "Bluefoxicy": [ "editor" ], "Bluerasberry": [ "vrt-permissions" ], "BobChan2": [ "editor" ], "Bobby Cohn": [ "global-renamer" ], "Bodhisattwa": [ "vrt-permissions" ], "BoldLuis": [ "editor" ], "Borhan": [ "global-rollbacker", "vrt-permissions" ], "Boris1951zz": [ "editor" ], "Bpenn005": [ "editor" ], "Brewster239": [ "global-rollbacker" ], "Bridget": [ "global-rollbacker", "editor" ], "Brienna.Hall77": [ "editor" ], "Brim": [ "editor" ], "Brittanys": [ "editor" ], "Bronwynh": [ "editor" ], "Bsadowski1": [ "editor", "steward" ], "Buddpaul": [ "editor" ], "Bullercruz1": [ "editor" ], "Buncic": [ "editor" ], "Bunnypranav": [ "global-renamer" ], "BurakD53": [ "editor" ], "Burkep": [ "editor" ], "ByGrace": [ "editor" ], "Bykim2012": [ "editor" ], "C1203sc": [ "editor" ], "CJakes1": [ "editor" ], "CKWG - Ada Magica": [ "editor" ], "Cabayi": [ "global-renamer" ], "CaitlinCarbury": [ "autoreview" ], "CalciumTetraoxide": [ "editor" ], "CalendulaAsteraceae": [ "editor" ], "Caliburn": [ "editor" ], "CallumPoole": [ "editor" ], "Calvin.Andrus": [ "editor" ], "Cameron11598": [ "editor" ], "Camouflaged Mirage": [ "editor" ], "Captain-tucker": [ "vrt-permissions" ], "Carlo.milanesi": [ "editor" ], "Caro de Segeda": [ "editor" ], "CarsracBot": [ "editor" ], "Catermark": [ "editor" ], "Cecila123": [ "autoreview" ], "Cedar101": [ "editor" ], "Champion": [ "editor" ], "Chaojidage": [ "editor" ], "Chaojoker": [ "editor" ], "Chaotic Enby": [ "autoreview", "global-renamer" ], "Chapka": [ "editor" ], "Charidri": [ "editor" ], "Charleneabeana": [ "autoreview" ], "Charles Jeffrey Danoff": [ "editor" ], "CharlesHoffman": [ "editor" ], "Chazz": [ "editor" ], "Chelseafan528": [ "editor" ], "Cheryl2012": [ "editor" ], "Chescargot": [ "vrt-permissions" ], "Chi Sigma": [ "editor" ], "Chinmayee Mishra": [ "ombuds" ], "Chongkian": [ "editor" ], "Chowbok": [ "editor" ], "ChrisHodgesUK": [ "editor" ], "ChrisWallace": [ "editor" ], "Chriswaterguy": [ "editor" ], "Chuckhoffmann": [ "editor" ], "Church of emacs": [ "global-rollbacker" ], "Cic": [ "editor" ], "Ciell": [ "vrt-permissions" ], "Cilantrohead": [ "editor" ], "Cintilo": [ "editor" ], "Circuit dreamer": [ "editor" ], "Circuit-fantasist": [ "editor" ], "Civvì": [ "global-rollbacker", "global-renamer" ], "Ckwalker": [ "editor" ], "Clairerusselll": [ "autoreview" ], "Cloidl": [ "autoreview" ], "Cmsmcq": [ "editor" ], "Cnrowley": [ "editor" ], "CocoaZen": [ "editor" ], "CoconutOctopus": [ "global-renamer" ], "Codename Noreste": [ "sysop", "global-rollbacker", "interface-admin" ], "Codename Noroeste": [ "editor" ], "Codinghead": [ "editor" ], "CommonsDelinker": [ "autoreview" ], "Comp.arch": [ "editor" ], "Conan": [ "editor" ], "Cormullion": [ "editor" ], "Count Count": [ "steward" ], "Coupe": [ "editor" ], "Courcelles": [ "global-rollbacker", "editor" ], "CptViraj": [ "global-rollbacker", "global-renamer", "global-sysop" ], "Craignewland": [ "editor" ], "Craxd1": [ "editor" ], "CrazyEddy": [ "editor" ], "Cremastra": [ "editor" ], "Cremastra (JWB)": [ "autoreview" ], "Cromium": [ "editor" ], "Cromwellt": [ "editor" ], "Crystal East": [ "editor" ], "Cttcraig": [ "editor" ], "Cultures17": [ "editor" ], "Cultures33": [ "editor" ], "Cultures4": [ "editor" ], "Cultures92": [ "editor" ], "CunninghamJohn": [ "autoreview" ], "Curtaintoad": [ "editor" ], "Cyberpower678": [ "global-rollbacker" ], "Céréales Killer": [ "global-renamer" ], "D1n05aur5 4ever": [ "editor" ], "DARIO SEVERI": [ "autoreview", "global-rollbacker", "global-sysop" ], "DC Slagel": [ "editor" ], "DCB": [ "vrt-permissions" ], "DD 8630": [ "editor" ], "DERDAKI ILIAS": [ "global-renamer" ], "DGerman": [ "editor" ], "DVD206": [ "editor" ], "DZadventiste": [ "editor" ], "DaB.": [ "vrt-permissions" ], "DaGizza": [ "editor" ], "Dagana4": [ "autoreview" ], "Dallas1278": [ "editor" ], "Dan Koehl": [ "editor" ], "Dan Polansky": [ "editor" ], "Dan-aka-jack": [ "editor" ], "DanCherek": [ "autoreview" ], "Danarwaller": [ "editor" ], "DanielWhernchend": [ "editor" ], "Danielravennest": [ "editor" ], "Danilka5469": [ "editor" ], "Daniuu": [ "steward", "vrt-permissions" ], "DannyS712": [ "editor" ], "Darklama": [ "editor" ], "Darklilac": [ "editor" ], "Darrelljon": [ "editor" ], "DarwIn": [ "vrt-permissions" ], "Dave Braunschweig": [ "editor" ], "David L Davis": [ "editor" ], "DavidCary": [ "editor" ], "DavidLevinson": [ "editor" ], "Davidbena": [ "editor" ], "Dayshade": [ "editor" ], "Dchmelik": [ "editor" ], "Dcljr": [ "editor" ], "Dcondon": [ "editor" ], "Deepfriedokra": [ "global-renamer" ], "DejaVu": [ "global-rollbacker" ], "DennisDaniels": [ "editor" ], "Dennisblu": [ "uploader" ], "Denniss": [ "editor" ], "Der-Wir-Ing": [ "global-rollbacker" ], "DerHexer": [ "editor", "steward", "vrt-permissions" ], "Derek Andrews": [ "editor" ], "Designermadsen": [ "editor" ], "Deu": [ "global-rollbacker" ], "Dexxor": [ "editor" ], "Dezedien": [ "vrt-permissions" ], "Diandramartin": [ "autoreview" ], "Didym": [ "vrt-permissions" ], "Dino Bronto Rex": [ "editor" ], "Dirk Hünniger": [ "editor" ], "Divinations": [ "global-rollbacker" ], "Djb": [ "editor" ], "Djbrown": [ "editor" ], "Dlrohrer2003": [ "editor" ], "Dmccreary": [ "editor" ], "Doc Taxon": [ "vrt-permissions" ], "Doctorxgc": [ "editor" ], "Dom walden": [ "editor" ], "Domdomegg": [ "editor" ], "DominikTurner": [ "autoreview" ], "DonaldKronos": [ "editor" ], "DoubleGrazing": [ "global-renamer" ], "Doubleotoo": [ "editor" ], "Downdate": [ "editor" ], "Dr-Taher": [ "global-renamer" ], "Dr.Unclear": [ "editor" ], "Dreftymac": [ "editor" ], "Drpundir": [ "editor" ], "Drummingman": [ "global-rollbacker", "global-renamer", "vrt-permissions" ], "DuLithgow": [ "editor" ], "Dungodung": [ "vrt-permissions" ], "Duplode": [ "editor" ], "DustDFG": [ "editor" ], "Dyolf77": [ "vrt-permissions" ], "EDCU320RHT": [ "editor" ], "EDUC320 Sylvialiang": [ "editor" ], "EE JRW": [ "editor" ], "EMAD KAYYAM": [ "editor" ], "EPIC": [ "steward" ], "EarlGrey2005": [ "autoreview" ], "Ebe123": [ "editor" ], "Ecarew": [ "editor" ], "Edgar181": [ "editor" ], "Edit filter": [ "sysop" ], "EdoDodo": [ "editor" ], "Edornbush": [ "editor" ], "Edriiic": [ "editor" ], "Efex": [ "editor" ], "Efex3": [ "editor" ], "Effeietsanders": [ "editor", "vrt-permissions" ], "EggRoll97": [ "editor" ], "Egil": [ "editor" ], "Eihel": [ "global-rollbacker", "editor" ], "Ejs-80": [ "global-renamer" ], "Ekaroleski": [ "editor" ], "Elaurier": [ "editor" ], "Elcobbola": [ "vrt-permissions" ], "Electro": [ "editor" ], "ElfSnail123": [ "editor" ], "Eli bubo4ka": [ "editor" ], "Eliarani": [ "editor" ], "Elli": [ "global-renamer", "vrt-permissions" ], "Ellywa": [ "vrt-permissions" ], "Elmacenderesi": [ "vrt-permissions" ], "Elton": [ "editor", "steward" ], "Emha": [ "vrt-permissions" ], "EmilymDaniel": [ "autoreview" ], "Empire3131": [ "editor" ], "Encik Tekateki": [ "editor" ], "Enzomartinelli": [ "editor" ], "Eric Evers": [ "editor" ], "Erigena": [ "editor" ], "Erik Baas": [ "editor" ], "ErinNik": [ "editor" ], "Erinamukuta": [ "editor" ], "ErrantX": [ "editor" ], "EruannoVG": [ "editor" ], "Espen180": [ "editor" ], "Eta Carinae": [ "global-renamer" ], "Ethacke1": [ "editor" ], "Eumolpo": [ "editor" ], "Euphydryas": [ "global-renamer" ], "Eurodyne": [ "editor" ], "EvDawg93": [ "editor" ], "EvanCarroll": [ "editor" ], "Ewen": [ "editor" ], "Exusiai": [ "global-renamer" ], "Ezarate": [ "global-rollbacker", "vrt-permissions" ], "Fabartus": [ "editor", "uploader" ], "Faendalimas": [ "ombuds" ], "Fasten": [ "editor" ], "Faster than Thunder": [ "editor" ], "Fathoms Below": [ "global-renamer" ], "Fcorthay": [ "editor" ], "Fdena": [ "editor" ], "Federhalter": [ "editor" ], "Fehufanga": [ "global-rollbacker", "global-sysop" ], "Fekarp": [ "editor" ], "Fephisto": [ "editor" ], "Ferien": [ "global-rollbacker" ], "Fernando2812l": [ "editor" ], "Fernly": [ "editor" ], "Ffion B Thompson": [ "autoreview" ], "Fimatic": [ "editor" ], "FischX": [ "editor" ], "Fishpi": [ "editor" ], "Flattail": [ "editor" ], "FlightTime": [ "global-renamer" ], "Flolit": [ "editor" ], "Fluffernutter": [ "vrt-permissions" ], "FlyingAce": [ "global-rollbacker" ], "Fountain Pen": [ "editor" ], "Fr33kman": [ "editor" ], "FrancisFromGaspesie": [ "editor" ], "Frantsch": [ "autoreview" ], "Fredericknortje": [ "editor" ], "Fritzlein~enwikibooks": [ "editor" ], "Frozen Wind": [ "transwiki", "editor" ], "Ftaljaard": [ "editor" ], "Ftiercel": [ "editor" ], "Furrykef": [ "editor" ], "GKFX": [ "editor" ], "Galahad": [ "global-rollbacker" ], "Gampe": [ "vrt-permissions" ], "Ganímedes": [ "vrt-permissions" ], "Gary Dorman Wiggins": [ "editor", "uploader" ], "Garygaryj": [ "editor" ], "Gat lombard": [ "editor" ], "Gc211": [ "editor" ], "Geagea": [ "vrt-permissions" ], "Geekgirl": [ "editor" ], "GemmaCampbell": [ "autoreview" ], "Geoff Plourde": [ "editor" ], "Geofferybard": [ "transwiki", "editor" ], "GerbenRienk": [ "editor" ], "Gerges": [ "global-rollbacker", "global-renamer" ], "Germany Poul Ah": [ "editor" ], "Gertbuschmann": [ "editor" ], "Ggee0621": [ "editor" ], "Gifnk dlm 2020": [ "editor", "uploader" ], "Girdi": [ "editor" ], "Glaisher": [ "editor" ], "Glane23": [ "vrt-permissions" ], "Gleb713": [ "autoreview" ], "Glich": [ "editor" ], "Gllyons": [ "editor" ], "Gmasterman": [ "editor" ], "GoblinInventor": [ "editor" ], "Godsy": [ "autoreview" ], "Good afternoon": [ "editor" ], "GoreyCat": [ "editor" ], "GorgeUbuasha": [ "editor" ], "GorillaWarfare": [ "vrt-permissions" ], "Gott wisst": [ "editor" ], "Goulart": [ "editor" ], "Gpkp": [ "editor" ], "Gracebaysinger": [ "editor" ], "Graeme E. Smith": [ "editor" ], "Greatswrd": [ "editor" ], "GreenC": [ "editor" ], "Greenbreen": [ "editor" ], "Greenman": [ "editor" ], "GregXenon01": [ "editor" ], "Gretski247": [ "editor" ], "GreyCat": [ "editor" ], "Grin": [ "vrt-permissions" ], "Growl41": [ "editor" ], "Guaka": [ "editor" ], "Guanaco": [ "editor" ], "GuillermoHazebrouck": [ "editor" ], "Guus": [ "editor" ], "Guy vandegrift": [ "editor" ], "Guywan": [ "editor" ], "Gzuufy": [ "editor" ], "HJ Mitchell": [ "autoreview" ], "HLand": [ "editor" ], "HYanWong": [ "editor" ], "Ha98574": [ "editor" ], "Hagindaz": [ "editor" ], "HakanIST": [ "editor", "steward" ], "Hamish": [ "global-rollbacker", "global-renamer", "vrt-permissions" ], "Hanay": [ "vrt-permissions" ], "Hannes Röst": [ "editor" ], "Hans Adler": [ "editor" ], "Haoreima": [ "editor" ], "Happy-melon": [ "editor" ], "Harry Wood": [ "editor" ], "Harrybrowne1986": [ "editor" ], "Harv4": [ "editor" ], "Hasley": [ "editor" ], "Hazard-SJ": [ "global-rollbacker" ], "He7d3r": [ "editor" ], "HenkvD": [ "editor" ], "Herbythyme": [ "editor" ], "Hercule": [ "editor" ], "Herman darman": [ "editor" ], "HerrHartmuth": [ "editor" ], "Hethrir": [ "editor" ], "HgDeviasse": [ "editor" ], "Hippias": [ "editor" ], "Hliow": [ "autoreview" ], "Holder": [ "global-rollbacker", "global-sysop" ], "Holdoffhunger": [ "editor" ], "Hoo man": [ "editor", "steward" ], "HouseBlaster": [ "global-renamer" ], "Howard Beale": [ "editor" ], "Hpon": [ "editor" ], "Hrkalona": [ "autoreview" ], "Hskeet": [ "editor", "uploader" ], "Htm": [ "vrt-permissions" ], "Hugetim": [ "editor" ], "Humaira Ali": [ "editor" ], "Huntertur": [ "editor" ], "Hydriz": [ "global-rollbacker" ], "IB Muazzam": [ "editor" ], "Ibidthewriter": [ "editor" ], "Ibrahim.ID": [ "global-renamer", "vrt-permissions" ], "Icetruck": [ "editor" ], "Icodense": [ "global-rollbacker", "global-sysop" ], "Idavidmiller": [ "editor" ], "Ideasman42": [ "editor" ], "Igna": [ "editor" ], "Ijon": [ "vrt-permissions" ], "Illusional": [ "editor" ], "Iluvatar": [ "global-rollbacker", "vrt-permissions" ], "Indiana": [ "editor" ], "Inductiveload": [ "editor" ], "Inertia6084": [ "autoreview" ], "Inferno986return": [ "editor" ], "Infinite0694": [ "global-rollbacker", "global-sysop" ], "Ingolemo": [ "editor" ], "Insignificantwrangler": [ "editor" ], "Internoob": [ "transwiki", "editor" ], "InverseHypercube": [ "editor" ], "Isenhand": [ "editor" ], "Ish ishwar": [ "editor" ], "Iste Praetor": [ "editor" ], "ItsNyoty": [ "vrt-permissions" ], "Itsmeyash31": [ "autoreview" ], "Itswikisam": [ "editor" ], "Itti": [ "global-renamer", "vrt-permissions" ], "Ixfd64": [ "editor" ], "J ansari": [ "global-rollbacker" ], "J.palacios.jean": [ "editor" ], "J36miles": [ "editor" ], "JBW": [ "global-renamer" ], "JCrue": [ "editor" ], "JJ12880": [ "editor" ], "JJMC89": [ "vrt-permissions" ], "JJPMaster": [ "sysop", "global-rollbacker", "global-renamer", "interface-admin", "vrt-permissions" ], "JJPMaster (test 1)": [ "autoreview" ], "JJohnson": [ "editor" ], "JJohnson1701": [ "editor" ], "JPPINTO": [ "editor" ], "Jack Frost": [ "vrt-permissions" ], "JackBot": [ "editor" ], "JackPotte": [ "sysop", "interface-admin" ], "Jackhand1": [ "autoreview" ], "Jacob J. Walker": [ "editor" ], "Jafeluv": [ "global-rollbacker", "editor" ], "Jake Park": [ "global-renamer" ], "Jakec": [ "editor" ], "JamesCrook": [ "editor" ], "JamesNZ": [ "editor" ], "Jamesofur": [ "global-rollbacker" ], "Jamesssss": [ "editor" ], "Jamzze": [ "editor" ], "Jan Myšák": [ "global-rollbacker" ], "Jan.duggan": [ "autoreview" ], "Janbery": [ "global-rollbacker", "vrt-permissions" ], "Janpha": [ "editor" ], "Janschejbal": [ "editor" ], "Jason.Cozens": [ "editor" ], "Jaspalkaler": [ "editor" ], "Jasper Deng": [ "global-rollbacker" ], "JavaHurricane": [ "global-rollbacker", "editor" ], "Javier Carro": [ "editor" ], "JavierCantero": [ "editor" ], "Jay Bolero": [ "editor" ], "Jazzmanian": [ "editor" ], "Jcb": [ "editor", "vrt-permissions" ], "Jcwf": [ "editor" ], "Jeff G.": [ "global-rollbacker", "editor" ], "Jeff1138": [ "editor" ], "Jellysandwich0": [ "editor" ], "JenVan": [ "editor" ], "JenniferPalacios": [ "editor" ], "Jenniferjkidd": [ "editor" ], "Jens Østergaard Petersen": [ "editor" ], "JeremyMcCracken": [ "editor" ], "Jeroenr": [ "editor" ], "Jerome Charles Potts": [ "editor" ], "Jerry vlntn": [ "editor" ], "Jesdisciple": [ "editor" ], "Jessephu": [ "editor" ], "Jfmantis": [ "editor" ], "Jianhui67": [ "global-rollbacker", "editor" ], "Jianhui67 public": [ "editor" ], "Jim Ashby": [ "autoreview" ], "JimKillock": [ "editor" ], "Jimbotyson": [ "editor" ], "Jimmy Xu": [ "vrt-permissions" ], "Jkauf007": [ "editor" ], "Jmdeschamps": [ "uploader" ], "Jnanaranjan sahu": [ "ombuds" ], "Jnewh001": [ "editor" ], "Jobin RV": [ "editor" ], "Joewiz": [ "editor" ], "Johannes Bo": [ "editor" ], "Johannnes89": [ "steward" ], "John Cross": [ "editor" ], "JohnMarcelo": [ "editor" ], "Johnkn63": [ "editor" ], "Johnwhelan": [ "editor" ], "Jokes Free4Me": [ "editor" ], "Jomegat": [ "editor" ], "Jon Harald Søby": [ "vrt-permissions" ], "Jon Kolbert": [ "steward", "vrt-permissions" ], "Jonathan Webley": [ "editor" ], "Jordan Brown": [ "editor" ], "JorisvS": [ "editor" ], "Josve05a": [ "vrt-permissions" ], "Jrincayc": [ "editor" ], "Jsnaree": [ "editor" ], "Jtneill": [ "editor" ], "JuethoBot": [ "autoreview" ], "Jugandi": [ "editor" ], "Jules*": [ "global-renamer" ], "Juliancolton": [ "global-rollbacker", "editor" ], "Jumark27": [ "editor" ], "JustTheFacts33": [ "editor" ], "Justlettersandnumbers": [ "global-renamer", "vrt-permissions" ], "K6ka": [ "global-rollbacker", "global-renamer" ], "Kadı": [ "global-renamer", "vrt-permissions" ], "Kai Burghardt": [ "editor" ], "Kaltenmeyer": [ "editor" ], "Kambai Akau": [ "editor" ], "Kanjy": [ "global-rollbacker", "editor" ], "Kapooht": [ "editor" ], "Karl Wick": [ "editor" ], "Karosent": [ "editor" ], "Kashkhan": [ "editor" ], "Kathryn Mary Nicholson": [ "autoreview" ], "Katiemgeorge": [ "editor" ], "Katyauchter": [ "editor" ], "Kaushlendratripathi": [ "editor" ], "Kaw8yh": [ "editor" ], "Kayau": [ "transwiki", "editor" ], "Kellen": [ "editor" ], "Kelti": [ "editor" ], "Kiefer.Wolfowitz": [ "editor" ], "Killarnee": [ "editor" ], "King of Hearts": [ "vrt-permissions" ], "Kingaustin07": [ "editor" ], "Kingofnuthin": [ "editor" ], "Kirito": [ "global-rollbacker", "editor" ], "Kittycataclysm": [ "sysop" ], "Kj cheetham": [ "global-renamer" ], "Kkmurray": [ "editor" ], "Kl-robertson": [ "editor" ], "Klaas van Buiten": [ "editor" ], "Knittedbees": [ "transwiki", "editor" ], "Knoppson": [ "autoreview" ], "Koantum": [ "editor" ], "Koavf": [ "sysop", "global-rollbacker" ], "Kodos": [ "editor" ], "KonstantinaG07": [ "editor", "steward" ], "Kowey": [ "editor" ], "KrakatoaKatie": [ "vrt-permissions" ], "Krd": [ "vrt-permissions" ], "Krdbot": [ "vrt-permissions" ], "Kri": [ "editor" ], "Krinkle": [ "global-rollbacker" ], "Kropotkine 113": [ "vrt-permissions" ], "Kruusamägi": [ "vrt-permissions" ], "Ktucker": [ "editor" ], "Kwamikagami": [ "editor" ], "Kwhitefoot": [ "editor" ], "Kylu": [ "editor" ], "Kızıl": [ "global-renamer" ], "L10nM4st3r": [ "editor" ], "LABoyd2": [ "editor" ], "LM.CR": [ "editor" ], "LR0725": [ "global-rollbacker", "global-sysop" ], "Ladislav": [ "editor" ], "Ladsgroup": [ "global-renamer" ], "Ladybug62": [ "editor" ], "Lagoset": [ "editor" ], "Larsnooden": [ "editor" ], "Laurianedani": [ "editor" ], "Lcraw005": [ "editor" ], "Ldo": [ "editor" ], "Leaderboard": [ "sysop", "global-renamer", "interface-admin" ], "Learnerktm": [ "editor" ], "Lechatjaune": [ "vrt-permissions" ], "Leighblackall": [ "editor" ], "Lemonaka": [ "global-rollbacker" ], "Lengel46": [ "editor" ], "Lentokonefani": [ "global-renamer" ], "LeoChiukl": [ "editor" ], "Leonard64": [ "uploader" ], "Leonidlednev": [ "autoreview", "global-rollbacker" ], "Leovanderven": [ "editor" ], "Lesless": [ "vrt-permissions" ], "Leyo": [ "global-rollbacker" ], "Lgriot": [ "editor" ], "Liam987": [ "editor" ], "Liao": [ "editor" ], "Libperry": [ "editor" ], "Limiza": [ "editor" ], "Litlok": [ "global-renamer" ], "Little Sunshine": [ "global-renamer" ], "Llakew": [ "editor" ], "LlamaAl": [ "editor" ], "Lobsteroh": [ "editor" ], "LodestarChariot2": [ "editor" ], "Lofty abyss": [ "global-rollbacker", "editor", "vrt-permissions" ], "Logictheo": [ "editor" ], "Lomita": [ "vrt-permissions" ], "Londonjackbooks": [ "editor" ], "Lovepeacejoy404": [ "editor" ], "Lp0 on fire": [ "autoreview", "global-rollbacker" ], "Lubaochuan": [ "editor" ], "Luckas Blade": [ "editor" ], "Lucystewpid": [ "autoreview" ], "Ludovic Brenta": [ "editor" ], "Ludovicocaldara": [ "editor", "uploader" ], "Lukas²³": [ "editor" ], "LukeCEL": [ "editor" ], "Lvova": [ "vrt-permissions" ], "Lwill031": [ "editor" ], "M7": [ "steward" ], "MARKELLOS": [ "vrt-permissions" ], "MBq": [ "global-renamer" ], "MF-Warburg": [ "global-rollbacker", "global-sysop", "editor" ], "MGA73": [ "vrt-permissions" ], "MIacono": [ "editor" ], "MNeuschaefer": [ "editor" ], "MS Sakib": [ "global-renamer", "vrt-permissions" ], "Mabdul": [ "transwiki", "editor", "uploader" ], "Madisonhen": [ "autoreview" ], "Magda.dagda": [ "editor" ], "Magnus Manske": [ "editor" ], "Mahagaja": [ "editor" ], "MaikoM93": [ "editor" ], "Maire": [ "global-renamer" ], "Malarz pl": [ "global-renamer" ], "Manchiu": [ "global-renamer" ], "MandoRachovitsa": [ "autoreview" ], "Mandy Hopkins": [ "editor" ], "ManuelGR": [ "editor" ], "MarcGarver": [ "sysop", "checkuser", "steward" ], "Marco Klunder": [ "editor" ], "MarcoAurelio": [ "editor" ], "Marcus Cyron": [ "vrt-permissions" ], "Mardus": [ "editor" ], "MarkJFernandes": [ "editor" ], "MarkTraceur": [ "editor" ], "Markcwm": [ "editor" ], "Markhobley": [ "editor" ], "MarsRover": [ "editor" ], "Marshman~enwikibooks": [ "editor" ], "Martin Kraus": [ "editor" ], "Martin Sauter": [ "editor" ], "Martin Urbanec": [ "editor", "steward", "vrt-permissions" ], "MartinPoulter": [ "editor" ], "Martinwguy2": [ "editor" ], "MarygoldRules": [ "editor" ], "Master tongue": [ "editor" ], "Masti": [ "steward", "vrt-permissions" ], "Math buff": [ "editor" ], "MathXplore": [ "global-rollbacker", "editor" ], "Mathildem16": [ "autoreview" ], "Mathmensch": [ "editor" ], "Mathmensch-Smalledits": [ "editor" ], "Mathmogeek": [ "editor" ], "Maths314": [ "editor" ], "Matiia": [ "editor" ], "Matrix": [ "autoreview", "vrt-permissions" ], "Matsievsky": [ "editor" ], "Mattb112885": [ "editor" ], "Mattbarton.exe": [ "editor" ], "Matttest": [ "autoreview" ], "Max": [ "global-renamer", "global-sysop" ], "Max Milas": [ "editor" ], "Maxim": [ "editor" ], "Maximillion Pegasus": [ "global-rollbacker", "editor" ], "Maxint2": [ "editor" ], "Mazbel": [ "global-rollbacker" ], "Mbch331": [ "vrt-permissions" ], "Mbrickn": [ "transwiki", "editor" ], "Mcdonnkm": [ "editor" ], "Mcld": [ "editor" ], "Mdkoch84": [ "editor" ], "Mdmckenzie": [ "editor" ], "MdsShakil": [ "steward", "vrt-permissions" ], "Mdupont": [ "editor" ], "Me Lendroz": [ "editor" ], "Meanmicio": [ "editor" ], "Mecanismo": [ "editor" ], "MediaKyle": [ "editor" ], "Meditation": [ "editor" ], "Meev0": [ "editor" ], "Mehman": [ "ombuds", "vrt-permissions" ], "Melos": [ "steward", "vrt-permissions" ], "MemicznyJanusz": [ "global-renamer" ], "Mendelivia~enwikibooks": [ "editor" ], "Meniktah": [ "editor" ], "Mercy": [ "global-rollbacker", "editor" ], "MerlLinkBot": [ "editor" ], "Mfield": [ "global-renamer" ], "Mh7kJ": [ "editor" ], "Michael Romanov": [ "editor" ], "MichaelFrey": [ "editor" ], "Michaelbluett": [ "editor", "uploader" ], "Mido": [ "vrt-permissions" ], "MihalOrela": [ "editor" ], "MiiCii": [ "editor" ], "Mike Hayes": [ "editor" ], "Mike.lifeguard": [ "editor" ], "Mild Bill Hiccup": [ "editor" ], "Mill3315": [ "editor" ], "Millbart": [ "vrt-permissions" ], "Mimarx": [ "editor" ], "Min1996": [ "autoreview" ], "Minorax": [ "global-rollbacker", "global-sysop", "editor" ], "Mirinano": [ "global-rollbacker" ], "Mithridates": [ "editor" ], "Mjbt": [ "editor" ], "Mjchael": [ "editor" ], "Mjkaye": [ "editor" ], "Mkline": [ "autoreview" ], "Mlipl001": [ "editor" ], "Moby-Dick4000": [ "editor" ], "Mohean": [ "editor" ], "Money-lover-12345": [ "editor" ], "Moonriddengirl": [ "autoreview", "vrt-permissions" ], "Mortense": [ "editor" ], "Mpfau": [ "editor" ], "Mr. Stradivarius": [ "editor" ], "MrAlanKoh": [ "editor" ], "MrJaroslavik": [ "global-rollbacker", "ombuds" ], "Mrajcok": [ "editor" ], "Mrjulesd": [ "editor" ], "Mrwojo": [ "editor" ], "Mschrag": [ "editor" ], "Msmithma": [ "editor" ], "MtPenguinMonster": [ "editor" ], "Mtarch11": [ "global-rollbacker", "global-sysop", "editor" ], "Musical Inquisit": [ "editor" ], "Mussklprozz": [ "vrt-permissions" ], "Mvolz": [ "editor" ], "Mwtoews": [ "editor" ], "Mxn": [ "editor" ], "Myklaw": [ "editor" ], "Mykola7": [ "steward" ], "Mys 721tx": [ "global-renamer", "vrt-permissions" ], "NDG": [ "global-rollbacker", "global-sysop", "editor" ], "Nadzik": [ "global-rollbacker", "global-renamer" ], "NahidSultan": [ "vrt-permissions" ], "Nangkhan Magar": [ "editor" ], "Natuur12": [ "vrt-permissions" ], "Nbarth": [ "editor" ], "Nbro": [ "editor" ], "Nehaoua": [ "ombuds" ], "Neils51": [ "editor" ], "Nemoralis": [ "vrt-permissions" ], "Neojacob": [ "editor" ], "Neriah": [ "global-rollbacker", "global-renamer" ], "Nesbit": [ "editor" ], "Newlisp": [ "editor" ], "Nfgdayton": [ "editor" ], "NguoiDungKhongDinhDanh": [ "global-rollbacker", "editor" ], "NhacNy2412": [ "global-renamer" ], "Nick.anderegg": [ "editor" ], "NickPenguin": [ "editor" ], "NicoScribe": [ "editor" ], "Nicole Sharp": [ "editor" ], "Nieuwsgierige Gebruiker": [ "editor" ], "Nigos": [ "autoreview" ], "Nihonjoe": [ "global-renamer" ], "Nikai": [ "editor" ], "Ninjastrikers": [ "vrt-permissions" ], "NipplesMeCool": [ "editor" ], "Njardarlogar": [ "editor" ], "Nobody60": [ "editor" ], "Nolispanmo": [ "vrt-permissions" ], "Nomstuff": [ "autoreview" ], "Nonenmac": [ "editor" ], "Norton": [ "editor" ], "Npettiaux": [ "editor" ], "Nsaa": [ "vrt-permissions" ], "Nthep": [ "vrt-permissions" ], "NuclearWarfare": [ "global-rollbacker", "editor" ], "OMSMike": [ "editor" ], "Officer781": [ "editor" ], "Oleander": [ "editor" ], "Oliviacatherall": [ "autoreview" ], "Omphalographer": [ "editor" ], "OnBeyondZebrax": [ "editor" ], "Onsen": [ "editor" ], "Ontzak": [ "global-renamer" ], "Orderud": [ "editor" ], "OrenBochman": [ "editor" ], "Oshwah": [ "global-renamer" ], "Ottawahitech": [ "editor" ], "Owain.davies": [ "editor" ], "PAC": [ "editor" ], "PAC2": [ "editor" ], "PK 97": [ "editor" ], "PNW Raven": [ "editor" ], "Pac8612": [ "editor" ], "Paloi Sciurala": [ "global-rollbacker" ], "Panic2k4": [ "transwiki", "editor" ], "Pascal Pignard": [ "editor" ], "Pastbury": [ "editor" ], "Pathfinders": [ "editor" ], "Pathoschild": [ "editor" ], "Patrik": [ "editor" ], "PauSix": [ "editor" ], "Paul James": [ "editor" ], "Pavroo": [ "editor" ], "PbakerODU": [ "editor" ], "Pbrower2a": [ "editor" ], "Pearts": [ "editor" ], "Peeragogia": [ "editor" ], "Peri Coleman": [ "editor" ], "Perl~enwikibooks": [ "editor" ], "Peter1180": [ "editor" ], "PeterEasthope": [ "editor" ], "Peyton09": [ "editor" ], "Phan M. Nhat": [ "autoreview" ], "PhilKnight": [ "global-renamer" ], "Phoebe": [ "editor" ], "Phosgram": [ "editor" ], "Pi zero": [ "editor" ], "PieWriter": [ "editor" ], "Piotrus": [ "editor" ], "Pithikos": [ "editor" ], "Pittsburgh Poet": [ "editor" ], "Pjpearce": [ "editor" ], "Pkkao": [ "editor" ], "Planotse": [ "editor" ], "Platonides": [ "vrt-permissions" ], "Pluke": [ "editor" ], "PlyrStar93": [ "global-rollbacker", "editor" ], "Pminh141": [ "global-renamer" ], "Pmlineditor": [ "editor" ], "Pmw57": [ "editor" ], "Poetcsw": [ "editor" ], "PoizonMyst": [ "editor" ], "Pola 2607": [ "autoreview" ], "Polimerek": [ "vrt-permissions" ], "Polluks": [ "editor" ], "Pookiyama": [ "editor" ], "Popski": [ "editor" ], "Povigna": [ "editor" ], "Ppolar bear": [ "global-rollbacker", "global-renamer" ], "Pppery": [ "autoreview" ], "Prahlad balaji": [ "editor" ], "Pratyeka": [ "editor" ], "Praxidicae": [ "global-rollbacker", "global-sysop", "editor" ], "Primefac": [ "vrt-permissions" ], "Prince Kassad~enwikibooks": [ "editor" ], "Pronesto": [ "editor" ], "Prototyperspective": [ "autoreview" ], "Psoup": [ "editor" ], "Psr1909": [ "editor" ], "PullUpYourSocks": [ "editor" ], "PurpleBuffalo": [ "global-renamer" ], "PurplePieman": [ "editor" ], "Purplebackpack89": [ "editor" ], "Putukas01": [ "editor" ], "Qenalcu": [ "autoreview" ], "Quebecguy": [ "global-rollbacker" ], "QueerEcofeminist": [ "global-rollbacker", "global-renamer", "editor" ], "Quinlan83": [ "global-rollbacker", "editor" ], "Quintucket": [ "editor" ], "Qwerty number1": [ "editor" ], "Qwertyus": [ "editor" ], "Qədir": [ "global-rollbacker", "global-renamer", "vrt-permissions" ], "R. Henrik Nilsson": [ "editor" ], "RAdimer-WMF": [ "global-rollbacker" ], "RDBury": [ "editor" ], "RJHall": [ "editor" ], "Ra'ike": [ "vrt-permissions" ], "Rachboots": [ "editor" ], "Rachel": [ "editor" ], "Rachmat04": [ "global-renamer", "vrt-permissions" ], "RadiX": [ "editor", "steward", "vrt-permissions" ], "Raffaela Kunz": [ "editor" ], "Rahulkepapa": [ "editor" ], "Ramac": [ "editor" ], "Rambam rashi": [ "editor" ], "Randykitty": [ "autoreview", "global-rollbacker" ], "RatónMístico176": [ "editor" ], "Ravichandar84": [ "editor" ], "Rawheatley": [ "editor" ], "Ray Trygstad": [ "editor" ], "RayeChellMahela": [ "editor" ], "Raymond": [ "vrt-permissions" ], "Razr Nation": [ "editor" ], "Rchaswms01": [ "editor" ], "Rcragun": [ "editor", "uploader" ], "Readyokaygo": [ "editor" ], "Recent Runes": [ "editor" ], "Redlentil": [ "editor" ], "Refcanimm": [ "editor" ], "Regasterios": [ "vrt-permissions" ], "Reinhard Kraasch": [ "vrt-permissions" ], "RenaissanceMan2144": [ "autoreview" ], "Renamed user 242094acfb1a5b2f08e9e78f2e021a40": [ "editor" ], "Renamed user 5f91ca71739b07cfce8397eed758fe13": [ "editor", "uploader" ], "Renamed user f26394dcb19bd7bdad78f0d752896653": [ "editor" ], "Renvoy": [ "global-rollbacker", "global-sysop" ], "Reseletti": [ "editor" ], "Retropunk": [ "editor" ], "Reuben1508": [ "autoreview" ], "Revi C.": [ "global-rollbacker", "global-renamer", "ombuds", "editor", "vrt-permissions" ], "Reyk": [ "editor" ], "Rfc1394": [ "editor" ], "Rgdboer": [ "editor" ], "Rgreenone": [ "editor" ], "Rhole2001": [ "autoreview" ], "Rich Farmbrough": [ "editor" ], "Rickstambaugh": [ "editor" ], "Riggwelter": [ "vrt-permissions" ], "Risk": [ "editor" ], "Risteall": [ "editor" ], "Ritjesman": [ "editor" ], "RoMancer": [ "editor" ], "Robbiemorrison": [ "editor" ], "Robert Huber~enwikibooks": [ "editor" ], "Roberto Mura": [ "editor" ], "Robertsky": [ "global-renamer", "vrt-permissions" ], "RobinH": [ "editor" ], "Rodasmith": [ "editor" ], "Rodrigo": [ "editor" ], "Rodrigo.Argenton": [ "vrt-permissions" ], "Rogerborrell": [ "editor" ], "Rogerdpack": [ "editor" ], "RogueScholar": [ "editor" ], "Romainbehar": [ "editor" ], "RomaineBot": [ "vrt-permissions" ], "RonaldB": [ "vrt-permissions" ], "Rosser1954": [ "editor" ], "Rotlink": [ "editor" ], "RoySmith": [ "ombuds" ], "Rozzychan": [ "editor" ], "Rplano": [ "editor" ], "Rreagan007": [ "autoreview" ], "Rrgreen": [ "editor" ], "Rschen7754": [ "global-rollbacker", "editor" ], "RshieldsVA": [ "editor" ], "Rsjaffe": [ "global-renamer" ], "Rtaisis": [ "editor" ], "Ruakh": [ "editor" ], "Rudolpho~enwikibooks": [ "editor" ], "Runfellow": [ "editor" ], "Runner4lyfe": [ "editor" ], "RunningBlind": [ "editor" ], "Ruthven": [ "vrt-permissions" ], "Ruud Koot": [ "transwiki", "editor" ], "Rzuwig": [ "autoreview", "global-rollbacker" ], "S.Marchenko": [ "global-renamer" ], "S8321414": [ "global-renamer" ], "SB Johnny": [ "editor" ], "SCP-2000": [ "global-rollbacker", "global-renamer", "vrt-permissions" ], "SHB2000": [ "sysop", "steward" ], "SPM": [ "editor" ], "Sae1962": [ "editor" ], "Safuan12616": [ "editor" ], "SahniM": [ "editor" ], "Sakretsu": [ "steward" ], "Sakura emad": [ "global-rollbacker" ], "Salil Kumar Mukherjee": [ "editor" ], "Samat": [ "vrt-permissions" ], "Sammy2012": [ "editor" ], "Samuel.dellit": [ "editor" ], "Samuele2002": [ "global-rollbacker", "editor" ], "Samwilson": [ "editor" ], "SanBonne": [ "global-rollbacker", "global-renamer", "vrt-permissions" ], "Sandbergja": [ "editor" ], "Sannita": [ "vrt-permissions" ], "Sante Caserio~enwikibooks": [ "editor" ], "SarahFatimaK": [ "editor" ], "Sargoth": [ "vrt-permissions" ], "Saroj": [ "global-rollbacker" ], "Sascha Lill 95": [ "editor" ], "Satdeep Gill": [ "vrt-permissions" ], "Savh": [ "global-rollbacker", "editor" ], "Sbb1413": [ "editor" ], "Scention": [ "editor" ], "Schniggendiller": [ "steward" ], "SchreiberBike": [ "editor" ], "Scott.beckman": [ "editor" ], "Sebastian Wallroth": [ "vrt-permissions" ], "Seewolf": [ "global-rollbacker", "vrt-permissions" ], "Sekidoki": [ "vrt-permissions" ], "Selden": [ "editor" ], "Sennecaster": [ "vrt-permissions" ], "Serinap": [ "editor" ], "Seth Miller": [ "editor" ], "SevenSpheres": [ "editor" ], "Sfan00 IMG": [ "editor" ], "Sfoerster": [ "editor" ], "Sgarrigan": [ "editor" ], "Sgowal": [ "editor" ], "Shaitand": [ "editor" ], "ShakespeareFan00": [ "editor" ], "SharingNotes": [ "editor" ], "Shawntanchinyang": [ "editor" ], "Shdwninja8": [ "editor" ], "ShelleyAdams": [ "autoreview" ], "ShifaYT": [ "global-rollbacker" ], "Shii": [ "editor" ], "Shira the Mogul": [ "editor" ], "Shlomif": [ "editor" ], "ShuBraque": [ "editor" ], "Sidelight12": [ "editor" ], "Sidorkin": [ "editor" ], "Sidpatil": [ "editor" ], "Siebengang": [ "editor" ], "Sigma 7": [ "editor" ], "Simon Peter Hughes": [ "editor" ], "Sinus46": [ "editor" ], "Sir Beluga": [ "editor" ], "Sir Lestaty de Lioncourt": [ "vrt-permissions" ], "SixWingedSeraph": [ "editor" ], "Sj": [ "editor" ], "Sjc~enwikibooks": [ "editor" ], "Sjlegg": [ "editor" ], "Sjone101": [ "editor" ], "Sjö": [ "global-rollbacker" ], "Skymath": [ "editor" ], "Slava Ukraini Heroyam Slava 123": [ "editor", "uploader" ], "Slava Ukrajini Heroyam Slava": [ "editor" ], "Sluffs": [ "editor" ], "Smjg": [ "editor" ], "SnappyDragonPennyroyal": [ "editor" ], "SocialKnowledge": [ "editor" ], "SoftwareEngineerMoose": [ "autoreview" ], "Sonia": [ "editor" ], "Sophie Cheng": [ "editor" ], "Sotiale": [ "steward" ], "Soul windsurfer": [ "editor" ], "SouthParkFan65": [ "editor" ], "SoylentGreen": [ "editor" ], "Spamduck": [ "editor" ], "Spaynton": [ "editor" ], "Spender2001": [ "editor" ], "Speregrination": [ "editor" ], "Spiderworm": [ "editor" ], "Spoon!": [ "editor" ], "Squasher": [ "global-renamer" ], "Srhat": [ "editor" ], "Stang": [ "global-rollbacker", "editor", "vrt-permissions" ], "Stanglavine": [ "editor" ], "Steinsplitter": [ "global-renamer", "vrt-permissions" ], "StephT0704": [ "autoreview" ], "Stepheng3": [ "editor" ], "Stepro": [ "vrt-permissions" ], "Steve M": [ "editor" ], "Stilfehler": [ "editor" ], "Stockywood": [ "editor" ], "Storeye": [ "editor" ], "Strainu": [ "vrt-permissions" ], "Strange quark": [ "editor" ], "Stryn": [ "global-rollbacker", "editor" ], "Stïnger": [ "global-rollbacker", "editor" ], "Suchenwi": [ "editor" ], "Sumone10154": [ "editor" ], "SunCreator": [ "editor" ], "Sunny Cryolite": [ "global-rollbacker" ], "Sunshineconnelly": [ "editor" ], "SuperTyphoonNoru": [ "editor" ], "Superbass": [ "vrt-permissions" ], "Superpes15": [ "global-rollbacker", "global-renamer", "global-sysop", "vrt-permissions" ], "Supertoff": [ "vrt-permissions" ], "Superzerocool": [ "vrt-permissions" ], "SupremeUmanu": [ "editor" ], "Suruena": [ "editor" ], "Sutambe": [ "editor" ], "Sutton Publishing": [ "editor" ], "Sué González Hauck": [ "editor" ], "Svartava": [ "global-rollbacker", "global-renamer", "global-sysop", "editor" ], "SweetCanadianMullet": [ "editor" ], "Swift": [ "editor" ], "SyG": [ "editor" ], "Sylvesterchukwu04": [ "editor" ], "Sylvialim": [ "editor" ], "Sylviaread": [ "editor" ], "Synoman Barris": [ "global-rollbacker", "transwiki", "editor" ], "Syum90": [ "global-rollbacker", "editor" ], "Syunsyunminmin": [ "global-rollbacker", "global-renamer", "global-sysop", "editor" ], "T.seppelt": [ "editor" ], "TDang": [ "editor" ], "TTWIDEE": [ "editor" ], "Tahmid": [ "editor" ], "Taketa": [ "global-renamer" ], "Takipoint123": [ "vrt-permissions" ], "TakuyaMurata": [ "editor" ], "Tamzin": [ "global-renamer" ], "Tanbiruzzaman": [ "global-rollbacker", "global-renamer", "global-sysop", "editor", "vrt-permissions" ], "Tannertsf": [ "editor" ], "Taoheedah": [ "editor" ], "Tapsevarg": [ "editor" ], "TaronjaSatsuma": [ "vrt-permissions" ], "Taxman": [ "editor" ], "Tchoř": [ "global-renamer" ], "Tdkehoe": [ "editor" ], "Tdvorak": [ "editor" ], "Techman224": [ "editor" ], "Tegel": [ "editor", "steward" ], "Teles": [ "ombuds", "steward", "vrt-permissions" ], "Tem5psu": [ "editor" ], "Tempodivalse": [ "editor" ], "TenWhile6": [ "global-rollbacker", "global-renamer", "global-sysop", "editor" ], "Tenshi Hinanawi": [ "autoreview", "global-rollbacker" ], "Terence Kearey": [ "editor" ], "Ternarius": [ "global-renamer" ], "Ternera": [ "global-rollbacker", "global-renamer", "global-sysop", "editor" ], "Tesleemah": [ "editor" ], "Tevfik AKTUĞLU": [ "editor" ], "Tgregtregretgtr": [ "editor" ], "ThatBPengineer": [ "autoreview" ], "Thatonewikiguy": [ "editor" ], "The Squirrel Conspiracy": [ "vrt-permissions" ], "The labs": [ "editor" ], "TheGoodEndedHappily": [ "vrt-permissions" ], "ThePCKid": [ "editor" ], "TheSandDoctor": [ "global-renamer", "vrt-permissions" ], "Theknightwho": [ "editor" ], "Thenub314": [ "editor" ], "Theo Hughes": [ "editor" ], "Theornamentalist": [ "editor" ], "Thereen": [ "editor" ], "Thewinster": [ "editor" ], "Thierry Dugnolle": [ "editor" ], "Thinkglobalnow": [ "editor" ], "Thirunavukkarasye-Raveendran": [ "editor" ], "Thomas Simpson": [ "editor" ], "Thomas.haslwanter": [ "editor" ], "Thomas.lochmatter": [ "editor" ], "Tibetologist": [ "editor" ], "Tigerzeng": [ "global-rollbacker" ], "Tiled": [ "editor" ], "TimBorgNetzWerk": [ "editor" ], "Timothy Gu": [ "editor" ], "Timpo": [ "editor" ], "Tiptoety": [ "editor" ], "Tjyang": [ "editor" ], "Tlustulimu": [ "editor" ], "Tmvogel": [ "editor" ], "Tom Morris": [ "editor" ], "Tomato86": [ "editor" ], "TommyG": [ "vrt-permissions" ], "Tomt87": [ "editor" ], "Tomybrz": [ "editor" ], "Tonyvall": [ "autoreview" ], "Tp42": [ "editor" ], "Tracklayingninja": [ "editor" ], "Tradimus": [ "editor" ], "Tropicalkitty": [ "global-rollbacker", "editor" ], "TrulyShruti": [ "editor" ], "Ts12rAc": [ "global-rollbacker" ], "Tsarina CatarinaToo": [ "autoreview" ], "TunnelESON": [ "sysop" ], "Turbojet": [ "vrt-permissions" ], "Turkmen": [ "editor" ], "TwoThirty": [ "editor" ], "Tyoyafud": [ "editor" ], "Túrelio": [ "autoreview" ], "U$3rname008": [ "editor" ], "USSR-Slav": [ "global-rollbacker" ], "Uf.hun2201": [ "editor" ], "Uncitoyen": [ "global-rollbacker", "global-renamer" ], "Uncle G": [ "editor" ], "Unixxx": [ "editor" ], "User01938": [ "editor" ], "Username222": [ "editor" ], "Utcursch": [ "vrt-permissions" ], "Uziel302": [ "editor" ], "Uzume": [ "editor" ], "V0lkanic": [ "global-renamer" ], "VIGNERON": [ "steward" ], "Valery Starikov": [ "editor" ], "Van der Hoorn": [ "editor" ], "Varnent": [ "vrt-permissions" ], "Vdolar": [ "autoreview" ], "VectorVoyager": [ "editor" ], "Venzz": [ "vrt-permissions" ], "Verfassungsfreund": [ "editor" ], "Veritas Sapientiae": [ "global-rollbacker", "global-renamer", "vrt-permissions" ], "Vermont": [ "editor", "steward", "vrt-permissions" ], "Victor Stefan Stoica": [ "autoreview" ], "Victor Trevor": [ "autoreview" ], "Victoria.sandeman": [ "autoreview" ], "Vincent Vega": [ "global-renamer" ], "Vito Genovese": [ "editor" ], "Vituzzu": [ "editor" ], "Vladimir Solovjev": [ "global-renamer", "vrt-permissions" ], "Vogone": [ "global-rollbacker", "editor" ], "Vossman": [ "editor" ], "Vrinda": [ "editor" ], "VulcanWikiEdit": [ "editor" ], "Vwanweb": [ "editor" ], "WOSlinker": [ "autoreview" ], "Waihorace": [ "global-rollbacker" ], "Waldyrious": [ "editor" ], "WalshDay": [ "editor" ], "Wargo": [ "editor" ], "Wbjimmyd": [ "editor" ], "Wcoole": [ "editor" ], "WeelkyWikiReader": [ "editor" ], "Wekeepwhatwekill": [ "autoreview" ], "WereSpielChequers": [ "editor" ], "What no2000": [ "editor" ], "WhatamIdoing": [ "editor" ], "WhitePhosphorus": [ "global-rollbacker", "global-sysop" ], "Whiteknight": [ "editor" ], "Whoop whoop pull up": [ "editor" ], "Whym": [ "editor", "vrt-permissions" ], "Wiki13": [ "editor" ], "WikiBayer": [ "global-rollbacker", "global-sysop", "editor" ], "WikiFer": [ "vrt-permissions" ], "Wikimi-dhiann": [ "editor" ], "Wikiotics": [ "editor" ], "Wikiwau": [ "autoreview", "editor" ], "WillNess": [ "editor" ], "Willscrlt": [ "editor" ], "Wim b": [ "global-rollbacker", "editor" ], "Wisden": [ "editor" ], "Withinfocus": [ "editor" ], "Wj32": [ "editor" ], "Wkee4ager": [ "editor" ], "Wobbit": [ "editor" ], "Wojciech Pędzich": [ "vrt-permissions" ], "Wooze": [ "global-rollbacker" ], "Wundermacht": [ "editor" ], "Wutsje": [ "global-rollbacker", "editor" ], "Ww2censor": [ "vrt-permissions" ], "Wüstenspringmaus": [ "global-rollbacker", "global-renamer" ], "XXBlackburnXx": [ "editor", "steward" ], "Xandradi": [ "editor" ], "Xania": [ "sysop", "checkuser" ], "Xaosflux": [ "editor", "steward" ], "XenonX3": [ "vrt-permissions" ], "Xerol": [ "editor" ], "Xeverything11": [ "editor", "uploader" ], "Xhungab": [ "editor" ], "Xinkai Wu": [ "editor" ], "Xixtas": [ "editor" ], "Xqt": [ "global-rollbacker" ], "Xxagile": [ "editor" ], "Xypron": [ "editor" ], "Xz64": [ "editor" ], "Y-S.Ko": [ "editor" ], "YMS": [ "editor" ], "Yahya": [ "steward", "vrt-permissions" ], "Yamla": [ "global-renamer" ], "Yann": [ "editor" ], "Yerpo": [ "global-renamer", "vrt-permissions" ], "Yikrazuul": [ "editor" ], "Ymblanter": [ "global-rollbacker" ], "Yndesai": [ "editor" ], "Youssefsan": [ "editor" ], "Ysangkok": [ "editor" ], "Yvelik": [ "uploader" ], "Yzmo": [ "editor" ], "ZI Jony": [ "editor" ], "Zabe": [ "global-rollbacker" ], "Zafer": [ "ombuds" ], "Zedshort": [ "editor" ], "ZeroOne": [ "editor" ], "Zetud": [ "global-rollbacker", "vrt-permissions" ], "Ziv": [ "editor" ], "Zoeannl": [ "editor" ], "Zollerriia": [ "editor" ], "Zoohouse": [ "editor" ], "Zoot": [ "editor" ], "Zsohl": [ "autoreview", "editor" ], "Zvsmith": [ "editor" ], "Zweighaft": [ "editor" ], "ZxxZxxZ": [ "editor" ], "~riley": [ "global-rollbacker", "editor" ], "Érico": [ "global-renamer" ], "İmmortalance": [ "global-renamer" ], "Виктор Пинчук": [ "editor" ], "Воображение": [ "editor" ], "Всевидящий": [ "global-rollbacker" ], "Д.Ильин": [ "editor" ], "Л.П. Джепко": [ "editor" ], "יהודה שמחה ולדמן": [ "editor" ], "מקף": [ "global-rollbacker", "global-renamer" ], "د. فارس الجويلي": [ "global-renamer" ], "روتانا": [ "global-renamer" ], "علاء": [ "steward", "vrt-permissions" ], "فيصل": [ "global-renamer", "vrt-permissions" ], "सीमा1": [ "editor" ], "タチコマ robot": [ "editor" ], "ネイ": [ "global-renamer" ], "一隻北極熊": [ "editor" ], "人间百态": [ "global-rollbacker" ], "臺灣象象": [ "autoreview" ], "范": [ "vrt-permissions" ], "魔琴": [ "global-rollbacker" ], "ꠢꠣꠍꠘ ꠞꠣꠎꠣ": [ "editor" ], "기나ㅏㄴ": [ "global-rollbacker", "global-renamer" ] } r1xkadoq90f68nc7mji7jlfsyz1yn15 Extensions: Open Scholarship Policy Observatory, 2021-2024/Generative AI and Scholarly Publishing 0 473739 4670078 4486415 2026-09-14T18:38:15Z LodestarChariot2 3138880 /* Comments from the INKE Partnership */ 4670078 wikitext text/x-wiki ''This insights and signals report was written by Brittany Amell (with thanks to John Willinsky, John Maxwell, and William Bowen for their feedback and contributions), for the Electronic Textual Cultures Laboratory and the Implementing New Knowledge Environments partnership.'' ==Summary== This insights and signals report continues OSPO’s review of the evolving dialogue on the implications generative AI has for open scholarship / open access publishing. “Generative AI” refers to a class of algorithms that guide the creation of various types of content ([https://sites.broadviewpress.com/ai/talking/ Dobrin, 2023]). Sometimes referred to in the same breath as [https://chatgpt.com/ ChatGPT], [https://openai.com/index/dall-e-2/ DALL·E 2], or [https://gemini.google.com/ Gemini], we are already starting to see the impact of generative AI on scholarly publishing, despite its relatively recent introduction. With growing interest in the implications generative AI has for open access and scholarly communication more broadly, this report centers around recent discussions of the potential risks and opportunities for the sector. ''Interested in other Insights and Signals Reports focused on AI? You can find them [[Extensions: Open Scholarship Policy Observatory, 2021-2024/Federal Research Funding Agencies Announce Draft Guidance on the Use of Generative AI|here]] and [[Extensions: Open Scholarship Policy Observatory, 2021-2024/Responses to Generative AI|here]]''. Items discussed in this report include: * A [https://sr.ithaka.org/blog/generative-ai-and-scholarly-publishing/ recent announcement] from Ithaka S+R regarding a new research project focused on generative AI and scholarly publishing * A [https://scholarlykitchen.sspnet.org/2024/06/06/guest-post-doajs-role-in-supporting-trust-in-scholarly-journals-current-challenges-and-future-solutions/ guest post] by Shen and Ball (DOAJ) on the Scholarly Kitchen regarding a surge in retracted articles and the crisis of trust for open access journals amidst innovations in generative AI * A [https://www.coalition-s.org/towards-responsible-publishing/ proposal] put forward by cOAlition S regarding responsible publishing * The potential applications of the FAIR principles to policy development in response to generative AI, as well as the overlap between these principles and those referenced in a [https://research-and-innovation.ec.europa.eu/document/2b6cf7e5-36ac-41cb-aab5-0d32050143dc_en recent guide to responsible use of AI] in research released by the European Commission Directorate-General for Research and Innovation * The [https://doi.org/10.1590/SciELOPreprints.6799 Publication Facts Label] (PFL—also: [https://pkp.sfu.ca/2024/05/06/pkp-publication-facts-label/ here]), as well as a [https://pkp.sfu.ca/2024/09/06/announcing-publication-facts-label-for-ojs/ recent announcement from the Public Knowledge Project] regarding their trial of the PFL for journals operating on OJS (v 3.3 or higher) ==Scholarly Publishing Research Group Announces New Project Exploring Implications of Generative AI== Research group [https://sr.ithaka.org/about/ Ithaka S+R] recently announced its [https://sr.ithaka.org/blog/generative-ai-and-scholarly-publishing/ intention to undertake a new research project focused on generative AI and scholarly publishing:] “Rapidly changing user needs and expectations, the potential of generative AI to mitigate stubborn systemic challenges in the scholarly publishing industry, and an awareness of the risks generative AI poses to expert knowledge demand that we find time for deep reflection about what generative AI ''means'' for scholarly publishing as a sector and its value as a component of the shared infrastructure that supports scholarly and scientific research and communications” (Ruediger and Bergstrom, 2024). This project will consider the opportunities, risks, and strategic implications generative AI could have for scholarly publishing. It builds on Ithaka S+R’s 2023 study, “[https://sr.ithaka.org/publications/the-second-digital-transformation-of-scholarly-publishing/ The Second Digital Transformation of Scholarly Publishing],” which examined shared needs for scholarly communication infrastructures in light of digital transformations (Bergstrom, Rieger, and Schonfeld, 2024). As Shen and Ball (2024) [https://scholarlykitchen.sspnet.org/2024/06/06/guest-post-doajs-role-in-supporting-trust-in-scholarly-journals-current-challenges-and-future-solutions/ write in their guest post for The Scholarly Kitchen], while threats to trust and credibility have always been top-of-mind for organizations like the Directory of Open Access Journals (DOAJ), these threats have taken on an added urgency. Noting a surge in retracted articles that hit a record-breaking number of 10,000 in 2023, Shen and Ball (2024) share how there has been an additional need to take further steps to safeguard trust and credibility in an era of generative AI. For the DOAJ, one such step has included the formation of a team dedicated to investigating “suspected instances of questionable practices.” These questionable practices are flagged either by members of the DOAJ community more broadly, or by those participating in the evaluation process of a journal’s application for inclusion in the DOAJ. Once flagged, team members closely review a journal’s published articles, as well as the composition and competence of its editorial board and its peer review practices alongside several other factors. “As predatory practices continue to evolve, our investigations are becoming increasingly complex,” write Shen and Ball (2024). “We sometimes consult external subject matter experts for their advice. In 2023 alone, we carried out a total of 409 investigations into journals and publishers, many of which resulted in exclusions from DOAJ of at least one year.” Supporting publishers and the public in assessing the credibility of a publication is something those at the Public Knowledge Project (PKP) have also thought a lot about. For instance, the Publication Facts Label originally conceptualised by John Willinsky (INKE partner and founder of the Public Knowledge Project; discussed in more detail both [https://pkp.sfu.ca/2024/05/06/pkp-publication-facts-label/ here] and [https://doi.org/10.1590/SciELOPreprints.6799 here]) is one such example. Based on the Nutrition Facts Label—that well-known chart found on food packaging in both Canada and the United States—the Publication Facts Label (or PFL for short) consolidates eight standards into an at-a-glance guide that publishing platforms can use to present the integrity of a publication to a wide audience (Willinsky and Pimental). PKP [https://pkp.sfu.ca/2024/09/06/announcing-publication-facts-label-for-ojs/ recently announced] the trial of the Publication Facts Label for journals using the Open Journal Systems (v 3.3 or higher). By installing a plug-in, as explained [https://pkp.sfu.ca/2024/09/06/announcing-publication-facts-label-for-ojs/ here], the PFL can be displayed on an article’s landing page automatically. ==cOAlition S Wraps up Responsible Publishing Proposal== As Ithaka S+R prepares to move ahead with its project, [https://www.coalition-s.org/about/ cOAlition S] (associated with [https://www.coalition-s.org/why-plan-s/ Plan S]) has wrapped up the consultation phase for their proposal entitled “[https://www.coalition-s.org/towards-responsible-publishing/ Towards responsible publishing].” “Driven by the same ‘duty of care for the good functioning of the science system’ that inspired Plan S, the funders forming cOAlition S are now exploring a new vision for scholarly communication; a vision that holds the promise of being more effective, affordable, and equitable, ultimately benefiting society as a whole,” writes Bodo Stern (Chief of Strategic Initiatives at the Howard Hughes Medical Institute) and Johan Rooryck (Executive Director of cOAlition S) in a [https://www.coalition-s.org/blog/introducing-the-towards-responsible-publishing-proposal-from-coalition-s/ blog post announcing the proposal.] cOAlition S revised the proposal based on the feedback they received between November 2023 and April 2024, and shared the revised proposal with a gathering of cOAlition S funders in June. Feedback on the proposal has been made publicly available by cOAlitionS [https://zenodo.org/records/11243942 here]. The “Towards responsible publishing” proposal puts forward a set of principles that can be used to guide decisions regarding how to support “the dissemination of research in a responsible, equitable, and sustainable way” (Stern et al. 2023, 2)--a phrase that evokes the key priorities named in the [https://eua.eu/downloads/publications/eua%20os%20agenda.pdf European University Association’s Open Science Agenda 2025]. The Association’s Open Science Agenda, which was released in February 2022 ahead of its upcoming conference and general assembly in 2025-2026, outlines several priorities and aims, including the goal for all of Europe’s universities to be a part of a “just scholarly publishing ecosystem” by 2025 ([https://www.scienceeurope.org/media/yg3ho4tp/doa-conf-vinciane-gaillard.pdf Gaillard, 2022]). A just scholarly publishing ecosystem is described by Vinciane Gaillard (Deputy Director for Research and Innovation, European University Association) as one that is “transparent, diverse, economically affordable and sustainable, technically interoperable, and steered by the research community and its institutions through coordinated policies” ([https://www.scienceeurope.org/media/yg3ho4tp/doa-conf-vinciane-gaillard.pdf slide 4]). ==Elsevier launches ‘ScopusAI’== Earlier in 2024, Elsevier announced the release of ScopusAI, a subscription-based AI tool offered to institutions. According to Elsevier’s [https://www.elsevier.com/products/scopus/scopus-ai website], ScopusAI serves as “an expert guide” researchers can use to navigate “the vast expanse of human knowledge in Scopus.” In addition to summarizing literature that is available through Scopus, the tool is apparently also able to “pinpoint” what Elsevier refers to as “white space” in the literature so that researchers can ostensibly better identify the kinds of contributions they can make. Concerningly, the summaries generated by the tool link up to what Elsevier and the ScopusAI tool decide are “foundational” documents for a topic—these are “high-impact papers most commonly cited by the papers used in the summaries.” In addition to algorithmic decisions made regarding which papers are considered foundational, the tool also offers the opportunity to “discover experts” in an area. However, the tool only considers papers and profiles that are already in Scopus, which is already known as a database that overrepresents scholars and scholarship from Europe, Oceania and North America when compared to scholars and scholarship from other regions of the world regions (Asubiaro et al. 2024). ==Key Questions and Considerations== The insights and signals outlined above and [[Extensions: Open Scholarship Policy Observatory, 2021-2024/Responses to Generative AI|elsewhere]] indicate that the integration of generative AI in scholarly publishing presents both opportunities and challenges, as well as significant implications for the quality, integrity, and accessibility of scholarly outputs. Several questions for policy development arise, including: * What place, if any, is there for generative AI in open access publishing? * How might open access publishers guide the responsible, ethical, and credible use of generative AI? For instance, John Willinsky (Founder, Public Knowledge Project and INKE partner) has shared with us that PKP is actively exploring the ways in which AI based on large language models might support the sustainability of open access publishing: The principal focus of this work is to establish if LLMs can be sufficiently tuned to reliably automate HTML and JATS XML markup of author manuscripts (given that such markup currently requires technical skills or payments that exceed the capacity of most Diamond OA journals. This work has reached an initial proof of concept stage, with further work continuing around its comparative value (given other tools) and ways of incorporating and sustaining such a markup service in the editorial workflow. (Read John Willinsky’s comment in full below.) In addition to these questions, readers might also consider what, if any, existing key lessons and insights from the OA movement, discourse, research, and literature might be applied to the evolving landscape of generative AI. For instance, one example might be the FAIR principles for data management and stewardship ([https://www.nature.com/articles/sdata201618 Wilkinson et al. 2016])—originally envisioned as a way to support the reuse of scholarly data by ensuring it is findable, accessible, interoperable, and reusable. The FAIR principles have been re-interpreted to apply to software, workflows, tools, algorithms, and, increasingly, AI models ([https://www.nature.com/articles/s41597-023-02298-6 Huerta et al. 2023]). In a related vein, the European Commission Directorate-General for Research and Innovation recently [https://research-and-innovation.ec.europa.eu/document/2b6cf7e5-36ac-41cb-aab5-0d32050143dc_en released a set of principles to help guide the responsible use of generative AI in research]. These principles could be said to overlap with the FAIR principles, offering further opportunity for reflection. (For reference, the four key principles are reliability, honesty, respect, and accountability.) ==Comments from the INKE Partnership== ''Response from John Willinsky (Founder, Public Knowledge Project):'' <blockquote> While there are reasons to be concerned about recent advances in AI, academics also have a responsibility to explore the potential contributions and advances that AI may hold for research and scholarship. The [https://pkp.sfu.ca/ Public Knowledge Project] has for some time looked to AI to solve pressing issues around resource equity and quality in scholarly communications, if only with limited success. It is now engaged in research on the ability of Large Language Models to address the long-standing challenge of developing a sustainable means for Diamond OA journals to publish in the standard formats of HTML and PDF, as well export files in JATS XML. The principal focus of this work is to establish if LLMs can be sufficiently tuned to reliably automate HTML and JATS XML markup of author manuscripts (given that such markup currently requires technical skills or payments that exceed the capacity of most Diamond OA journals. This work has reached an initial proof of concept stage, with further work continuing around its comparative value (given other tools) and ways of incorporating and sustaining such a markup service in the editorial workflow. </blockquote> ==References== *Ahari, Juni. 2024. “Generative AI and Scholarly Publishing.” ''Ithaka S+R'' (blog). April 23, 2024. [https://sr.ithaka.org/blog/generative-ai-and-scholarly-publishing/ https://sr.ithaka.org/blog/generative-ai-and-scholarly-publishing/]. *Asubiaro, Toluwase, Sodiq Onaolapo, and David Mills. 2024. “Regional Disparities in Web of Science and Scopus Journal Coverage.” ''Scientometrics'' 129 (3): 1469–91. [https://doi.org/10.1007/s11192-024-04948-x https://doi.org/10.1007/s11192-024-04948-x]. *Bergstrom, Tracy, Oya Y. Rieger, and Roger C. Schonfeld. 2024. “The Second Digital Transformation of Scholarly Publishing: Strategic Context and Shared Infrastructure.” Ithaka S+R. [https://doi.org/10.18665/sr.320210 https://doi.org/10.18665/sr.320210]. *Chiarelli, Andrea, Ellie Cox, Rob Johnson, Ludo Waltman, Wolfgang Kaltenbrunner, André Brasil, Andrea Reyes Elizondo, and Stephen Pinfield. 2024. “‘Towards Responsible Publishing’: Findings from a Global Stakeholder Consultation.” cOAlition S. Zenodo. [https://doi.org/10.5281/zenodo.11243942 https://doi.org/10.5281/zenodo.11243942]. *Directorate-General for Research and Innovation. 2024. “Living Guidelines on the Responsible Use of Generative AI in Research (Version 1).” Brussels: European Commission. [https://research-and-innovation.ec.europa.eu/document/download/2b6cf7e5-36ac-41cb-aab5-0d32050143dc_en?filename=ec_rtd_ai-guidelines.pdf https://research-and-innovation.ec.europa.eu/document/download/2b6cf7e5-36ac-41cb-aab5-0d32050143dc_en?filename=ec_rtd_ai-guidelines.pdf]. *Dobrin, Sidney I. 2023. “Talking about Generative AI: A Guide for Educators.” Version 1. Broadview Press. [https://sites.broadviewpress.com/ai/talking/ https://sites.broadviewpress.com/ai/talking/]. *Gaillard, Vinciane. 2022. “Encouraging/Supporting Sustainability in the Diamond Action Plan Community.” Presented at the 2022 Diamond Open Access Conference, September. *Huerta, E. A., Ben Blaiszik, L. Catherine Brinson, Kristofer E. Bouchard, Daniel Diaz, Caterina Doglioni, Javier M. Duarte, et al. 2023. “FAIR for AI: An Interdisciplinary and International Community Building Perspective.” ''Scientific Data'' 10 (1): 487. [https://doi.org/10.1038/s41597-023-02298-6 https://doi.org/10.1038/s41597-023-02298-6]. *Shen, Cenyu, and Joanna Ball. 2024. “DOAJ’s Role in Supporting Trust in Scholarly Journals: Current Challenges and Future Solutions.” ''The Scholarly Kitchen'' (blog). June 6, 2024. [https://scholarlykitchen.sspnet.org/2024/06/06/guest-post-doajs-role-in-supporting-trust-in-scholarly-journals-current-challenges-and-future-solutions/ https://scholarlykitchen.sspnet.org/2024/06/06/guest-post-doajs-role-in-supporting-trust-in-scholarly-journals-current-challenges-and-future-solutions/]. *Stern, Bodo, and Johan Rooryck. 2023. “Introducing the ‘Towards Responsible Publishing’ Proposal from cOAlition S | Plan S.” sOApbox: A Plan S Blog (blog). October 31, 2023. [https://www.coalition-s.org/blog/introducing-the-towards-responsible-publishing-proposal-from-coalition-s/ https://www.coalition-s.org/blog/introducing-the-towards-responsible-publishing-proposal-from-coalition-s/]. *Stern, Bodo, Zoé Ancion, Andreas Björke, Ashley Farley, Marte Qvenild, Katharina Rieck, Jeroen Sondervan, et al. 2023. “Towards Responsible Publishing: Seeking Input from the Research Community to a Draft Proposal from cOAlition S,” October. [https://doi.org/10.5281/ZENODO.8398480 https://doi.org/10.5281/ZENODO.8398480]. *Wilkinson, Mark D., Michel Dumontier, IJsbrand Jan Aalbersberg, Gabrielle Appleton, Myles Axton, Arie Baak, Niklas Blomberg, et al. 2016. “The FAIR Guiding Principles for Scientific Data Management and Stewardship.” ''Scientific Data'' 3 (1): 160018. [https://doi.org/10.1038/sdata.2016.18 https://doi.org/10.1038/sdata.2016.18]. {{BookCat}} lvk7s8a61w6pz64m5j0undocvdasztu Foundations of the Ontology of Emergent Complexity 0 476838 4670129 4603101 2026-09-15T03:51:48Z DavidCota64 3507033 DavidCota64 moved page [[Foundations of the Ontology of Emerging Complexity]] to [[Foundations of the Ontology of Emergent Complexity]] 4603101 wikitext text/x-wiki [[File:Foundations of the Ontology of Emerging Complexity Cover.png|center|frameless|1200px]] == Contents == [[/Preface/|Preface]] [[/Introduction/|Introduction]] == 1. Philosophical Commitments == * [[/Philosophical Commitments/Refusal of Metaphysical Dualism/|1.1 - Refusal of Metaphysical Dualism]] * [[/Philosophical Commitments/Against the Invention of Two Worlds/|1.2 - Against the Invention of Two Worlds]] * [[/Philosophical Commitments/Matter Thinks — But Not Like a Subject/|1.3 - Matter Thinks — But Not Like a Subject]] * [[/Philosophical Commitments/The Symbol Is Not Transcendent/|1.4 - The Symbol Is Not Transcendent]] * [[/Philosophical Commitments/No Ground, No Soul, No Plan/|1.5 - No Ground, No Soul, No Plan]] * [[/Philosophical Commitments/Matter as the Only Substrate/|1.6 - Matter as the Only Substrate]] * [[/Philosophical Commitments/Instability as a Condition, not a Problem/|1.7 - Instability as a Condition, not a Problem]] == 2. Method and Style == * [[/Method and Style/Thought as Singular Response/|2.1 - Thought as Singular Response]] * [[/Method and Style/Listening as Ontological Exposure/|2.2 - Listening as Ontological Exposure]] * [[/Method and Style/No Redemption, No Teleology/|2.3 - No Redemption, No Teleology]] == 3. Core Concepts == === 3.1 Complexity, Relation, Excess === * [[/Complexity, Relation, Excess/I - The Refusal of Linear Complexity|3.1.1 - The Refusal of Linear Complexity]] * [[/Complexity, Relation, Excess/II - Relational Tension as Ontological Principle|3.1.2 - Relational Tension as Ontological Principle]] * [[/Complexity, Relation, Excess/III - Stability Is Not Continuity|3.1.3 - Stability Is Not Continuity]] === 3.2 Emergence Without Origin === There is no beginning. Only irruption. Not succession, not consequence. Not lack, not projection. Origin has never been origin. It has always been interpretation, inscription, reconfiguration. * [[/Emergence Without Origin/I - The Regime of Precedence|3.2.1 - The Regime of Precedence]] * [[/Emergence Without Origin/II - The Classical Substrate: Substance and Necessity|3.2.2 - The Classical Substrate: Substance and Necessity]] * [[/Emergence Without Origin/III - Modernity’s Continuation: Foundation and Structure|3.2.3 - Modernity’s Continuation: Foundation and Structure]] * [[/Emergence Without Origin/IV - Critical Displacement without Abandonment|3.2.4 - Critical Displacement without Abandonment]] * [[/Emergence Without Origin/V - The Irruption Without Ground|3.2.5 - The Irruption Without Ground]] * [[/Emergence Without Origin/VI - Language and Logic as Prison of Sequence|3.2.6 - Language and Logic as Prison of Sequence]] * [[/Emergence Without Origin/VII - Affirmation: From Precedence to Insistence|3.2.7 - Affirmation: From Precedence to Insistence]] === 3.3 Order as Local Effect === * [[/Order as Local Effect/I - Against Order as Principle|3.3.1 - Against Order as Principle]] * [[/Order as Local Effect/II - The Emergence of Order as an Ephemeral Torsion of the Unstable Field|3.3.2 - The Emergence of Order as an Ephemeral Torsion of the Unstable Field]] * [[/Order as Local Effect/III - Order as an Effect of Functional Coupling|3.3.3 - Order as an Effect of Functional Coupling]] * [[/Order as Local Effect/IV - The Retrospective Illusion of Origin: Order as Post-Nomination|3.3.4 - The Retrospective Illusion of Origin: Order as Post-Nomination]] * [[/Order as Local Effect/V - Order as a Symbolic Gesture Without an Author|3.3.5 - Order as a Symbolic Gesture Without an Author]] * [[/Order as Local Effect/VI - Unthinkability of Absolute Order: The Real as a Field of Variation|3.3.6 - Unthinkability of Absolute Order: The Real as a Field of Variation]] * [[/Order as Local Effect/VII - Ontological and Ethical Consequences|3.3.7 - Ontological and Ethical Consequences]] == 4. Ethical and Political Implications == *[[Foundations of the Ontology of Emerging Complexity/4.1 Vulnerability Without Center|4.1 Vulnerability Without Center]] *[[Foundations of the Ontology of Emerging Complexity/4.2 Ethics as Symbolic Reorganization|4.2 Ethics as Symbolic Reorganization]] *[[Foundations of the Ontology of Emerging Complexity/4.3 Politics Beyond the Subject|4.3 Politics Beyond the Subject]] == 5. Critical Dialogues with Tradition == * [[Foundations of the Ontology of Emerging Complexity/5.1 Displacement of Classical Ontologies|5.1 Displacement of Classical Ontologies]] * [[Foundations of the Ontology of Emerging Complexity/5.2 Limits of Modern Rationalism|5.2 Limits of Modern Rationalism]] * [[Foundations of the Ontology of Emerging Complexity/5.3 Ambiguities of Post-Structuralism|5.3 Ambiguities of Post-Structuralism]] == 6. Lexicon and Variations == * [[Foundations of the Ontology of Emerging Complexity/6.1 – Key Terms of the OEC|6.1 – Key Terms of the OEC]] * [[Foundations of the Ontology of Emerging Complexity/6.2 – Ontological Variations|6.2 – Ontological Variations]] * [[Foundations of the Ontology of Emerging Complexity/6.3 – How to Read the Lexicon|6.3 – How to Read the Lexicon]] == 7. Bibliography and Influences == *[[7.1 – Philosophical Interlocutors]] *[[7.2 – Conceptual Sources]] *[[Foundations of the Ontology of Emerging Complexity/References|7.3 – References]] *[[7.4 – Further Readings and Connections]] ----''This book, written by David Cota, is part of the institutional foundation of the Ontology of Emerging Complexity, established in 2020. ([http://en.travessia.online travessia.online])'' -------------------------------------------------------------- {{BookCat}} __INDEX__ __NEWSECTIONLINK__ 7nk43tdjrtg5q2nx7dtg656j7nammdq User:Dom walden/Multivariate Analytic Combinatorics/Homology of Critical Points 2 480750 4670059 4669896 2026-09-14T15:25:12Z Dom walden 3209423 /* Topology at critical points */ 4670059 wikitext text/x-wiki == Introduction == Morse theory tells us that the topology of M only changes at its critical points. The "Morse data" tells us the topology at each critical point. Attaching this Morse data together gives us a space which is homopotically eqivalent to M. This space is a "cell complex", which has an easy to calculate homology. Theorem: Our domain of convergence is homotopic to a cell complex of dimension at most <math display="inline">2n - d - 1</math>.<ref>This is theorem D.23 in Pemantle, Wilson and Melczer 2024, pp. 546. Also theorem in section 1.2*/5.2* in SMT pp. 200.</ref> Proof: # <math display="inline">X</math> is our entire domain, <math display="inline">\mathcal{V}</math> our variety # Project our entire domain to complex projective space <math display="inline">Z = \pi(X) \subset \C\mathbb{P}^n - H</math> [define H] # Define a linear subspace <math display="inline">G \subset \C\mathbb{P}^n</math> of dimension <math display="inline">d - 1</math> # Define a Morse function on <math display="inline">f: \C\mathbb{P}^n \to \R</math> which approximates the distance from <math display="inline">G</math> and such that <math display="inline">f^{-1}(0) = G</math> and <math display="inline">f^{-1}(1) = H</math> # We "build" <math display="inline">X - \mathcal{V}</math> from <math display="inline">\pi^{-1}(G \cap Z) \cap (X - \mathcal{V})</math> by attaching CW complexes at critical points which are of at most dimension <math display="inline">2n - d - 1</math> # At a critical point, the normal Morse data is <math display="inline">(J, K) = \coprod_x (J_x, K_x)</math> and the relative complex link is <math display="inline">\mathcal{L}^\pi = \coprod_x \mathcal{L}_x</math> # We show that the quotient <math display="inline">J_x/K_x</math> is homotopic to a CW complex of dimension <math display="inline">\leq 2n - d - 1</math> # The neighbourhood of <math display="inline">x</math> in <math display="inline">J_x</math> is homeomorphic to the cone in <math display="inline">L_x(X - \mathcal{V})</math>, and removing the point <math display="inline">x</math> increases the homotopy dimension to at most the homotopy dimension of <math display="inline">L_x</math> # <math display="inline">(J_x \cup \{x\}, K_x)</math> is homotopic to <math display="inline">(\text{cone}(\mathcal{L}_x), \mathcal{L}_x)</math> # <math display="inline">\mathcal{L}_x</math> is homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math> # The tangential Morse data at the critical point is homotopic to the pair <math display="inline">(D^\lambda, \partial D^\lambda)</math> # Therefore, at each critical point a space has been added homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math>. Theorem: If <math display="inline">X</math> is the complement in <math display="inline">\C^n</math> of a complex variety <math display="inline">\mathcal{V}</math> of dimension <math display="inline">d</math> then <math display="inline">X</math> is homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 546.</ref> Proof: # We build <math display="inline">X</math> by attaching cells of dimension at most <math display="inline">2n - d - 1</math> at each critical point. ## Prove that we can do this without changing the homotopy(?) ## We use Thom's Isotopy Lemma to prove that there is a strong deformation retraction, stopping only at critical points. # Prove these cells are a product of the normal and tangential Morse data. ## Normal data: <math display="inline">(\mathcal{L}(S), \partial \mathcal{L}(S)) \times (D^1, \partial D^1)</math> [GM pp. 18] ## Tangential data: <math display="inline">(B_\delta \cap f^{-1}[v - \epsilon, v + \epsilon], B_\delta \cap f^{-1}(v - \epsilon))</math> for <math display="inline">f</math> restricted to <math display="inline">X</math> (or <math display="inline">\mathcal{V}</math>?) [GM pp. 63-64] # If <math display="inline">k</math> is the dimension of the strata, then ## If <math display="inline">k = d</math> then it is a smooth point and the cell is the product of <math display="inline">S^{2(n-d)-1}</math> and the tangential data is dimension at most <math display="inline">d</math>. ## If <math display="inline">k < d</math>, ... <ref>Pemantle, Wilson and Melczer 2024, pp. 547.</ref> == Example in one dimension == Domain with singularities v_1, v_2, ..., v_i Define our height function f... Start with our entire domain X Reduce from X to X_i+ by using Thom's Isotopy lemma to do a strong deformation retract == Thom's isotopy lemma == We present a modified version of Thom's isotopy lemma, less general than the original but more obviously relevant to our situation. Theorem: Suppose <math display="inline">Z</math> is a closed subset of a smooth manifold <math display="inline">M</math> which admits a Whitney stratification and <math display="inline">h : M \to \R</math> is a proper Morse function which has no critical values on <math display="inline">Z</math>. Then, the level sets of <math display="inline">Z</math> are homeomorphic by a homeomorphism that preserves the strata of <math display="inline">Z</math>.<ref>For various versions of the full statement of the theorem, see Mather 2012, pp. 499, Goresky and MacPherson 1988, pp. 41, or Pemantle, Wilson and Melczer 2024, pp. 541.</ref> Proof: # Construct control data for <math display="inline">Z</math> compatible with <math display="inline">h</math>. ## [Prop 7.1] If <math display="inline">h</math> is smooth on <math display="inline">Z</math> and is a submersion for each strata then there exists a family of control data for <math display="inline">Z</math> compatible with <math display="inline">h</math>.<ref>Mather 2012, pp. 488.</ref> # This makes <math display="inline">Z</math> an abstract stratified set and <math display="inline">f</math> a controlled submersion. # A controlled submersion has, for any smooth vector field on <math display="inline">\R</math>, a controlled vector field on <math display="inline">Z</math> (a "lift"?)<ref>Mather 2012, pp. 493.</ref> # A controlled vector field has a unique one-parameter family of homeomorphisms of <math display="inline">Z</math> which commute with <math display="inline">h</math>.<ref>Mather 2012, pp. 496.</ref> # This makes <math display="inline">h</math> a locally trivial fibration. [Prop 10.2]<ref>Mather 2012, pp. 499.</ref> Control data: A system of '''control data''' for <math display="inline">Z</math> consists of, for each stratum <math display="inline">X</math> of <math display="inline">Z</math>, * a '''tubular neighbourhood''' <math display="inline">T_X</math> of <math display="inline">X</math> * a '''tubular projection function''' <math display="inline">\pi_X: T_X \to X</math>, and * a '''tubular distance function''' <math display="inline">\rho_X: T_X \to \R</math> such that <math display="inline">\rho_X^{-1}(0) = X</math><ref>Goresky and MacPherson 1988, pp. 42.</ref> [illustration] such that if <math display="inline">X < Y</math> are strata in <math display="inline">Z</math>, then <math display="block">\pi_X \pi_Y(m) = \pi_X(m),</math> <math display="block">\rho_X \pi_Y(m) = \rho_X(m)</math> for all <math display="inline">m \in |T_X| \cap |T_Y|</math> such that <math display="inline">\pi_Y(m) \in |T_X|</math>. If, for all strata <math display="inline">X</math> and all <math display="inline">m \in |T_X|</math>, we have <math display="inline">h \pi_X(m) = h(m)</math>, then this control data will be said to be compatible with <math display="inline">h</math>.<ref>Mather 2012, pp. 488.</ref> We prove that if <math display="inline">h</math> is smooth on <math display="inline">Z</math> and is a submersion for each strata then there exists a family of control data for <math display="inline">Z</math> compatible with <math display="inline">h</math>.<ref>Mather 2012, pp. 488, prop 7.1.</ref> Let <math display="inline">Z_k</math> be the union of strata of <math display="inline">Z</math> of dimension less than <math display="inline">k</math>. We prove by induction on <math display="inline">k</math>. To construct the tubular neighbourhood <math display="inline">T_X</math> of a stratum <math display="inline">X</math> of dimension less than <math display="inline">k</math>. For <math display="inline">l \leq k</math>, let <math display="inline">U_l</math> denote the union of all <math display="inline">|T_Y|</math> for <math display="inline">Y < X</math> and <math display="inline">\dim Y \geq l</math>. Let <math display="inline">X_l = U_l \cap X</math>.<ref>Mather 2012, pp. 489.</ref> For <math display="inline">l = k</math>, <math display="inline">X_k = \empty</math>. Assume by induction that <math display="inline">T_{l+1}</math> has been constructed and that if <math display="inline">Y < X</math>, <math display="inline">\dim Y \geq l + 1</math>, <math display="inline">m \in |T_{l+1}| \cap |T_Y|</math> and <math display="inline">\pi_{l+1}(m) \in |T_Y|</math> (<math display="inline">\pi_{l+1} = \pi_{T_{l+1}}</math>) then<ref>Mather 2012, pp. 489-490.</ref> <math display="block">\rho_Y \pi_{l+1}(m) = \rho_Y(m),</math> <math display="block">\pi_Y \pi_{l+1}(m) = \pi_Y(m).</math> We wish to construct a tubular neighbourhood <math display="inline">T_{X,Y}</math> of <math display="inline">|T_Y| \cap X</math> whose restriction to <math display="inline">|T_Y| \cap X_{l+1}</math> is isomorphic to the restriction of <math display="inline">T_{l+1}</math> such that if <math display="inline">m \in |T_{X,Y}| \cap |T_Y|</math> and <math display="inline">\pi_{X,Y}(m) \in |T_Y|</math> (<math display="inline">\pi_{X,Y} = \pi_{T_{X,Y}}</math>) then <math display="block">\rho_Y \pi_{X,Y}(m) = \rho_Y(m),</math> <math display="block">\pi_Y \pi_{X,Y}(m) = \pi_Y(m).</math> By shrinking <math display="inline">|T_Y|</math> if necessary, this relation is already satisfied if <math display="inline">m \in |T_{l+1}| \cap |T_Y|</math> and <math display="inline">\pi_{l+1}(m) \in |T_Y|</math> with <math display="inline">T_{l+1}</math> in place of <math display="inline">T_{X,Y}</math> and <math display="inline">\pi_{l+1}</math> in place of <math display="inline">\pi_{X,Y}</math>. By the definition, if <math display="inline">m \in |T_{l+1}|</math> then there exists <math display="inline">Z < X</math> with <math display="inline">\dim Z > l</math>, <math display="inline">m \in |T_Z|</math> and <math display="inline">\pi_{l+1}(m) \in |T_Z|</math>. We have that <math display="inline">\pi_{l+1}(m) \in |T_Y| \cap |T_Z|</math> and therefore <math display="inline">Y < Z</math>. Therefore<ref>Mather 2012, pp. 490.</ref> <math display="block">\rho_Y \pi_{l+1}(m) = \rho_Y \pi_Z \pi_{l+1}(m) = \rho_Y \pi_Z(m) = \rho_Y(m),</math> <math display="block">\pi_Y \pi_{l+1}(m) = \pi_Y \pi_Z \pi_{l+1}(m) = \pi_Y \pi_Z(m) = \pi_Y(m).</math> We can prove that, by shrinking <math display="inline">|T_Y|</math>, <math display="inline">(\rho_Y, \pi_Y): |T_Y| \cap X \to \R \times Y</math> is a submersion [prop 7.3?] and that <math display="inline">T_{X,Y}</math> is compatible with <math display="inline">(\rho_Y, \pi_Y): |T_Y| \cap X_{l+1} \to \R \times Y</math>, i.e. <math display="inline">(\rho_Y, \pi_Y) \pi_{X,Y}(m) = (\rho_Y, \pi_Y)(m)</math>(?). To prove it is a submersion, for the tubular neighbourhood <math display="inline">T = (E, \epsilon, \psi)</math> there exists a smooth positive function <math display="inline">\epsilon'</math> such that <math display="block">(\rho_T, \pi_T): Y \cap |T|_{\epsilon'}^0 \to \R \times X,</math> where <math display="inline">|T|_{\epsilon'}^0 = \psi(B_\epsilon \cap B_{\epsilon'})</math>, is a submersion. If <math display="inline">\Sigma</math> is the set <math display="inline">y \in |T|</math> such that the rank of <math display="block">(\rho_T, \pi_T): T \cap |T| \to \R \times X</math> at <math display="inline">y</math> is less than <math display="inline">\dim(\R \times X)</math>. We need to prove that for any <math display="inline">x \in X</math> there exists a neighbourhood of <math display="inline">x</math> which does not intersect with <math display="inline">\Sigma</math>, i.e. the map is not a submersion in this neighbourhood. It follows from [lemma 7.2] that it is enough to prove for <math display="inline">M = \R^m</math>, <math display="inline">X = \R^{m-c} \times 0_c</math> and <math display="inline">T</math> is the '''standard tubular neighbourhood'''.<ref>Mather 2012, pp. 489.</ref> By standard tubular neighbourhood, we mean the trivial bundle with base <math display="inline">\R^{m-c}</math> and fibre <math display="inline">\R^c</math> where <math display="inline">\pi: \R^m \to \R^{m-c}</math>...<ref>Mather 2012, pp. 488.</ref> For <math display="inline">y \in |T| - \R^{m-c}</math>, the kernal of the differential of <math display="inline">(\pi_T, \rho_T)</math> at <math display="inline">y</math> is the orthogonal complement of <math display="inline">(\R^{m-c} \times 0_c) \oplus \stackrel{\frown}{y \pi_T(y)}</math> in <math display="inline">\R^m</math>. By the Whitney conditions, we have that for <math display="inline">y</math> near <math display="inline">\R^{m-c}</math>, <math display="inline">(\R^{m-c} \times 0_c) \oplus \stackrel{\frown}{y \pi_T(y)}</math> is close to the set of <math display="inline">m - c + 1</math> planes in <math display="inline">m-</math>space to an <math display="inline">m - c + 1</math> plane in <math display="inline">TY_y</math>. Therefore, for <math display="inline">y</math> near enough to <math display="inline">\R^{m-c}</math>, <math display="inline">TY_y</math> is transverse to the kernal of the differential of <math display="inline">(\pi_T, \rho_T)</math> and, therefore, is a submersion when restricted to <math display="inline">Y</math>.<ref>Mather 2012, pp. 489.</ref> To prove that <math display="inline">T_{X,Y}</math> is compatible with <math display="inline">(\rho_Y, \pi_Y): |T_Y| \cap X_{l+1} \to \R \times Y</math>...<ref>Mather 2012, pp. 490.</ref> Therefore, there exists a tubular neighbourhood <math display="inline">T_0</math> of <math display="inline">X_0</math> satisfying <math display="block">\rho_Y \pi_0(m) = \rho_Y(m),</math> <math display="block">\pi_Y \pi_0(m) = \pi_Y(m).</math> From this we can prove that <math display="inline">T_0</math> is compatible with <math display="inline">h</math>. Replacing <math display="inline">T_0</math> with a smaller tubular neighbourhood if necessary we can assume <math display="inline">m \in |T_0|</math> such that for some <math display="inline">Y < X</math>, <math display="inline">m \in |T_Y|</math> and <math display="inline">\pi_0(m) \in |T_Y|</math>, then<ref>Mather 2012, pp. 490.</ref> <math display="block">h \pi_0(m) = h \pi_Y \pi_0(m) = h \pi_Y(m) = h(m).</math> By the generalised tubular neighourhood theorem [prop 7.2?], we can replace <math display="inline">T_0</math> with a tubular neighbourhood <math display="inline">T</math> of <math display="inline">X</math> compatible with <math display="inline">h</math>. This completes the construction of <math display="inline">T_X</math>.<ref>Mather 2012, pp. 491.</ref> This makes <math display="inline">Z</math> an '''abstract stratified set''' with axioms...<ref>Mather 2012, pp. 491-492.</ref> This also makes <math display="inline">h</math> a '''controlled submersion''' because # <math display="inline">h|X: X \to \R</math> is a smooth submersion on each strata <math display="inline">X</math> of <math display="inline">Z</math>, and # for each stratum <math display="inline">X</math> there is a tubular neighbourhood <math display="inline">T'_X</math> such that <math display="inline">h(v) = h \pi_X(v)</math> for all <math display="inline">v \in T'_X</math>.<ref>Mather 2012, pp. 493.</ref> The core of this is the concept of a '''vector field'''. A vector field is a function which assigns, for each point <math display="inline">p</math> in a space, a '''vector''', which can be represented by an arrow whose tail starts at <math display="inline">p</math>.<ref>Henle 1979, pp. 33.</ref> [picture] Imagine we have a vector field <math display="inline">v(x)</math> defined in a space and draw a line through our space. At each point along this line the vector field assigns a vector. If we move each point in this line along the arrow defined by this vector in the direction of the arrow head. This "flows" the entire line along the vectors. [picture] We define a '''stratified vector field''' <math display="inline">\eta</math> on <math display="inline">Z</math> to be a family of smooth vector fields <math display="inline">\eta_X</math>, one for each strata <math display="inline">X</math> of <math display="inline">Z</math>.<ref>Mather 2012, pp. 493.</ref> We define a '''controlled vector field''' <math display="inline">\eta</math> on <math display="inline">Z</math> to be a stratified vector field such that for any strata <math display="inline">Y</math> there exists a tubular neighbourhood <math display="inline">T'_Y</math> such that for any <math display="inline">X > Y</math> and any <math display="inline">v \in T'_X \cap X</math><ref>Mather 2012, pp. 493.</ref> <math display="block">\eta_X \rho_{Y,X}(v) = 0,</math> <math display="block">(\pi_{Y,X})_* \eta_X(v) = \eta_Y (\pi_{Y,X}(v)).</math> We prove that if <math display="inline">h</math> is a controlled submersion then, for any smooth vector field <math display="inline">\zeta</math> on <math display="inline">\R</math> there is a controlled vector field <math display="inline">\eta</math> on <math display="inline">Z</math> such that <math display="inline">h_* \eta(v) = \zeta(h(v))</math> for all <math display="inline">v \in Z</math>.<ref>Mather 2012, pp. 493.</ref> Proceeding by induction on the maximum dimension of the strata of <math display="inline">Z</math>, we define <math display="inline">Z_k</math> to be the union of strata of <math display="inline">Z</math> of dimension at most <math display="inline">k</math>. The tubular neighbourhood of <math display="inline">Z_k</math> is the intersection of the tubular neighbourhoods of each strata in <math display="inline">Z_k</math> with <math display="inline">Z</math>. The projection and distance functions are the restrictions of the respective functions of <math display="inline">Z</math>. It is trivially true when the maximum dimension of strata in <math display="inline">Z</math> is zero. Assume it is true for <math display="inline">k</math> and construct each <math display="inline">\eta_X</math> separately for each stratum <math display="inline">X</math> of dimension <math display="inline">k + 1</math>. By the assumption that we have controlled vector fields for all strata <math display="inline">Y</math> of dimension at most <math display="inline">k</math>, we have the two control conditions defined above for any <math display="inline">X > Y</math> and that there is a neighbourhood <math display="inline">T^1_Y</math> such that <math display="inline">h(v) = h \pi_Y(v)</math> for <math display="inline">v \in T^1_Y</math>. We want to prove that for all <math display="inline">Y < X</math>, the control conditions are satisfied for all <math display="inline">v \in T^2_Y</math> and that <math display="inline">h_*\eta_X(v) = \zeta(v)</math> for all <math display="inline">v \in X</math>. Take a point <math display="inline">x \in X</math> and define the set <math display="inline">S_v</math> of strata <math display="inline">Y < X</math> such that <math display="inline">v \in T^2_Y</math>. <math display="inline">S_v</math> is totally ordered since if <math display="inline">Y_1</math> and <math display="inline">Y_2</math> are not comparable then <math display="inline">T^2_{Y_1} \cap T^2_{Y_2} = \empty</math>. Therefore, there is a largest member <math display="inline">Y = Y_v</math>. Assume the control conditions hold for <math display="inline">Y = Y_v</math>. Then they hold for all <math display="inline">Y_i \in S_v</math>. For, either <math display="inline">Y_i = Y</math> or <math display="inline">Y_i < Y</math>. In the latter case, <math display="inline">\pi_Y(v) \in T^1_{Y_i}</math> (by the choice of <math display="inline">T^2_Y</math>'s [is this why?]. Then <math display="block">\begin{align} \eta_X(v) \rho_{Y_i,X}(v) &= \eta_X \rho_{Y_i,Y} \pi_{Y,X}(v) \\ &= (\pi_{Y,X})_* \eta_X(v) \rho_{Y_i,Y} \\ &= \eta_Y(\pi_{Y,X}(v)) \rho_{Y_i,Y} \\ &= 0 \end{align}</math> and <math display="block">\begin{align} (\pi_{Y_i,X})_* \eta_X(v) &= (\pi_{Y_i,Y})_* (\pi_{Y,X})_* \eta_X(v) \\ &= (\pi_{Y_i,Y})_* \eta_Y(v) (\pi_{Y,X}) \\ &= \eta_{Y_i}(\pi_{Y_i,Y} \pi_{Y,X}(v)) \\ &= \eta_{Y_i}(\pi_{Y_i,X}(v)) \end{align}</math> and, therefore, condition holds for all <math display="inline">Y_i \in S_v</math>. Also, <math display="block">\begin{align} h_* \eta_X(v) &= (h \circ \pi_{Y,X})_* \eta_X(v) \\ &= h_* \eta_Y (\pi_{Y,X}(v)) \\ &= \zeta(f(v)) \end{align}</math> and, therefore, the conclusion of the theorem holds at <math display="inline">v</math>. This shows we can construct <math display="inline">\eta_X</math> satisfying the control conditions when <math display="inline">S_v</math> is non-empty and satisfying the theorem when <math display="inline">S_v</math> is empty. The set of vectors satisfying these conditions is convex in <math display="inline">TX_v</math>, and so we construct <math display="inline">\eta_X</math> globally via a partition of unity.<ref>Mather 2012, pp. 493-495.</ref> Finally, we prove that a controlled vector field has a unique one-parameter family of homeomorphisms of <math display="inline">Z</math> which commute with <math display="inline">h</math>.<ref>Mather 2012, this combines Proposition 10.1 and Corollary 10.2 on pp. 496 and 497, respectively.</ref> For each stratum <math display="inline">X</math> of <math display="inline">Z</math>, <math display="inline">\eta_X</math> generates a unique smooth local one-parameter group <math display="inline">(J_X, \alpha_X)</math> of diffeomorphisms of <math display="inline">X</math> (by standard results of differential geometry), such that <math display="inline">\frac{d}{dt} \alpha(t, v)|_{t=0} = \eta_X(v)</math>, <math display="inline">J_X</math> is an open subset of <math display="inline">\R \times Z</math>, ... If we define <math display="inline">(J, \alpha)</math> by <math display="block">J = \bigcup_{X \in S} J_X</math> <math display="block">\alpha = \bigcup_{X \in S} \alpha_X</math> we can prove that this is a local one-parameter family of homeomorphisms.<ref>Mather 2012, pp. 496.</ref> Firstly, it is clear that # <math display="inline">0 \times Z \subseteq J</math> and <math display="inline">\alpha(0, v) = v</math> for all <math display="inline">v \in Z</math>. # If <math display="inline">v \in Z</math> then <math display="inline">J_v = J \cap (\R \times v) \subseteq \R</math> is an open interval <math display="inline">(a_v, b_v)</math>, possibly infinite at one or both ends. # If <math display="inline">v \in Z</math> and <math display="inline">t, s, t + s</math> are in <math display="inline">(a_v, b_v)</math> then <math display="inline">\alpha(t + s, v) = \alpha(t, \alpha(s, v))</math>.<ref>Mather 2012, pp. 495.</ref> Secondly, it is clear that <math display="inline">\eta</math> generates <math display="inline">\alpha</math> because # Each stratum <math display="inline">X</math> of <math display="inline">Z</math> is invariant under <math display="inline">\alpha</math>, i.e. <math display="inline">\alpha[J \cap (\R \times X)] \subseteq X</math>. # For each <math display="inline">v \in Z</math>, the map <math display="inline">t \to \alpha(t, v)</math> of <math display="inline">(a_v, b_v)</math> into the stratum which contains <math display="inline">v</math> is <math display="inline">C^1</math>. # For any <math display="inline">(t, v) \in Z</math>(?) we have <math display="inline">d/dt \alpha(t, v) = \eta(\alpha(t, v))</math>.<ref>Mather 2012, pp. 495.</ref> It is unique because each <math display="inline">(J_X, \alpha_X)</math> is unique. We just need to prove that <math display="inline">J</math> is open, <math display="inline">\alpha</math> is continuous, and for any <math display="inline">v \in Z</math> and any compact set <math display="inline">K \subseteq Z</math> there exists <math display="inline">\epsilon > 0</math> such that <math display="inline">\alpha(t, v) \notin K</math> if <math display="inline">t \in (a_v, a_v + \epsilon) \cup (b_v - \epsilon, b_v)</math>.<ref>Mather 2012, pp. 495.</ref> For the latter-most condition, if it did not hold then there exists...<ref>Mather 2012, pp. 496-497.</ref> We prove there is a homeomorphism <math display="inline">f: Z \to h^{-1}(0) \times \R</math> such that <math display="inline">\pi \circ f = h</math>, where <math display="inline">\pi: h^{-1}(0) \times \R \to \R</math> is projection to the second factor. For the coordinate vector field <math display="inline">\partial</math> on <math display="inline">\R</math>, by [prop 9.1] there is a controlled vector field <math display="inline">\tilde\partial</math> such that <math display="inline">f_* \tilde\partial(v) = \partial(h(v))</math> for <math display="inline">v \in Z</math>. By [prop 10.1], <math display="inline">\tilde\partial</math> generates a local one-parameter group <math display="inline">(J, \alpha)</math> such that <math display="block">h(\alpha(t,v)) = h(v) + t</math> <math display="inline">h</math> is proper and [d] holds, so <math display="inline">J = \R \times Z</math>. If we define <math display="inline">f</math> as <math display="block">f(v) = (\alpha(-t, v), h(v))</math> then <math display="inline">f</math> maps <math display="inline">Z</math> into <math display="inline">h^{-1}(0) \times \R</math> and <math display="inline">\pi \circ f = h</math>. If we define <math display="inline">\bar f: h^{-1}(0) \times \R \to Z</math> as <math display="block">\bar f(v, t) = \alpha(t, v)</math> then <math display="inline">f \bar f = \bar f f = Id</math> and <math display="inline">f</math> is a homeomorphism.<ref>Mather 2012, pp. 497.</ref> == Topology at critical points == Theorem: If there is a critical point <math display="inline">p</math> in the singular variety <math display="inline">\mathcal{V}</math> with critical value <math display="inline">v \in (a, b)</math> then the space <math display="inline">X_{\leq b}</math> is homotopic to<ref>Goresky and MacPherson 1988, pp. 174.</ref> <math display="block">X_{\leq a} \cup [(D^{\lambda+1}, \partial D^{\lambda+1}) \times (\mathcal{L}_X, \partial \mathcal{L}_X)].</math> Proof: # <math display="inline">(X_{\leq b}, X_{\leq a})</math> is homeomorphic to <math display="inline">(X_{\leq v + \epsilon}, X_{\leq v -\epsilon})</math>.<ref>Goresky and MacPherson 1988, pp. 120.</ref> # <math display="inline">X_{\leq \epsilon}</math> is homeomorphic to <math display="inline">X_{\leq -\epsilon} \cup (J, K)</math>, where the latter is the local Morse data for <math display="inline">h</math> at <math display="inline">p</math><ref>Goresky and MacPherson 1988, pp. 120-121.</ref> # <math display="inline">(J, K)</math> is homeomorphic to <math display="inline">(D^{\lambda+1}, \partial D^{\lambda+1}) \times (\mathcal{L}_X, \partial \mathcal{L}_X)</math> (tangential data, normal data)<ref>Goresky and MacPherson 1988, pp. 121.</ref> # The normal Morse data depends only on the differential <math display="inline">df(p)</math>.<ref>Goresky and MacPherson 1988, pp. 93.</ref> # The normal Morse data has the homotopy type of <math display="inline">(\mathcal{L}_X, \partial \mathcal{L}_X)</math>.<ref>Goresky and MacPherson 1988, pp. 169.</ref> == Morse theory == Steps(?) * Explain topology * Every point of a stratum is locally like a product structure (proved by Thom's Isotopy Lemma) [GM pp. 41-42] ** Including those around critical points, which are the product of normal and tangential Morse data (these are our quasi-local cycles?) * Thom's Isotopy Lemma proves a strong deformation retraction (which only stops at critical points) [PWM pp. 541-542] === Homotopy === We want to replace our domain of convergence <math display="inline">M</math>, which is the complement of our singular variety <math display="inline">\mathcal{V}</math>, with an "equivalent" space <math display="inline">M'</math> which has better understood properties. We say "equivalent" because there are several different things we could mean by "equivalent" in this context. The equivalence we are referring to in this section is called '''homotopy'''. Imagine two subspaces <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> of a space <math display="inline">Y</math> which are defined respectively by smooth functions <math display="inline">f, g: X \to Y</math>. If there exists a smooth function <math display="inline">h_s: X \times [0, 1] \to Y</math>, called a homotopy, such that <math display="inline">h_0 = f</math>, <math display="inline">h_1 = g</math> and for any <math display="inline">\epsilon > 0</math> there exists a <math display="inline">\delta_a</math> and <math display="inline">\delta_b</math> such that when <math display="inline">|s - s_0| < \delta_a</math> and <math display="inline">|x - x_0| < \delta_b</math> we have <math display="inline">|h_s(x) - h_{s_0}(x_0)| < \epsilon</math>, then we say <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> are '''homotopic'''.<ref>Henle 1979, pp. 251-252.</ref> Below is an example where <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> are one-dimensional curves and <math display="inline">H(t, s) = h_s(t)</math>. [[File:Homotopy_curves.png|300px]] In [[#Homotopy_equivalence|Appendix A]], we formally prove that we can construct an equivalent space <math display="inline">M'</math>. We provide only an example to give some intuition before describing how to construct the space <math display="inline">M'</math> in terms of local cycles around critical points. === Motivating example === Imagine a torus and a height function which is just the z value of the point. [[File:3D-Leveltorus.png|200px]] It has four critical points: two at the top and bottom of the outer circle (<math display="inline">p_1, p_4</math>) and two at the top and bottom of the inner circle (<math display="inline">p_2, p_3</math>). [picture] When the height is between the <math display="inline">p_1</math> and <math display="inline">p_2</math>, the space is a two-cell, which can be retracted to a point. [picture] When the height is between <math display="inline">p_2</math> and <math display="inline">p_3</math>, the space is a cylinder, which can be retracted to a two-cell with a one-cell attached. [[File:3D-Cylinder_and_disk_with_handle.png|200px]] When the height is between <math display="inline">p_3</math> and <math display="inline">p_4</math>, the space is a torus with a disc removed, which can be retracted to a cylinder with a one-cell attached. [[File:3D-Cylinder_with_handle_and_torus_with_hole.png|200px]] When the height is greater than <math display="inline">p_4</math>, then the full torus is constructed by attaching a two-cell. [Explain in terms of Morse data and Morse index?] === Morse data and quasi-local cycles === As in the above example, we start at the "bottom" of <math display="inline">M</math> and build upwards until just before we reach our first critical point <math display="inline">p</math>. ;Smooth points :This is a tube around a <math display="inline">(d-1)</math>-chain <math display="inline">\gamma</math> where the height function <math display="inline">h</math> is maximised at <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 223.</ref> :For example, if <math display="inline">F(x, y) = \frac{1}{1 - x - y}</math> then <math display="inline">\lambda = 1</math> and <math display="inline">B^\lambda</math> is an arc reaching its highest point at <math display="inline">p</math>. :The normal plane <math display="inline">N</math> at <math display="inline">p</math> is a plane orthogonal to <math display="inline">B^1</math>(?). :Its normal link <math display="inline">L(S)</math> is a circle with two points missing where it intersects <math display="inline">\mathcal{V}</math>. :We make our quasi-local cycle out of the product of the arc and circle joined to <math display="inline">M_-</math> at points below <math display="inline">M_-</math>. :With the exception of degenerate points, such as monkey saddles...<ref>e.g. Pemantle, Wilson and Melczer 2024, pp. 211.</ref> ;Transverse multiple points :This is the product of a <math display="inline">k</math>-torus and a <math display="inline">(d-k)</math>-chain <math display="inline">\gamma</math>. The torus is the product of circles about <math display="inline">p</math> in the complex normal space to each strata which intersects <math display="inline">p</math>. The chain <math display="inline">\gamma</math> is supported in the stratum which is the common intersection of the varieties defined by the factors vanishing at <math display="inline">p</math>, and achieves its maximum height at <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 223-224.</ref> ;Arrangement multiple point :This is the product of a <math display="inline">(d-k)</math>-chain <math display="inline">\gamma</math> and several <math display="inline">k</math>-tori, one for each pair of sheets which intersect transversely, where the torus is the product of circles about <math display="inline">p</math> in each sheet.<ref>Pemantle, Wilson and Melczer 2024, pp. 226.</ref> ;Cone point :A cone point is zero-dimensional so there is no <math display="inline">\gamma</math>, just a <math display="inline">d</math>-torus about <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 227.</ref> == Appendix == === Homotopy equivalence === [Assuming no CVAI...] Theorem: # Homotopy equivalence between M_{\leq a} and M_{\leq b}... # If in a range <math display="inline">[a, b]</math> there are no CVAI and only one critical value <math display="inline">c</math>, not equal to either <math display="inline">a</math> or <math display="inline">b</math>, with one or more critical points <math display="inline">z_1, \cdots, z_m</math> then there is a stratified flow deforming any chain in <math display="inline">M</math> to a (homotopic?) chain in the union of <math display="inline">M_{<c}</math> with sufficiently small balls around each critical point. This induces a homotopy between <math display="inline">(M_{c+\epsilon}, M_{c-\epsilon})</math> and the direct sum of <math display="inline">(M_{c-\epsilon} \cup B_{2\epsilon}(z_i), M_{c-\epsilon})</math> for each critical point <math display="inline">z_i</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 231.</ref> The core of this is the concept of a '''vector field'''. A vector field is a function which assigns, for each point <math display="inline">p</math> in a space, a '''vector''', which can be represented by an arrow whose tail starts at <math display="inline">p</math>.<ref>Henle 1979, pp. 33.</ref> [picture] Imagine we have a vector field <math display="inline">v(x)</math> defined in a space and draw a line through our space. At each point along this line the vector field assigns a vector. If we move each point in this line along the arrow defined by this vector in the direction of the arrow head. This "flows" the entire line along the vectors. We can (potentially) define a function to implement this flow. Define <math display="inline">\Phi(x, t)</math> where <math display="inline">x</math> are points in the space and <math display="inline">t</math> is something like time. As <math display="inline">t</math> goes from zero to some positive number, <math display="inline">\Phi</math> moves the points <math display="inline">x</math> along the vectors. To describe this process formally, we say <math display="inline">\Phi</math> is the solution to the differential equation <math display="block">\frac{d}{dt} \Phi(x, t) = v(x).</math> We want a particular vector field <math display="inline">v</math> with certain properties... The proof of the existence of this vector field is long and complicated and we will not go into it here.<ref>It involves concepts such as Thom's isotopy lemma and Mather's controlled vector flows. See Mather 2012.</ref> Using this vector field <math display="inline">v</math> but modified so as to be zero on <math display="inline">M_{\leq a}</math>. This vector field defines a function <math display="inline">\Phi(x, t)</math> such that * <math display="inline">d/dt \Phi(x, t) = v(x)</math> when <math display="inline">h(x) \in (a, b]</math>. * <math display="inline">\Phi(x, t)</math> is defined for <math display="inline">0 \leq t \leq h(x) - a</math> and in this range <math display="inline">h(\Phi(x, t)) = h(x) - t</math>. * the map <math display="inline">\psi(x) = \Phi(x, b - a)</math> is a continuous map on <math display="inline">M_{\leq b}</math> with range (image?) <math display="inline">M_{\leq a}</math> and fixing <math display="inline">M_{\leq a}</math>. The function <math display="inline">\Phi(x, 0)</math> is the identity on <math display="inline">M_{\leq b}</math> and <math display="inline">\Phi(x, b - a) = \psi(x)</math>, therefore <math display="inline">\Phi</math> in the range <math display="inline">[0, b - a]</math> is a homotopy between the identity on <math display="inline">M_{\leq b}</math> and <math display="inline">\psi</math>. This implies 1)???<ref>Pemantle, Wilson and Melczer 2024, pp. 233.</ref> Define the distance from a critical point <math display="inline">\kappa(x) = \min\{ |x - z_i| : z_1, \cdots, z_m \}</math>. For <math display="inline">s > 0 </math> we define a new vector field <math display="block">v_s(x) = \begin{cases} v(x) & \kappa(x) \geq s \\ \rho(\kappa(x)) v(x) & \kappa(x) \in [s/2, s] \\ 0 & \kappa(x) \leq s/2 \end{cases}</math> for a smooth non-decreasing function <math display="inline">\rho</math> where <math display="inline">\rho(s/2) = 0</math>. Define <math display="inline">\Phi_s</math> as the function such that <math display="inline">d/dt \Phi(x, t)_s = v_s(x)</math>. The height function <math display="inline">h</math> is non-increasing along <math display="inline">\Phi_s</math> (by implication of bullet point 2?) so points in <math display="inline">M_{\leq c-\epsilon}</math> stay in <math display="inline">M_{\leq c - \epsilon}</math> when flowed along <math display="inline">\Phi_s</math> and therefore <math display="inline">\Phi_s</math> is a homotopy equivalence between <math display="inline">(M_{\leq c+\epsilon}, M_{\leq c-\epsilon})</math> and <math display="inline">(\Phi(M_{\leq c+\epsilon}, 2\epsilon), M_{\leq c-\epsilon})</math>. By <math display="inline">\Phi(M_{\leq c+\epsilon}, 2\epsilon)</math> we mean the space <math display="inline">M_{\leq c+\epsilon}</math> flowed along <math display="inline">\Phi(x, t)</math> for a short period of time <math display="inline">2\epsilon</math>. [Prove it has the same critical points and is proper?] <math display="inline">\Phi(M_{\leq c+\epsilon}, 2\epsilon)</math> takes points in <math display="inline">M_{\leq c+\epsilon}</math> to <math display="inline">M_{\leq c-\epsilon}</math> except for those that come within <math display="inline">s</math> of a critical point within time <math display="inline">2\epsilon</math>. Therefore, we see how we <math display="inline">\Phi_s</math> can homotopically deform a chain in <math display="inline">M_{\leq c+\epsilon}</math> to a chain in the union of <math display="inline">M_{\leq c-\epsilon}</math> and small neighbourhoods of critical points.<ref>Pemantle, Wilson and Melczer 2024, pp. 234-235.</ref> On the assumption of this theorem, we can start with any chain in <math display="inline">M</math> and deform this chain to <math display="inline">M_{c_1+}</math> using part 1. Then we deform this chain to a chain in the union of <math display="inline">M_{c_1-}</math> and small balls around the critical points. The (sub?)chain in <math display="inline">M_{c_1-}</math> is then deformed to a chain in <math display="inline">M_{c_2+}</math>, which is deformed to a chain in <math display="inline">M_{c_2-} \cup z_{c_2}</math>, and so on. Eventually, we get to <math display="inline">M_{c_j-}</math> which is homotopic to any space "below" it. Therefore, we have deformed our chain in <math display="inline">M</math> to a homotopic chain in the union of small balls around critical points.<ref>Baryshnikov, Melczer and Pemantle 2022, pp. ???.</ref><ref>Pemantle, Wilson and Melczer 2024, pp. 217???</ref> [Direct sum of homology generators for relative cycles] == Notes == {{Reflist}} == References == * {{citation | last1=Baryshnikov | first1=Yuliy | last2=Melczer | first2=Stephen | last3=Pemantle | first3=Robin | title=Stationary Points at Infinity for Analytic Combinatorics | year=2022 | journal=Foundations of Computational Mathematics | volume=22 | number=5 | pages=1631-1664 | url=https://www2.math.upenn.edu/~pemantle/papers/SPAI-published-version.pdf }}. * {{cite book | last1=Goresky | first1=Mark | last2=MacPherson | first2=Robert | title=Stratified Morse Theory | publisher=Springer-Verlag | year=1988 | url=https://www.math.ias.edu/~goresky/pdf/SMT.djvu }} * {{cite book | last=Henle | first1=Michael | title=A Combinatorial Introduction to Topology | publisher=Dover Publications Inc. New York | year=1979 }} * {{citation | last=Mather | first=John | title=Notes on Topological Stability | year=2012 | journal=Bulletin of the American Mathematical Society | volume=49 | number=4 | pages=475-506 | url=https://www.ams.org/journals/bull/2012-49-04/S0273-0979-2012-01383-6/S0273-0979-2012-01383-6.pdf }}. * {{cite book | last1=Pemantle | first1=Robin | last2=Wilson | first2=Mark C. | last3=Melczer | first3=Stephen | title=Analytic Combinatorics in Several Variables | publisher=Cambridge University Press | year=2024 | edition=2nd | url=https://acsvproject.com/PemantleWilsonMelczer23.pdf }} j4uhpior3yqorm82v1axkkeeofg8wbm 4670063 4670059 2026-09-14T15:52:22Z Dom walden 3209423 /* Topology at critical points */ 4670063 wikitext text/x-wiki == Introduction == Morse theory tells us that the topology of M only changes at its critical points. The "Morse data" tells us the topology at each critical point. Attaching this Morse data together gives us a space which is homopotically eqivalent to M. This space is a "cell complex", which has an easy to calculate homology. Theorem: Our domain of convergence is homotopic to a cell complex of dimension at most <math display="inline">2n - d - 1</math>.<ref>This is theorem D.23 in Pemantle, Wilson and Melczer 2024, pp. 546. Also theorem in section 1.2*/5.2* in SMT pp. 200.</ref> Proof: # <math display="inline">X</math> is our entire domain, <math display="inline">\mathcal{V}</math> our variety # Project our entire domain to complex projective space <math display="inline">Z = \pi(X) \subset \C\mathbb{P}^n - H</math> [define H] # Define a linear subspace <math display="inline">G \subset \C\mathbb{P}^n</math> of dimension <math display="inline">d - 1</math> # Define a Morse function on <math display="inline">f: \C\mathbb{P}^n \to \R</math> which approximates the distance from <math display="inline">G</math> and such that <math display="inline">f^{-1}(0) = G</math> and <math display="inline">f^{-1}(1) = H</math> # We "build" <math display="inline">X - \mathcal{V}</math> from <math display="inline">\pi^{-1}(G \cap Z) \cap (X - \mathcal{V})</math> by attaching CW complexes at critical points which are of at most dimension <math display="inline">2n - d - 1</math> # At a critical point, the normal Morse data is <math display="inline">(J, K) = \coprod_x (J_x, K_x)</math> and the relative complex link is <math display="inline">\mathcal{L}^\pi = \coprod_x \mathcal{L}_x</math> # We show that the quotient <math display="inline">J_x/K_x</math> is homotopic to a CW complex of dimension <math display="inline">\leq 2n - d - 1</math> # The neighbourhood of <math display="inline">x</math> in <math display="inline">J_x</math> is homeomorphic to the cone in <math display="inline">L_x(X - \mathcal{V})</math>, and removing the point <math display="inline">x</math> increases the homotopy dimension to at most the homotopy dimension of <math display="inline">L_x</math> # <math display="inline">(J_x \cup \{x\}, K_x)</math> is homotopic to <math display="inline">(\text{cone}(\mathcal{L}_x), \mathcal{L}_x)</math> # <math display="inline">\mathcal{L}_x</math> is homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math> # The tangential Morse data at the critical point is homotopic to the pair <math display="inline">(D^\lambda, \partial D^\lambda)</math> # Therefore, at each critical point a space has been added homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math>. Theorem: If <math display="inline">X</math> is the complement in <math display="inline">\C^n</math> of a complex variety <math display="inline">\mathcal{V}</math> of dimension <math display="inline">d</math> then <math display="inline">X</math> is homotopic to a CW complex of dimension at most <math display="inline">2n - d - 1</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 546.</ref> Proof: # We build <math display="inline">X</math> by attaching cells of dimension at most <math display="inline">2n - d - 1</math> at each critical point. ## Prove that we can do this without changing the homotopy(?) ## We use Thom's Isotopy Lemma to prove that there is a strong deformation retraction, stopping only at critical points. # Prove these cells are a product of the normal and tangential Morse data. ## Normal data: <math display="inline">(\mathcal{L}(S), \partial \mathcal{L}(S)) \times (D^1, \partial D^1)</math> [GM pp. 18] ## Tangential data: <math display="inline">(B_\delta \cap f^{-1}[v - \epsilon, v + \epsilon], B_\delta \cap f^{-1}(v - \epsilon))</math> for <math display="inline">f</math> restricted to <math display="inline">X</math> (or <math display="inline">\mathcal{V}</math>?) [GM pp. 63-64] # If <math display="inline">k</math> is the dimension of the strata, then ## If <math display="inline">k = d</math> then it is a smooth point and the cell is the product of <math display="inline">S^{2(n-d)-1}</math> and the tangential data is dimension at most <math display="inline">d</math>. ## If <math display="inline">k < d</math>, ... <ref>Pemantle, Wilson and Melczer 2024, pp. 547.</ref> == Example in one dimension == Domain with singularities v_1, v_2, ..., v_i Define our height function f... Start with our entire domain X Reduce from X to X_i+ by using Thom's Isotopy lemma to do a strong deformation retract == Thom's isotopy lemma == We present a modified version of Thom's isotopy lemma, less general than the original but more obviously relevant to our situation. Theorem: Suppose <math display="inline">Z</math> is a closed subset of a smooth manifold <math display="inline">M</math> which admits a Whitney stratification and <math display="inline">h : M \to \R</math> is a proper Morse function which has no critical values on <math display="inline">Z</math>. Then, the level sets of <math display="inline">Z</math> are homeomorphic by a homeomorphism that preserves the strata of <math display="inline">Z</math>.<ref>For various versions of the full statement of the theorem, see Mather 2012, pp. 499, Goresky and MacPherson 1988, pp. 41, or Pemantle, Wilson and Melczer 2024, pp. 541.</ref> Proof: # Construct control data for <math display="inline">Z</math> compatible with <math display="inline">h</math>. ## [Prop 7.1] If <math display="inline">h</math> is smooth on <math display="inline">Z</math> and is a submersion for each strata then there exists a family of control data for <math display="inline">Z</math> compatible with <math display="inline">h</math>.<ref>Mather 2012, pp. 488.</ref> # This makes <math display="inline">Z</math> an abstract stratified set and <math display="inline">f</math> a controlled submersion. # A controlled submersion has, for any smooth vector field on <math display="inline">\R</math>, a controlled vector field on <math display="inline">Z</math> (a "lift"?)<ref>Mather 2012, pp. 493.</ref> # A controlled vector field has a unique one-parameter family of homeomorphisms of <math display="inline">Z</math> which commute with <math display="inline">h</math>.<ref>Mather 2012, pp. 496.</ref> # This makes <math display="inline">h</math> a locally trivial fibration. [Prop 10.2]<ref>Mather 2012, pp. 499.</ref> Control data: A system of '''control data''' for <math display="inline">Z</math> consists of, for each stratum <math display="inline">X</math> of <math display="inline">Z</math>, * a '''tubular neighbourhood''' <math display="inline">T_X</math> of <math display="inline">X</math> * a '''tubular projection function''' <math display="inline">\pi_X: T_X \to X</math>, and * a '''tubular distance function''' <math display="inline">\rho_X: T_X \to \R</math> such that <math display="inline">\rho_X^{-1}(0) = X</math><ref>Goresky and MacPherson 1988, pp. 42.</ref> [illustration] such that if <math display="inline">X < Y</math> are strata in <math display="inline">Z</math>, then <math display="block">\pi_X \pi_Y(m) = \pi_X(m),</math> <math display="block">\rho_X \pi_Y(m) = \rho_X(m)</math> for all <math display="inline">m \in |T_X| \cap |T_Y|</math> such that <math display="inline">\pi_Y(m) \in |T_X|</math>. If, for all strata <math display="inline">X</math> and all <math display="inline">m \in |T_X|</math>, we have <math display="inline">h \pi_X(m) = h(m)</math>, then this control data will be said to be compatible with <math display="inline">h</math>.<ref>Mather 2012, pp. 488.</ref> We prove that if <math display="inline">h</math> is smooth on <math display="inline">Z</math> and is a submersion for each strata then there exists a family of control data for <math display="inline">Z</math> compatible with <math display="inline">h</math>.<ref>Mather 2012, pp. 488, prop 7.1.</ref> Let <math display="inline">Z_k</math> be the union of strata of <math display="inline">Z</math> of dimension less than <math display="inline">k</math>. We prove by induction on <math display="inline">k</math>. To construct the tubular neighbourhood <math display="inline">T_X</math> of a stratum <math display="inline">X</math> of dimension less than <math display="inline">k</math>. For <math display="inline">l \leq k</math>, let <math display="inline">U_l</math> denote the union of all <math display="inline">|T_Y|</math> for <math display="inline">Y < X</math> and <math display="inline">\dim Y \geq l</math>. Let <math display="inline">X_l = U_l \cap X</math>.<ref>Mather 2012, pp. 489.</ref> For <math display="inline">l = k</math>, <math display="inline">X_k = \empty</math>. Assume by induction that <math display="inline">T_{l+1}</math> has been constructed and that if <math display="inline">Y < X</math>, <math display="inline">\dim Y \geq l + 1</math>, <math display="inline">m \in |T_{l+1}| \cap |T_Y|</math> and <math display="inline">\pi_{l+1}(m) \in |T_Y|</math> (<math display="inline">\pi_{l+1} = \pi_{T_{l+1}}</math>) then<ref>Mather 2012, pp. 489-490.</ref> <math display="block">\rho_Y \pi_{l+1}(m) = \rho_Y(m),</math> <math display="block">\pi_Y \pi_{l+1}(m) = \pi_Y(m).</math> We wish to construct a tubular neighbourhood <math display="inline">T_{X,Y}</math> of <math display="inline">|T_Y| \cap X</math> whose restriction to <math display="inline">|T_Y| \cap X_{l+1}</math> is isomorphic to the restriction of <math display="inline">T_{l+1}</math> such that if <math display="inline">m \in |T_{X,Y}| \cap |T_Y|</math> and <math display="inline">\pi_{X,Y}(m) \in |T_Y|</math> (<math display="inline">\pi_{X,Y} = \pi_{T_{X,Y}}</math>) then <math display="block">\rho_Y \pi_{X,Y}(m) = \rho_Y(m),</math> <math display="block">\pi_Y \pi_{X,Y}(m) = \pi_Y(m).</math> By shrinking <math display="inline">|T_Y|</math> if necessary, this relation is already satisfied if <math display="inline">m \in |T_{l+1}| \cap |T_Y|</math> and <math display="inline">\pi_{l+1}(m) \in |T_Y|</math> with <math display="inline">T_{l+1}</math> in place of <math display="inline">T_{X,Y}</math> and <math display="inline">\pi_{l+1}</math> in place of <math display="inline">\pi_{X,Y}</math>. By the definition, if <math display="inline">m \in |T_{l+1}|</math> then there exists <math display="inline">Z < X</math> with <math display="inline">\dim Z > l</math>, <math display="inline">m \in |T_Z|</math> and <math display="inline">\pi_{l+1}(m) \in |T_Z|</math>. We have that <math display="inline">\pi_{l+1}(m) \in |T_Y| \cap |T_Z|</math> and therefore <math display="inline">Y < Z</math>. Therefore<ref>Mather 2012, pp. 490.</ref> <math display="block">\rho_Y \pi_{l+1}(m) = \rho_Y \pi_Z \pi_{l+1}(m) = \rho_Y \pi_Z(m) = \rho_Y(m),</math> <math display="block">\pi_Y \pi_{l+1}(m) = \pi_Y \pi_Z \pi_{l+1}(m) = \pi_Y \pi_Z(m) = \pi_Y(m).</math> We can prove that, by shrinking <math display="inline">|T_Y|</math>, <math display="inline">(\rho_Y, \pi_Y): |T_Y| \cap X \to \R \times Y</math> is a submersion [prop 7.3?] and that <math display="inline">T_{X,Y}</math> is compatible with <math display="inline">(\rho_Y, \pi_Y): |T_Y| \cap X_{l+1} \to \R \times Y</math>, i.e. <math display="inline">(\rho_Y, \pi_Y) \pi_{X,Y}(m) = (\rho_Y, \pi_Y)(m)</math>(?). To prove it is a submersion, for the tubular neighbourhood <math display="inline">T = (E, \epsilon, \psi)</math> there exists a smooth positive function <math display="inline">\epsilon'</math> such that <math display="block">(\rho_T, \pi_T): Y \cap |T|_{\epsilon'}^0 \to \R \times X,</math> where <math display="inline">|T|_{\epsilon'}^0 = \psi(B_\epsilon \cap B_{\epsilon'})</math>, is a submersion. If <math display="inline">\Sigma</math> is the set <math display="inline">y \in |T|</math> such that the rank of <math display="block">(\rho_T, \pi_T): T \cap |T| \to \R \times X</math> at <math display="inline">y</math> is less than <math display="inline">\dim(\R \times X)</math>. We need to prove that for any <math display="inline">x \in X</math> there exists a neighbourhood of <math display="inline">x</math> which does not intersect with <math display="inline">\Sigma</math>, i.e. the map is not a submersion in this neighbourhood. It follows from [lemma 7.2] that it is enough to prove for <math display="inline">M = \R^m</math>, <math display="inline">X = \R^{m-c} \times 0_c</math> and <math display="inline">T</math> is the '''standard tubular neighbourhood'''.<ref>Mather 2012, pp. 489.</ref> By standard tubular neighbourhood, we mean the trivial bundle with base <math display="inline">\R^{m-c}</math> and fibre <math display="inline">\R^c</math> where <math display="inline">\pi: \R^m \to \R^{m-c}</math>...<ref>Mather 2012, pp. 488.</ref> For <math display="inline">y \in |T| - \R^{m-c}</math>, the kernal of the differential of <math display="inline">(\pi_T, \rho_T)</math> at <math display="inline">y</math> is the orthogonal complement of <math display="inline">(\R^{m-c} \times 0_c) \oplus \stackrel{\frown}{y \pi_T(y)}</math> in <math display="inline">\R^m</math>. By the Whitney conditions, we have that for <math display="inline">y</math> near <math display="inline">\R^{m-c}</math>, <math display="inline">(\R^{m-c} \times 0_c) \oplus \stackrel{\frown}{y \pi_T(y)}</math> is close to the set of <math display="inline">m - c + 1</math> planes in <math display="inline">m-</math>space to an <math display="inline">m - c + 1</math> plane in <math display="inline">TY_y</math>. Therefore, for <math display="inline">y</math> near enough to <math display="inline">\R^{m-c}</math>, <math display="inline">TY_y</math> is transverse to the kernal of the differential of <math display="inline">(\pi_T, \rho_T)</math> and, therefore, is a submersion when restricted to <math display="inline">Y</math>.<ref>Mather 2012, pp. 489.</ref> To prove that <math display="inline">T_{X,Y}</math> is compatible with <math display="inline">(\rho_Y, \pi_Y): |T_Y| \cap X_{l+1} \to \R \times Y</math>...<ref>Mather 2012, pp. 490.</ref> Therefore, there exists a tubular neighbourhood <math display="inline">T_0</math> of <math display="inline">X_0</math> satisfying <math display="block">\rho_Y \pi_0(m) = \rho_Y(m),</math> <math display="block">\pi_Y \pi_0(m) = \pi_Y(m).</math> From this we can prove that <math display="inline">T_0</math> is compatible with <math display="inline">h</math>. Replacing <math display="inline">T_0</math> with a smaller tubular neighbourhood if necessary we can assume <math display="inline">m \in |T_0|</math> such that for some <math display="inline">Y < X</math>, <math display="inline">m \in |T_Y|</math> and <math display="inline">\pi_0(m) \in |T_Y|</math>, then<ref>Mather 2012, pp. 490.</ref> <math display="block">h \pi_0(m) = h \pi_Y \pi_0(m) = h \pi_Y(m) = h(m).</math> By the generalised tubular neighourhood theorem [prop 7.2?], we can replace <math display="inline">T_0</math> with a tubular neighbourhood <math display="inline">T</math> of <math display="inline">X</math> compatible with <math display="inline">h</math>. This completes the construction of <math display="inline">T_X</math>.<ref>Mather 2012, pp. 491.</ref> This makes <math display="inline">Z</math> an '''abstract stratified set''' with axioms...<ref>Mather 2012, pp. 491-492.</ref> This also makes <math display="inline">h</math> a '''controlled submersion''' because # <math display="inline">h|X: X \to \R</math> is a smooth submersion on each strata <math display="inline">X</math> of <math display="inline">Z</math>, and # for each stratum <math display="inline">X</math> there is a tubular neighbourhood <math display="inline">T'_X</math> such that <math display="inline">h(v) = h \pi_X(v)</math> for all <math display="inline">v \in T'_X</math>.<ref>Mather 2012, pp. 493.</ref> The core of this is the concept of a '''vector field'''. A vector field is a function which assigns, for each point <math display="inline">p</math> in a space, a '''vector''', which can be represented by an arrow whose tail starts at <math display="inline">p</math>.<ref>Henle 1979, pp. 33.</ref> [picture] Imagine we have a vector field <math display="inline">v(x)</math> defined in a space and draw a line through our space. At each point along this line the vector field assigns a vector. If we move each point in this line along the arrow defined by this vector in the direction of the arrow head. This "flows" the entire line along the vectors. [picture] We define a '''stratified vector field''' <math display="inline">\eta</math> on <math display="inline">Z</math> to be a family of smooth vector fields <math display="inline">\eta_X</math>, one for each strata <math display="inline">X</math> of <math display="inline">Z</math>.<ref>Mather 2012, pp. 493.</ref> We define a '''controlled vector field''' <math display="inline">\eta</math> on <math display="inline">Z</math> to be a stratified vector field such that for any strata <math display="inline">Y</math> there exists a tubular neighbourhood <math display="inline">T'_Y</math> such that for any <math display="inline">X > Y</math> and any <math display="inline">v \in T'_X \cap X</math><ref>Mather 2012, pp. 493.</ref> <math display="block">\eta_X \rho_{Y,X}(v) = 0,</math> <math display="block">(\pi_{Y,X})_* \eta_X(v) = \eta_Y (\pi_{Y,X}(v)).</math> We prove that if <math display="inline">h</math> is a controlled submersion then, for any smooth vector field <math display="inline">\zeta</math> on <math display="inline">\R</math> there is a controlled vector field <math display="inline">\eta</math> on <math display="inline">Z</math> such that <math display="inline">h_* \eta(v) = \zeta(h(v))</math> for all <math display="inline">v \in Z</math>.<ref>Mather 2012, pp. 493.</ref> Proceeding by induction on the maximum dimension of the strata of <math display="inline">Z</math>, we define <math display="inline">Z_k</math> to be the union of strata of <math display="inline">Z</math> of dimension at most <math display="inline">k</math>. The tubular neighbourhood of <math display="inline">Z_k</math> is the intersection of the tubular neighbourhoods of each strata in <math display="inline">Z_k</math> with <math display="inline">Z</math>. The projection and distance functions are the restrictions of the respective functions of <math display="inline">Z</math>. It is trivially true when the maximum dimension of strata in <math display="inline">Z</math> is zero. Assume it is true for <math display="inline">k</math> and construct each <math display="inline">\eta_X</math> separately for each stratum <math display="inline">X</math> of dimension <math display="inline">k + 1</math>. By the assumption that we have controlled vector fields for all strata <math display="inline">Y</math> of dimension at most <math display="inline">k</math>, we have the two control conditions defined above for any <math display="inline">X > Y</math> and that there is a neighbourhood <math display="inline">T^1_Y</math> such that <math display="inline">h(v) = h \pi_Y(v)</math> for <math display="inline">v \in T^1_Y</math>. We want to prove that for all <math display="inline">Y < X</math>, the control conditions are satisfied for all <math display="inline">v \in T^2_Y</math> and that <math display="inline">h_*\eta_X(v) = \zeta(v)</math> for all <math display="inline">v \in X</math>. Take a point <math display="inline">x \in X</math> and define the set <math display="inline">S_v</math> of strata <math display="inline">Y < X</math> such that <math display="inline">v \in T^2_Y</math>. <math display="inline">S_v</math> is totally ordered since if <math display="inline">Y_1</math> and <math display="inline">Y_2</math> are not comparable then <math display="inline">T^2_{Y_1} \cap T^2_{Y_2} = \empty</math>. Therefore, there is a largest member <math display="inline">Y = Y_v</math>. Assume the control conditions hold for <math display="inline">Y = Y_v</math>. Then they hold for all <math display="inline">Y_i \in S_v</math>. For, either <math display="inline">Y_i = Y</math> or <math display="inline">Y_i < Y</math>. In the latter case, <math display="inline">\pi_Y(v) \in T^1_{Y_i}</math> (by the choice of <math display="inline">T^2_Y</math>'s [is this why?]. Then <math display="block">\begin{align} \eta_X(v) \rho_{Y_i,X}(v) &= \eta_X \rho_{Y_i,Y} \pi_{Y,X}(v) \\ &= (\pi_{Y,X})_* \eta_X(v) \rho_{Y_i,Y} \\ &= \eta_Y(\pi_{Y,X}(v)) \rho_{Y_i,Y} \\ &= 0 \end{align}</math> and <math display="block">\begin{align} (\pi_{Y_i,X})_* \eta_X(v) &= (\pi_{Y_i,Y})_* (\pi_{Y,X})_* \eta_X(v) \\ &= (\pi_{Y_i,Y})_* \eta_Y(v) (\pi_{Y,X}) \\ &= \eta_{Y_i}(\pi_{Y_i,Y} \pi_{Y,X}(v)) \\ &= \eta_{Y_i}(\pi_{Y_i,X}(v)) \end{align}</math> and, therefore, condition holds for all <math display="inline">Y_i \in S_v</math>. Also, <math display="block">\begin{align} h_* \eta_X(v) &= (h \circ \pi_{Y,X})_* \eta_X(v) \\ &= h_* \eta_Y (\pi_{Y,X}(v)) \\ &= \zeta(f(v)) \end{align}</math> and, therefore, the conclusion of the theorem holds at <math display="inline">v</math>. This shows we can construct <math display="inline">\eta_X</math> satisfying the control conditions when <math display="inline">S_v</math> is non-empty and satisfying the theorem when <math display="inline">S_v</math> is empty. The set of vectors satisfying these conditions is convex in <math display="inline">TX_v</math>, and so we construct <math display="inline">\eta_X</math> globally via a partition of unity.<ref>Mather 2012, pp. 493-495.</ref> Finally, we prove that a controlled vector field has a unique one-parameter family of homeomorphisms of <math display="inline">Z</math> which commute with <math display="inline">h</math>.<ref>Mather 2012, this combines Proposition 10.1 and Corollary 10.2 on pp. 496 and 497, respectively.</ref> For each stratum <math display="inline">X</math> of <math display="inline">Z</math>, <math display="inline">\eta_X</math> generates a unique smooth local one-parameter group <math display="inline">(J_X, \alpha_X)</math> of diffeomorphisms of <math display="inline">X</math> (by standard results of differential geometry), such that <math display="inline">\frac{d}{dt} \alpha(t, v)|_{t=0} = \eta_X(v)</math>, <math display="inline">J_X</math> is an open subset of <math display="inline">\R \times Z</math>, ... If we define <math display="inline">(J, \alpha)</math> by <math display="block">J = \bigcup_{X \in S} J_X</math> <math display="block">\alpha = \bigcup_{X \in S} \alpha_X</math> we can prove that this is a local one-parameter family of homeomorphisms.<ref>Mather 2012, pp. 496.</ref> Firstly, it is clear that # <math display="inline">0 \times Z \subseteq J</math> and <math display="inline">\alpha(0, v) = v</math> for all <math display="inline">v \in Z</math>. # If <math display="inline">v \in Z</math> then <math display="inline">J_v = J \cap (\R \times v) \subseteq \R</math> is an open interval <math display="inline">(a_v, b_v)</math>, possibly infinite at one or both ends. # If <math display="inline">v \in Z</math> and <math display="inline">t, s, t + s</math> are in <math display="inline">(a_v, b_v)</math> then <math display="inline">\alpha(t + s, v) = \alpha(t, \alpha(s, v))</math>.<ref>Mather 2012, pp. 495.</ref> Secondly, it is clear that <math display="inline">\eta</math> generates <math display="inline">\alpha</math> because # Each stratum <math display="inline">X</math> of <math display="inline">Z</math> is invariant under <math display="inline">\alpha</math>, i.e. <math display="inline">\alpha[J \cap (\R \times X)] \subseteq X</math>. # For each <math display="inline">v \in Z</math>, the map <math display="inline">t \to \alpha(t, v)</math> of <math display="inline">(a_v, b_v)</math> into the stratum which contains <math display="inline">v</math> is <math display="inline">C^1</math>. # For any <math display="inline">(t, v) \in Z</math>(?) we have <math display="inline">d/dt \alpha(t, v) = \eta(\alpha(t, v))</math>.<ref>Mather 2012, pp. 495.</ref> It is unique because each <math display="inline">(J_X, \alpha_X)</math> is unique. We just need to prove that <math display="inline">J</math> is open, <math display="inline">\alpha</math> is continuous, and for any <math display="inline">v \in Z</math> and any compact set <math display="inline">K \subseteq Z</math> there exists <math display="inline">\epsilon > 0</math> such that <math display="inline">\alpha(t, v) \notin K</math> if <math display="inline">t \in (a_v, a_v + \epsilon) \cup (b_v - \epsilon, b_v)</math>.<ref>Mather 2012, pp. 495.</ref> For the latter-most condition, if it did not hold then there exists...<ref>Mather 2012, pp. 496-497.</ref> We prove there is a homeomorphism <math display="inline">f: Z \to h^{-1}(0) \times \R</math> such that <math display="inline">\pi \circ f = h</math>, where <math display="inline">\pi: h^{-1}(0) \times \R \to \R</math> is projection to the second factor. For the coordinate vector field <math display="inline">\partial</math> on <math display="inline">\R</math>, by [prop 9.1] there is a controlled vector field <math display="inline">\tilde\partial</math> such that <math display="inline">f_* \tilde\partial(v) = \partial(h(v))</math> for <math display="inline">v \in Z</math>. By [prop 10.1], <math display="inline">\tilde\partial</math> generates a local one-parameter group <math display="inline">(J, \alpha)</math> such that <math display="block">h(\alpha(t,v)) = h(v) + t</math> <math display="inline">h</math> is proper and [d] holds, so <math display="inline">J = \R \times Z</math>. If we define <math display="inline">f</math> as <math display="block">f(v) = (\alpha(-t, v), h(v))</math> then <math display="inline">f</math> maps <math display="inline">Z</math> into <math display="inline">h^{-1}(0) \times \R</math> and <math display="inline">\pi \circ f = h</math>. If we define <math display="inline">\bar f: h^{-1}(0) \times \R \to Z</math> as <math display="block">\bar f(v, t) = \alpha(t, v)</math> then <math display="inline">f \bar f = \bar f f = Id</math> and <math display="inline">f</math> is a homeomorphism.<ref>Mather 2012, pp. 497.</ref> == Topology at critical points == Theorem: If there is a critical point <math display="inline">p</math> in the singular variety <math display="inline">\mathcal{V}</math> with critical value <math display="inline">v \in (a, b)</math> then the space <math display="inline">X_{\leq b}</math> is homotopic to<ref>Goresky and MacPherson 1988, pp. 174.</ref> <math display="block">X_{\leq a} \cup [(D^{\lambda+1}, \partial D^{\lambda+1}) \times (\mathcal{L}_X, \partial \mathcal{L}_X)].</math> Proof: # <math display="inline">(X_{\leq b}, X_{\leq a})</math> is homeomorphic to <math display="inline">(X_{\leq v + \epsilon}, X_{\leq v -\epsilon})</math>. We can prove this by "moving wall" or Thom's Isotopy Lemma.<ref>Goresky and MacPherson 1988, pp. 90-91, 120.</ref> # <math display="inline">X_{\leq v + \epsilon}</math> is homeomorphic to <math display="inline">X_{\leq v - \epsilon} \cup (J, K)</math>, where the latter is the local Morse data for <math display="inline">h</math> at <math display="inline">p</math>. We do this by moving the wall...<ref>Goresky and MacPherson 1988, pp. 95-96, 120-121.</ref> # <math display="inline">(J, K)</math> is homeomorphic to <math display="inline">(D^{\lambda+1}, \partial D^{\lambda+1}) \times (\mathcal{L}_X, \partial \mathcal{L}_X)</math> (tangential data, normal data). Again, moving the wall...<ref>Goresky and MacPherson 1988, pp. 65-66, chapter 8, 121.</ref> # The normal Morse data depends only on the differential <math display="inline">df(p)</math>.<ref>Goresky and MacPherson 1988, pp. 93.</ref> # The normal Morse data has the homotopy type of <math display="inline">(\mathcal{L}_X, \partial \mathcal{L}_X)</math>.<ref>Goresky and MacPherson 1988, pp. 169.</ref> == Morse theory == Steps(?) * Explain topology * Every point of a stratum is locally like a product structure (proved by Thom's Isotopy Lemma) [GM pp. 41-42] ** Including those around critical points, which are the product of normal and tangential Morse data (these are our quasi-local cycles?) * Thom's Isotopy Lemma proves a strong deformation retraction (which only stops at critical points) [PWM pp. 541-542] === Homotopy === We want to replace our domain of convergence <math display="inline">M</math>, which is the complement of our singular variety <math display="inline">\mathcal{V}</math>, with an "equivalent" space <math display="inline">M'</math> which has better understood properties. We say "equivalent" because there are several different things we could mean by "equivalent" in this context. The equivalence we are referring to in this section is called '''homotopy'''. Imagine two subspaces <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> of a space <math display="inline">Y</math> which are defined respectively by smooth functions <math display="inline">f, g: X \to Y</math>. If there exists a smooth function <math display="inline">h_s: X \times [0, 1] \to Y</math>, called a homotopy, such that <math display="inline">h_0 = f</math>, <math display="inline">h_1 = g</math> and for any <math display="inline">\epsilon > 0</math> there exists a <math display="inline">\delta_a</math> and <math display="inline">\delta_b</math> such that when <math display="inline">|s - s_0| < \delta_a</math> and <math display="inline">|x - x_0| < \delta_b</math> we have <math display="inline">|h_s(x) - h_{s_0}(x_0)| < \epsilon</math>, then we say <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> are '''homotopic'''.<ref>Henle 1979, pp. 251-252.</ref> Below is an example where <math display="inline">\gamma_0</math> and <math display="inline">\gamma_1</math> are one-dimensional curves and <math display="inline">H(t, s) = h_s(t)</math>. [[File:Homotopy_curves.png|300px]] In [[#Homotopy_equivalence|Appendix A]], we formally prove that we can construct an equivalent space <math display="inline">M'</math>. We provide only an example to give some intuition before describing how to construct the space <math display="inline">M'</math> in terms of local cycles around critical points. === Motivating example === Imagine a torus and a height function which is just the z value of the point. [[File:3D-Leveltorus.png|200px]] It has four critical points: two at the top and bottom of the outer circle (<math display="inline">p_1, p_4</math>) and two at the top and bottom of the inner circle (<math display="inline">p_2, p_3</math>). [picture] When the height is between the <math display="inline">p_1</math> and <math display="inline">p_2</math>, the space is a two-cell, which can be retracted to a point. [picture] When the height is between <math display="inline">p_2</math> and <math display="inline">p_3</math>, the space is a cylinder, which can be retracted to a two-cell with a one-cell attached. [[File:3D-Cylinder_and_disk_with_handle.png|200px]] When the height is between <math display="inline">p_3</math> and <math display="inline">p_4</math>, the space is a torus with a disc removed, which can be retracted to a cylinder with a one-cell attached. [[File:3D-Cylinder_with_handle_and_torus_with_hole.png|200px]] When the height is greater than <math display="inline">p_4</math>, then the full torus is constructed by attaching a two-cell. [Explain in terms of Morse data and Morse index?] === Morse data and quasi-local cycles === As in the above example, we start at the "bottom" of <math display="inline">M</math> and build upwards until just before we reach our first critical point <math display="inline">p</math>. ;Smooth points :This is a tube around a <math display="inline">(d-1)</math>-chain <math display="inline">\gamma</math> where the height function <math display="inline">h</math> is maximised at <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 223.</ref> :For example, if <math display="inline">F(x, y) = \frac{1}{1 - x - y}</math> then <math display="inline">\lambda = 1</math> and <math display="inline">B^\lambda</math> is an arc reaching its highest point at <math display="inline">p</math>. :The normal plane <math display="inline">N</math> at <math display="inline">p</math> is a plane orthogonal to <math display="inline">B^1</math>(?). :Its normal link <math display="inline">L(S)</math> is a circle with two points missing where it intersects <math display="inline">\mathcal{V}</math>. :We make our quasi-local cycle out of the product of the arc and circle joined to <math display="inline">M_-</math> at points below <math display="inline">M_-</math>. :With the exception of degenerate points, such as monkey saddles...<ref>e.g. Pemantle, Wilson and Melczer 2024, pp. 211.</ref> ;Transverse multiple points :This is the product of a <math display="inline">k</math>-torus and a <math display="inline">(d-k)</math>-chain <math display="inline">\gamma</math>. The torus is the product of circles about <math display="inline">p</math> in the complex normal space to each strata which intersects <math display="inline">p</math>. The chain <math display="inline">\gamma</math> is supported in the stratum which is the common intersection of the varieties defined by the factors vanishing at <math display="inline">p</math>, and achieves its maximum height at <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 223-224.</ref> ;Arrangement multiple point :This is the product of a <math display="inline">(d-k)</math>-chain <math display="inline">\gamma</math> and several <math display="inline">k</math>-tori, one for each pair of sheets which intersect transversely, where the torus is the product of circles about <math display="inline">p</math> in each sheet.<ref>Pemantle, Wilson and Melczer 2024, pp. 226.</ref> ;Cone point :A cone point is zero-dimensional so there is no <math display="inline">\gamma</math>, just a <math display="inline">d</math>-torus about <math display="inline">p</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 227.</ref> == Appendix == === Homotopy equivalence === [Assuming no CVAI...] Theorem: # Homotopy equivalence between M_{\leq a} and M_{\leq b}... # If in a range <math display="inline">[a, b]</math> there are no CVAI and only one critical value <math display="inline">c</math>, not equal to either <math display="inline">a</math> or <math display="inline">b</math>, with one or more critical points <math display="inline">z_1, \cdots, z_m</math> then there is a stratified flow deforming any chain in <math display="inline">M</math> to a (homotopic?) chain in the union of <math display="inline">M_{<c}</math> with sufficiently small balls around each critical point. This induces a homotopy between <math display="inline">(M_{c+\epsilon}, M_{c-\epsilon})</math> and the direct sum of <math display="inline">(M_{c-\epsilon} \cup B_{2\epsilon}(z_i), M_{c-\epsilon})</math> for each critical point <math display="inline">z_i</math>.<ref>Pemantle, Wilson and Melczer 2024, pp. 231.</ref> The core of this is the concept of a '''vector field'''. A vector field is a function which assigns, for each point <math display="inline">p</math> in a space, a '''vector''', which can be represented by an arrow whose tail starts at <math display="inline">p</math>.<ref>Henle 1979, pp. 33.</ref> [picture] Imagine we have a vector field <math display="inline">v(x)</math> defined in a space and draw a line through our space. At each point along this line the vector field assigns a vector. If we move each point in this line along the arrow defined by this vector in the direction of the arrow head. This "flows" the entire line along the vectors. We can (potentially) define a function to implement this flow. Define <math display="inline">\Phi(x, t)</math> where <math display="inline">x</math> are points in the space and <math display="inline">t</math> is something like time. As <math display="inline">t</math> goes from zero to some positive number, <math display="inline">\Phi</math> moves the points <math display="inline">x</math> along the vectors. To describe this process formally, we say <math display="inline">\Phi</math> is the solution to the differential equation <math display="block">\frac{d}{dt} \Phi(x, t) = v(x).</math> We want a particular vector field <math display="inline">v</math> with certain properties... The proof of the existence of this vector field is long and complicated and we will not go into it here.<ref>It involves concepts such as Thom's isotopy lemma and Mather's controlled vector flows. See Mather 2012.</ref> Using this vector field <math display="inline">v</math> but modified so as to be zero on <math display="inline">M_{\leq a}</math>. This vector field defines a function <math display="inline">\Phi(x, t)</math> such that * <math display="inline">d/dt \Phi(x, t) = v(x)</math> when <math display="inline">h(x) \in (a, b]</math>. * <math display="inline">\Phi(x, t)</math> is defined for <math display="inline">0 \leq t \leq h(x) - a</math> and in this range <math display="inline">h(\Phi(x, t)) = h(x) - t</math>. * the map <math display="inline">\psi(x) = \Phi(x, b - a)</math> is a continuous map on <math display="inline">M_{\leq b}</math> with range (image?) <math display="inline">M_{\leq a}</math> and fixing <math display="inline">M_{\leq a}</math>. The function <math display="inline">\Phi(x, 0)</math> is the identity on <math display="inline">M_{\leq b}</math> and <math display="inline">\Phi(x, b - a) = \psi(x)</math>, therefore <math display="inline">\Phi</math> in the range <math display="inline">[0, b - a]</math> is a homotopy between the identity on <math display="inline">M_{\leq b}</math> and <math display="inline">\psi</math>. This implies 1)???<ref>Pemantle, Wilson and Melczer 2024, pp. 233.</ref> Define the distance from a critical point <math display="inline">\kappa(x) = \min\{ |x - z_i| : z_1, \cdots, z_m \}</math>. For <math display="inline">s > 0 </math> we define a new vector field <math display="block">v_s(x) = \begin{cases} v(x) & \kappa(x) \geq s \\ \rho(\kappa(x)) v(x) & \kappa(x) \in [s/2, s] \\ 0 & \kappa(x) \leq s/2 \end{cases}</math> for a smooth non-decreasing function <math display="inline">\rho</math> where <math display="inline">\rho(s/2) = 0</math>. Define <math display="inline">\Phi_s</math> as the function such that <math display="inline">d/dt \Phi(x, t)_s = v_s(x)</math>. The height function <math display="inline">h</math> is non-increasing along <math display="inline">\Phi_s</math> (by implication of bullet point 2?) so points in <math display="inline">M_{\leq c-\epsilon}</math> stay in <math display="inline">M_{\leq c - \epsilon}</math> when flowed along <math display="inline">\Phi_s</math> and therefore <math display="inline">\Phi_s</math> is a homotopy equivalence between <math display="inline">(M_{\leq c+\epsilon}, M_{\leq c-\epsilon})</math> and <math display="inline">(\Phi(M_{\leq c+\epsilon}, 2\epsilon), M_{\leq c-\epsilon})</math>. By <math display="inline">\Phi(M_{\leq c+\epsilon}, 2\epsilon)</math> we mean the space <math display="inline">M_{\leq c+\epsilon}</math> flowed along <math display="inline">\Phi(x, t)</math> for a short period of time <math display="inline">2\epsilon</math>. [Prove it has the same critical points and is proper?] <math display="inline">\Phi(M_{\leq c+\epsilon}, 2\epsilon)</math> takes points in <math display="inline">M_{\leq c+\epsilon}</math> to <math display="inline">M_{\leq c-\epsilon}</math> except for those that come within <math display="inline">s</math> of a critical point within time <math display="inline">2\epsilon</math>. Therefore, we see how we <math display="inline">\Phi_s</math> can homotopically deform a chain in <math display="inline">M_{\leq c+\epsilon}</math> to a chain in the union of <math display="inline">M_{\leq c-\epsilon}</math> and small neighbourhoods of critical points.<ref>Pemantle, Wilson and Melczer 2024, pp. 234-235.</ref> On the assumption of this theorem, we can start with any chain in <math display="inline">M</math> and deform this chain to <math display="inline">M_{c_1+}</math> using part 1. Then we deform this chain to a chain in the union of <math display="inline">M_{c_1-}</math> and small balls around the critical points. The (sub?)chain in <math display="inline">M_{c_1-}</math> is then deformed to a chain in <math display="inline">M_{c_2+}</math>, which is deformed to a chain in <math display="inline">M_{c_2-} \cup z_{c_2}</math>, and so on. Eventually, we get to <math display="inline">M_{c_j-}</math> which is homotopic to any space "below" it. Therefore, we have deformed our chain in <math display="inline">M</math> to a homotopic chain in the union of small balls around critical points.<ref>Baryshnikov, Melczer and Pemantle 2022, pp. ???.</ref><ref>Pemantle, Wilson and Melczer 2024, pp. 217???</ref> [Direct sum of homology generators for relative cycles] == Notes == {{Reflist}} == References == * {{citation | last1=Baryshnikov | first1=Yuliy | last2=Melczer | first2=Stephen | last3=Pemantle | first3=Robin | title=Stationary Points at Infinity for Analytic Combinatorics | year=2022 | journal=Foundations of Computational Mathematics | volume=22 | number=5 | pages=1631-1664 | url=https://www2.math.upenn.edu/~pemantle/papers/SPAI-published-version.pdf }}. * {{cite book | last1=Goresky | first1=Mark | last2=MacPherson | first2=Robert | title=Stratified Morse Theory | publisher=Springer-Verlag | year=1988 | url=https://www.math.ias.edu/~goresky/pdf/SMT.djvu }} * {{cite book | last=Henle | first1=Michael | title=A Combinatorial Introduction to Topology | publisher=Dover Publications Inc. New York | year=1979 }} * {{citation | last=Mather | first=John | title=Notes on Topological Stability | year=2012 | journal=Bulletin of the American Mathematical Society | volume=49 | number=4 | pages=475-506 | url=https://www.ams.org/journals/bull/2012-49-04/S0273-0979-2012-01383-6/S0273-0979-2012-01383-6.pdf }}. * {{cite book | last1=Pemantle | first1=Robin | last2=Wilson | first2=Mark C. | last3=Melczer | first3=Stephen | title=Analytic Combinatorics in Several Variables | publisher=Cambridge University Press | year=2024 | edition=2nd | url=https://acsvproject.com/PemantleWilsonMelczer23.pdf }} 1b6sxpan5x10v9gwt9ixm9a7o14bmex Chess Opening Theory/1. d4/1...f5/2. c4/2...Nf6/3. Nc3 0 482595 4670099 4630780 2026-09-14T20:25:34Z 123957a 582828 corrected d6 description 4670099 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Queen's knight variation |eco=[[Chess/ECOA|A85]] |parent=[[../|2... Nf6]] |responses=<br> * [[/3...e6|3...e6 · Classical / Stonewall]] * [[/3...g6|3...g6 · Leningrad Variation]] }} == 3. Nc3 · Queen's knight variation == '''3. Nc3''' develops a piece and increases White's control over the e4 and d5 squares. [[/3...e6|'''3...e6''']] leads to the Classical or Stonewall systems. [[/3...d6|'''3...d6''']] defends the f5 pawn. [[/3...g6|'''3...g6''']]: prepares to fianchetto the king's bishop instead. Preparing to fianchetto the queen's bishop, [[/3...b6|'''3...b6''']], is uncommon. == Theory table == {{ChessTable}}{{ChessMid}} == References== {{reflist}} === See also === {{wikipedia|Dutch Defence}} {{Chess Opening Theory/Footer}} 4pgm0gojconci500e1rqeb68kvelyox FlightGear Flight Simulator/Getting Started 0 483314 4670053 4654384 2026-09-14T14:50:15Z Fcbs3 3546790 4670053 wikitext text/x-wiki This page will introduce how to get started with FlightGear, based on the content of [https://wiki.flightgear.org/New_to_FlightGear FlightGear Wiki]. == Running FlightGear == === Starting FlightGear === The easiest way to start FlightGear is to use the desktop icon. This starts the graphical interface Qt launcher where you can choose aircraft, start position etc. Remember the launcher only has basic options to get you started. A lot of options for graphics, scenery, weather, environment, input devices etc. are available from the menu inside the simulator. Many users choose however to start FlightGear directly from the command line. The executable name is <code>fgfs</code> and can be run without options. If it is "not found", it is likely not in your path. The location depends on your particular system and choices you made during compile and installation. There is a list of [[FlightGear Flight Simulator/Technical/Command line options|command line parameters]] which must be used to change many options, like the aircraft you want. The most important: fgfs --launcher # opens the Qt launcher fgfs --show-aircraft # displays a list of installed aircraft fgfs --aircraft=c172p # start FG with the aircraft "c172p" (from the list) The launcher also lets users add command line parameters for options that are normally changed from the menu inside the simulator, as well as quite advanced options that are only available from the command line. === Configuring rendering and UI === [[File:FlightGear Rendering options 2024.1.png|thumb|Rendering options]] If your render quality or framerate is too low, click "View > Rendering Options" to adjust the graphic settings. For newer hardware, it's recommended to set "graphics quality" to high and check "use disk space for faster loading", "animated jetways" and "satellite photoscenery". If the menu text appears too small on high DPI or large screens, you can manually change the menubar font size by editing the data file, or simply click "Debug > Cycle GUI Style". === Using the keyboard and/or mouse === Users with limited access to a joystick or other controllers sometimes use the keyboard or mouse to control their aircraft. Using the keyboard to fly can be difficult and the mouse is recommended over the keyboard for flying, yet even a cheap joystick would improve the experience so much. To get help with keyboard commands, with FlightGear running, go to the ''Help'' menu, look under ''Basic Keys'' (for simulator related commands) and ''Common Aircraft Keys'' (for commands universal to all aircraft) and ''Aircraft Help'' (for key commands specific to your aircraft). If the main menu is hidden, press F10. To use the mouse to fly the aircraft, press Tab (the cursor should change to a cross) and move the mouse to direct the aircraft. Press Tab again to look around (cursor should show a two sided arrow), and press Tab again to return to normal mode, used to click stuff in the cockpit. You can click "File > Input Devices > Mouse Config" to adjust the mouse sensitivity. For most users lacking a rudder axis control, it’s difficult to manually coordinate aileron and rudder movements during a turn. To enable auto-coordination and make flight easier, you may click "Settings", then click the "Show more" button on the right of "General", and finally click "Enable auto-coordination" in the launcher. === First time in the cockpit === Finding your way around the cockpit may be challenging the first time. You can use Ctrl+V to switch to the cockpit view. If the text on the panel are too small, you can use the ''view'' mode of the mouse (press Tab until you get a cursor shaped like a double arrow) to pan and the mouse wheel to zoom, or pan with the joystick hat and zoom with X and Shift+X. One of the first steps that many take on entering an unfamiliar cockpit is to press Ctrl+C to highlight all the "hotspots", that is instrument controls, buttons, knobs, etc. Many aircraft also offer a specific help menu. Some functions, such as starter or magneto, may be difficult to use or simply lack clickable "hotspots", especially in aircraft models which are in development. In most cases you can use the keyboard. The keyboard always work according to the assignments listed on the "Help > Aircraft help" or "Help > Common aircraft keys" menu, but sometimes some keys are reassigned by an aircraft or configuration. Again, remember to check all the help dialogs. === Starting the engine === You are eager to fly, but the engine is off. Well, turning on the engines is not always easy. Most aircraft have an ''autostart'' entry in their custom menu, but here is a general procedure that should work in many cases: In general to start the engine on a piston-engine type aircraft, you need (after making sure the game is not paused p): # Fuel: Some aircraft start the simulation with no fuel. You can add it in ''Equipment'' &gt; ''Fuel and Payload''. # Correct fuel mixture: This is generally ''rich'', so push the red knob all the way in, or use the key m to enrich (Shift+m leans.) # Magnetos set on ''both'': Turn the key or press &#125; ''three times'' to move through ''R'', ''L'', ''Both''. # Throttle: Some engines start better with a little gas. # Run the starter: Click the ''Start'' position of the key on the panel, or press s. Hold the starter for sufficient time, even 10 seconds. Starting all engines in a multi-engine aircraft is similar to the single engine - except you must follow the same start sequence for each and every engine. FlightGear provides a convenient way to do this for all engines at once: Press ~ and all the procedure above will work for all the engines. Note though that the default 2D panel is connected to ''only one engine'' and the ~ trick might not work. Also, give some gas to be sure that all the engines are on. These instructions may not work for jet aircraft, helicopters, or other types of aircraft with complex start procedures. Check the instructions in the aircraft help menu (press ?) and/or look at the aircraft's article on this wiki. In general to start the engine on a jet engine type aircraft, you need to: # Set cutoff ''ON'' # Engage the starter # Once the engines spools up to approximately 5% N1, set cutoff ''OFF'' # Disengage the starter once the engine has reached operational speed == Learning to fly == === FlightGear's Manual === FlightGear has an [https://www.flightgear.org/support/manual official manual] that covers the basics of flight. As a beginner, you may want to start with "Chapter 8: A Basic Flight Simulator Tutorial." === Tutorials === Many aircraft have their own interactive tutorials. With tutorials, you can learn to operate particular aircraft but also learn to fly. You can access tutorials by going to ''Help'' &gt; ''Tutorial''. A great place to start is the tutorial for the Cessna 172P aircraft, commonly used in real life to learn to fly fixed-winged aircraft. If the tutorial starts without a runway and surrounded by water, your setup of FlightGear is missing the scenery for the airport at which the tutorial was supposed to run. To get scenery see the #Getting scenery section above. == Making your first flight == === Realism === One of the most frequent questions novice pilots ask about any flight simulator, but more so to FlightGear, is "Why is my aircraft turning left all the time?" Although it could be due to wind gusts crossing the runway, it is more likely due to the propeller torque and p-factor. In certain other flight simulators, despite marketing slogans to the contrary, some settings are turned down to make the aircraft easier to fly. This reduces effects such as the above. The realism is always turned up in FlightGear. Here are some of the FlightGear realism points, which may be confusing to first time pilots: * "Left turning syndrome" for the previously mentioned reasons. * Compass turning error: A compass, when subjected to the forces of flight, tends to turn in the opposite direction for a brief period before settling on the correct heading. This is not a malfunction (see also the Wikipedia article Aircraft compass turns). * The Vertical Speed Indicator (VSI) is also subject to error. * The Horizontal Situation Indicator (HSI) is driven by a gyroscope (that is why it is sometimes called a Directional Gyroscope), which is subject to ''gyro drift''. The indicator will drift from its current heading and must be periodically (every ~15 minutes) calibrated to agree with the magnetic compass heading. * You cannot just cancel a turn or climb by centering the yoke or stick. You must turn or push the stick the other way to get to level and level flight. But even then, the plane will not maintain its altitude or heading by itself. A common mistake is trying to find a hands off yoke position. While with trimming one could leave the plane for a couple of seconds, one must use autopilot or constantly adjust the yoke. Many forces act on an aircraft in flight as well as on the avionics and instruments used for control and navigation, and may be counter-intuitive. Pilots must learn to recognize these phenomena and compensate for their effects. ''FlightGear models instrument errors that exist in the real world''. If you don't want it, press h to enable the HUD. === Airports and navigation aids === When you first start FlightGear, whether from the command line or the graphical interface of the launchers, you may wonder how to determine what airports are available. The launcher displays a list of airports, but you will not see details such as tower or ILS frequencies. You will not find a map showing VORs and their frequencies. What can you do? See Getting aeronautical charts. In-sim, there is a map you can use in ''Main Menu'' &gt; ''Equipment'' &gt; ''Map'', which will allow you to see navigation data and the position of airports and aids. For more help with navigation see Understanding navigation. === Flying using the autopilot === A generic autopilot is available from the ''Autopilot > Autopilot Settings'' menu, while many aircraft come with their own ''specific'' autopilot, frequently a model of the real life one. For aircraft that provide their own autopilot, you should use the autopilot controls available in the virtual cockpit. This means clicking on the instrument panel in the virtual cockpit. The Autopilot menu may be grayed out and unavailable when the aircraft supplies its own autopilot in some aircraft, including the Airbuses and the C172P. The Cessna 172 comes with a Bendix/King KAP140 Autopilot in its virtual cockpit. You can use both the autopilot device in the cockpit and the autopilot settings from the menu. == Advanced == === Flying === * If you continue to fly light civilian aircraft, Cessna 182S which is more complex than C172P and PA28 are good choices. * If you are interested in flying airlines, Airbus A320 family, Boeing 777/787, MD-11 and MD-80 are suggested. * If you are fascinated by fighter aircrafts, choose a highly rated military aircraft (such as F-16/F-15), and enable multiplayer damage or install Bombable. * If you switch to helicopters, it is recommended to fly Eurocopter EC130 B4. Besides common aircraft, there are also detailed space shuttles available. === Scenery === It can be fascinating to explore the scenery (or just test the graphics/frame rate) with UFO. First of all, increase your graphics quality. If you don't see buildings initially, keep FG open and wait for a while for [https://wiki.flightgear.org/TerraSync TerraSync] to finish downloading and for the buildings to appear. There are plenty of well-developed airports and scenery areas. You can also explore the scenery objects on the model map. === Multiplayer === FlightGear has some multiplayer servers that will let you fly in more lively skies, see [https://wiki.flightgear.org/Howto:Multiplayer Howto:Multiplayer]. There are also OpenRadar and ATC-pie, standalone programs that will let you be an air traffic controller. There is also a multiplayer map that lets you see who is online right now, and even what navaids are nearby. === Addons === FlightGear has a lot of third-party [https://wiki.flightgear.org/Addon addons] containing enhancements. For beginners, Logbook and Which Runway may be the most useful addons.<ref>https://wiki.flightgear.org/New_to_FlightGear</ref> == References == {{Reflist}} {{BookCat}} 86mzmvrk59s885b77qm8okhzz8ulucm Chess Opening Theory/1. e4/1...c6/2. d4/2...d5/3. exd5/3...cxd5/4. c4/4...Nf6/5. Nc3 0 484230 4670024 4647281 2026-09-14T13:16:42Z Greenman 7490 No need 4670024 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Caro-Kann Panov-Botvinnik Attack |parent=[[Chess/Caro-Kann Defence|Caro-Kann]] |eco=[[Chess/ECOB|B13-B14]] }} = 5. Nc3 · Caro-Kann Panov-Botvinnik Attack= With white putting pressure on the d5 pawn, 5... e6 is a solid response. 5... Nc6 is more ambitious, but more risky. Black can also fianchetto the bishop with 5... g6. ==Theory table== {{Chess Opening Theory/Table}} 1.e4 c6 2.d4 d5 3.exd5 cxd5 4. c4 Nf6 5. Nc3 <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">5</th> </tr> <tr> <td>[[/5...e6|e6]] </td> </tr> <tr> <td>[[/5...Nc6|Nc6]] </td> </tr> <tr> <td>[[/5...g6|g6]] </td> </tr> </table> {{ChessMid}} {{Wikipedia|Panov-Botvinnik Attack}} ==References== {{reflist}} {{NCO}} {{MCO14}} {{BCO2}} * ''Play the Caro-Kann''. 2007. Jovanka Houska {{ISBN|9781857447965}} {{Chess Opening Theory/Footer}} td3mmlj1gf43y7u2orz36kc6t9ryf8p Statistics for Sociologists 0 485134 4670094 4666546 2026-09-14T19:32:31Z Rcragun 41177 updated completion on Chapter 6 4670094 wikitext text/x-wiki == Table of Contents == {| class="wikitable" | align=right |- | {{print version}} |- | {{PDF version|Statistics for Sociologists}} |} * '''Statistics for Sociologists: An Introduction Using R and the General Social Survey''' * '''Part I: Foundations''' ** [[/Chapter 1: Why Statistics? Making Sense of Social Life with Data/]] {{stage short|100%|August 6, 2026}} ** [[/Chapter 2: Getting Started with R and RStudio/]] {{stage short|100%|August 6, 2026}} ** [[/Chapter 3: The General Social Survey - What It Is and How to Use It/]] {{stage short|100%|August 18, 2026}} ** [[/Chapter 4: Types of Variables and Levels of Measurement/]] {{stage short|100%|August 19, 2026}} * '''Part II: Working with Data''' ** [[/Chapter 5: Loading, Exploring, and Cleaning GSS Data/]] {{stage short|100%|September 1, 2026}} ** [[/Chapter 6: Recoding and Transforming Variables/]] {{stage short|100%|September 14, 2026}} * '''Part III: Descriptive Statistics''' ** [[/Chapter 7: Frequency Distributions and Visualizing Data/]] {{stage short|75%|August 6, 2026}} ** [[/Chapter 8: Measures of Central Tendency/]] {{stage short|75%|August 6, 2026}} ** [[/Chapter 9: Measures of Variability/]] {{stage short|75%|August 6, 2026}} ** [[/Chapter 10: The Normal Distribution and Areas Under the Curve/]] {{stage short|75%|August 6, 2026}} ** [[/Chapter 11: Sampling Distributions, Standard Error, and Statistical Power/]] {{stage short|75%|August 6, 2026}} ** [[/Chapter 12: Confidence Intervals/]] {{stage short|75%|August 6, 2026}} * '''Part IV: Inferential Statistics''' ** [[/Chapter 13: Hypothesis Testing, t-Tests, and Effect Sizes/]] {{stage short|75%|August 6, 2026}} ** [[/Chapter 14: Chi-Square Tests and Effet Sizes/|Chapter 14: Chi-Square Tests and Effect Sizes]] {{stage short|75%|August 6, 2026}} ** [[/Chapter 15: ANOVA and Effect Sizes/]] {{stage short|75%|August 6, 2026}} ** [[/Chapter 16: Bivariate Regression, Correlation, and Effect Sizes/]] {{stage short|75%|August 6, 2026}} ** [[/Chapter 17: An Introduction to Bayesian Thinking/]] {{stage short|75%|August 6, 2026}} ** [[/Chapter 18: Putting It All Together - Replicating Sociological Research/]] {{stage short|75%|August 6, 2026}} ==Instructor Resources== * [[/Noted Contributors/]] * [[/Course Adoptions/]] (if you adopt this text for your course, please make a note of it on this page) {{BookCat}} 6gcnblz2ksjulk0vkbz0cb6lg22qs4v Statistics for Sociologists/Chapter 6: Recoding and Transforming Variables 0 485147 4670093 4669707 2026-09-14T19:31:47Z Rcragun 41177 /* Example 2: Create Age Groups From Continuous AGE */ fixed outputs 4670093 wikitext text/x-wiki = Chapter 6: Recoding and Transforming Variables = Consider <code>GOD</code>, a GSS variable measuring belief in God, which — brace yourself — has response categories coded 1 through 6, plus 0, 8, and 98 sitting off to the side meaning "not applicable," "don't know," and "no answer." Six real categories. Three impostors. All nine of them stored as plain numbers, indistinguishable from one another until you go looking. What could go wrong? Several things, all at once, unless you know how to recode. This chapter is about reshaping variables into the form your analysis actually needs — collapsing categories that are too fine-grained, reversing scales that point the wrong direction, building new variables out of old ones, and, always, checking your work before you trust it. == Why Recode at All? == GSS variables were designed to capture rich detail, not to be immediately analysis-ready. A five-point happiness scale might need collapsing to a simpler happy/not-happy split for a specific research question. An age variable might be more useful as age groups than as exact years. A scale might run backward relative to how you want to interpret it. None of this means the original variable was poorly designed — it means the original variable was designed for flexibility, and recoding is how you spend some of that flexibility on the specific question in front of you. == Collapsing Categories == Sometimes a variable has more categories than your research question needs. GSS's <code>HAPPY</code> variable has three levels (very happy, pretty happy, not too happy); collapsing it to two (happy vs. not happy) trades some nuance for a simpler, often more interpretable comparison. '''Base R, with <code>ifelse()</code>:''' <syntaxhighlight lang="r"> gss$HAPPY_binary <- ifelse(gss$HAPPY == 1, "Happy", "Not Happy") </syntaxhighlight> '''dplyr, with <code>case_when()</code>:''' <syntaxhighlight lang="r"> library(dplyr) gss <- gss %>% mutate(HAPPY_binary = case_when( HAPPY == 1 ~ "Happy", HAPPY %in% c(2, 3) ~ "Not Happy", TRUE ~ NA_character_ )) </syntaxhighlight> Notice the <code>case_when()</code> version's final line, <code>TRUE ~ NA_character_</code> — this is a deliberate safety net. Any value that doesn't match an earlier condition (including, importantly, any leftover missing codes you haven't yet recoded to <code>NA</code>) falls through to a genuine missing value instead of silently landing in whichever category happens to come first. <code>ifelse()</code> has no equivalent safety net built in; a value of 8 ("don't know") that slipped through uncaught would land in "Not Happy" purely because it isn't a 1, which is exactly the kind of quiet, plausible-looking error that makes it into a final paper unless you check. You can also use the <code>car</code> package to recode variables: '''car, with <code>recode</code>:''' <syntaxhighlight lang="r"> library(car) gss$happy_binary <- car::recode(gss$happy, '1=1; 2:3=2; else=NA') </syntaxhighlight> Like was done with dplyr, the <code>car</code> package has an option for "everything else" that is not captured by the core code. In this case, everything coded as "1" stays a "1." Everything coded "2" or "3" becomes a "2." And the last part of the code tells R to make sure everything else is recoded as "NA." == Creating Dummy Variables == A '''dummy variable''' (also called an indicator variable) recodes any categorical variable into a 0/1 flag for a single category of interest — "is this respondent Protestant, yes or no" rather than "which of six religions is this respondent." Dummy variables are the standard currency of regression (Chapter 16), which generally wants 0s and 1s rather than unordered category labels. <syntaxhighlight lang="r"> # Base R gss$is_protestant <- ifelse(gss$RELIG == 1, 1, 0) # dplyr gss <- gss %>% mutate(is_protestant = if_else(RELIG == 1, 1, 0)) # car gss$is_protestant <- car::recode(gss$RELIG, '1=1; else=0') </syntaxhighlight> == Reversing Scales == Occasionally a scale is coded in the opposite direction from how you want to interpret it — high numbers meaning "less" of something rather than "more." A common fix, for a scale running 1 to k, is: <syntaxhighlight lang="r"> gss$SCALE_reversed <- (max(gss$SCALE, na.rm = TRUE) + 1) - gss$SCALE </syntaxhighlight> For a known 1-to-5 scale, this is often written more transparently as <code>6 - gss$SCALE</code> — the general formula above just avoids hardcoding the "6" in case the scale's range changes later or you're writing a function meant to work on more than one scale. Whichever version you use, verify it: reverse-coding is invisible in the sense that the new variable looks exactly as plausible as the old one, right up until an analysis produces a relationship in the opposite direction from every published finding on the topic, and you spend an afternoon debugging a sign error that a two-line cross-tab would have caught in ten seconds. == Creating New Variables From Existing Ones == Continuous variables can be turned into meaningful categories — age groups from exact age, for instance: '''Base R, with nested <code>ifelse()</code>:''' <syntaxhighlight lang="r"> gss$age_group <- ifelse(gss$AGE < 30, "Under 30", ifelse(gss$AGE < 50, "30-49", ifelse(gss$AGE < 65, "50-64", "65+"))) </syntaxhighlight> '''dplyr, with <code>case_when()</code> (considerably more readable once you have more than two cutoffs):''' <syntaxhighlight lang="r"> library(dplyr) gss <- gss %>% mutate(age_group = case_when( AGE < 30 ~ "Under 30", AGE < 50 ~ "30-49", AGE < 65 ~ "50-64", AGE >= 65 ~ "65+", TRUE ~ NA_character_ )) </syntaxhighlight> This is the point in the book where <code>case_when()</code>'s advantage over nested <code>ifelse()</code> stops being subtle. Four nested <code>ifelse()</code> calls are already hard to read and easy to mis-parenthesize; a real analysis with eight or ten cutoffs in base R becomes an exercise in counting closing parentheses. <code>case_when()</code> scales to that complexity without becoming unreadable, which is a large part of why this book keeps introducing it as the dplyr default for anything beyond the simplest recode. '''car, with <code>recode</code>:''' <syntaxhighlight lang="r"> library(car) gss$age_group <- car::recode(gss$age, '0:30=1; 31:49=2; 50:64=3; 65:99=4; else=NA') </syntaxhighlight> The car function doesn't convert the variable into a factor variable like the dplyr function does. == Labeling Factors == Once a categorical variable's numeric codes are finalized, converting it to a labeled factor makes it self-documenting — the same move from Chapter 4, applied here to your newly created variables: <syntaxhighlight lang="r"> gss$age_group <- factor(gss$age_group, levels = c("Under 30", "30-49", "50-64", "65+")) </syntaxhighlight> Specifying <code>levels</code> explicitly, even when the labels are already correct character strings, matters for one specific reason: it controls the ''order'' categories appear in in tables and plots. Without it, R will default to alphabetical order — which is how you end up with a bar chart running "30-49, 50-64, 65+, Under 30" instead of the sensible chronological order a human reader expects. If you're working with a haven-imported, already-labelled variable (Chapter 3), the equivalent move is usually <code>haven::as_factor()</code> rather than typing out labels by hand — but for any variable ''you've'' constructed from scratch, like <code>age_group</code> above, you're the one supplying the labels, so the manual <code>factor()</code> approach is what you'll actually use. Another option is to use a package like <code>labelled</code> to add labels to your variable: <syntaxhighlight lang="r"> library(labelled) # add variable label var_label(gss$HAPPY_binary) <- "HAPPY converted into two values" # add value labels val_labels(gss$HAPPY_binary) <- c("Happy"=1, "Not Happy"=2) </syntaxhighlight> == Checking Your Work: table() and tabyl() == Every recode should be verified, without exception, by cross-tabulating the old variable against the new one. This is not optional caution — it's the single fastest way to catch a recoding mistake before it propagates into every analysis downstream. '''Base R:''' <syntaxhighlight lang="r"> table(gss$HAPPY, gss$HAPPY_binary) </syntaxhighlight> '''Using <code>tabyl()</code> from the janitor package<ref>Firke, S. ''janitor: Simple Tools for Examining and Cleaning Dirty Data''. R package. https://sfirke.github.io/janitor/</ref> (a genuinely pleasant upgrade over base <code>table()</code> for this exact purpose):''' <syntaxhighlight lang="r"> library(janitor) gss %>% tabyl(HAPPY, HAPPY_binary) </syntaxhighlight> Look at the resulting table and ask one question: does every original category land in the new category you intended, and nowhere else? For the <code>GOD</code> variable from this chapter's opening example, this check would immediately reveal whether your recode accidentally treated "don't know" (8) as a real belief category instead of routing it to <code>NA</code> — a mistake that a quick glance at the raw numbers would never catch, but a two-way table catches instantly. {{Colored box | title = Open Science Corner | background-title-color=#355C7D | title-color=#FFFFFF | background-content-color=#F8B195 | content = Document every recode decision in your script with comments. "Collapsed HAPPY to binary because the three-category version had too few cases in 'not too happy' for a reliable comparison" is a sentence that takes ten seconds to type and will save you — or whoever reviews your work — twenty minutes of confused reverse-engineering six months from now. Future you, and any reviewer, will thank present you specifically for this habit. }} == Chapter Summary == Recoding reshapes variables into the form a specific analysis needs: collapsing fine-grained categories into simpler ones, building 0/1 dummy variables for regression, reversing scales that run the wrong direction, and constructing new categorical variables (like age groups) from continuous ones. <code>case_when()</code> in dplyr generally outperforms nested <code>ifelse()</code> in base R once more than a couple of conditions are involved, and both approaches benefit from an explicit fallback for unmatched or missing values. Once a recode is finalized, <code>factor()</code> (or <code>haven::as_factor()</code> for already-labelled data) makes categories self-documenting and controls their display order. None of this is trustworthy, however, without the last step: cross-tabulating old versus new with <code>table()</code> or <code>tabyl()</code> to confirm the recode did exactly what you intended — a habit that turns "I'm pretty sure this is right" into "I checked, and this is right." == Practice Examples == === Example 1: Recode HAPPY Into a Binary Variable === '''The Research Question:''' Is it more useful, for a given analysis, to treat happiness as a simple happy/not-happy split rather than three ordered categories? '''The Code (base R):''' <syntaxhighlight lang="r"> gss$HAPPY_binary <- ifelse(gss$HAPPY == 1, "Happy", ifelse(gss$HAPPY %in% c(2, 3), "Not Happy", NA)) table(gss$HAPPY, gss$HAPPY_binary) </syntaxhighlight> '''The Code (dplyr):''' <syntaxhighlight lang="r"> library(dplyr) gss <- gss %>% mutate(HAPPY_binary = case_when( HAPPY == 1 ~ "Happy", HAPPY %in% c(2, 3) ~ "Not Happy", TRUE ~ NA_character_ )) table(gss$HAPPY, gss$HAPPY_binary) </syntaxhighlight> '''The Output:''' <syntaxhighlight lang="r"> Happy Not Happy 1 538 0 2 0 1184 3 0 317 </syntaxhighlight> '''The Interpretation:''' The cross-tabulation confirms the recode behaved exactly as intended: every respondent originally coded 1 ("very happy") landed in "Happy," and every respondent coded 2 or 3 landed in "Not Happy," with no crossover and no silent mishandling of missing codes. This binary version trades detail for simplicity — useful, for instance, going into Chapter 13's t-tests and Chapter 14's chi-square tests, both of which handle a clean two-category outcome more straightforwardly than a three-category one. '''Follow-Up Challenge:''' Would a different collapsing rule — say, treating "pretty happy" as "Happy" alongside "very happy," leaving only "not too happy" as "Not Happy" — change the story your data tells? Try it, and compare the resulting group sizes. === Example 2: Create Age Groups From Continuous AGE === '''The Research Question:''' Does grouping respondents into age categories reveal a story that raw continuous age doesn't make as immediately visible? '''The Code:''' <syntaxhighlight lang="r">library(dplyr) gss <- gss %>% mutate(age_group = case_when( AGE < 30 ~ "Under 30", AGE < 50 ~ "30-49", AGE < 65 ~ "50-64", AGE >= 65 ~ "65+", TRUE ~ NA_character_ ), age_group = factor(age_group, levels = c("Under 30", "30-49", "50-64", "65+"))) gss %>% count(age_group)</syntaxhighlight> '''The Output:''' <syntaxhighlight lang="r"> age_group n Under 30 375 30-49 731 50-64 542 65+ 393 NA 3 </syntaxhighlight> '''The Interpretation:''' The sample skews toward middle age, with the two middle categories together accounting for over 60% of respondents. Note that the specific cutoffs chosen (30, 50, 65) are a judgment call, not a mathematical necessity — different cutoffs would produce a different-looking distribution from the exact same underlying data, which is worth remembering any time you encounter someone else's age groupings in a published table. '''Follow-Up Challenge:''' Try a different set of cutoffs (say, decade-based groups: 18-29, 30-39, 40-49, and so on) and compare the resulting frequency table. Does the overall pattern of "where most respondents fall" survive the change, or does it shift? === Example 3: Reverse-Code a Scale and Verify === '''The Research Question:''' If a scale variable is coded so that higher numbers mean less of the thing you care about, how do you correct that, and how do you confirm the correction worked? '''The Code:''' <syntaxhighlight lang="r"> # Suppose SATJOB is coded 1 = very satisfied ... 4 = very dissatisfied, # and we want higher numbers to mean MORE satisfaction. gss$SATJOB_rev <- 5 - gss$SATJOB table(gss$SATJOB, gss$SATJOB_rev) </syntaxhighlight> '''The Output:''' <syntaxhighlight lang="r"> 1 2 3 4 1 0 0 0 746 2 0 0 565 0 3 0 155 0 0 4 62 0 0 0 </syntaxhighlight> '''The Interpretation:''' The cross-tab confirms a clean, complete reversal — every original 1 maps to a new 4, every original 4 maps to a new 1, and so on, with no value left unmapped or duplicated across rows. This is exactly the check that would catch an off-by-one error (using <code>4 - SATJOB</code> instead of <code>5 - SATJOB</code>, say) before it embarrassingly reverses your entire results section. '''Follow-Up Challenge:''' Write out, in your own words, why the formula uses <code>5 -</code> rather than <code>4 -</code> for a 4-point scale. What would the general formula be for a scale running from 1 to k? == References == <references/> {{BookCat}} pph76ogqajqrzc7aw2qqsozbw6fx9dk Wikibooks:Reading room/Administrative Assistance/Archives/2026/August 4 485284 4670154 4669854 2026-09-15T08:10:21Z ArchiverBot 1227662 Bot: Archiving 1 thread from [[Wikibooks:Reading room/Administrative Assistance]] 4670154 wikitext text/x-wiki {{talk archive}} == Permata55 reported by MathXplore == * {{userlinks|Permata55}} Spam <!-- USERREPORTED:/Permata55/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 07:33, 1 August 2026 (UTC) : Already globally locked by a steward. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 20:23, 2 August 2026 (UTC) == Birdsjungle reported by MathXplore == * {{userlinks|Birdsjungle}} Link spam, [[Special:AbuseLog/314940]] <!-- USERREPORTED:/Birdsjungle/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 11:21, 3 August 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:02, 3 August 2026 (UTC) == Uniquehairgro reported by MathXplore == * {{userlinks|Uniquehairgro}} Spam <!-- USERREPORTED:/Uniquehairgro/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:37, 4 August 2026 (UTC) :{{done}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:46, 4 August 2026 (UTC) == Jerinjebin reported by MathXplore == * {{userlinks|Jerinjebin}} Link spam, [[Special:AbuseLog/314965]] <!-- USERREPORTED:/Jerinjebin/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:38, 5 August 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:39, 5 August 2026 (UTC) == Nokiya23 reported by MathXplore == * {{userlinks|Nokiya23}} Link spam, [[Special:AbuseLog/315040]] <!-- USERREPORTED:/Nokiya23/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 11:36, 7 August 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:51, 7 August 2026 (UTC) == Requesting temporary clearance to edit protected (content) namespace and template pages. == In order to continue to reduce the LintErrors, I'm requesting the temporary ability to edit protected pages in content and template namespaces. I am requesting to do this under supervision of an adminstrator here, so a mentor experinced administrator is desirable. A number of the remaining Lint issues concern specfic templates, which could have a considerable impact if the lint issues are resolved.<br> [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 18:26, 13 August 2026 (UTC) : [[User:ShakespeareFan00|ShakespeareFan00]], in accordance with [[Wikibooks:Administrators#Temporary administrators]], please file a request at [[Wikibooks:Requests for permissions]]. State your reasons for requesting temporary adminship (such as the above), and please be aware that using the administrator permission for any admin action other than your stated task(s) may result in immediate removal by a steward. It will only be granted for the shortest duration as needed, so you may also want to state what time your permission should last as well. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:31, 13 August 2026 (UTC) : @[[User:ShakespeareFan00|ShakespeareFan00]]—second ping. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 12:46, 14 August 2026 (UTC) :: Noted, It seems I might not need this after all. I seem to be making good progress as it is :) [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 14:36, 14 August 2026 (UTC) == Flossandglosskidsdentistry reported by MathXplore == * {{userlinks|Flossandglosskidsdentistry}} Spam <!-- USERREPORTED:/Flossandglosskidsdentistry/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:50, 18 August 2026 (UTC) :Seems to be globally locked! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:22, 18 August 2026 (UTC) == Solosfit reported by MathXplore == * {{userlinks|Solosfit}} Spam <!-- USERREPORTED:/Solosfit/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:51, 18 August 2026 (UTC) :Seems to be globally locked. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:22, 18 August 2026 (UTC) == Mapcontechnologies reported by MathXplore == * {{userlinks|Mapcontechnologies}} Spam <!-- USERREPORTED:/Mapcontechnologies/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:51, 18 August 2026 (UTC) :Seems to be globally locked. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:23, 18 August 2026 (UTC) == IntoAEC reported by MathXplore == * {{userlinks|IntoAEC}} Spam <!-- USERREPORTED:/IntoAEC/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:25, 19 August 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 12:27, 26 August 2026 (UTC) == CaribbeanMedicalSchools reported by MathXplore == * {{userlinks|CaribbeanMedicalSchools}} Spam <!-- USERREPORTED:/CaribbeanMedicalSchools/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:16, 26 August 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 12:27, 26 August 2026 (UTC) == Chzoraiz41 reported by MathXplore == * {{userlinks|Chzoraiz41}} Link spam, [[Special:AbuseLog/315229]] <!-- USERREPORTED:/Chzoraiz41/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:09, 27 August 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 12:17, 27 August 2026 (UTC) == Atlanticgym reported by MathXplore == * {{userlinks|Atlanticgym}} Link spam, [[Special:AbuseLog/315249]] <!-- USERREPORTED:/Atlanticgym/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:32, 29 August 2026 (UTC) :{{done}} --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 12:35, 29 August 2026 (UTC) == Makowe2026 reported by Veritas Sapientiae == * {{userlinks|Makowe2026}} Spam <!-- USERREPORTED:/Makowe2026/ --> [[User:Veritas Sapientiae|Veritas Sapientiae]] ([[User talk:Veritas Sapientiae|discuss]] • [[Special:Contributions/Veritas Sapientiae|contribs]]) 13:53, 29 August 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 19:20, 29 August 2026 (UTC) == Abir077 reported by MathXplore == * {{userlinks|Abir077}} Link spam, [[Special:AbuseLog/315272]] <!-- USERREPORTED:/Abir077/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:07, 31 August 2026 (UTC) :{{done}} ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 12:46, 31 August 2026 (UTC) jc25q6gouofrbugbkl1tuldq7g39gbl User:Matovu Trevor/sandbox 2 485351 4670085 4662899 2026-09-14T19:05:09Z Matovu Trevor 3620409 4670085 wikitext text/x-wiki Matovu Trevor is a Ugandan wikipedia editor based in the Wikimedia Community User Group Uganda and very good in reading with a lot of passion about developing books. Phase 1: Conceptualization & Vetting — The “Why” Step 1: Choose a Topic Topic: Social Behaviors The book examines how people behave and interact with others in families, schools, workplaces, communities, and online environments. It explores both positive and negative social behaviors and how they influence relationships and society. Step 2: Define the Reading Level Target audience: Adults The language will be very clear, practical, and accessible to adult readers while introducing important psychological and social concepts where necessary. Step 3: Checking for existing books Step 4: Book shell Proposal Book summary Social Behaviors provides a practical introduction to the ways people behave and interact with one another in everyday life. The book examines communication, co-operation, respect, empathy, conflict, peer influence, social norms, and behavior in digital spaces. It connects basic social and physiology concepts with practical examples that adults can apply in their personal, professional, and community relationships. Phase 2: Structural Blueprint (The “How”) Title: Social Behaviors Introduction: Beyond the Post Button The introduction explains why social behavior matters and how human interaction goes beyond online communication. It introduces the importance of understanding people's actions, emotions, communication styles, and responses in different social environments. Chapters == Chapter one: Understanding Social behavior == Social behavior refers to the way people behave, communicate and interact with one another in society. It includes the way people form relationships, cooperate, communicate, help others, respond to different situations and follow rules. Social behavior can be positive, such as kindness, cooperation and respect, or negative, such as aggression, discrimination and bullying. Social behaviour is important because human beings live in groups and depend on one another. The way individuals behave affects their families, friends, schools, workplaces and communities. Social behavior is influenced by both nature and nurture. Nature refers to the biological characteristics and tendencies that a person inherits from their parents. These may influence personality, temperament and the way a person naturally responds to situations. Nurture refers to the influence of the environment and experiences in which a person grows. Family upbringing, education, culture, friends, religion and the community can all shape behavior. Nature and nurture work together. For example, a person may naturally be quiet, but living in a supportive environment may help them become more confident and sociable. Culture is the shared way of life of a particular group of people. It includes language, beliefs, values, customs, traditions, food, dress and ways of interacting. Culture influences social behavior by teaching people what is considered right, wrong, polite or unacceptable. For example, in many communities, children are expected to respect and greet elders. Social expectations are the behaviors that people expect from others in particular situations. Students are expected to respect teachers, workers are expected to perform their duties, and members of a community are expected to follow accepted ways of living. However, expectations may differ between cultures. Understanding these differences helps people respect others and avoid misunderstandings. Social norms are the accepted rules and standards that guide how people are expected to behave in society. Some norms are written, while others are unwritten. Examples include greeting people, respecting elders, queuing when waiting for a service, keeping public places clean and following laws. Social norms help to maintain order and make it easier for people to live peacefully together. When people repeatedly break important norms, they may face criticism, rejection or punishment. Social differences refer to the ways in which individuals and groups differ from one another. People may differ in age, gender, education, occupation, income, language, culture, personality and family background. Social differences can benefit society because people bring different ideas, skills, experiences and ways of thinking. However, when differences are not respected, they can lead to prejudice, discrimination, conflict and social exclusion. '''Factors That Influence Social Behavior''' Several factors influence how people behave towards others. These include: Family: Children learn manners, values and ways of interacting from family members. Culture: Culture influences beliefs, customs and acceptable ways of behaving. Friends: Peer groups can influence attitudes, language and behavior. Education: Schools teach discipline, cooperation, responsibility and respect. Religion: Religious beliefs can influence moral values and relationships. Media and technology: Social media, television and the internet can influence people's attitudes and behaviour. Personality: People have different personalities, which affect how they interact with others. Environment: The community and surroundings where a person lives can shape behaviour. Life experiences: Experiences such as success, failure, conflict and friendship can change the way people behave. == Chapter 2ː Communication and Human Interaction == Communication is an important part of human interaction. People communicate every day with family members, friends, teachers, colleagues and other members of society. Good communication helps people understand one another, build relationships, solve problems and avoid unnecessary conflicts. Communication is not only about speaking. People also communicate through facial expressions, gestures, body movements, eye contact and tone of voice. Verbal communication is the use of spoken or written words to share information, thoughts, feelings and ideas with other people. Examples include; talking to a friend, giving instructions, having a conversation, making a speech, sending a text message, writing a letter or email. Effective verbal communication requires clear language, appropriate words and a message that the other person can understand. The way something is said is also important. A polite and calm tone can make communication more positive, while an angry or insulting tone can create conflict.Non-verbal communication is the passing of information without using spoken or written words. For example, smiling can show happiness or friendliness, while avoiding eye contact may sometimes show nervousness or discomfort. Non-verbal communication can support spoken words, but it can also sometimes send a different message from what a person is saying. Empathy is the ability to understand and share another person's feelings or to try to see a situation from their point of view. An empathetic person tries to understand what another person may be experiencing instead of immediately judging them. For example, if a friend loses a loved one, showing empathy means listening to them, acknowledging their pain and offering appropriate support. Empathy helps people: build stronger relationships; understand others better; reduce conflicts; show compassion; provide emotional support. 2.5 Active Listening Active listening means giving full attention to another person in order to understand what they are saying. An active listener: pays attention; maintains appropriate eye contact; avoids unnecessary interruptions; asks questions when something is unclear; shows interest; remembers important information; responds appropriately. For example, when someone is explaining a problem, an active listener does not use the opportunity to prepare their own response. They first try to understand the person's message. Active listening improves communication because it reduces confusion and makes people feel heard and respected. 2.6 Misunderstandings and Their Causes A misunderstanding occurs when a person interprets a message differently from what the sender intended. Misunderstandings can happen in everyday conversations and may sometimes lead to arguments or broken relationships. Causes of misunderstandings Poor communication – A person may fail to explain their message clearly. Language differences – People may use different languages, accents or meanings of words. Poor listening – Someone may hear the words without paying attention to the actual message. Assumptions – A person may make conclusions without asking for clarification. Emotions – Anger, fear or sadness can affect how people understand messages. Cultural differences – The same gesture or expression may have different meanings in different cultures. Tone of voice – A message can sound rude, angry or sarcastic even when that was not intended. Non-verbal signals – Facial expressions and body language may contradict spoken words. Noise and distractions – Physical or technological distractions can cause people to miss important information. Misunderstandings can be reduced by speaking clearly, listening carefully, asking questions and avoiding unnecessary assumptions. 2.7 Respectful Communication Respectful communication is communicating with others in a polite, considerate and fair manner, even when people have different opinions. Respectful communication involves: using polite language; listening when others are speaking; avoiding insults and offensive language; respecting different opinions; speaking calmly; avoiding unnecessary shouting; giving others a chance to express themselves; disagreeing without attacking the person. For example, instead of saying, "You are completely wrong," a person can say, "I understand your point, but I have a different opinion." Respectful communication creates trust and makes it easier for people to solve disagreements peacefully. 2.8 Body Language Body language is the way people communicate through movements, posture, gestures and physical expressions. Examples of body language include: Eye contact: May show attention, confidence or interest. Smiling: May communicate friendliness or happiness. Crossed arms: May sometimes suggest defensiveness or discomfort. Nodding: Often shows agreement or that someone is following a conversation. Standing upright: May communicate confidence. Looking away: May sometimes indicate discomfort, distraction or lack of interest. Hand gestures: Can help explain or emphasise a message. However, body language should not always be interpreted in isolation. The meaning of a gesture can depend on the person's culture, situation and personality. 2.9 Importance of Effective Communication Effective communication helps people to: understand one another; build healthy relationships; express feelings and ideas; solve problems; prevent misunderstandings; manage conflicts; work together; develop trust and cooperation. Good communication therefore requires more than simply speaking. It involves speaking clearly, listening actively, showing empathy, using appropriate body language and respecting other people. * Verbal and non-verbal communication * Empathy * Active listening * Misunderstandings and there causes * Respectful Communication * Body language Conclusion The conclusion summarizes the importance of understanding social behavior and encourages readers to develop self-awareness, empathy, respect, communication skills, and responsible behavior in their interactions with others. References * Books on social psychology * Academic research on human behavior * Communication studies * Psychology textbooks * Research on social media and digital behavior * Relevant educational and professional resources a01jw5bg3o2sqt097evf3i1nwwo4ze3 User:Pamela Talemwa/sandbox/A Young Reader's Guide to a Clean and Healthy Community 2 485425 4670016 4670007 2026-09-14T12:37:23Z ~2026-48805-17 3625450 added references 4670016 wikitext text/x-wiki == '''<big>A Young Reader's Guide to a Clean and Healthy Community.</big>''' == <big>'''Theme.'''</big> Learning to Care for Our Environment, Our Health and Our Community === Purpose of the Book: === === <small>The book aims to help children understand their role in creating and maintaining a clean, safe and healthy community.</small> === <big>'''Target Readers.'''</big> Primary Four Learners == '''Book Summary:''' == A Young Reader’s Guide to a Clean and Healthy Community is an educational book for Primary 4–6 learners that teaches children how to care for their homes, schools and communities. The book begins by helping children understand what a community is and why everyone has a responsibility to care for it. It then introduces proper waste management, protection of water sources, the importance of trees, teamwork and children's leadership. Through simple explanations, stories, activities and discussion questions, learners are encouraged to move from simply learning about environmental problems to taking positive action. == '''<big>Table of Contents:</big>''' == == '''Introduction:''' == Our environment is our home. We live, learn, play and grow in it. Keeping it clean and healthy helps us stay safe and happy. This book teaches young readers simple ways to care for their homes, schools and communities. Through short stories, activities and questions, children will learn about rubbish, clean water, trees, teamwork and responsibility. Remember, '''small actions can make a big difference!''' == '''Chapters:''' == == '''Chapter One: Our Community, Our Responsibility''' == *Understanding a community * Caring for our surroundings * Children's responsibilities == '''Chapter Two: Every Piece of rubbish has a Place''' == *Types of waste * Proper waste disposal * Reusing materials * Keeping schools and libraries clean == '''Chapter Three: Water Is Life''' == * Importance of water * Protecting water sources * Safe water practices * Effects of water pollution == '''Chapter Four: Trees Are Our Friends''' == * Importance of trees * Protecting and planting trees * Caring for gardens == '''Chapter Five: Working Together''' == * Teamwork * Community clean-ups * Helping neighbours * Children's leadership == '''Chapter Six: Be a Young Community Champion''' == * Taking responsibility * Being an environmental role model * Personal action plan * Community challenge === Expected Outcome: === The book will encourage children to practise good hygiene, protect the environment, work together and take responsibility for creating cleaner, safer and healthier communities. === Conclusion: === The book will remind young readers that everyone has a role to play in protecting the environment and that '''small actions can make a big difference'''. === References: === = Chapter One: = = Our Community, Our Responsibility = === Understanding a community === A community is a group of people who live, learn or work together in the same place. Examples of communities include homes, schools, villages and neighborhoods. People in a community share places and resources. They should help one another and work together to solve problems.<ref>{{Cite web |title=Community shared resources: Connecting the Dots: The Impact of Shared Resources in Local Communities |url=https://fastercapital.com/content/Community-shared-resources--Connecting-the-Dots--The-Impact-of-Shared-Resources-in-Local-Communities.html |access-date=2026-09-14 |website=FasterCapital |language=en}}</ref> === Caring for Our Surroundings === Our surroundings include the places, plants, animals, buildings and people around us. We should keep these places clean and safe. We can care for our surroundings by: * Putting rubbish in the right place. * Cleaning our homes, classrooms and playgrounds. * Protecting trees and plants. * Keeping water sources clean. * Avoiding damage to public property. * Helping people who need support. === Children's Responsibilities === Children have an important role in caring for their communities. They can help by setting a good example and encouraging others to behave responsibly.<ref>{{Cite web |date=2024-06-05 |title=Empowering Kids to Make a Big Impact in Their Communities |url=https://sesameworkshop.org/resources/empowering-kids-to-make-a-big-impact-in-their-communities/ |access-date=2026-09-14 |website=Sesame Workshop |language=en-US}}</ref> Children should keep their books and learning materials safe, respect others, avoid littering and report dangerous or dirty places to trusted adults. === Short Story: The Rubbish Behind the Library === Some pupils noticed rubbish behind their school library. They decided to clean the area with the help of their teacher. They collected the rubbish, placed it in bins and planted flowers near the library. The area became clean and beautiful. Other pupils followed their example. '''Lesson:''' Everyone can help to improve the community. === Activity and Discussion === # What is a community? # Name three ways of keeping your school clean. # Why should children care for their surroundings? # Organize a small classroom cleaning activity. = Chapter Two: = = Every Piece of Rubbish Has a Place = === Types of Waste === Waste is unwanted material that people throw away. Different types of waste include: * '''Paper:''' books, newspapers and cartons. * '''Plastic:''' bottles, bags and wrappers. * '''Food waste:''' fruit peels and leftover food. * '''Glass:''' broken bottles and jars. * '''Metal:''' tins and cans. * '''Natural waste:''' leaves, grass and small branches. === Proper Waste Disposal === Proper waste disposal means putting waste in the correct place. Rubbish should not be thrown on roads, in gardens, rivers or playgrounds. We should use rubbish bins and follow the waste-disposal rules at home and school. Waste should be separated where possible so that reusable and recyclable materials can be collected. === Reusing Materials === Reusing means using an item again instead of throwing it away. For example: * Old containers can be used as flowerpots. * Cardboard can be used for art and craft activities. * Glass jars can be used for storing safe materials. * Old paper can be used for drawing or practising writing. * Reusing materials reduces waste and saves resources. === Keeping Schools and Libraries Clean === A clean school and library provide a good place for learning. Learners should: * Put rubbish in bins. * Keep desks and shelves clean. * Handle books carefully. * Avoid writing on walls and books. * Return books to their proper places. * Keep food and drinks away from books. === Short Story: Amina's Big Idea === Amina saw many plastic bottles around her school. She suggested collecting the bottles and using some of them to make flower containers. Her classmates helped her. Soon, the school had fewer bottles on the ground and more beautiful flowers. '''Lesson:''' Waste materials can sometimes be reused in useful ways. === Practical Activity === Collect safe reusable materials and make a useful object, such as a flower pot, pencil holder or decoration. = Chapter Three: = = Water Is Life = === Importance of Water === Water is needed by people, animals and plants. We use water for: * Drinking. * Cooking. * Washing. * Cleaning. * Farming. * Growing plants. * Keeping our bodies healthy.Without safe water, people and animals can become sick. === Protecting Water Sources === Water sources include wells, rivers, lakes, springs and rainwater tanks. We should protect them from pollution. We can protect water sources by: * Not throwing rubbish into water. * Keeping animals away from drinking-water points. * Avoiding washing dirty items near water sources. * Planting trees and grass near water sources. * Reporting damaged or polluted water points. === Safe Water Practices === To keep drinking water safe, we should: * Use clean containers. * Keep water covered. * Wash our hands before collecting water. * Treat water when necessary. * Avoid dipping dirty cups or hands into stored water. * Keep drinking-water containers clean. === Effects of Water Pollution === Water pollution happens when harmful materials enter water. Polluted water can cause diseases, kill fish and harm plants and animals. Dirty water may contain germs that cause illnesses such as diarrhoea and other infections. === Short Story: The Dirty Stream === Children in a village noticed that their stream was becoming dirty. Some people were throwing rubbish into it. The children spoke to their teacher and community leaders. Together, they organised a clean-up and encouraged people to stop dumping rubbish in the stream. '''Lesson:''' Protecting water requires teamwork and responsible behaviour. === Water-Protection Challenge === For one week: * Close taps properly after use. * Use only the water you need. * Keep water containers clean. * Encourage others not to pollute water sources. = Chapter Four: = = Trees Are Our Friends = === Importance of Trees === Trees are important to people, animals and the environment. They: * Provide shade. * Help to keep the air fresh. * Protect the soil from erosion. * Provide homes for birds and insects. * Give us fruits, wood and other useful materials. * Make our communities beautiful. === Protecting Trees === We should protect trees from unnecessary cutting, burning and damage. We should not break branches or remove young trees carelessly. Children can help by watering trees, protecting young plants and informing adults when trees are being damaged. === Planting Trees === Tree planting helps to make the environment greener and healthier. When planting a tree, we should: # Choose a suitable place. # Dig a small hole. # Plant the seedling carefully. # Cover the roots with soil. # Water the seedling. # Protect it from animals and damage. === Caring for Gardens === School and community gardens need regular care. Children can help by: * Watering plants. * Removing weeds. * Keeping gardens free from rubbish. * Protecting plants from being stepped on. * Adding compost when available. === Activity === Plant or care for a tree or flower at home or school. Observe it regularly and record how it changes. = Chapter Five: = = Working Together = === Teamwork === Teamwork means working together to achieve a shared goal. When people work as a team, tasks become easier and problems can be solved more quickly. Good team members listen, share duties, respect one another and help those who need support. === Community Clean-ups === A community clean-up is an activity where people work together to improve their surroundings. During a clean-up, people may collect rubbish, clear paths, clean public places and plant trees. Clean-ups should be organised safely with the guidance of adults. Children should avoid dangerous waste and sharp objects. === Helping Neighbours === We can help our neighbours by: * Sharing useful information. * Helping elderly or sick people when permitted. * Joining community activities. * Keeping shared places clean. * Encouraging peaceful cooperation. === Children's Leadership === Children can be leaders by setting a good example. A responsible young leader: * Listens to others. * Speaks politely. * Keeps promises. * Takes responsibility. * Encourages teamwork. * Helps others to do what is right. === Activity === Work in a group and prepare a simple plan for cleaning one place at school or in your community. = Chapter Six: = = Be a Young Community Champion = === Taking Responsibility === Taking responsibility means doing what is right and caring for the things around us. A responsible child does not wait for others to do everything. Children can take responsibility by keeping their surroundings clean, saving water, protecting trees and respecting public property. === Being an Environmental Role Model === An environmental role model shows good behaviour that others can copy. A young environmental role model: * Does not litter. * Uses water carefully. * Reuses materials. * Protects trees and plants. * Keeps learning areas clean. * Encourages friends to care for the environment. === My Personal Action Plan === I will: * Put rubbish in the correct place. * Keep my classroom and home clean. * Save water. * Care for trees and plants. * Reuse materials when possible. * Encourage my friends to protect the environment. === Community Challenge === Identify one environmental problem in your community. Discuss it with your teacher, parents or community leaders. Work with others to find a simple and safe solution. Examples include: * Too much rubbish around the school. * Wasting water. * Damaged trees. * Dirty playgrounds. * Blocked drainage channels. == Expected Outcome == After reading this book, children should be able to: * Explain the meaning of a clean and healthy environment. * Identify different types of wastes. * Practise proper waste disposal. * Explain the importance of safe water. * Protect and care for trees and gardens. * Work together with others. * Take responsibility for their homes, schools and communities. = Conclusion = A clean and healthy environment is everyone's responsibility. Children can make a difference through simple actions such as putting rubbish in the right place, protecting water, planting trees and helping others. When we work together, we can make our homes, schools and communities cleaner, safer and healthier. '''Be responsible. Be helpful. Be a young community champion!''' = References = magl49khgyo2ywr5plleb478x9toxjz 4670022 4670016 2026-09-14T13:08:07Z ~2026-48805-17 3625450 /* Proper Waste Disposal */ added references 4670022 wikitext text/x-wiki == '''<big>A Young Reader's Guide to a Clean and Healthy Community.</big>''' == <big>'''Theme.'''</big> Learning to Care for Our Environment, Our Health and Our Community === Purpose of the Book: === === <small>The book aims to help children understand their role in creating and maintaining a clean, safe and healthy community.</small> === <big>'''Target Readers.'''</big> Primary Four Learners == '''Book Summary:''' == A Young Reader’s Guide to a Clean and Healthy Community is an educational book for Primary 4–6 learners that teaches children how to care for their homes, schools and communities. The book begins by helping children understand what a community is and why everyone has a responsibility to care for it. It then introduces proper waste management, protection of water sources, the importance of trees, teamwork and children's leadership. Through simple explanations, stories, activities and discussion questions, learners are encouraged to move from simply learning about environmental problems to taking positive action. == '''<big>Table of Contents:</big>''' == == '''Introduction:''' == Our environment is our home. We live, learn, play and grow in it. Keeping it clean and healthy helps us stay safe and happy. This book teaches young readers simple ways to care for their homes, schools and communities. Through short stories, activities and questions, children will learn about rubbish, clean water, trees, teamwork and responsibility. Remember, '''small actions can make a big difference!''' == '''Chapters:''' == == '''Chapter One: Our Community, Our Responsibility''' == *Understanding a community * Caring for our surroundings * Children's responsibilities == '''Chapter Two: Every Piece of rubbish has a Place''' == *Types of waste * Proper waste disposal * Reusing materials * Keeping schools and libraries clean == '''Chapter Three: Water Is Life''' == * Importance of water * Protecting water sources * Safe water practices * Effects of water pollution == '''Chapter Four: Trees Are Our Friends''' == * Importance of trees * Protecting and planting trees * Caring for gardens == '''Chapter Five: Working Together''' == * Teamwork * Community clean-ups * Helping neighbours * Children's leadership == '''Chapter Six: Be a Young Community Champion''' == * Taking responsibility * Being an environmental role model * Personal action plan * Community challenge === Expected Outcome: === The book will encourage children to practise good hygiene, protect the environment, work together and take responsibility for creating cleaner, safer and healthier communities. === Conclusion: === The book will remind young readers that everyone has a role to play in protecting the environment and that '''small actions can make a big difference'''. === References: === = Chapter One: = = Our Community, Our Responsibility = === Understanding a community === A community is a group of people who live, learn or work together in the same place. Examples of communities include homes, schools, villages and neighborhoods. People in a community share places and resources. They should help one another and work together to solve problems.<ref>{{Cite web |title=Community shared resources: Connecting the Dots: The Impact of Shared Resources in Local Communities |url=https://fastercapital.com/content/Community-shared-resources--Connecting-the-Dots--The-Impact-of-Shared-Resources-in-Local-Communities.html |access-date=2026-09-14 |website=FasterCapital |language=en}}</ref> === Caring for Our Surroundings === Our surroundings include the places, plants, animals, buildings and people around us. We should keep these places clean and safe. We can care for our surroundings by: * Putting rubbish in the right place. * Cleaning our homes, classrooms and playgrounds. * Protecting trees and plants. * Keeping water sources clean. * Avoiding damage to public property. * Helping people who need support. === Children's Responsibilities === Children have an important role in caring for their communities. They can help by setting a good example and encouraging others to behave responsibly.<ref>{{Cite web |date=2024-06-05 |title=Empowering Kids to Make a Big Impact in Their Communities |url=https://sesameworkshop.org/resources/empowering-kids-to-make-a-big-impact-in-their-communities/ |access-date=2026-09-14 |website=Sesame Workshop |language=en-US}}</ref> Children should keep their books and learning materials safe, respect others, avoid littering and report dangerous or dirty places to trusted adults. === Short Story: The Rubbish Behind the Library === Some pupils noticed rubbish behind their school library. They decided to clean the area with the help of their teacher. They collected the rubbish, placed it in bins and planted flowers near the library. The area became clean and beautiful. Other pupils followed their example. '''Lesson:''' Everyone can help to improve the community. === Activity and Discussion === # What is a community? # Name three ways of keeping your school clean. # Why should children care for their surroundings? # Organize a small classroom cleaning activity. = Chapter Two: = = Every Piece of Rubbish Has a Place = === Types of Waste === Waste is unwanted material that people throw away. Different types of waste include: * '''Paper:''' books, newspapers and cartons. * '''Plastic:''' bottles, bags and wrappers. * '''Food waste:''' fruit peels and leftover food. * '''Glass:''' broken bottles and jars. * '''Metal:''' tins and cans. * '''Natural waste:''' leaves, grass and small branches.<ref>{{Cite web |title=What is waste? – KS2 Science curriculum |url=https://www.bbc.co.uk/bitesize/articles/z2rhcj6 |access-date=2026-09-14 |website=BBC Bitesize |language=en-GB}}</ref> === Proper Waste Disposal === Proper waste disposal means putting waste in the correct place. Rubbish should not be thrown on roads, in gardens, rivers or playgrounds. We should use rubbish bins and follow the waste-disposal rules at home and school. Waste should be separated where possible so that reusable and recyclable materials can be collected<ref>{{Cite web |last=Gabriel |first=Mr |date=2024-09-12 |title=How to Dispose Waste Properly: A Guide to Proper Waste Management |url=https://whatisgreenliving.com/how-to-dispose-waste-properly/ |access-date=2026-09-14 |website=What is Green Living? |language=en-GB}}</ref>. === Reusing Materials === Reusing means using an item again instead of throwing it away. For example: * Old containers can be used as flowerpots. * Cardboard can be used for art and craft activities. * Glass jars can be used for storing safe materials. * Old paper can be used for drawing or practising writing. * Reusing materials reduces waste and saves resources<ref>{{Cite web |title=Topic 2 Reusing in daily life – CICLO |url=https://ciclo-project.eu/topic/topic-2-reusing-in-daily-life/ |access-date=2026-09-14 |language=en-GB}}</ref>. === Keeping Schools and Libraries Clean === A clean school and library provide a good place for learning. Learners should: * Put rubbish in bins. * Keep desks and shelves clean. * Handle books carefully. * Avoid writing on walls and books. * Return books to their proper places. * Keep food and drinks away from books. === Short Story: Amina's Big Idea === Amina saw many plastic bottles around her school. She suggested collecting the bottles and using some of them to make flower containers. Her classmates helped her. Soon, the school had fewer bottles on the ground and more beautiful flowers. '''Lesson:''' Waste materials can sometimes be reused in useful ways. === Practical Activity === Collect safe reusable materials and make a useful object, such as a flower pot, pencil holder or decoration. = Chapter Three: = = Water Is Life = === Importance of Water === Water is needed by people, animals and plants. We use water for: * Drinking. * Cooking. * Washing. * Cleaning. * Farming. * Growing plants. * Keeping our bodies healthy.Without safe water, people and animals can become sick. === Protecting Water Sources === Water sources include wells, rivers, lakes, springs and rainwater tanks. We should protect them from pollution. We can protect water sources by: * Not throwing rubbish into water. * Keeping animals away from drinking-water points. * Avoiding washing dirty items near water sources. * Planting trees and grass near water sources. * Reporting damaged or polluted water points. === Safe Water Practices === To keep drinking water safe, we should: * Use clean containers. * Keep water covered. * Wash our hands before collecting water. * Treat water when necessary. * Avoid dipping dirty cups or hands into stored water. * Keep drinking-water containers clean. === Effects of Water Pollution === Water pollution happens when harmful materials enter water. Polluted water can cause diseases, kill fish and harm plants and animals. Dirty water may contain germs that cause illnesses such as diarrhoea and other infections. === Short Story: The Dirty Stream === Children in a village noticed that their stream was becoming dirty. Some people were throwing rubbish into it. The children spoke to their teacher and community leaders. Together, they organised a clean-up and encouraged people to stop dumping rubbish in the stream. '''Lesson:''' Protecting water requires teamwork and responsible behaviour. === Water-Protection Challenge === For one week: * Close taps properly after use. * Use only the water you need. * Keep water containers clean. * Encourage others not to pollute water sources. = Chapter Four: = = Trees Are Our Friends = === Importance of Trees === Trees are important to people, animals and the environment. They: * Provide shade. * Help to keep the air fresh. * Protect the soil from erosion. * Provide homes for birds and insects. * Give us fruits, wood and other useful materials. * Make our communities beautiful. === Protecting Trees === We should protect trees from unnecessary cutting, burning and damage. We should not break branches or remove young trees carelessly. Children can help by watering trees, protecting young plants and informing adults when trees are being damaged. === Planting Trees === Tree planting helps to make the environment greener and healthier. When planting a tree, we should: # Choose a suitable place. # Dig a small hole. # Plant the seedling carefully. # Cover the roots with soil. # Water the seedling. # Protect it from animals and damage. === Caring for Gardens === School and community gardens need regular care. Children can help by: * Watering plants. * Removing weeds. * Keeping gardens free from rubbish. * Protecting plants from being stepped on. * Adding compost when available. === Activity === Plant or care for a tree or flower at home or school. Observe it regularly and record how it changes. = Chapter Five: = = Working Together = === Teamwork === Teamwork means working together to achieve a shared goal. When people work as a team, tasks become easier and problems can be solved more quickly. Good team members listen, share duties, respect one another and help those who need support. === Community Clean-ups === A community clean-up is an activity where people work together to improve their surroundings. During a clean-up, people may collect rubbish, clear paths, clean public places and plant trees. Clean-ups should be organised safely with the guidance of adults. Children should avoid dangerous waste and sharp objects. === Helping Neighbours === We can help our neighbours by: * Sharing useful information. * Helping elderly or sick people when permitted. * Joining community activities. * Keeping shared places clean. * Encouraging peaceful cooperation. === Children's Leadership === Children can be leaders by setting a good example. A responsible young leader: * Listens to others. * Speaks politely. * Keeps promises. * Takes responsibility. * Encourages teamwork. * Helps others to do what is right. === Activity === Work in a group and prepare a simple plan for cleaning one place at school or in your community. = Chapter Six: = = Be a Young Community Champion = === Taking Responsibility === Taking responsibility means doing what is right and caring for the things around us. A responsible child does not wait for others to do everything. Children can take responsibility by keeping their surroundings clean, saving water, protecting trees and respecting public property. === Being an Environmental Role Model === An environmental role model shows good behaviour that others can copy. A young environmental role model: * Does not litter. * Uses water carefully. * Reuses materials. * Protects trees and plants. * Keeps learning areas clean. * Encourages friends to care for the environment. === My Personal Action Plan === I will: * Put rubbish in the correct place. * Keep my classroom and home clean. * Save water. * Care for trees and plants. * Reuse materials when possible. * Encourage my friends to protect the environment. === Community Challenge === Identify one environmental problem in your community. Discuss it with your teacher, parents or community leaders. Work with others to find a simple and safe solution. Examples include: * Too much rubbish around the school. * Wasting water. * Damaged trees. * Dirty playgrounds. * Blocked drainage channels. == Expected Outcome == After reading this book, children should be able to: * Explain the meaning of a clean and healthy environment. * Identify different types of wastes. * Practise proper waste disposal. * Explain the importance of safe water. * Protect and care for trees and gardens. * Work together with others. * Take responsibility for their homes, schools and communities. = Conclusion = A clean and healthy environment is everyone's responsibility. Children can make a difference through simple actions such as putting rubbish in the right place, protecting water, planting trees and helping others. When we work together, we can make our homes, schools and communities cleaner, safer and healthier. '''Be responsible. Be helpful. Be a young community champion!''' = References = bdaxnhrhc9qkfbvok8easmwj6837ekt 4670028 4670022 2026-09-14T13:31:22Z ~2026-48805-17 3625450 added a referebce 4670028 wikitext text/x-wiki == '''<big>A Young Reader's Guide to a Clean and Healthy Community.</big>''' == <big>'''Theme.'''</big> Learning to Care for Our Environment, Our Health and Our Community === Purpose of the Book: === === <small>The book aims to help children understand their role in creating and maintaining a clean, safe and healthy community.</small> === <big>'''Target Readers.'''</big> Primary Four Learners == '''Book Summary:''' == A Young Reader’s Guide to a Clean and Healthy Community is an educational book for Primary 4–6 learners that teaches children how to care for their homes, schools and communities. The book begins by helping children understand what a community is and why everyone has a responsibility to care for it. It then introduces proper waste management, protection of water sources, the importance of trees, teamwork and children's leadership. Through simple explanations, stories, activities and discussion questions, learners are encouraged to move from simply learning about environmental problems to taking positive action. == '''<big>Table of Contents:</big>''' == == '''Introduction:''' == Our environment is our home. We live, learn, play and grow in it. Keeping it clean and healthy helps us stay safe and happy. This book teaches young readers simple ways to care for their homes, schools and communities. Through short stories, activities and questions, children will learn about rubbish, clean water, trees, teamwork and responsibility. Remember, '''small actions can make a big difference!''' == '''Chapters:''' == == '''Chapter One: Our Community, Our Responsibility''' == *Understanding a community * Caring for our surroundings * Children's responsibilities == '''Chapter Two: Every Piece of rubbish has a Place''' == *Types of waste * Proper waste disposal * Reusing materials * Keeping schools and libraries clean == '''Chapter Three: Water Is Life''' == * Importance of water * Protecting water sources * Safe water practices * Effects of water pollution == '''Chapter Four: Trees Are Our Friends''' == * Importance of trees * Protecting and planting trees * Caring for gardens == '''Chapter Five: Working Together''' == * Teamwork * Community clean-ups * Helping neighbours * Children's leadership == '''Chapter Six: Be a Young Community Champion''' == * Taking responsibility * Being an environmental role model * Personal action plan * Community challenge === Expected Outcome: === The book will encourage children to practise good hygiene, protect the environment, work together and take responsibility for creating cleaner, safer and healthier communities. === Conclusion: === The book will remind young readers that everyone has a role to play in protecting the environment and that '''small actions can make a big difference'''. === References: === = Chapter One: = = Our Community, Our Responsibility = === Understanding a community === A community is a group of people who live, learn or work together in the same place. Examples of communities include homes, schools, villages and neighborhoods. People in a community share places and resources. They should help one another and work together to solve problems.<ref>{{Cite web |title=Community shared resources: Connecting the Dots: The Impact of Shared Resources in Local Communities |url=https://fastercapital.com/content/Community-shared-resources--Connecting-the-Dots--The-Impact-of-Shared-Resources-in-Local-Communities.html |access-date=2026-09-14 |website=FasterCapital |language=en}}</ref> === Caring for Our Surroundings === Our surroundings include the places, plants, animals, buildings and people around us. We should keep these places clean and safe. We can care for our surroundings by: * Putting rubbish in the right place. * Cleaning our homes, classrooms and playgrounds. * Protecting trees and plants. * Keeping water sources clean. * Avoiding damage to public property. * Helping people who need support. === Children's Responsibilities === Children have an important role in caring for their communities. They can help by setting a good example and encouraging others to behave responsibly.<ref>{{Cite web |date=2024-06-05 |title=Empowering Kids to Make a Big Impact in Their Communities |url=https://sesameworkshop.org/resources/empowering-kids-to-make-a-big-impact-in-their-communities/ |access-date=2026-09-14 |website=Sesame Workshop |language=en-US}}</ref> Children should keep their books and learning materials safe, respect others, avoid littering and report dangerous or dirty places to trusted adults. === Short Story: The Rubbish Behind the Library === Some pupils noticed rubbish behind their school library. They decided to clean the area with the help of their teacher. They collected the rubbish, placed it in bins and planted flowers near the library. The area became clean and beautiful. Other pupils followed their example. '''Lesson:''' Everyone can help to improve the community. === Activity and Discussion === # What is a community? # Name three ways of keeping your school clean. # Why should children care for their surroundings? # Organize a small classroom cleaning activity. = Chapter Two: = = Every Piece of Rubbish Has a Place = === Types of Waste === Waste is unwanted material that people throw away. Different types of waste include: * '''Paper:''' books, newspapers and cartons. * '''Plastic:''' bottles, bags and wrappers. * '''Food waste:''' fruit peels and leftover food. * '''Glass:''' broken bottles and jars. * '''Metal:''' tins and cans. * '''Natural waste:''' leaves, grass and small branches.<ref>{{Cite web |title=What is waste? – KS2 Science curriculum |url=https://www.bbc.co.uk/bitesize/articles/z2rhcj6 |access-date=2026-09-14 |website=BBC Bitesize |language=en-GB}}</ref> === Proper Waste Disposal === Proper waste disposal means putting waste in the correct place. Rubbish should not be thrown on roads, in gardens, rivers or playgrounds. We should use rubbish bins and follow the waste-disposal rules at home and school. Waste should be separated where possible so that reusable and recyclable materials can be collected<ref>{{Cite web |last=Gabriel |first=Mr |date=2024-09-12 |title=How to Dispose Waste Properly: A Guide to Proper Waste Management |url=https://whatisgreenliving.com/how-to-dispose-waste-properly/ |access-date=2026-09-14 |website=What is Green Living? |language=en-GB}}</ref>. === Reusing Materials === Reusing means using an item again instead of throwing it away. For example: * Old containers can be used as flowerpots. * Cardboard can be used for art and craft activities. * Glass jars can be used for storing safe materials. * Old paper can be used for drawing or practising writing. * Reusing materials reduces waste and saves resources<ref>{{Cite web |title=Topic 2 Reusing in daily life – CICLO |url=https://ciclo-project.eu/topic/topic-2-reusing-in-daily-life/ |access-date=2026-09-14 |language=en-GB}}</ref>. === Keeping Schools and Libraries Clean === A clean school and library provide a good place for learning. Learners should: * Put rubbish in bins. * Keep desks and shelves clean. * Handle books carefully. * Avoid writing on walls and books. * Return books to their proper places. * Keep food and drinks away from books.<ref>{{Cite web |title=Client Challenge |url=https://www.scribd.com/document/713175530/How-to-Keep-Your-School-Clean#google_vignette |access-date=2026-09-14 |website=www.scribd.com}}</ref> === Short Story: Amina's Big Idea === Amina saw many plastic bottles around her school. She suggested collecting the bottles and using some of them to make flower containers. Her classmates helped her. Soon, the school had fewer bottles on the ground and more beautiful flowers. '''Lesson:''' Waste materials can sometimes be reused in useful ways. === Practical Activity === Collect safe reusable materials and make a useful object, such as a flower pot, pencil holder or decoration. = Chapter Three: = = Water Is Life = === Importance of Water === Water is needed by people, animals and plants. We use water for: * Drinking. * Cooking. * Washing. * Cleaning. * Farming. * Growing plants. * Keeping our bodies healthy.Without safe water, people and animals can become sick. === Protecting Water Sources === Water sources include wells, rivers, lakes, springs and rainwater tanks. We should protect them from pollution. We can protect water sources by: * Not throwing rubbish into water. * Keeping animals away from drinking-water points. * Avoiding washing dirty items near water sources. * Planting trees and grass near water sources. * Reporting damaged or polluted water points. === Safe Water Practices === To keep drinking water safe, we should: * Use clean containers. * Keep water covered. * Wash our hands before collecting water. * Treat water when necessary. * Avoid dipping dirty cups or hands into stored water. * Keep drinking-water containers clean. === Effects of Water Pollution === Water pollution happens when harmful materials enter water. Polluted water can cause diseases, kill fish and harm plants and animals. Dirty water may contain germs that cause illnesses such as diarrhoea and other infections. === Short Story: The Dirty Stream === Children in a village noticed that their stream was becoming dirty. Some people were throwing rubbish into it. The children spoke to their teacher and community leaders. Together, they organised a clean-up and encouraged people to stop dumping rubbish in the stream. '''Lesson:''' Protecting water requires teamwork and responsible behaviour. === Water-Protection Challenge === For one week: * Close taps properly after use. * Use only the water you need. * Keep water containers clean. * Encourage others not to pollute water sources. = Chapter Four: = = Trees Are Our Friends = === Importance of Trees === Trees are important to people, animals and the environment. They: * Provide shade. * Help to keep the air fresh. * Protect the soil from erosion. * Provide homes for birds and insects. * Give us fruits, wood and other useful materials. * Make our communities beautiful. === Protecting Trees === We should protect trees from unnecessary cutting, burning and damage. We should not break branches or remove young trees carelessly. Children can help by watering trees, protecting young plants and informing adults when trees are being damaged. === Planting Trees === Tree planting helps to make the environment greener and healthier. When planting a tree, we should: # Choose a suitable place. # Dig a small hole. # Plant the seedling carefully. # Cover the roots with soil. # Water the seedling. # Protect it from animals and damage. === Caring for Gardens === School and community gardens need regular care. Children can help by: * Watering plants. * Removing weeds. * Keeping gardens free from rubbish. * Protecting plants from being stepped on. * Adding compost when available. === Activity === Plant or care for a tree or flower at home or school. Observe it regularly and record how it changes. = Chapter Five: = = Working Together = === Teamwork === Teamwork means working together to achieve a shared goal. When people work as a team, tasks become easier and problems can be solved more quickly. Good team members listen, share duties, respect one another and help those who need support. === Community Clean-ups === A community clean-up is an activity where people work together to improve their surroundings. During a clean-up, people may collect rubbish, clear paths, clean public places and plant trees. Clean-ups should be organised safely with the guidance of adults. Children should avoid dangerous waste and sharp objects. === Helping Neighbours === We can help our neighbours by: * Sharing useful information. * Helping elderly or sick people when permitted. * Joining community activities. * Keeping shared places clean. * Encouraging peaceful cooperation. === Children's Leadership === Children can be leaders by setting a good example. A responsible young leader: * Listens to others. * Speaks politely. * Keeps promises. * Takes responsibility. * Encourages teamwork. * Helps others to do what is right. === Activity === Work in a group and prepare a simple plan for cleaning one place at school or in your community. = Chapter Six: = = Be a Young Community Champion = === Taking Responsibility === Taking responsibility means doing what is right and caring for the things around us. A responsible child does not wait for others to do everything. Children can take responsibility by keeping their surroundings clean, saving water, protecting trees and respecting public property. === Being an Environmental Role Model === An environmental role model shows good behaviour that others can copy. A young environmental role model: * Does not litter. * Uses water carefully. * Reuses materials. * Protects trees and plants. * Keeps learning areas clean. * Encourages friends to care for the environment. === My Personal Action Plan === I will: * Put rubbish in the correct place. * Keep my classroom and home clean. * Save water. * Care for trees and plants. * Reuse materials when possible. * Encourage my friends to protect the environment. === Community Challenge === Identify one environmental problem in your community. Discuss it with your teacher, parents or community leaders. Work with others to find a simple and safe solution. Examples include: * Too much rubbish around the school. * Wasting water. * Damaged trees. * Dirty playgrounds. * Blocked drainage channels. == Expected Outcome == After reading this book, children should be able to: * Explain the meaning of a clean and healthy environment. * Identify different types of wastes. * Practise proper waste disposal. * Explain the importance of safe water. * Protect and care for trees and gardens. * Work together with others. * Take responsibility for their homes, schools and communities. = Conclusion = A clean and healthy environment is everyone's responsibility. Children can make a difference through simple actions such as putting rubbish in the right place, protecting water, planting trees and helping others. When we work together, we can make our homes, schools and communities cleaner, safer and healthier. '''Be responsible. Be helpful. Be a young community champion!''' = References = 5z0sygd6nc4yggibg8s2pvnjl90j97w 4670034 4670028 2026-09-14T13:48:14Z Pamela Talemwa 3622070 added a rerference on protecting water sources 4670034 wikitext text/x-wiki == '''<big>A Young Reader's Guide to a Clean and Healthy Community.</big>''' == <big>'''Theme.'''</big> Learning to Care for Our Environment, Our Health and Our Community === Purpose of the Book: === === <small>The book aims to help children understand their role in creating and maintaining a clean, safe and healthy community.</small> === <big>'''Target Readers.'''</big> Primary Four Learners == '''Book Summary:''' == A Young Reader’s Guide to a Clean and Healthy Community is an educational book for Primary 4–6 learners that teaches children how to care for their homes, schools and communities. The book begins by helping children understand what a community is and why everyone has a responsibility to care for it. It then introduces proper waste management, protection of water sources, the importance of trees, teamwork and children's leadership. Through simple explanations, stories, activities and discussion questions, learners are encouraged to move from simply learning about environmental problems to taking positive action. == '''<big>Table of Contents:</big>''' == == '''Introduction:''' == Our environment is our home. We live, learn, play and grow in it. Keeping it clean and healthy helps us stay safe and happy. This book teaches young readers simple ways to care for their homes, schools and communities. Through short stories, activities and questions, children will learn about rubbish, clean water, trees, teamwork and responsibility. Remember, '''small actions can make a big difference!''' == '''Chapters:''' == == '''Chapter One: Our Community, Our Responsibility''' == *Understanding a community * Caring for our surroundings * Children's responsibilities == '''Chapter Two: Every Piece of rubbish has a Place''' == *Types of waste * Proper waste disposal * Reusing materials * Keeping schools and libraries clean == '''Chapter Three: Water Is Life''' == * Importance of water * Protecting water sources * Safe water practices * Effects of water pollution == '''Chapter Four: Trees Are Our Friends''' == * Importance of trees * Protecting and planting trees * Caring for gardens == '''Chapter Five: Working Together''' == * Teamwork * Community clean-ups * Helping neighbours * Children's leadership == '''Chapter Six: Be a Young Community Champion''' == * Taking responsibility * Being an environmental role model * Personal action plan * Community challenge === Expected Outcome: === The book will encourage children to practise good hygiene, protect the environment, work together and take responsibility for creating cleaner, safer and healthier communities. === Conclusion: === The book will remind young readers that everyone has a role to play in protecting the environment and that '''small actions can make a big difference'''. === References: === = Chapter One: = = Our Community, Our Responsibility = === Understanding a community === A community is a group of people who live, learn or work together in the same place. Examples of communities include homes, schools, villages and neighborhoods. People in a community share places and resources. They should help one another and work together to solve problems.<ref>{{Cite web |title=Community shared resources: Connecting the Dots: The Impact of Shared Resources in Local Communities |url=https://fastercapital.com/content/Community-shared-resources--Connecting-the-Dots--The-Impact-of-Shared-Resources-in-Local-Communities.html |access-date=2026-09-14 |website=FasterCapital |language=en}}</ref> === Caring for Our Surroundings === Our surroundings include the places, plants, animals, buildings and people around us. We should keep these places clean and safe. We can care for our surroundings by: * Putting rubbish in the right place. * Cleaning our homes, classrooms and playgrounds. * Protecting trees and plants. * Keeping water sources clean. * Avoiding damage to public property. * Helping people who need support. === Children's Responsibilities === Children have an important role in caring for their communities. They can help by setting a good example and encouraging others to behave responsibly.<ref>{{Cite web |date=2024-06-05 |title=Empowering Kids to Make a Big Impact in Their Communities |url=https://sesameworkshop.org/resources/empowering-kids-to-make-a-big-impact-in-their-communities/ |access-date=2026-09-14 |website=Sesame Workshop |language=en-US}}</ref> Children should keep their books and learning materials safe, respect others, avoid littering and report dangerous or dirty places to trusted adults. === Short Story: The Rubbish Behind the Library === Some pupils noticed rubbish behind their school library. They decided to clean the area with the help of their teacher. They collected the rubbish, placed it in bins and planted flowers near the library. The area became clean and beautiful. Other pupils followed their example. '''Lesson:''' Everyone can help to improve the community. === Activity and Discussion === # What is a community? # Name three ways of keeping your school clean. # Why should children care for their surroundings? # Organize a small classroom cleaning activity. = Chapter Two: = = Every Piece of Rubbish Has a Place = === Types of Waste === Waste is unwanted material that people throw away. Different types of waste include: * '''Paper:''' books, newspapers and cartons. * '''Plastic:''' bottles, bags and wrappers. * '''Food waste:''' fruit peels and leftover food. * '''Glass:''' broken bottles and jars. * '''Metal:''' tins and cans. * '''Natural waste:''' leaves, grass and small branches.<ref>{{Cite web |title=What is waste? – KS2 Science curriculum |url=https://www.bbc.co.uk/bitesize/articles/z2rhcj6 |access-date=2026-09-14 |website=BBC Bitesize |language=en-GB}}</ref> === Proper Waste Disposal === Proper waste disposal means putting waste in the correct place. Rubbish should not be thrown on roads, in gardens, rivers or playgrounds. We should use rubbish bins and follow the waste-disposal rules at home and school. Waste should be separated where possible so that reusable and recyclable materials can be collected<ref>{{Cite web |last=Gabriel |first=Mr |date=2024-09-12 |title=How to Dispose Waste Properly: A Guide to Proper Waste Management |url=https://whatisgreenliving.com/how-to-dispose-waste-properly/ |access-date=2026-09-14 |website=What is Green Living? |language=en-GB}}</ref>. === Reusing Materials === Reusing means using an item again instead of throwing it away. For example: * Old containers can be used as flowerpots. * Cardboard can be used for art and craft activities. * Glass jars can be used for storing safe materials. * Old paper can be used for drawing or practising writing. * Reusing materials reduces waste and saves resources<ref>{{Cite web |title=Topic 2 Reusing in daily life – CICLO |url=https://ciclo-project.eu/topic/topic-2-reusing-in-daily-life/ |access-date=2026-09-14 |language=en-GB}}</ref>. === Keeping Schools and Libraries Clean === A clean school and library provide a good place for learning. Learners should: * Put rubbish in bins. * Keep desks and shelves clean. * Handle books carefully. * Avoid writing on walls and books. * Return books to their proper places. * Keep food and drinks away from books.<ref>{{Cite web |title=Client Challenge |url=https://www.scribd.com/document/713175530/How-to-Keep-Your-School-Clean#google_vignette |access-date=2026-09-14 |website=www.scribd.com}}</ref> === Short Story: Amina's Big Idea === Amina saw many plastic bottles around her school. She suggested collecting the bottles and using some of them to make flower containers. Her classmates helped her. Soon, the school had fewer bottles on the ground and more beautiful flowers. '''Lesson:''' Waste materials can sometimes be reused in useful ways. === Practical Activity === Collect safe reusable materials and make a useful object, such as a flower pot, pencil holder or decoration. = Chapter Three: = = Water Is Life = === Importance of Water === Water is needed by people, animals and plants. We use water for: * Drinking. * Cooking. * Washing. * Cleaning. * Farming. * Growing plants. * Keeping our bodies healthy.Without safe water, people and animals can become sick. === Protecting Water Sources === Water sources include wells, rivers, lakes, springs and rainwater tanks. We should protect them from pollution. We can protect water sources by: * Not throwing rubbish into water. * Keeping animals away from drinking-water points. * Avoiding washing dirty items near water sources. * Planting trees and grass near water sources. * Reporting damaged or polluted water points.<ref>{{Cite web |last=US EPA |first=OW |date=2015-03-27 |title=Basic Information about Source Water Protection |url=https://www.epa.gov/sourcewaterprotection/basic-information-about-source-water-protection |access-date=2026-09-14 |website=www.epa.gov |language=en}}</ref> === Safe Water Practices === To keep drinking water safe, we should: * Use clean containers. * Keep water covered. * Wash our hands before collecting water. * Treat water when necessary. * Avoid dipping dirty cups or hands into stored water. * Keep drinking-water containers clean. === Effects of Water Pollution === Water pollution happens when harmful materials enter water. Polluted water can cause diseases, kill fish and harm plants and animals. Dirty water may contain germs that cause illnesses such as diarrhoea and other infections. === Short Story: The Dirty Stream === Children in a village noticed that their stream was becoming dirty. Some people were throwing rubbish into it. The children spoke to their teacher and community leaders. Together, they organised a clean-up and encouraged people to stop dumping rubbish in the stream. '''Lesson:''' Protecting water requires teamwork and responsible behaviour. === Water-Protection Challenge === For one week: * Close taps properly after use. * Use only the water you need. * Keep water containers clean. * Encourage others not to pollute water sources. = Chapter Four: = = Trees Are Our Friends = === Importance of Trees === Trees are important to people, animals and the environment. They: * Provide shade. * Help to keep the air fresh. * Protect the soil from erosion. * Provide homes for birds and insects. * Give us fruits, wood and other useful materials. * Make our communities beautiful. === Protecting Trees === We should protect trees from unnecessary cutting, burning and damage. We should not break branches or remove young trees carelessly. Children can help by watering trees, protecting young plants and informing adults when trees are being damaged. === Planting Trees === Tree planting helps to make the environment greener and healthier. When planting a tree, we should: # Choose a suitable place. # Dig a small hole. # Plant the seedling carefully. # Cover the roots with soil. # Water the seedling. # Protect it from animals and damage. === Caring for Gardens === School and community gardens need regular care. Children can help by: * Watering plants. * Removing weeds. * Keeping gardens free from rubbish. * Protecting plants from being stepped on. * Adding compost when available. === Activity === Plant or care for a tree or flower at home or school. Observe it regularly and record how it changes. = Chapter Five: = = Working Together = === Teamwork === Teamwork means working together to achieve a shared goal. When people work as a team, tasks become easier and problems can be solved more quickly. Good team members listen, share duties, respect one another and help those who need support. === Community Clean-ups === A community clean-up is an activity where people work together to improve their surroundings. During a clean-up, people may collect rubbish, clear paths, clean public places and plant trees. Clean-ups should be organised safely with the guidance of adults. Children should avoid dangerous waste and sharp objects. === Helping Neighbours === We can help our neighbours by: * Sharing useful information. * Helping elderly or sick people when permitted. * Joining community activities. * Keeping shared places clean. * Encouraging peaceful cooperation. === Children's Leadership === Children can be leaders by setting a good example. A responsible young leader: * Listens to others. * Speaks politely. * Keeps promises. * Takes responsibility. * Encourages teamwork. * Helps others to do what is right. === Activity === Work in a group and prepare a simple plan for cleaning one place at school or in your community. = Chapter Six: = = Be a Young Community Champion = === Taking Responsibility === Taking responsibility means doing what is right and caring for the things around us. A responsible child does not wait for others to do everything. Children can take responsibility by keeping their surroundings clean, saving water, protecting trees and respecting public property. === Being an Environmental Role Model === An environmental role model shows good behaviour that others can copy. A young environmental role model: * Does not litter. * Uses water carefully. * Reuses materials. * Protects trees and plants. * Keeps learning areas clean. * Encourages friends to care for the environment. === My Personal Action Plan === I will: * Put rubbish in the correct place. * Keep my classroom and home clean. * Save water. * Care for trees and plants. * Reuse materials when possible. * Encourage my friends to protect the environment. === Community Challenge === Identify one environmental problem in your community. Discuss it with your teacher, parents or community leaders. Work with others to find a simple and safe solution. Examples include: * Too much rubbish around the school. * Wasting water. * Damaged trees. * Dirty playgrounds. * Blocked drainage channels. == Expected Outcome == After reading this book, children should be able to: * Explain the meaning of a clean and healthy environment. * Identify different types of wastes. * Practise proper waste disposal. * Explain the importance of safe water. * Protect and care for trees and gardens. * Work together with others. * Take responsibility for their homes, schools and communities. = Conclusion = A clean and healthy environment is everyone's responsibility. Children can make a difference through simple actions such as putting rubbish in the right place, protecting water, planting trees and helping others. When we work together, we can make our homes, schools and communities cleaner, safer and healthier. '''Be responsible. Be helpful. Be a young community champion!''' = References = lqafd4cw8y4yqyn68fot2gyatw7s7hj 4670041 4670034 2026-09-14T13:59:02Z Pamela Talemwa 3622070 /* Safe Water Practices */ added a reference 4670041 wikitext text/x-wiki == '''<big>A Young Reader's Guide to a Clean and Healthy Community.</big>''' == <big>'''Theme.'''</big> Learning to Care for Our Environment, Our Health and Our Community === Purpose of the Book: === === <small>The book aims to help children understand their role in creating and maintaining a clean, safe and healthy community.</small> === <big>'''Target Readers.'''</big> Primary Four Learners == '''Book Summary:''' == A Young Reader’s Guide to a Clean and Healthy Community is an educational book for Primary 4–6 learners that teaches children how to care for their homes, schools and communities. The book begins by helping children understand what a community is and why everyone has a responsibility to care for it. It then introduces proper waste management, protection of water sources, the importance of trees, teamwork and children's leadership. Through simple explanations, stories, activities and discussion questions, learners are encouraged to move from simply learning about environmental problems to taking positive action. == '''<big>Table of Contents:</big>''' == == '''Introduction:''' == Our environment is our home. We live, learn, play and grow in it. Keeping it clean and healthy helps us stay safe and happy. This book teaches young readers simple ways to care for their homes, schools and communities. Through short stories, activities and questions, children will learn about rubbish, clean water, trees, teamwork and responsibility. Remember, '''small actions can make a big difference!''' == '''Chapters:''' == == '''Chapter One: Our Community, Our Responsibility''' == *Understanding a community * Caring for our surroundings * Children's responsibilities == '''Chapter Two: Every Piece of rubbish has a Place''' == *Types of waste * Proper waste disposal * Reusing materials * Keeping schools and libraries clean == '''Chapter Three: Water Is Life''' == * Importance of water * Protecting water sources * Safe water practices * Effects of water pollution == '''Chapter Four: Trees Are Our Friends''' == * Importance of trees * Protecting and planting trees * Caring for gardens == '''Chapter Five: Working Together''' == * Teamwork * Community clean-ups * Helping neighbours * Children's leadership == '''Chapter Six: Be a Young Community Champion''' == * Taking responsibility * Being an environmental role model * Personal action plan * Community challenge === Expected Outcome: === The book will encourage children to practise good hygiene, protect the environment, work together and take responsibility for creating cleaner, safer and healthier communities. === Conclusion: === The book will remind young readers that everyone has a role to play in protecting the environment and that '''small actions can make a big difference'''. === References: === = Chapter One: = = Our Community, Our Responsibility = === Understanding a community === A community is a group of people who live, learn or work together in the same place. Examples of communities include homes, schools, villages and neighborhoods. People in a community share places and resources. They should help one another and work together to solve problems.<ref>{{Cite web |title=Community shared resources: Connecting the Dots: The Impact of Shared Resources in Local Communities |url=https://fastercapital.com/content/Community-shared-resources--Connecting-the-Dots--The-Impact-of-Shared-Resources-in-Local-Communities.html |access-date=2026-09-14 |website=FasterCapital |language=en}}</ref> === Caring for Our Surroundings === Our surroundings include the places, plants, animals, buildings and people around us. We should keep these places clean and safe. We can care for our surroundings by: * Putting rubbish in the right place. * Cleaning our homes, classrooms and playgrounds. * Protecting trees and plants. * Keeping water sources clean. * Avoiding damage to public property. * Helping people who need support. === Children's Responsibilities === Children have an important role in caring for their communities. They can help by setting a good example and encouraging others to behave responsibly.<ref>{{Cite web |date=2024-06-05 |title=Empowering Kids to Make a Big Impact in Their Communities |url=https://sesameworkshop.org/resources/empowering-kids-to-make-a-big-impact-in-their-communities/ |access-date=2026-09-14 |website=Sesame Workshop |language=en-US}}</ref> Children should keep their books and learning materials safe, respect others, avoid littering and report dangerous or dirty places to trusted adults. === Short Story: The Rubbish Behind the Library === Some pupils noticed rubbish behind their school library. They decided to clean the area with the help of their teacher. They collected the rubbish, placed it in bins and planted flowers near the library. The area became clean and beautiful. Other pupils followed their example. '''Lesson:''' Everyone can help to improve the community. === Activity and Discussion === # What is a community? # Name three ways of keeping your school clean. # Why should children care for their surroundings? # Organize a small classroom cleaning activity. = Chapter Two: = = Every Piece of Rubbish Has a Place = === Types of Waste === Waste is unwanted material that people throw away. Different types of waste include: * '''Paper:''' books, newspapers and cartons. * '''Plastic:''' bottles, bags and wrappers. * '''Food waste:''' fruit peels and leftover food. * '''Glass:''' broken bottles and jars. * '''Metal:''' tins and cans. * '''Natural waste:''' leaves, grass and small branches.<ref>{{Cite web |title=What is waste? – KS2 Science curriculum |url=https://www.bbc.co.uk/bitesize/articles/z2rhcj6 |access-date=2026-09-14 |website=BBC Bitesize |language=en-GB}}</ref> === Proper Waste Disposal === Proper waste disposal means putting waste in the correct place. Rubbish should not be thrown on roads, in gardens, rivers or playgrounds. We should use rubbish bins and follow the waste-disposal rules at home and school. Waste should be separated where possible so that reusable and recyclable materials can be collected<ref>{{Cite web |last=Gabriel |first=Mr |date=2024-09-12 |title=How to Dispose Waste Properly: A Guide to Proper Waste Management |url=https://whatisgreenliving.com/how-to-dispose-waste-properly/ |access-date=2026-09-14 |website=What is Green Living? |language=en-GB}}</ref>. === Reusing Materials === Reusing means using an item again instead of throwing it away. For example: * Old containers can be used as flowerpots. * Cardboard can be used for art and craft activities. * Glass jars can be used for storing safe materials. * Old paper can be used for drawing or practising writing. * Reusing materials reduces waste and saves resources<ref>{{Cite web |title=Topic 2 Reusing in daily life – CICLO |url=https://ciclo-project.eu/topic/topic-2-reusing-in-daily-life/ |access-date=2026-09-14 |language=en-GB}}</ref>. === Keeping Schools and Libraries Clean === A clean school and library provide a good place for learning. Learners should: * Put rubbish in bins. * Keep desks and shelves clean. * Handle books carefully. * Avoid writing on walls and books. * Return books to their proper places. * Keep food and drinks away from books.<ref>{{Cite web |title=Client Challenge |url=https://www.scribd.com/document/713175530/How-to-Keep-Your-School-Clean#google_vignette |access-date=2026-09-14 |website=www.scribd.com}}</ref> === Short Story: Amina's Big Idea === Amina saw many plastic bottles around her school. She suggested collecting the bottles and using some of them to make flower containers. Her classmates helped her. Soon, the school had fewer bottles on the ground and more beautiful flowers. '''Lesson:''' Waste materials can sometimes be reused in useful ways. === Practical Activity === Collect safe reusable materials and make a useful object, such as a flower pot, pencil holder or decoration. = Chapter Three: = = Water Is Life = === Importance of Water === Water is needed by people, animals and plants. We use water for: * Drinking. * Cooking. * Washing. * Cleaning. * Farming. * Growing plants. * Keeping our bodies healthy.Without safe water, people and animals can become sick. === Protecting Water Sources === Water sources include wells, rivers, lakes, springs and rainwater tanks. We should protect them from pollution. We can protect water sources by: * Not throwing rubbish into water. * Keeping animals away from drinking-water points. * Avoiding washing dirty items near water sources. * Planting trees and grass near water sources. * Reporting damaged or polluted water points.<ref>{{Cite web |last=US EPA |first=OW |date=2015-03-27 |title=Basic Information about Source Water Protection |url=https://www.epa.gov/sourcewaterprotection/basic-information-about-source-water-protection |access-date=2026-09-14 |website=www.epa.gov |language=en}}</ref> === Safe Water Practices === To keep drinking water safe, we should: * Use clean containers. * Keep water covered. * Wash our hands before collecting water. * Treat water when necessary. * Avoid dipping dirty cups or hands into stored water. * Keep drinking-water containers clean.<ref>{{Cite web |title=Client Challenge |url=https://www.scribd.com/document/753008722/SHN-Learning-Resource-Clean-and-Safe-Water |access-date=2026-09-14 |website=www.scribd.com}}</ref> === Effects of Water Pollution === Water pollution happens when harmful materials enter water. Polluted water can cause diseases, kill fish and harm plants and animals. Dirty water may contain germs that cause illnesses such as diarrhoea and other infections. === Short Story: The Dirty Stream === Children in a village noticed that their stream was becoming dirty. Some people were throwing rubbish into it. The children spoke to their teacher and community leaders. Together, they organised a clean-up and encouraged people to stop dumping rubbish in the stream. '''Lesson:''' Protecting water requires teamwork and responsible behaviour. === Water-Protection Challenge === For one week: * Close taps properly after use. * Use only the water you need. * Keep water containers clean. * Encourage others not to pollute water sources. = Chapter Four: = = Trees Are Our Friends = === Importance of Trees === Trees are important to people, animals and the environment. They: * Provide shade. * Help to keep the air fresh. * Protect the soil from erosion. * Provide homes for birds and insects. * Give us fruits, wood and other useful materials. * Make our communities beautiful. === Protecting Trees === We should protect trees from unnecessary cutting, burning and damage. We should not break branches or remove young trees carelessly. Children can help by watering trees, protecting young plants and informing adults when trees are being damaged. === Planting Trees === Tree planting helps to make the environment greener and healthier. When planting a tree, we should: # Choose a suitable place. # Dig a small hole. # Plant the seedling carefully. # Cover the roots with soil. # Water the seedling. # Protect it from animals and damage. === Caring for Gardens === School and community gardens need regular care. Children can help by: * Watering plants. * Removing weeds. * Keeping gardens free from rubbish. * Protecting plants from being stepped on. * Adding compost when available. === Activity === Plant or care for a tree or flower at home or school. Observe it regularly and record how it changes. = Chapter Five: = = Working Together = === Teamwork === Teamwork means working together to achieve a shared goal. When people work as a team, tasks become easier and problems can be solved more quickly. Good team members listen, share duties, respect one another and help those who need support. === Community Clean-ups === A community clean-up is an activity where people work together to improve their surroundings. During a clean-up, people may collect rubbish, clear paths, clean public places and plant trees. Clean-ups should be organised safely with the guidance of adults. Children should avoid dangerous waste and sharp objects. === Helping Neighbours === We can help our neighbours by: * Sharing useful information. * Helping elderly or sick people when permitted. * Joining community activities. * Keeping shared places clean. * Encouraging peaceful cooperation. === Children's Leadership === Children can be leaders by setting a good example. A responsible young leader: * Listens to others. * Speaks politely. * Keeps promises. * Takes responsibility. * Encourages teamwork. * Helps others to do what is right. === Activity === Work in a group and prepare a simple plan for cleaning one place at school or in your community. = Chapter Six: = = Be a Young Community Champion = === Taking Responsibility === Taking responsibility means doing what is right and caring for the things around us. A responsible child does not wait for others to do everything. Children can take responsibility by keeping their surroundings clean, saving water, protecting trees and respecting public property. === Being an Environmental Role Model === An environmental role model shows good behaviour that others can copy. A young environmental role model: * Does not litter. * Uses water carefully. * Reuses materials. * Protects trees and plants. * Keeps learning areas clean. * Encourages friends to care for the environment. === My Personal Action Plan === I will: * Put rubbish in the correct place. * Keep my classroom and home clean. * Save water. * Care for trees and plants. * Reuse materials when possible. * Encourage my friends to protect the environment. === Community Challenge === Identify one environmental problem in your community. Discuss it with your teacher, parents or community leaders. Work with others to find a simple and safe solution. Examples include: * Too much rubbish around the school. * Wasting water. * Damaged trees. * Dirty playgrounds. * Blocked drainage channels. == Expected Outcome == After reading this book, children should be able to: * Explain the meaning of a clean and healthy environment. * Identify different types of wastes. * Practise proper waste disposal. * Explain the importance of safe water. * Protect and care for trees and gardens. * Work together with others. * Take responsibility for their homes, schools and communities. = Conclusion = A clean and healthy environment is everyone's responsibility. Children can make a difference through simple actions such as putting rubbish in the right place, protecting water, planting trees and helping others. When we work together, we can make our homes, schools and communities cleaner, safer and healthier. '''Be responsible. Be helpful. Be a young community champion!''' = References = key8orjkdh7o9y5dx6tawsbjxhhhp5n 4670047 4670041 2026-09-14T14:13:34Z Pamela Talemwa 3622070 /* Effects of Water Pollution */ added a reference 4670047 wikitext text/x-wiki == '''<big>A Young Reader's Guide to a Clean and Healthy Community.</big>''' == <big>'''Theme.'''</big> Learning to Care for Our Environment, Our Health and Our Community === Purpose of the Book: === === <small>The book aims to help children understand their role in creating and maintaining a clean, safe and healthy community.</small> === <big>'''Target Readers.'''</big> Primary Four Learners == '''Book Summary:''' == A Young Reader’s Guide to a Clean and Healthy Community is an educational book for Primary 4–6 learners that teaches children how to care for their homes, schools and communities. The book begins by helping children understand what a community is and why everyone has a responsibility to care for it. It then introduces proper waste management, protection of water sources, the importance of trees, teamwork and children's leadership. Through simple explanations, stories, activities and discussion questions, learners are encouraged to move from simply learning about environmental problems to taking positive action. == '''<big>Table of Contents:</big>''' == == '''Introduction:''' == Our environment is our home. We live, learn, play and grow in it. Keeping it clean and healthy helps us stay safe and happy. This book teaches young readers simple ways to care for their homes, schools and communities. Through short stories, activities and questions, children will learn about rubbish, clean water, trees, teamwork and responsibility. Remember, '''small actions can make a big difference!''' == '''Chapters:''' == == '''Chapter One: Our Community, Our Responsibility''' == *Understanding a community * Caring for our surroundings * Children's responsibilities == '''Chapter Two: Every Piece of rubbish has a Place''' == *Types of waste * Proper waste disposal * Reusing materials * Keeping schools and libraries clean == '''Chapter Three: Water Is Life''' == * Importance of water * Protecting water sources * Safe water practices * Effects of water pollution == '''Chapter Four: Trees Are Our Friends''' == * Importance of trees * Protecting and planting trees * Caring for gardens == '''Chapter Five: Working Together''' == * Teamwork * Community clean-ups * Helping neighbours * Children's leadership == '''Chapter Six: Be a Young Community Champion''' == * Taking responsibility * Being an environmental role model * Personal action plan * Community challenge === Expected Outcome: === The book will encourage children to practise good hygiene, protect the environment, work together and take responsibility for creating cleaner, safer and healthier communities. === Conclusion: === The book will remind young readers that everyone has a role to play in protecting the environment and that '''small actions can make a big difference'''. === References: === = Chapter One: = = Our Community, Our Responsibility = === Understanding a community === A community is a group of people who live, learn or work together in the same place. Examples of communities include homes, schools, villages and neighborhoods. People in a community share places and resources. They should help one another and work together to solve problems.<ref>{{Cite web |title=Community shared resources: Connecting the Dots: The Impact of Shared Resources in Local Communities |url=https://fastercapital.com/content/Community-shared-resources--Connecting-the-Dots--The-Impact-of-Shared-Resources-in-Local-Communities.html |access-date=2026-09-14 |website=FasterCapital |language=en}}</ref> === Caring for Our Surroundings === Our surroundings include the places, plants, animals, buildings and people around us. We should keep these places clean and safe. We can care for our surroundings by: * Putting rubbish in the right place. * Cleaning our homes, classrooms and playgrounds. * Protecting trees and plants. * Keeping water sources clean. * Avoiding damage to public property. * Helping people who need support. === Children's Responsibilities === Children have an important role in caring for their communities. They can help by setting a good example and encouraging others to behave responsibly.<ref>{{Cite web |date=2024-06-05 |title=Empowering Kids to Make a Big Impact in Their Communities |url=https://sesameworkshop.org/resources/empowering-kids-to-make-a-big-impact-in-their-communities/ |access-date=2026-09-14 |website=Sesame Workshop |language=en-US}}</ref> Children should keep their books and learning materials safe, respect others, avoid littering and report dangerous or dirty places to trusted adults. === Short Story: The Rubbish Behind the Library === Some pupils noticed rubbish behind their school library. They decided to clean the area with the help of their teacher. They collected the rubbish, placed it in bins and planted flowers near the library. The area became clean and beautiful. Other pupils followed their example. '''Lesson:''' Everyone can help to improve the community. === Activity and Discussion === # What is a community? # Name three ways of keeping your school clean. # Why should children care for their surroundings? # Organize a small classroom cleaning activity. = Chapter Two: = = Every Piece of Rubbish Has a Place = === Types of Waste === Waste is unwanted material that people throw away. Different types of waste include: * '''Paper:''' books, newspapers and cartons. * '''Plastic:''' bottles, bags and wrappers. * '''Food waste:''' fruit peels and leftover food. * '''Glass:''' broken bottles and jars. * '''Metal:''' tins and cans. * '''Natural waste:''' leaves, grass and small branches.<ref>{{Cite web |title=What is waste? – KS2 Science curriculum |url=https://www.bbc.co.uk/bitesize/articles/z2rhcj6 |access-date=2026-09-14 |website=BBC Bitesize |language=en-GB}}</ref> === Proper Waste Disposal === Proper waste disposal means putting waste in the correct place. Rubbish should not be thrown on roads, in gardens, rivers or playgrounds. We should use rubbish bins and follow the waste-disposal rules at home and school. Waste should be separated where possible so that reusable and recyclable materials can be collected<ref>{{Cite web |last=Gabriel |first=Mr |date=2024-09-12 |title=How to Dispose Waste Properly: A Guide to Proper Waste Management |url=https://whatisgreenliving.com/how-to-dispose-waste-properly/ |access-date=2026-09-14 |website=What is Green Living? |language=en-GB}}</ref>. === Reusing Materials === Reusing means using an item again instead of throwing it away. For example: * Old containers can be used as flowerpots. * Cardboard can be used for art and craft activities. * Glass jars can be used for storing safe materials. * Old paper can be used for drawing or practising writing. * Reusing materials reduces waste and saves resources<ref>{{Cite web |title=Topic 2 Reusing in daily life – CICLO |url=https://ciclo-project.eu/topic/topic-2-reusing-in-daily-life/ |access-date=2026-09-14 |language=en-GB}}</ref>. === Keeping Schools and Libraries Clean === A clean school and library provide a good place for learning. Learners should: * Put rubbish in bins. * Keep desks and shelves clean. * Handle books carefully. * Avoid writing on walls and books. * Return books to their proper places. * Keep food and drinks away from books.<ref>{{Cite web |title=Client Challenge |url=https://www.scribd.com/document/713175530/How-to-Keep-Your-School-Clean#google_vignette |access-date=2026-09-14 |website=www.scribd.com}}</ref> === Short Story: Amina's Big Idea === Amina saw many plastic bottles around her school. She suggested collecting the bottles and using some of them to make flower containers. Her classmates helped her. Soon, the school had fewer bottles on the ground and more beautiful flowers. '''Lesson:''' Waste materials can sometimes be reused in useful ways. === Practical Activity === Collect safe reusable materials and make a useful object, such as a flower pot, pencil holder or decoration. = Chapter Three: = = Water Is Life = === Importance of Water === Water is needed by people, animals and plants. We use water for: * Drinking. * Cooking. * Washing. * Cleaning. * Farming. * Growing plants. * Keeping our bodies healthy.Without safe water, people and animals can become sick. === Protecting Water Sources === Water sources include wells, rivers, lakes, springs and rainwater tanks. We should protect them from pollution. We can protect water sources by: * Not throwing rubbish into water. * Keeping animals away from drinking-water points. * Avoiding washing dirty items near water sources. * Planting trees and grass near water sources. * Reporting damaged or polluted water points.<ref>{{Cite web |last=US EPA |first=OW |date=2015-03-27 |title=Basic Information about Source Water Protection |url=https://www.epa.gov/sourcewaterprotection/basic-information-about-source-water-protection |access-date=2026-09-14 |website=www.epa.gov |language=en}}</ref> === Safe Water Practices === To keep drinking water safe, we should: * Use clean containers. * Keep water covered. * Wash our hands before collecting water. * Treat water when necessary. * Avoid dipping dirty cups or hands into stored water. * Keep drinking-water containers clean.<ref>{{Cite web |title=Client Challenge |url=https://www.scribd.com/document/753008722/SHN-Learning-Resource-Clean-and-Safe-Water |access-date=2026-09-14 |website=www.scribd.com}}</ref> === Effects of Water Pollution === Water pollution happens when harmful materials enter water. Polluted water can cause diseases, kill fish and harm plants and animals. Dirty water may contain germs that cause illnesses such as diarrhoea and other infections.<ref>{{Cite web |date=2023-11-10 |title=7 Effects Of Water Pollution |url=https://atlas-scientific.com/blog/effects-of-water-pollution/ |access-date=2026-09-14 |website=Atlas Scientific |language=en-US}}</ref> === Short Story: The Dirty Stream === Children in a village noticed that their stream was becoming dirty. Some people were throwing rubbish into it. The children spoke to their teacher and community leaders. Together, they organised a clean-up and encouraged people to stop dumping rubbish in the stream. '''Lesson:''' Protecting water requires teamwork and responsible behaviour. === Water-Protection Challenge === For one week: * Close taps properly after use. * Use only the water you need. * Keep water containers clean. * Encourage others not to pollute water sources. = Chapter Four: = = Trees Are Our Friends = === Importance of Trees === Trees are important to people, animals and the environment. They: * Provide shade. * Help to keep the air fresh. * Protect the soil from erosion. * Provide homes for birds and insects. * Give us fruits, wood and other useful materials. * Make our communities beautiful. === Protecting Trees === We should protect trees from unnecessary cutting, burning and damage. We should not break branches or remove young trees carelessly. Children can help by watering trees, protecting young plants and informing adults when trees are being damaged. === Planting Trees === Tree planting helps to make the environment greener and healthier. When planting a tree, we should: # Choose a suitable place. # Dig a small hole. # Plant the seedling carefully. # Cover the roots with soil. # Water the seedling. # Protect it from animals and damage. === Caring for Gardens === School and community gardens need regular care. Children can help by: * Watering plants. * Removing weeds. * Keeping gardens free from rubbish. * Protecting plants from being stepped on. * Adding compost when available. === Activity === Plant or care for a tree or flower at home or school. Observe it regularly and record how it changes. = Chapter Five: = = Working Together = === Teamwork === Teamwork means working together to achieve a shared goal. When people work as a team, tasks become easier and problems can be solved more quickly. Good team members listen, share duties, respect one another and help those who need support. === Community Clean-ups === A community clean-up is an activity where people work together to improve their surroundings. During a clean-up, people may collect rubbish, clear paths, clean public places and plant trees. Clean-ups should be organised safely with the guidance of adults. Children should avoid dangerous waste and sharp objects. === Helping Neighbours === We can help our neighbours by: * Sharing useful information. * Helping elderly or sick people when permitted. * Joining community activities. * Keeping shared places clean. * Encouraging peaceful cooperation. === Children's Leadership === Children can be leaders by setting a good example. A responsible young leader: * Listens to others. * Speaks politely. * Keeps promises. * Takes responsibility. * Encourages teamwork. * Helps others to do what is right. === Activity === Work in a group and prepare a simple plan for cleaning one place at school or in your community. = Chapter Six: = = Be a Young Community Champion = === Taking Responsibility === Taking responsibility means doing what is right and caring for the things around us. A responsible child does not wait for others to do everything. Children can take responsibility by keeping their surroundings clean, saving water, protecting trees and respecting public property. === Being an Environmental Role Model === An environmental role model shows good behaviour that others can copy. A young environmental role model: * Does not litter. * Uses water carefully. * Reuses materials. * Protects trees and plants. * Keeps learning areas clean. * Encourages friends to care for the environment. === My Personal Action Plan === I will: * Put rubbish in the correct place. * Keep my classroom and home clean. * Save water. * Care for trees and plants. * Reuse materials when possible. * Encourage my friends to protect the environment. === Community Challenge === Identify one environmental problem in your community. Discuss it with your teacher, parents or community leaders. Work with others to find a simple and safe solution. Examples include: * Too much rubbish around the school. * Wasting water. * Damaged trees. * Dirty playgrounds. * Blocked drainage channels. == Expected Outcome == After reading this book, children should be able to: * Explain the meaning of a clean and healthy environment. * Identify different types of wastes. * Practise proper waste disposal. * Explain the importance of safe water. * Protect and care for trees and gardens. * Work together with others. * Take responsibility for their homes, schools and communities. = Conclusion = A clean and healthy environment is everyone's responsibility. Children can make a difference through simple actions such as putting rubbish in the right place, protecting water, planting trees and helping others. When we work together, we can make our homes, schools and communities cleaner, safer and healthier. '''Be responsible. Be helpful. Be a young community champion!''' = References = 39xurnzshd8s4oa2q2l97qrdxus30ap 4670048 4670047 2026-09-14T14:17:35Z Pamela Talemwa 3622070 /* Water-Protection Challenge */ addded a reference 4670048 wikitext text/x-wiki == '''<big>A Young Reader's Guide to a Clean and Healthy Community.</big>''' == <big>'''Theme.'''</big> Learning to Care for Our Environment, Our Health and Our Community === Purpose of the Book: === === <small>The book aims to help children understand their role in creating and maintaining a clean, safe and healthy community.</small> === <big>'''Target Readers.'''</big> Primary Four Learners == '''Book Summary:''' == A Young Reader’s Guide to a Clean and Healthy Community is an educational book for Primary 4–6 learners that teaches children how to care for their homes, schools and communities. The book begins by helping children understand what a community is and why everyone has a responsibility to care for it. It then introduces proper waste management, protection of water sources, the importance of trees, teamwork and children's leadership. Through simple explanations, stories, activities and discussion questions, learners are encouraged to move from simply learning about environmental problems to taking positive action. == '''<big>Table of Contents:</big>''' == == '''Introduction:''' == Our environment is our home. We live, learn, play and grow in it. Keeping it clean and healthy helps us stay safe and happy. This book teaches young readers simple ways to care for their homes, schools and communities. Through short stories, activities and questions, children will learn about rubbish, clean water, trees, teamwork and responsibility. Remember, '''small actions can make a big difference!''' == '''Chapters:''' == == '''Chapter One: Our Community, Our Responsibility''' == *Understanding a community * Caring for our surroundings * Children's responsibilities == '''Chapter Two: Every Piece of rubbish has a Place''' == *Types of waste * Proper waste disposal * Reusing materials * Keeping schools and libraries clean == '''Chapter Three: Water Is Life''' == * Importance of water * Protecting water sources * Safe water practices * Effects of water pollution == '''Chapter Four: Trees Are Our Friends''' == * Importance of trees * Protecting and planting trees * Caring for gardens == '''Chapter Five: Working Together''' == * Teamwork * Community clean-ups * Helping neighbours * Children's leadership == '''Chapter Six: Be a Young Community Champion''' == * Taking responsibility * Being an environmental role model * Personal action plan * Community challenge === Expected Outcome: === The book will encourage children to practise good hygiene, protect the environment, work together and take responsibility for creating cleaner, safer and healthier communities. === Conclusion: === The book will remind young readers that everyone has a role to play in protecting the environment and that '''small actions can make a big difference'''. === References: === = Chapter One: = = Our Community, Our Responsibility = === Understanding a community === A community is a group of people who live, learn or work together in the same place. Examples of communities include homes, schools, villages and neighborhoods. People in a community share places and resources. They should help one another and work together to solve problems.<ref>{{Cite web |title=Community shared resources: Connecting the Dots: The Impact of Shared Resources in Local Communities |url=https://fastercapital.com/content/Community-shared-resources--Connecting-the-Dots--The-Impact-of-Shared-Resources-in-Local-Communities.html |access-date=2026-09-14 |website=FasterCapital |language=en}}</ref> === Caring for Our Surroundings === Our surroundings include the places, plants, animals, buildings and people around us. We should keep these places clean and safe. We can care for our surroundings by: * Putting rubbish in the right place. * Cleaning our homes, classrooms and playgrounds. * Protecting trees and plants. * Keeping water sources clean. * Avoiding damage to public property. * Helping people who need support. === Children's Responsibilities === Children have an important role in caring for their communities. They can help by setting a good example and encouraging others to behave responsibly.<ref>{{Cite web |date=2024-06-05 |title=Empowering Kids to Make a Big Impact in Their Communities |url=https://sesameworkshop.org/resources/empowering-kids-to-make-a-big-impact-in-their-communities/ |access-date=2026-09-14 |website=Sesame Workshop |language=en-US}}</ref> Children should keep their books and learning materials safe, respect others, avoid littering and report dangerous or dirty places to trusted adults. === Short Story: The Rubbish Behind the Library === Some pupils noticed rubbish behind their school library. They decided to clean the area with the help of their teacher. They collected the rubbish, placed it in bins and planted flowers near the library. The area became clean and beautiful. Other pupils followed their example. '''Lesson:''' Everyone can help to improve the community. === Activity and Discussion === # What is a community? # Name three ways of keeping your school clean. # Why should children care for their surroundings? # Organize a small classroom cleaning activity. = Chapter Two: = = Every Piece of Rubbish Has a Place = === Types of Waste === Waste is unwanted material that people throw away. Different types of waste include: * '''Paper:''' books, newspapers and cartons. * '''Plastic:''' bottles, bags and wrappers. * '''Food waste:''' fruit peels and leftover food. * '''Glass:''' broken bottles and jars. * '''Metal:''' tins and cans. * '''Natural waste:''' leaves, grass and small branches.<ref>{{Cite web |title=What is waste? – KS2 Science curriculum |url=https://www.bbc.co.uk/bitesize/articles/z2rhcj6 |access-date=2026-09-14 |website=BBC Bitesize |language=en-GB}}</ref> === Proper Waste Disposal === Proper waste disposal means putting waste in the correct place. Rubbish should not be thrown on roads, in gardens, rivers or playgrounds. We should use rubbish bins and follow the waste-disposal rules at home and school. Waste should be separated where possible so that reusable and recyclable materials can be collected<ref>{{Cite web |last=Gabriel |first=Mr |date=2024-09-12 |title=How to Dispose Waste Properly: A Guide to Proper Waste Management |url=https://whatisgreenliving.com/how-to-dispose-waste-properly/ |access-date=2026-09-14 |website=What is Green Living? |language=en-GB}}</ref>. === Reusing Materials === Reusing means using an item again instead of throwing it away. For example: * Old containers can be used as flowerpots. * Cardboard can be used for art and craft activities. * Glass jars can be used for storing safe materials. * Old paper can be used for drawing or practising writing. * Reusing materials reduces waste and saves resources<ref>{{Cite web |title=Topic 2 Reusing in daily life – CICLO |url=https://ciclo-project.eu/topic/topic-2-reusing-in-daily-life/ |access-date=2026-09-14 |language=en-GB}}</ref>. === Keeping Schools and Libraries Clean === A clean school and library provide a good place for learning. Learners should: * Put rubbish in bins. * Keep desks and shelves clean. * Handle books carefully. * Avoid writing on walls and books. * Return books to their proper places. * Keep food and drinks away from books.<ref>{{Cite web |title=Client Challenge |url=https://www.scribd.com/document/713175530/How-to-Keep-Your-School-Clean#google_vignette |access-date=2026-09-14 |website=www.scribd.com}}</ref> === Short Story: Amina's Big Idea === Amina saw many plastic bottles around her school. She suggested collecting the bottles and using some of them to make flower containers. Her classmates helped her. Soon, the school had fewer bottles on the ground and more beautiful flowers. '''Lesson:''' Waste materials can sometimes be reused in useful ways. === Practical Activity === Collect safe reusable materials and make a useful object, such as a flower pot, pencil holder or decoration. = Chapter Three: = = Water Is Life = === Importance of Water === Water is needed by people, animals and plants. We use water for: * Drinking. * Cooking. * Washing. * Cleaning. * Farming. * Growing plants. * Keeping our bodies healthy.Without safe water, people and animals can become sick. === Protecting Water Sources === Water sources include wells, rivers, lakes, springs and rainwater tanks. We should protect them from pollution. We can protect water sources by: * Not throwing rubbish into water. * Keeping animals away from drinking-water points. * Avoiding washing dirty items near water sources. * Planting trees and grass near water sources. * Reporting damaged or polluted water points.<ref>{{Cite web |last=US EPA |first=OW |date=2015-03-27 |title=Basic Information about Source Water Protection |url=https://www.epa.gov/sourcewaterprotection/basic-information-about-source-water-protection |access-date=2026-09-14 |website=www.epa.gov |language=en}}</ref> === Safe Water Practices === To keep drinking water safe, we should: * Use clean containers. * Keep water covered. * Wash our hands before collecting water. * Treat water when necessary. * Avoid dipping dirty cups or hands into stored water. * Keep drinking-water containers clean.<ref>{{Cite web |title=Client Challenge |url=https://www.scribd.com/document/753008722/SHN-Learning-Resource-Clean-and-Safe-Water |access-date=2026-09-14 |website=www.scribd.com}}</ref> === Effects of Water Pollution === Water pollution happens when harmful materials enter water. Polluted water can cause diseases, kill fish and harm plants and animals. Dirty water may contain germs that cause illnesses such as diarrhoea and other infections.<ref>{{Cite web |date=2023-11-10 |title=7 Effects Of Water Pollution |url=https://atlas-scientific.com/blog/effects-of-water-pollution/ |access-date=2026-09-14 |website=Atlas Scientific |language=en-US}}</ref> === Short Story: The Dirty Stream === Children in a village noticed that their stream was becoming dirty. Some people were throwing rubbish into it. The children spoke to their teacher and community leaders. Together, they organised a clean-up and encouraged people to stop dumping rubbish in the stream. '''Lesson:''' Protecting water requires teamwork and responsible behaviour. === Water-Protection Challenge === For one week: * Close taps properly after use. * Use only the water you need. * Keep water containers clean. * Encourage others not to pollute water sources.<ref>{{Cite web |last=School |first=Centre Point |date=2026-07-24 |title=How Children Can Save Water: Easy Conservation Tips |url=https://centrepointschools.com/blogs/how-children-can-save-water/ |access-date=2026-09-14 |website=Educational & Child Development Blogs |language=en-US}}</ref> = Chapter Four: = = Trees Are Our Friends = === Importance of Trees === Trees are important to people, animals and the environment. They: * Provide shade. * Help to keep the air fresh. * Protect the soil from erosion. * Provide homes for birds and insects. * Give us fruits, wood and other useful materials. * Make our communities beautiful. === Protecting Trees === We should protect trees from unnecessary cutting, burning and damage. We should not break branches or remove young trees carelessly. Children can help by watering trees, protecting young plants and informing adults when trees are being damaged. === Planting Trees === Tree planting helps to make the environment greener and healthier. When planting a tree, we should: # Choose a suitable place. # Dig a small hole. # Plant the seedling carefully. # Cover the roots with soil. # Water the seedling. # Protect it from animals and damage. === Caring for Gardens === School and community gardens need regular care. Children can help by: * Watering plants. * Removing weeds. * Keeping gardens free from rubbish. * Protecting plants from being stepped on. * Adding compost when available. === Activity === Plant or care for a tree or flower at home or school. Observe it regularly and record how it changes. = Chapter Five: = = Working Together = === Teamwork === Teamwork means working together to achieve a shared goal. When people work as a team, tasks become easier and problems can be solved more quickly. Good team members listen, share duties, respect one another and help those who need support. === Community Clean-ups === A community clean-up is an activity where people work together to improve their surroundings. During a clean-up, people may collect rubbish, clear paths, clean public places and plant trees. Clean-ups should be organised safely with the guidance of adults. Children should avoid dangerous waste and sharp objects. === Helping Neighbours === We can help our neighbours by: * Sharing useful information. * Helping elderly or sick people when permitted. * Joining community activities. * Keeping shared places clean. * Encouraging peaceful cooperation. === Children's Leadership === Children can be leaders by setting a good example. A responsible young leader: * Listens to others. * Speaks politely. * Keeps promises. * Takes responsibility. * Encourages teamwork. * Helps others to do what is right. === Activity === Work in a group and prepare a simple plan for cleaning one place at school or in your community. = Chapter Six: = = Be a Young Community Champion = === Taking Responsibility === Taking responsibility means doing what is right and caring for the things around us. A responsible child does not wait for others to do everything. Children can take responsibility by keeping their surroundings clean, saving water, protecting trees and respecting public property. === Being an Environmental Role Model === An environmental role model shows good behaviour that others can copy. A young environmental role model: * Does not litter. * Uses water carefully. * Reuses materials. * Protects trees and plants. * Keeps learning areas clean. * Encourages friends to care for the environment. === My Personal Action Plan === I will: * Put rubbish in the correct place. * Keep my classroom and home clean. * Save water. * Care for trees and plants. * Reuse materials when possible. * Encourage my friends to protect the environment. === Community Challenge === Identify one environmental problem in your community. Discuss it with your teacher, parents or community leaders. Work with others to find a simple and safe solution. Examples include: * Too much rubbish around the school. * Wasting water. * Damaged trees. * Dirty playgrounds. * Blocked drainage channels. == Expected Outcome == After reading this book, children should be able to: * Explain the meaning of a clean and healthy environment. * Identify different types of wastes. * Practise proper waste disposal. * Explain the importance of safe water. * Protect and care for trees and gardens. * Work together with others. * Take responsibility for their homes, schools and communities. = Conclusion = A clean and healthy environment is everyone's responsibility. Children can make a difference through simple actions such as putting rubbish in the right place, protecting water, planting trees and helping others. When we work together, we can make our homes, schools and communities cleaner, safer and healthier. '''Be responsible. Be helpful. Be a young community champion!''' = References = hbp2115ho1dxdyohsoiqwm3txjpjxx5 Art And AI 0 485449 4670068 4670013 2026-09-14T16:21:43Z 3MMPEYTON 3393808 4670068 wikitext text/x-wiki == Art And AI == <br> {| class="wikitable" |+ |- ! Art And AI |- |[[File:Dall-e 3 (jan '24) artificial intelligence icon.png|AI generated image of a human brain made out of circuits.]] |} <br> '''Art And AI''' is a post-modern response to <u>Feed Your Head: Art, Truth, And The Machine</u> written by Minda Peyton with assistance from Microsoft Copilot AI. '''Art And AI''' aims to fill in the blank spaces that linger in <u>Feed Your Head: Art, Truth, And The Machine.</u><br> This book aims to expand major concepts found in '''Feed Your Head: Art, Truth, And The Machine''' by researching many Artists, Art concepts, and Art movements found in the book. <br> This book will focus on the evolving tools that built great works of Art. <br> <br> This wikibook starts by asking: Is AI a cultural failure ''because'' the technology works? <br> <br> Part One <br>Introduction: [[Art And AI/The Post Modern Paradox|Art And AI/The Post Modern Paradox - Wikibooks, open books for an open world]] <br>[[Art_And_AI/The_Mythology_Of_The_Artist|The Mythology Of The Artist]] <br>[[Art_And_AI/The_Psychology_Of_Mastery|The Psychology Of Mastery]] Part Two:<br> [[Art_And_AI/Artist_Strike|Artist Strike?]] <br> [[Art_And_AI/Welcome_To_The_Machine|Welcome To The Machine]] <br> [[Art_And_AI/Documentary_Art|Documentary Art?]] Part Three: <br> [[Art_And_AI/The_Role_Of_The_Artist|The Role Of The Artist]] <br> [[Art_And_AI/Art_Theft|Art Theft]]<br> [[Art_And_AI/Earning_A_Living|Earning A Living]] <br> [[Art_And_AI/Tools_Of_The_Artist|Tools Of The Artist]] <br> [[Art_And_AI/Tools_Of_The_PostModern_Artist|Tools Of The PostModern Artist]] <br> [[Art_And_AI/Who_Joins_The_Strike|Who Joins The Strike?]] {| class="wikitable" |+ Art And AI |- ! Modernism: The Artist's New Tools |- | Palette knives |- | Print Making Machines |- | Photocopiers |- | Industrial house-painting brushes |- | Spray Paints |- | Airbrushes |- | Cameras |- | Collage Materials |- |} <br> {| class="wikitable" |+ |- ! Post-Modernism: The Artist's New Tools |- | Time-lapse Equipment |- | Computers |- | iPhones |- | Artificial Intelligence (AI) |- | AI driven Robots |- | Neural Networks |} <br> {| class="wikitable" |+ |- ! Era of AI: The Artist's New Tool |- | The Prompter |- |} <br> <br> {| class="wikitable" |+ |- ! Human-AI Interaction via. The Prompter |- | [[File:Copilot 20260908 083923.png|thumb|The Human-AI interaction via. The Prompter]] |} <br> <br> {{BookCat}} {{Shelf| Art History| Fine Art}} [[Category:Art - AI|Shelf: Art And AI]] [[Category:Modernism in Art]] [[Category:Post-Modern Art]] [[Category:Shelf: Fine Art]] [[Category:Shelf: Computer Art]] [[Category:Shelf: Art History]] 9z730bx9oik7ywqqw89cvbpluuoip6v 4670114 4670068 2026-09-15T00:27:47Z 3MMPEYTON 3393808 4670114 wikitext text/x-wiki == Art And AI == <br> {| class="wikitable" |+ |- ! Art And AI |- |[[File:Dall-e 3 (jan '24) artificial intelligence icon.png|AI generated image of a human brain made out of circuits.]] |} <br> '''Art And AI''' is a post-modern response to <u>Feed Your Head: Art, Truth, And The Machine</u> written by Minda Peyton with assistance from Microsoft Copilot AI. '''Art And AI''' aims to fill in the blank spaces that linger in <u>Feed Your Head: Art, Truth, And The Machine.</u><br> This book aims to expand major concepts found in '''Feed Your Head: Art, Truth, And The Machine''' by researching many Artists, Art concepts, and Art movements found in the book. <br> This book will focus on the evolving tools that built great works of Art. <br> <br> This wikibook starts by asking: Is AI a cultural failure ''because'' the technology works? <br> <br> Part One <br>Introduction: [[Art And AI/The Post Modern Paradox|Art And AI/The Post Modern Paradox - Wikibooks, open books for an open world]] <br>[[Art_And_AI/The_Mythology_Of_The_Artist|The Mythology Of The Artist]] <br>[[Art_And_AI/The_Psychology_Of_Mastery|The Psychology Of Mastery]] Part Two:<br> [[Art_And_AI/Artist_Strike|Artist Strike?]] <br> [[Art_And_AI/Welcome_To_The_Machine|Welcome To The Machine]] <br> [[Art_And_AI/Documentary_Art|Documentary Art?]] Part Three: <br> [[Art_And_AI/The_Role_Of_The_Artist|The Role Of The Artist]] <br> [[Art_And_AI/Art_Theft|Art Theft]]<br> [[Art_And_AI/Earning_A_Living|Earning A Living]] <br> [[Art_And_AI/Tools_Of_The_Artist|Tools Of The Artist]] <br> [[Art_And_AI/Tools_Of_The_PostModern_Artist|Tools Of The PostModern Artist]] <br> [[Art_And_AI/More_Tools_Of_The_PostModern_Artist|More Tools Of The PostModern Artist]] <br> [[Art_And_AI/Who_Joins_The_Strike|Who Joins The Strike?]] {| class="wikitable" |+ Art And AI |- ! Modernism: The Artist's New Tools |- | Palette knives |- | Print Making Machines |- | Photocopiers |- | Industrial house-painting brushes |- | Spray Paints |- | Airbrushes |- | Cameras |- | Collage Materials |- |} <br> {| class="wikitable" |+ |- ! Post-Modernism: The Artist's New Tools |- | Time-lapse Equipment |- | Computers |- | iPhones |- | Artificial Intelligence (AI) |- | AI driven Robots |- | Neural Networks |} <br> {| class="wikitable" |+ |- ! Era of AI: The Artist's New Tool |- | The Prompter |- |} <br> <br> {| class="wikitable" |+ |- ! Human-AI Interaction via. The Prompter |- | [[File:Copilot 20260908 083923.png|thumb|The Human-AI interaction via. The Prompter]] |} <br> <br> {{BookCat}} {{Shelf| Art History| Fine Art}} [[Category:Art - AI|Shelf: Art And AI]] [[Category:Modernism in Art]] [[Category:Post-Modern Art]] [[Category:Shelf: Fine Art]] [[Category:Shelf: Computer Art]] [[Category:Shelf: Art History]] 142f803g3i15puz96clnkzsmjiyw8t0 4670128 4670114 2026-09-15T03:38:53Z 3MMPEYTON 3393808 4670128 wikitext text/x-wiki == Art And AI == <br> {| class="wikitable" |+ |- ! Art And AI |- |[[File:Dall-e 3 (jan '24) artificial intelligence icon.png|AI generated image of a human brain made out of circuits.]] |} <br> '''Art And AI''' is a post-modern response to <u>Feed Your Head: Art, Truth, And The Machine</u> written by Minda Peyton with assistance from Microsoft Copilot AI. '''Art And AI''' aims to fill in the blank spaces that linger in <u>Feed Your Head: Art, Truth, And The Machine.</u><br> This book aims to expand major concepts found in '''Feed Your Head: Art, Truth, And The Machine''' by researching many Artists, Art concepts, and Art movements found in the book. <br> This book will focus on the evolving tools that built great works of Art. <br> <br> This wikibook starts by asking: Is AI a cultural failure ''because'' the technology works? <br> <br> Part One <br>Introduction: [[Art And AI/The Post Modern Paradox|Art And AI/The Post Modern Paradox - Wikibooks, open books for an open world]] <br>[[Art_And_AI/The_Mythology_Of_The_Artist|The Mythology Of The Artist]] <br>[[Art_And_AI/The_Psychology_Of_Mastery|The Psychology Of Mastery]] Part Two:<br> [[Art_And_AI/Artist_Strike|Artist Strike?]] <br> [[Art_And_AI/Welcome_To_The_Machine|Welcome To The Machine]] <br> [[Art_And_AI/Documentary_Art|Documentary Art?]] Part Three: <br> [[Art_And_AI/The_Role_Of_The_Artist|The Role Of The Artist]] <br> [[Art_And_AI/Art_Theft|Art Theft]]<br> [[Art_And_AI/Earning_A_Living|Earning A Living]] <br> [[Art_And_AI/Tools_Of_The_Artist|Tools Of The Artist]] <br> [[Art_And_AI/Tools_Of_The_PostModern_Artist|Tools Of The PostModern Artist]] <br> [[Art_And_AI/More_Tools_Of_The_PostModern_Artist|More Tools Of The PostModern Artist]] <br> [[Art_And_AI/Who_Joins_The_Strike|Who Joins The Strike?]] {| class="wikitable" |+ Art And AI |- ! Modernism: The Artist's New Tools |- | Palette knives |- | Print Making Machines |- | Photocopiers |- | Industrial house-painting brushes |- | Spray Paints |- | Airbrushes |- | Cameras |- | Collage Materials |- |} <br> {| class="wikitable" |+ |- ! Post-Modernism: The Artist's New Tools |- | Time-lapse Equipment |- | Computers |- | iPhones |- | Artificial Intelligence (AI) |- | AI driven Robots |- | Neural Networks |} <br> {| class="wikitable" |+ |- ! Era of AI: The Artist's New Tool |- | The Prompter |- |} <br> <br> {| class="wikitable" |+ |- ! Human-AI Interaction via. The Prompter |- | [[File:Textbox2.gif|thumb|Textbox widget animation]] |} <br> <br> {{BookCat}} {{Shelf| Art History| Fine Art}} [[Category:Art - AI|Shelf: Art And AI]] [[Category:Modernism in Art]] [[Category:Post-Modern Art]] [[Category:Shelf: Fine Art]] [[Category:Shelf: Computer Art]] [[Category:Shelf: Art History]] sillf23ru0lbxq2kc0e43rg4eh9odyg User:Ruth Bulyaba M/sandbox/A Simple Guide to Introduction to Artificial Intelligence 2 485477 4670052 4668221 2026-09-14T14:44:28Z Ruth Bulyaba M 3622518 /* 1. Book Overview */ CHANGED the structure 4670052 wikitext text/x-wiki = A Simple Guide to Artificial Intelligence = == 1. Book Overview == '''Title:''' ''A Simple Guide to Artificial Intelligence'' '''Subject:''' Introduction to Artificial Intelligence '''Book type:''' Beginner-level educational guide '''Target audience:''' Secondary-school students, teachers, university beginners, and general readers interested in understanding AI. = <small>2. Purpose of the Book</small> = The main purpose of ''A Simple Guide to Artificial Intelligence'' is to '''make artificial intelligence easy to understand for beginners'''. The book will introduce readers to the basic concepts, technologies, applications, benefits, limitations, and social implications of AI. It is not designed to train readers as AI engineers. Instead, it provides the foundation needed to understand conversations about AI and to continue learning about the subject. = <small>3. Book Summary</small> = The book teaches beginners what AI is, how it works, where it is used, what its benefits and limitations are, and how to use it responsibly. The book therefore focuses on '''simple explanations, practical examples, critical thinking, responsible use, and learning by doing''' rather than complicated mathematics or advanced programming. == <small>4</small>. <small>Structural Book Shell</small> == <big>'''Introduction:'''</big> Artificial intelligence is becoming part of everyday life, from smartphones and search engines to education, healthcare, agriculture, business, and entertainment. However, many people use AI without fully understanding how it works. This book provides a simple starting point for anyone who wants to understand AI. It introduces the basic concepts using clear language, familiar examples, and practical activities. The book does not require the reader to be a programmer or computer scientist. === <big>Chapters:</big> === === Chapter 1: What Is Artificial Intelligence? === Introduces AI, its meaning, common examples, and the difference between AI and ordinary computer programs. === Chapter 2: A Short History of AI === Provides a brief overview of how artificial intelligence developed from early ideas to modern AI systems. === Chapter 3: AI in Everyday Life === Explores examples of AI in smartphones, search engines, recommendations, navigation, translation, chatbots, and other everyday technologies. === Chapter 4: Data and Algorithms === Explains the basic role of data and algorithms in AI systems using simple examples. === Chapter 5: Machine Learning === Introduces how computers can learn patterns from data and make predictions or classifications. === Chapter 6: Neural Networks and Deep Learning === Provides a beginner-friendly explanation of neural networks and why deep learning is important. === Chapter 7: Language, Images and Generative AI === Introduces natural language processing, computer vision, and generative AI, including systems that create text, images, audio, or code. '''<big>Chapter 8: Benefits and Limitations of AI</big>''' Explains what AI can do well and where it can make mistakes or produce unreliable results. === Chapter 9: AI, Ethics and Society === Discusses bias, privacy, security, misinformation, employment, fairness, and human responsibility. === Chapter 10: Using AI Responsibly === Provides practical guidance on checking AI-generated information, protecting personal data, maintaining academic honesty, and using AI appropriately. === Chapter 11: Learning Through Simple AI Activities === Provides simple exercises and beginner projects that allow readers to apply the concepts introduced in the book. == <big>Conclusion</big> == ''A Simple Guide to Artificial Intelligence'' will provide readers with a basic understanding of AI and its growing role in society. By the end of the book, readers should be able to explain what AI is, describe how basic AI systems work, identify common applications, recognize important limitations and risks, and use AI more thoughtfully and responsibly. == <big>References</big> == The book should use reliable and educational sources, including: fuwq39590w29icvqu6hqhiabgh9yvld 4670056 4670052 2026-09-14T15:05:54Z Ruth Bulyaba M 3622518 /* 4. Structural Book Shell */ added content to make a full book 4670056 wikitext text/x-wiki = A Simple Guide to Artificial Intelligence = == 1. Book Overview == '''Title:''' ''A Simple Guide to Artificial Intelligence'' '''Subject:''' Introduction to Artificial Intelligence '''Book type:''' Beginner-level educational guide '''Target audience:''' Secondary-school students, teachers, university beginners, and general readers interested in understanding AI. = <small>2. Purpose of the Book</small> = The main purpose of ''A Simple Guide to Artificial Intelligence'' is to '''make artificial intelligence easy to understand for beginners'''. The book will introduce readers to the basic concepts, technologies, applications, benefits, limitations, and social implications of AI. It is not designed to train readers as AI engineers. Instead, it provides the foundation needed to understand conversations about AI and to continue learning about the subject. = <small>3. Book Summary</small> = The book teaches beginners what AI is, how it works, where it is used, what its benefits and limitations are, and how to use it responsibly. The book therefore focuses on '''simple explanations, practical examples, critical thinking, responsible use, and learning by doing''' rather than complicated mathematics or advanced programming. == <small>4</small>. <small>Structural Book Shell</small> == <big>'''Introduction:'''</big> Artificial intelligence is becoming part of everyday life, from smartphones and search engines to education, healthcare, agriculture, business, and entertainment. However, many people use AI without fully understanding how it works. This book provides a simple starting point for anyone who wants to understand AI. It introduces the basic concepts using clear language, familiar examples, and practical activities. The book does not require the reader to be a programmer or computer scientist. === <big>Chapters:</big> === === Chapter 1: What Is Artificial Intelligence? === Introduces AI, its meaning, common examples, and the difference between AI and ordinary computer programs. === Chapter 2: A Short History of AI === Provides a brief overview of how artificial intelligence developed from early ideas to modern AI systems. === Chapter 3: AI in Everyday Life === Explores examples of AI in smartphones, search engines, recommendations, navigation, translation, chatbots, and other everyday technologies. === Chapter 4: Data and Algorithms === Explains the basic role of data and algorithms in AI systems using simple examples. === Chapter 5: Machine Learning === Introduces how computers can learn patterns from data and make predictions or classifications. === Chapter 6: Neural Networks and Deep Learning === Provides a beginner-friendly explanation of neural networks and why deep learning is important. === Chapter 7: Language, Images and Generative AI === Introduces natural language processing, computer vision, and generative AI, including systems that create text, images, audio, or code. '''<big>Chapter 8: Benefits and Limitations of AI</big>''' Explains what AI can do well and where it can make mistakes or produce unreliable results. === Chapter 9: AI, Ethics and Society === Discusses bias, privacy, security, misinformation, employment, fairness, and human responsibility. === Chapter 10: Using AI Responsibly === Provides practical guidance on checking AI-generated information, protecting personal data, maintaining academic honesty, and using AI appropriately. === Chapter 11: Learning Through Simple AI Activities === Provides simple exercises and beginner projects that allow readers to apply the concepts introduced in the book. == <big>Conclusion</big> == ''A Simple Guide to Artificial Intelligence'' will provide readers with a basic understanding of AI and its growing role in society. By the end of the book, readers should be able to explain what AI is, describe how basic AI systems work, identify common applications, recognize important limitations and risks, and use AI more thoughtfully and responsibly. == <big>References</big> == The book should use reliable and educational sources, including: == Chapter 1: == == What Is Artificial Intelligence? == Artificial Intelligence, or '''AI''', is technology that allows computers to perform tasks that normally require human intelligence. AI can help computers recognise pictures, understand language, answer questions, make suggestions and solve problems. Examples of AI include voice assistants, chatbots, face recognition and smart search engines. Ordinary computer programs usually follow instructions written by people. AI systems can also learn patterns from data and use them to make predictions or decisions. == Chapter 2: == == A Short History of AI == The idea of intelligent machines has existed for many years. Scientists began developing computer systems that could solve problems and perform simple intelligent tasks. Over time, computers became faster and more powerful. Researchers developed machine learning, neural networks and other methods that improved AI. Today, AI is used in education, health, business, transport, communication and many other areas. == Chapter 3: == == AI in Everyday Life == Many people use AI without noticing it. Examples include: * Voice assistants on phones. * Search engines that find information. * Video and music recommendations. * Maps that suggest routes. * Translation tools. * Chatbots that answer questions. * Face and fingerprint recognition. * Email spam filters. * AI helps people save time and complete tasks more easily. == Chapter 4: == == Data and Algorithms == '''Data''' is information collected for use by a computer. It may include numbers, words, pictures, sounds or videos. An '''algorithm''' is a set of steps used to solve a problem or complete a task. AI systems use data and algorithms to identify patterns and produce results. For example, a system may study many pictures of cats and dogs to learn how to tell them apart. The quality of the data can affect the quality of the AI's results. == Chapter 5: == == Machine Learning == Machine learning is a type of AI in which computers learn patterns from data instead of receiving instructions for every possible situation. For example, a computer can study many examples of emails to learn which messages may be spam. Machine learning can be used to: * Recognise objects. * Predict weather or prices. * Recommend content. * Identify spam. * Classify information == Chapter 6: == == Neural Networks and Deep Learning == A neural network is an AI system inspired by the way connected nerve cells work in the human brain. It contains connected parts that process information and identify patterns. '''Deep learning''' uses neural networks with many layers. It is useful for tasks such as speech recognition, image recognition, language processing and self-driving technology. == Chapter 7: == == Language, Images and Generative AI == AI can work with different types of information. * '''Natural Language Processing:''' Helps computers understand and produce human language. * '''Computer Vision:''' Helps computers identify and understand images and videos. * '''Generative AI:''' Creates new content such as text, pictures, music, audio and computer code. Generative AI can be useful for learning and creativity, but its results should always be checked for accuracy. == Chapter 8: == == Benefits and Limitations of AI == === Benefits of AI === AI can: * Save time. * Support learning. * Help doctors analyse information. * Improve communication. * Assist people with disabilities. * Help businesses and organisations work efficiently. === Limitations of AI === AI can: * Make mistakes. * Give incorrect information. * Show bias. * Misunderstand questions. * Depend on poor-quality data. * Produce results that need human checking. AI is a helpful tool, but it does not always understand information like a human being. == Chapter 9: == == AI, Ethics and Society == AI affects individuals and communities. Its use should be guided by fairness, safety and responsibility. Important concerns include: * '''Bias:''' AI may treat some people unfairly because of biased data. * '''Privacy:''' Personal information may be collected or misused. * '''Security:''' AI systems can be attacked or used in harmful ways. * '''Misinformation:''' AI can create false or misleading content. * '''Employment:''' Some jobs may change as technology develops. * '''Human responsibility:''' People must remain responsible for important decisions. == Chapter 10: == == Using AI Responsibly == People should use AI carefully and responsibly. Good practices include: * Check information from trusted sources. * Do not share private information. * Avoid copying AI answers without understanding them. * Follow school and workplace rules. * Give credit to sources. * Use AI to support learning, not to replace personal effort. * Ask a teacher or trusted adult when unsure. * AI should be used honestly, safely and respectfully. == Chapter 11: == == Learning Through Simple AI Activities == Learners can understand AI better through simple activities, such as: # Identify AI tools used at home or school. # Sort examples into AI and non-AI technologies. # Create a simple set of instructions for solving a problem. # Collect safe data, such as favourite fruits, and organise it in a table. # Discuss how a recommendation system works. # Compare an AI-generated answer with information from a trusted book. # Design a poster about responsible AI use. These activities help learners connect AI concepts to everyday life. == Conclusion == Artificial Intelligence is a technology that helps computers perform tasks that require human-like intelligence. It is used in many areas, including education, communication, health and business. AI can be helpful, but it can also make mistakes and create risks. People should therefore check information, protect personal data and use AI responsibly. Understanding AI helps us become informed, careful and responsible users of technology. == References == * * ajpt1ne4alr1xxrpqqbxfuplwgl089u Art And AI/The Psychology Of Mastery 0 485479 4670144 4669246 2026-09-15T07:18:14Z 3MMPEYTON 3393808 4670144 wikitext text/x-wiki == The Psychology of Mastery == <br> Psychology is the Science that studies the human mind and human behavior. <br> <br> During the era of Modernism, many Artists turned their focus away from reflecting the real world around them, towards reflecting their inner states: their emotions, dreams and inner visions. <br> <br> Traditional Masters' of Art spent lifetimes gathering skills needed to master Art techniques. Masters of Modern Art spent time reflecting their inner states. Perhaps they were Artist who had mastered Psychology. <br> <br> === From Individual Mastery To Collective Imagination === <br> === Modernism says: === <br> '''- Mastery is noble:''' <br> Modern Art masters are influential painters and sculptors who broke away from traditional forms, influencing Art in the late 19th and 20th centuries. <br> <br> Modern Art masters include Pablo Picasso, Henri Matisse, Wassily Kandinsky, Joan Miro, and Marc Chagall. <br> <br> '''- Technique is identity:''' <br> Many Artist built their entire artistic identity around a unique, signature technique that defined their work and made them instantly recognized. <br> <br> Jackson Pollock used the drip painting technique. George Seurat invented Pointillism, and Roy Lichtenstein based his Pop Art identity on Ben-Day dots. <br> <br> '''- The Artist is a hero:''' <br> Paul Cezanne is an example of a modernist hero as is Vincent Van Gogh. <br> <br> Paul Cezanne is viewed as a lonely genius who waged a heroic battle against state-controlled Art academies, laying the foundation for modern abstraction. <br> <br> Although Vincent Van Gogh pre-dated Modernism, he is seen as the ultimate archetype of the hero. His tragic, solitary life, and his expressive brushwork heavily inspired the avant-garde movements that followed. <br> <br> === Post-Modernism says: === '''- Meaning is fluid:''' <br> Cindy Sherman is an Artist famous for her Untitled Film Stills series. Sherman photographs herself staging cliched female personas from 1950s and 60s cinema. Because she never captures a authentic self, her identity becomes entirely fluid, performable, and fragmented. By allowing the viewers to project their own cultural assumptions and cultural background about who Cindy is, the Artist proves that meaning and identity are constructs. <br> <br> '''- Authorship is shared:''' <br> Post-Modern Artists who share or challenge traditional authorship have collaborated, forming creative duos, or have appropriated Art in their attempt to question individual creative ownership. <br> Famous collaborative duos include Andy Warhol and Jean-Michel Basquiat. They produced over 160 joint works in 1980s New York. <br> Sherrie Levine, a famous appropriation Artist, has re-photographed and exhibited famous works by photographers like Walker Evans. Levine argued that authorship was defined by use rather than original creation. <br> <br> '''- The Artist is a node in a network:''' <br> The idea that the Artist is a node in a network was coined by Nicolas Bourriaud in the late 1990s. This shifts away from the idea of the Artist as a lone, heroic genius. <br> Instead, the Artist is seen as a social conduit connecting information, communities, and digital infrastructures. <br> <br> === AI says: === <br> '''- The network is the Artist:''' Some people argue that typing in the prompt to generate an image is like commissioning a human painter. The prompt provides the idea, but the system executes the work. <br> <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Artist_Strike <br> <br> Link: [[Art And AI/Art Theft|Art And AI/Art Theft - Wikibooks, open books for an open world]] <br> '''<code><nowiki>{{</nowiki>[[Template:BookCat|BookCat]]<nowiki>}}</nowiki></code>''' {{BookCat}} opx6h1v4obi5zww9p83yypwubog5k48 4670145 4670144 2026-09-15T07:19:56Z 3MMPEYTON 3393808 4670145 wikitext text/x-wiki == The Psychology of Mastery == <br> Psychology is the Science that studies the human mind and human behavior. <br> <br> During the era of Modernism, many Artists turned their focus away from reflecting the real world around them, towards reflecting their inner states: their emotions, dreams and inner visions. <br> <br> Traditional Masters' of Art spent lifetimes gathering skills needed to master Art techniques. Masters of Modern Art spent time reflecting their inner states. Perhaps they were Artist who had mastered Psychology. <br> <br> === From Individual Mastery To Collective Imagination === === Modernism says: === '''- Mastery is noble:''' <br> Modern Art masters are influential painters and sculptors who broke away from traditional forms, influencing Art in the late 19th and 20th centuries. <br> <br> Modern Art masters include Pablo Picasso, Henri Matisse, Wassily Kandinsky, Joan Miro, and Marc Chagall. <br> <br> '''- Technique is identity:''' <br> Many Artist built their entire artistic identity around a unique, signature technique that defined their work and made them instantly recognized. <br> <br> Jackson Pollock used the drip painting technique. George Seurat invented Pointillism, and Roy Lichtenstein based his Pop Art identity on Ben-Day dots. <br> <br> '''- The Artist is a hero:''' <br> Paul Cezanne is an example of a modernist hero as is Vincent Van Gogh. <br> <br> Paul Cezanne is viewed as a lonely genius who waged a heroic battle against state-controlled Art academies, laying the foundation for modern abstraction. <br> <br> Although Vincent Van Gogh pre-dated Modernism, he is seen as the ultimate archetype of the hero. His tragic, solitary life, and his expressive brushwork heavily inspired the avant-garde movements that followed. <br> <br> === Post-Modernism says: === '''- Meaning is fluid:''' <br> Cindy Sherman is an Artist famous for her Untitled Film Stills series. Sherman photographs herself staging cliched female personas from 1950s and 60s cinema. Because she never captures a authentic self, her identity becomes entirely fluid, performable, and fragmented. By allowing the viewers to project their own cultural assumptions and cultural background about who Cindy is, the Artist proves that meaning and identity are constructs. <br> <br> '''- Authorship is shared:''' <br> Post-Modern Artists who share or challenge traditional authorship have collaborated, forming creative duos, or have appropriated Art in their attempt to question individual creative ownership. <br> Famous collaborative duos include Andy Warhol and Jean-Michel Basquiat. They produced over 160 joint works in 1980s New York. <br> Sherrie Levine, a famous appropriation Artist, has re-photographed and exhibited famous works by photographers like Walker Evans. Levine argued that authorship was defined by use rather than original creation. <br> <br> '''- The Artist is a node in a network:''' <br> The idea that the Artist is a node in a network was coined by Nicolas Bourriaud in the late 1990s. This shifts away from the idea of the Artist as a lone, heroic genius. <br> Instead, the Artist is seen as a social conduit connecting information, communities, and digital infrastructures. <br> <br> === AI says: === <br> '''- The network is the Artist:''' Some people argue that typing in the prompt to generate an image is like commissioning a human painter. The prompt provides the idea, but the system executes the work. <br> <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Artist_Strike <br> <br> Link: [[Art And AI/Art Theft|Art And AI/Art Theft - Wikibooks, open books for an open world]] <br> '''<code><nowiki>{{</nowiki>[[Template:BookCat|BookCat]]<nowiki>}}</nowiki></code>''' {{BookCat}} corl9rfnurxwd8sgl7u46yo3xbgssg2 4670146 4670145 2026-09-15T07:21:39Z 3MMPEYTON 3393808 /* AI says: */ 4670146 wikitext text/x-wiki == The Psychology of Mastery == <br> Psychology is the Science that studies the human mind and human behavior. <br> <br> During the era of Modernism, many Artists turned their focus away from reflecting the real world around them, towards reflecting their inner states: their emotions, dreams and inner visions. <br> <br> Traditional Masters' of Art spent lifetimes gathering skills needed to master Art techniques. Masters of Modern Art spent time reflecting their inner states. Perhaps they were Artist who had mastered Psychology. <br> <br> === From Individual Mastery To Collective Imagination === === Modernism says: === '''- Mastery is noble:''' <br> Modern Art masters are influential painters and sculptors who broke away from traditional forms, influencing Art in the late 19th and 20th centuries. <br> <br> Modern Art masters include Pablo Picasso, Henri Matisse, Wassily Kandinsky, Joan Miro, and Marc Chagall. <br> <br> '''- Technique is identity:''' <br> Many Artist built their entire artistic identity around a unique, signature technique that defined their work and made them instantly recognized. <br> <br> Jackson Pollock used the drip painting technique. George Seurat invented Pointillism, and Roy Lichtenstein based his Pop Art identity on Ben-Day dots. <br> <br> '''- The Artist is a hero:''' <br> Paul Cezanne is an example of a modernist hero as is Vincent Van Gogh. <br> <br> Paul Cezanne is viewed as a lonely genius who waged a heroic battle against state-controlled Art academies, laying the foundation for modern abstraction. <br> <br> Although Vincent Van Gogh pre-dated Modernism, he is seen as the ultimate archetype of the hero. His tragic, solitary life, and his expressive brushwork heavily inspired the avant-garde movements that followed. <br> <br> === Post-Modernism says: === '''- Meaning is fluid:''' <br> Cindy Sherman is an Artist famous for her Untitled Film Stills series. Sherman photographs herself staging cliched female personas from 1950s and 60s cinema. Because she never captures a authentic self, her identity becomes entirely fluid, performable, and fragmented. By allowing the viewers to project their own cultural assumptions and cultural background about who Cindy is, the Artist proves that meaning and identity are constructs. <br> <br> '''- Authorship is shared:''' <br> Post-Modern Artists who share or challenge traditional authorship have collaborated, forming creative duos, or have appropriated Art in their attempt to question individual creative ownership. <br> Famous collaborative duos include Andy Warhol and Jean-Michel Basquiat. They produced over 160 joint works in 1980s New York. <br> Sherrie Levine, a famous appropriation Artist, has re-photographed and exhibited famous works by photographers like Walker Evans. Levine argued that authorship was defined by use rather than original creation. <br> <br> '''- The Artist is a node in a network:''' <br> The idea that the Artist is a node in a network was coined by Nicolas Bourriaud in the late 1990s. This shifts away from the idea of the Artist as a lone, heroic genius. <br> Instead, the Artist is seen as a social conduit connecting information, communities, and digital infrastructures. <br> <br> === AI says: === '''- The network is the Artist:''' Some people argue that typing in the prompt to generate an image is like commissioning a human painter. The prompt provides the idea, but the system executes the work. <br> <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Artist_Strike <br> <br> Link: [[Art And AI/Art Theft|Art And AI/Art Theft - Wikibooks, open books for an open world]] <br> '''<code><nowiki>{{</nowiki>[[Template:BookCat|BookCat]]<nowiki>}}</nowiki></code>''' {{BookCat}} ropfjmwciisip771dx62qbd7pt81qh7 Art And AI/Documentary Art 0 485498 4670147 4669040 2026-09-15T07:29:20Z 3MMPEYTON 3393808 4670147 wikitext text/x-wiki == Documentary Art? == <br> '''Were Modernist the first people to embraced technology, and new psychological insights, to document their culture's decline?''' <br> {| class="wikitable" |+ |- ! Modern Art |- | [[File:Edvard Munch - The Scream - Google Art Project.jpg|thumb|Edvard Munch, The Scream, 1910.]] |} <br> {| class="wikitable" |+ |- ! Documentary Art |- | [[File:Going to Work - L S Lowry.jpg|thumb|Going to Work - L S Lowry]] |} <br> <br> {| class="wikitable" |+ |- ! Photography |- | [[File:Alfred Stieglitz - The Hand of Man - Google Art Project (color corrected).jpg|thumb|Alfred Stieglitz - The Hand of Man - Google Art Project (color corrected)]] |} <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/The_Role_Of_The_Artist <br> <br> {{BookCat}} 4928l01xduf6z72tya68e82cjpchw7m Maxima/Programming 0 485506 4670049 4669985 2026-09-14T14:20:20Z Idavidmiller 3577687 Work in progress. Saving Changes. 4670049 wikitext text/x-wiki =Maxima Programming= Although Maxima is not a general-purpose programming language, Maxima as a CAS includes among the built-in ingredients a relatively complete set of programming expressions that are useful for the intended context. Many of the code examples of this section are intended to be illustrative of technical details relevant to Maxima programming as their purpose, and consequently are intentionally elementary in character. Learning any sort of programming language, including Maxima programming expressions, is a subjective process. In any case, it is essential to have enough technical know-how specific to the programming language in order to begin the learning process, even in cases where much positive transfer from other programming experience is involved. Much can be accomplished mathematically using Maxima without having to resort to in-depth knowledge and proficiency in the technical details of Maxima programming expressions. However, Maxima programming expressions are frequently essential for the purpose of defining functions, both in the programming sense of the term, but also more relevantly, to the mathematical sense. For that reason alone, familiarity and sufficient proficiency with Maxima programming expressions should be given some attention. One way to begin the learning process is to become familiar with enough of the programming essentials to accomplish independent efforts toward accomplishing some specific programming goal of interest. The other way is to study the many available programming expressions of others. This section is intended to provide the essentials toward learning by whatever means is chosen. The following table shows some built-in ingredients related to Maxima programming expressions: {| class="wikitable" |+Maxima Programming Category |if |unless |errcatch |prederror |- |block |for |error |return |- |catch |from |warning |throw |- |local |thru |errormsg |sstatus |- |garbage_collect |step |errormsg |status |- |do |next |go | |- |while |in | | |} Some of these programming expression ingredients can also be considered as belonging to one or more other categories than the Programming category. === Block Expressions === Arguably, the first expressions to consider in the context of Maxima programming are '''''block''''' expressions. Block expressions as programming ingredients come in two flavors: * <code>( expr<sub>1</sub>, expr<sub>2</sub>,…, expr<sub>n</sub> )</code> * <code>block ([v<sub>1</sub>,v<sub>2,</sub>…,v<sub>m</sub>], expr<sub>1</sub>, expr<sub>2</sub>,…, expr<sub>n</sub>)</code> The first form of a block expression is equivalent to the second form, but without the first list argument: <code>[v<sub>1</sub>,v<sub>2,</sub>…,v<sub>m</sub>]</code>, as in <code>block (expr<sub>1</sub>, expr<sub>2</sub>,…, expr<sub>n</sub></code>, unless <code>return</code> or <code>go</code> are used in the block expression. In that, case the form <code>block (expr<sub>1</sub>, expr<sub>2</sub>,…, expr<sub>n</sub>)</code> must be used. The purpose of the list argument, <code>[v<sub>1</sub>,v<sub>2,</sub>…,v<sub>m</sub>]</code> is to declare the values of identifiers of the list to be local to the <code>block</code>. If there is no need for local identifiers, the list argument can be omitted, unless <code>return</code> or <code>go</code> are used in the <code>block</code> expression, and either form is sufficient.<syntaxhighlight lang="maxima">/* This block expression */ (%i1) (x : 2, x^2); (%o1) 4 /* Is equivalent to this block expression */ (%i2) block (x : 2, x^2); (%o2) 4</syntaxhighlight>So, in the case where values of identifiers local to the <code>block</code> of expressions are not required, then the choice of either form of the <code>block</code> expression is a matter of user preference, . In both cases, the values of identifiers referenced in the <code>block</code> are global, and not local to the <code>block</code>.<syntaxhighlight lang="maxima"> /* The value 3 assigned to x is global */ (%i3) x : 3; (x) 3 /* The value 2 assigned to x in the block is global */ (%i4) (x : 2, x^2); (%o4) 4 /* The global value assigned to x in the block is 2 not 3 */ (%i5) x; (%o5) 2 </syntaxhighlight>Values of identifiers local to the <code>block</code> may not be global:<syntaxhighlight lang="maxima">/* the value of identifier y is local only */ (%i6) block ([y], y : 4, y); (%o6) 4 /* the global value of identifier y is not 4, but is itself */ (%i7) y; (%o7) y /* the values of identifiers x and y are both local */ (%i8) block ([x,y], x : 3, y : 4, x); (%o8) 3 /* the global value of identifier x is not 3, but is 2 */ (%i9) x; (%o9) 2 /* the global value of identifier y is not 4, but is itself */ (%i10) y; (%o10) y</syntaxhighlight> Regardless of the form of the <code>block</code> expressions these have in common the comma-separated expression arguments <code>expr<sub>1</sub>, expr<sub>2</sub>,…, expr<sub>n</sub></code> which are evaluated each in turn from first to last (unless the evaluation sequence is modified by by the <code>go</code>, <code>throw</code>, or <code>return</code> operators), and the value of the block expression is the value of <code>expr<sub>n</sub></code>. The main purpose of the <code>block</code> expression, regardless of the form, it to group expressions that are related in some manner, and the value of the last expression may be the only value of interest. However, there are very few limitations imposed on the nature of the <code>block</code> expression arguments, so it might be the case that the purpose of evaluating the <code>block</code> expression has been achieved before the last expression argument is evaluated, in which case the value of the <code>block</code> expression may not necessarily be the value of the last argument expression. One way to accomplish that is to use an empty string as the last argument expression with the option flag <code>stringdisp</code>set to <code>false</code> which is the default value.<syntaxhighlight lang="maxima"> (%i11) stringdisp; (%o11) false (%i12) block ([x,y], x : 3, y : 4, x, ""); (%o12) (%i13) block ([x,y], x : 3, y : 4, x)$ </syntaxhighlight> The display of the value of the <code>block</code> expression may be suppressed using a <code>$</code> to end the input expression instead of a semi-colon. Either technique produces a <code>block</code> expression value, but the value is not displayed. If a <code>return</code> operator is evaluated as a argument expression, this will cause evaluation of expression arguments to end explicitly, and the value of the <code>return</code> operator becomes the value of the <code>block</code> expression.<syntaxhighlight lang="maxima"> (%i14) is (equal (x,2)); (%o14) true %i15) block (if is (equal (x,2)) then return (x), " x not 2"); (%o15) 2 (%i16) x : 3; (x) 3 (%i17) block (if is (equal (x,2)) then return (x), "x not 2"); (%o17) x not 2 </syntaxhighlight>One way to modify the first-to-last evaluation sequence of a bock expression is by way of a go operator with a label argument ( "a go to loop") as the following exemplifies:<syntaxhighlight lang="maxima"> (%i18) sum_to_n (n) := block ( [i : 1, total : 0], loop, total : total + i, i : i + 1, if i <= n then go (loop), total)$ (%i19) sum_to_n(25); (%o19) 325 (%i20) n; (%o20) n (%i21) i; (%o21) i (%i22) total; (%o22) total </syntaxhighlight>Note the following: * <code>block ([ i : 1,total : 0], ...)</code>: The list argument creates a local environment with local identifiers <code>i</code> and <code>total</code>. The function argument <code>n</code> is also a local identifier * <code>loop</code>: This label serves as a target inside the <code>block</code> expression to where <code>go (loop)</code> can jump. * <code>if i <= n then go (loop)</code>: This conditional expression causes the go (loop) operator to be evaluated if the condition is <code>true</code>. * <code>total</code>: This local identifier is the returned value of the block. It should also be worth noting that the identifiers <code>n</code>, <code>i</code>, and <code>total</code> have local values assigned within the block, but their global values are themselves. Also notice that the identifiers <code>i</code> and <code>total</code> were both declared local and assigned initial values within the <code>block</code> list argument. The argument to go must be the name of a tag appearing within the block. One cannot use go to transfer to a tag in a block other than the one containing the go. ==== Nested Block Expressions ==== A block operator may appear within another block. Local variables are established each time a new block is evaluated. Local variables appear to be global to any enclosed blocks. If a variable is non-local in a block, its value is the value most recently assigned by an enclosing block, if any, otherwise, it is the value of the variable in the global environment. The declaration local (v<sub>1</sub>, v<sub>2</sub>, ... , v<sub>m</sub>) within block saves the properties associated with the symbols v<sub>1</sub>, v<sub>2</sub>, ... , v<sub>m</sub>, removes any properties before evaluating other expressions, and restores any saved properties on exit from the block. Some declarations are implemented as properties of a symbol, including :=, array, dependencies, atvalue, matchdeclare, atomgrad, constant, nonscalar, assume, and some others. The effect of local is to make such declarations effective only within the block; otherwise declarations within a block are actually global declarations. Because Maxima is built on top of Common Lisp, it leverages Lisp's symbol structure. Each symbol is an object that carries its own hidden "dictionary" of attributes. When you use operators or functions like <code>:=</code> or <code>assume</code>, Maxima modifies that symbol's unique checklist rather than creating a standalone variable. Here is how each of those specific declarations is implemented as a property under the hood: # Functions and Arrays * '''<code>:=</code> (Function Definition):''' When you define a function using <code>f(x) := x^2</code>, the actual expression (<code>x^2</code>) and its argument list (<code>x</code>) are stored as a property of the symbol <code>f</code>. * '''<code>array</code>:''' When you declare or use a subscripted array (like <code>a[i]</code>), the array type, dimensions, and memory pointer are attached as a property to the symbol <code>a</code>. This differentiates it from a standard scalar variable. # Calculus and Dependencies * '''<code>dependencies</code>:''' If you declare <code>depends(y, x)</code>, Maxima attaches a dependency list property to <code>y</code> noting that it functionally depends on <code>x</code>. This tells the <code>diff</code> (differentiation) engine not to treat <code>y</code> as a constant relative to <code>x</code>. * '''<code>atvalue</code>:''' When you define a specific value for an expression at a boundary point (e.g., <code>atvalue(y, x=0, 1)</code>), this boundary constraint is stored as an evaluation property on the symbol <code>y</code>. * '''<code>atomgrad</code>:''' This assigns a specific gradient or derivative to an atomic variable (e.g., telling Maxima what (df/dx) is explicitly). Maxima saves this rule as a gradient property on that symbol. # Pattern Matching and Rules * '''<code>matchdeclare</code>:''' Used in Maxima's pattern-matching system (like <code>tellsimp</code>). When you type <code>matchdeclare(x, freeof(a))</code>, Maxima attaches a predicate property to <code>x</code>. When a pattern rule runs, Maxima looks at <code>x</code>'s property list to see what conditions a matching expression must meet. # Mathematical and Evaluation Attributes * '''<code>constant</code>:''' Declaring <code>declare(c, constant)</code> places a "constant" flag on <code>c</code>'s property list. Core routines (like integration and differentiation) check this flag to know they can pull <code>c</code> out of integrals or differentiate it to zero. * '''<code>nonscalar</code>:''' Tells Maxima to treat a symbol as a matrix or vector rather than a regular number. This property changes how operators like <code>.</code> (non-commutative multiplication) treat the symbol. * '''<code>assume</code>:''' When you state <code>assume(x > 0)</code>, Maxima's database system (<code>context</code>) assigns facts and properties (like <code>pos</code> or <code>nonnegative</code>) to the symbol <code>x</code>, allowing the simplifier to safely reduce expressions like <code>sqrt(x^2)</code> to <code>x</code>. === Functions === === Lisp and Maxima === {{BookCat}} owi7hvg8394ubtqctvjfltm17fmlw45 4670127 4670049 2026-09-15T03:37:43Z Idavidmiller 3577687 Work in progress. Saving Changes. 4670127 wikitext text/x-wiki =Maxima Programming= Although Maxima is not a general-purpose programming language, Maxima as a CAS includes among the built-in ingredients a relatively complete set of programming expressions that are useful for the intended context. Many of the code examples of this section are intended to be illustrative of technical details relevant to Maxima programming as their purpose, and consequently are intentionally elementary in character. Learning any sort of programming language, including Maxima programming expressions, is a subjective process. In any case, it is essential to have enough technical know-how specific to the programming language in order to begin the learning process, even in cases where much positive transfer from other programming experience is involved. Much can be accomplished mathematically using Maxima without having to resort to in-depth knowledge and proficiency in the technical details of Maxima programming expressions. However, Maxima programming expressions are frequently essential for the purpose of defining functions, both in the programming sense of the term, but also more relevantly, to the mathematical sense. For that reason alone, familiarity and sufficient proficiency with Maxima programming expressions should be given some attention. One way to begin the learning process is to become familiar with enough of the programming essentials to accomplish independent efforts toward accomplishing some specific programming goal of interest. The other way is to study the many available programming expressions of others. This section is intended to provide the essentials toward learning by whatever means is chosen. The following table shows some built-in ingredients related to Maxima programming expressions: {| class="wikitable" |+Maxima Programming Category |if |unless |errcatch |prederror |- |block |for |error |return |- |catch |from |warning |throw |- |local |thru |errormsg |sstatus |- |garbage_collect |step |errormsg |status |- |do |next |go | |- |while |in | | |} Some of these programming expression ingredients can also be considered as belonging to one or more other categories than the Programming category. === Block Expressions === Arguably, the first expressions to consider in the context of Maxima programming are '''''block''''' expressions. Block expressions as programming ingredients come in two flavors: * <code>( expr<sub>1</sub>, expr<sub>2</sub>,…, expr<sub>n</sub> )</code> * <code>block ([v<sub>1</sub>,v<sub>2,</sub>…,v<sub>m</sub>], expr<sub>1</sub>, expr<sub>2</sub>,…, expr<sub>n</sub>)</code> The first form of a block expression is equivalent to the second form, but without the first list argument: <code>[v<sub>1</sub>,v<sub>2,</sub>…,v<sub>m</sub>]</code>, as in <code>block (expr<sub>1</sub>, expr<sub>2</sub>,…, expr<sub>n</sub></code>, unless <code>return</code> or <code>go</code> are used in the block expression. In that, case the form <code>block (expr<sub>1</sub>, expr<sub>2</sub>,…, expr<sub>n</sub>)</code> must be used. The purpose of the list argument, <code>[v<sub>1</sub>,v<sub>2,</sub>…,v<sub>m</sub>]</code> is to declare the values of identifiers of the list to be local to the <code>block</code>. If there is no need for local identifiers, the list argument can be omitted, unless <code>return</code> or <code>go</code> are used in the <code>block</code> expression, and either form is sufficient.<syntaxhighlight lang="maxima">/* This block expression */ (%i1) (x : 2, x^2); (%o1) 4 /* Is equivalent to this block expression */ (%i2) block (x : 2, x^2); (%o2) 4</syntaxhighlight>So, in the case where values of identifiers local to the <code>block</code> of expressions are not required, then the choice of either form of the <code>block</code> expression is a matter of user preference, . In both cases, the values of identifiers referenced in the <code>block</code> are global, and not local to the <code>block</code>.<syntaxhighlight lang="maxima"> /* The value 3 assigned to x is global */ (%i3) x : 3; (x) 3 /* The value 2 assigned to x in the block is global */ (%i4) (x : 2, x^2); (%o4) 4 /* The global value assigned to x in the block is 2 not 3 */ (%i5) x; (%o5) 2 </syntaxhighlight>Values of identifiers local to the <code>block</code> may not be global:<syntaxhighlight lang="maxima">/* the value of identifier y is local only */ (%i6) block ([y], y : 4, y); (%o6) 4 /* the global value of identifier y is not 4, but is itself */ (%i7) y; (%o7) y /* the values of identifiers x and y are both local */ (%i8) block ([x,y], x : 3, y : 4, x); (%o8) 3 /* the global value of identifier x is not 3, but is 2 */ (%i9) x; (%o9) 2 /* the global value of identifier y is not 4, but is itself */ (%i10) y; (%o10) y</syntaxhighlight> Regardless of the form of the <code>block</code> expressions these have in common the comma-separated expression arguments <code>expr<sub>1</sub>, expr<sub>2</sub>,…, expr<sub>n</sub></code> which are evaluated each in turn from first to last (unless the evaluation sequence is modified by by the <code>go</code>, <code>throw</code>, or <code>return</code> operators), and the value of the block expression is the value of <code>expr<sub>n</sub></code>. The main purpose of the <code>block</code> expression, regardless of the form, it to group expressions that are related in some manner, and the value of the last expression may be the only value of interest. However, there are very few limitations imposed on the nature of the <code>block</code> expression arguments, so it might be the case that the purpose of evaluating the <code>block</code> expression has been achieved before the last expression argument is evaluated, in which case the value of the <code>block</code> expression may not necessarily be the value of the last argument expression. One way to accomplish that is to use an empty string as the last argument expression with the option flag <code>stringdisp</code> set to <code>false</code> which is the default value.<syntaxhighlight lang="maxima"> (%i11) stringdisp; (%o11) false (%i12) block ([x,y], x : 3, y : 4, x, ""); (%o12) (%i13) block ([x,y], x : 3, y : 4, x)$ </syntaxhighlight> The display of the value of the <code>block</code> expression may be suppressed using a <code>$</code> to end the input expression instead of a semi-colon. Either technique produces a <code>block</code> expression value, but the value is not displayed. If a <code>return</code> operator is evaluated as a argument expression, this will cause evaluation of expression arguments to end explicitly, and the value of the <code>return</code> operator becomes the value of the <code>block</code> expression.<syntaxhighlight lang="maxima"> (%i14) is (equal (x,2)); (%o14) true %i15) block (if is (equal (x,2)) then return (x), " x not 2"); (%o15) 2 (%i16) x : 3; (x) 3 (%i17) block (if is (equal (x,2)) then return (x), "x not 2"); (%o17) x not 2 </syntaxhighlight> ==== Block Expression Evaluation Sequence Modifications ==== Block expression arguments <code>expr<sub>1</sub>, expr<sub>2</sub>,…, expr<sub>n</sub></code> are generally evaluated each in turn from first to last, and the value of the block expression is the value of <code>expr<sub>n</sub></code> unless this sequence is modified by some means. One way to modify the first-to-last expression evaluation sequence of a <code>block</code> expression is by way of a <code>go</code> operator with a label (or "tag") argument ( the "''go to''") as the following exemplifies:<syntaxhighlight lang="maxima"> (%i18) sum_to_n (n) := block ( [i : 1, total : 0], loop, total : total + i, i : i + 1, if i <= n then go (loop), total)$ (%i19) sum_to_n(25); (%o19) 325 (%i20) n; (%o20) n (%i21) i; (%o21) i (%i22) total; (%o22) total </syntaxhighlight>Note the following: * <code>block ([ i : 1,total : 0], ...)</code>: The list argument creates a local environment with local identifiers <code>i</code> and <code>total</code>. The function argument <code>n</code> is also a local identifier. * <code>loop</code>: This label serves as a target inside the <code>block</code> expression to where <code>go (loop)</code> can jump. * <code>if i <= n then go (loop)</code>: This conditional expression causes the <code>go (loop)</code> operator to be evaluated if the condition is <code>true</code>. * <code>total</code>: The value of this local identifier is the returned value of the block. It should also be worth noting that the identifiers <code>n</code>, <code>i</code>, and <code>total</code> have local values assigned within the block, but their global values are themselves. Also notice that the identifiers <code>i</code> and <code>total</code> were both declared local and assigned initial values within the <code>block</code> list argument. The go-to label argument of the <code>go</code> operator must be the name of a tag appearing within the same block expression. The <code>go</code> operator cannot be used to go to a tag in a different block expression. There is nothing special about the <code>loop</code> identifier name used for the go-to tag in this example. Other identifiers could be used, but they must be atomic. ==== Nested Block Expressions ==== Block operators may appear within other block expressions as arguments – nested block expressions. A local environment with local identifiers may be created for nested block expressions. Local values for identifiers, if declared by a first block operator list argument, are created each time a nested block is evaluated. However, identifiers with global values that have not been declared as local within any block expressions, are global values for nested block expressions as well as enclosing block expressions. Likewise, local identifiers of any enclosing block expression have values that are global within any enclosed blocks, if not declared as local within the enclosed block. If the value of an identifier is not local in a block expression, its value is the value most recently assigned by an enclosing block expression, if any value has been assigned. Otherwise, it is the value of the identifier in the global environment. ==== Values, Properties, and the <code>local</code> Operator ==== The expression <code>local (v<sub>1</sub>, v<sub>2</sub>, ... , v<sub>m</sub>)</code> within a <code>block</code> expression saves the '''''properties''''' associated with the symbols <code>v<sub>1</sub>, v<sub>2</sub>, ... , v<sub>m</sub></code>, removes any properties before evaluating other expressions, and restores any saved properties on exit from the block. Some identifier property declarations are implemented as properties of a '''''symbol''''', including <code>:=</code>, <code>array</code>, <code>dependencies</code>, <code>atvalue</code>, <code>matchdeclare</code>, <code>atomgrad</code>, <code>constant</code>, <code>nonscalar</code>, <code>assume</code>, and some others. The effect of the <code>local</code> operator is to make such declarations effective only within a <code>block</code> expression. Otherwise, declarations within a <code>block</code> expression are considered to be global declarations. Because Maxima is built on top of Common Lisp, it leverages symbol structure. Each symbol is an object that carries its own hidden "dictionary" of attributes. When you use operators like <code>:=</code> or <code>assume</code>, Maxima modifies that symbol's unique checklist rather than creating a standalone variable. Here is how each of those specific declarations is implemented as a property under the hood: # Functions and Arrays * '''<code>:=</code> (Function Definition):''' When you define a function using <code>f(x) := x^2</code>, the actual expression (<code>x^2</code>) and its argument list (<code>x</code>) are stored as a property of the symbol <code>f</code>. * '''<code>array</code>:''' When you declare or use a subscripted array (like <code>a[i]</code>), the array type, dimensions, and memory pointer are attached as a property to the symbol <code>a</code>. This differentiates it from a standard scalar variable. # Calculus and Dependencies * '''<code>dependencies</code>:''' If you declare <code>depends(y, x)</code>, Maxima attaches a dependency list property to <code>y</code> noting that it functionally depends on <code>x</code>. This tells the <code>diff</code> (differentiation) engine not to treat <code>y</code> as a constant relative to <code>x</code>. * '''<code>atvalue</code>:''' When you define a specific value for an expression at a boundary point (e.g., <code>atvalue(y, x=0, 1)</code>), this boundary constraint is stored as an evaluation property on the symbol <code>y</code>. * '''<code>atomgrad</code>:''' This assigns a specific gradient or derivative to an atomic variable (e.g., telling Maxima what (df/dx) is explicitly). Maxima saves this rule as a gradient property on that symbol. # Pattern Matching and Rules * '''<code>matchdeclare</code>:''' Used in Maxima's pattern-matching system (like <code>tellsimp</code>). When you type <code>matchdeclare(x, freeof(a))</code>, Maxima attaches a predicate property to <code>x</code>. When a pattern rule runs, Maxima looks at <code>x</code>'s property list to see what conditions a matching expression must meet. # Mathematical and Evaluation Attributes * '''<code>constant</code>:''' Declaring <code>declare(c, constant)</code> places a "constant" flag on <code>c</code>'s property list. Core routines (like integration and differentiation) check this flag to know they can pull <code>c</code> out of integrals or differentiate it to zero. * '''<code>nonscalar</code>:''' Tells Maxima to treat a symbol as a matrix or vector rather than a regular number. This property changes how operators like <code>.</code> (non-commutative multiplication) treat the symbol. * '''<code>assume</code>:''' When you state <code>assume(x > 0)</code>, Maxima's database system (<code>context</code>) assigns facts and properties (like <code>pos</code> or <code>nonnegative</code>) to the symbol <code>x</code>, allowing the simplifier to safely reduce expressions like <code>sqrt(x^2)</code> to <code>x</code>. === Functions === === Lisp and Maxima === {{BookCat}} dy3v1vb455nl9ozqbztky7sgnmebklx Art And AI/Art Theft 0 485525 4670151 4669337 2026-09-15T07:41:46Z 3MMPEYTON 3393808 4670151 wikitext text/x-wiki == Post-Modern Art Theft? == <br> In our post Post-Modern world, Art may be considered a ontological event, not a object of interpretation. Post-Modernism had already destabilized meaning, while AI destabilizes authorship. [1] <br> <br> For example: <br> - If a idea, a concept, or an intention makes the work "Art," then what happens when other people try to steal the Artist's ideas, or try to imitate their "intentions?" <br> <br> - If a Photographer takes a beautiful image of a sunset, near 10 other Photographers, who are also capturing nature's beauty, then does authorship become shared? <br> <br> '''What Counts As Art Theft In The AI Era?''' <br> <br> 1. One clear example of Art Theft is scraping Artist's copyrighted images without consent. <br> Scrapping copyrighted images means using automated computer programs to extract and download photos or artworks from websites without the owner's permission. <br> <br> How It Works: <br> - Automated Bots: Software visits web pages and copies image files or URLs in bulk. <br> - Mass Collections: Scrapers gather hundreds or millions of images at once. <br> - Data Storage: The pictures are saved into a local database or server. [2]<br> <br> Artists who make visual Art have reported works that had been scraped from platforms like DeviantArt, Art Station, Instagram, and personal portfolio sites. These works of Art are incorporated into training datasets for models such as Midjourney and Stable Diffusion. <br> These acts occurred without permission, compensation, or notification. <br> <br> This Is A Post-Modern Form of Theft: <br> - The copyrighted image is copied into a dataset <br> - The AI model learns from it <br> - The Artist receives no credit or payments <br> <br> 2. AI models generate images that are able to imitate a specific style associated with a Artist. This sits in a grey zone. <br> Legally, if the AI model only imitates style, than the Artist is not protected under current law. <br> <br> AI systems can generate images "in the style" of a working Artist, which competes with that Artist in the marketplace. This undermines the Artist's ability to earn income from commissions, licensing, and stylistic uniqueness. <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Earning_A_Living <br> <br> === Reference Section: === 1. Peyton, Minda. Feed Your Head: Art, Truth, And The Machine. Amazon KDP Aug 24, 2026. <br> <br> 2. Protector, Lex. The Legality of Data Scraping: The Reality and The Myth. Aug 18, 2022. www.medium.com <br> {{BookCat}} pvz4qkj32wg6wwv9g6puzwr3ar6nynj 4670152 4670151 2026-09-15T07:44:19Z 3MMPEYTON 3393808 4670152 wikitext text/x-wiki == Post-Modern Art Theft? == <br> In our post Post-Modern world, Art may be considered a ontological event, not a object of interpretation. Post-Modernism had already destabilized meaning, while AI destabilizes authorship. [1] <br> <br> For example: <br> - If a idea, a concept, or an intention makes the work "Art," then what happens when other people try to steal the Artist's ideas, or try to imitate their "intentions?" <br> <br> - If a Photographer takes a beautiful image of a sunset, near 10 other Photographers, who are also capturing nature's beauty, then does authorship become shared? <br> <br> '''What Counts As Art Theft In The AI Era?''' <br> <br> 1. One clear example of Art Theft is scraping Artist's copyrighted images without consent. <br> Scrapping copyrighted images means using automated computer programs to extract and download photos or artworks from websites without the owner's permission. <br> <br> How It Works: <br> - Automated Bots: Software visits web pages and copies image files or URLs in bulk. <br> - Mass Collections: Scrapers gather hundreds or millions of images at once. <br> - Data Storage: The pictures are saved into a local database or server. [2]<br> <br> Artists who make visual Art have reported works that had been scraped from platforms like DeviantArt, Art Station, Instagram, and personal portfolio sites. These works of Art are incorporated into training datasets for models such as Midjourney and Stable Diffusion. <br> These acts occurred without permission, compensation, or notification. <br> <br> This Is A Post-Modern Form of Theft: <br> - The copyrighted image is copied into a dataset <br> - The AI model learns from it <br> - The Artist receives no credit or payments <br> <br> 2. AI models generate images that are able to imitate a specific style associated with a Artist. This sits in a grey zone. <br> Legally, if the AI model only imitates style, than the Artist is not protected under current law. <br> <br> AI systems can generate images "in the style" of a working Artist, which competes with that Artist in the marketplace. This undermines the Artist's ability to earn income from commissions, licensing, and stylistic uniqueness. <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Tools_Of_The_Artist <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Earning_A_Living <br> <br> === Reference Section: === 1. Peyton, Minda. Feed Your Head: Art, Truth, And The Machine. Amazon KDP Aug 24, 2026. <br> <br> 2. Protector, Lex. The Legality of Data Scraping: The Reality and The Myth. Aug 18, 2022. www.medium.com <br> {{BookCat}} a1ulg5o39t7q4y26cvhsli0zg32jojy Art And AI/The Role Of The Artist 0 485526 4670149 4669463 2026-09-15T07:30:55Z 3MMPEYTON 3393808 /* Artists As Emotional Channels: */ 4670149 wikitext text/x-wiki == The Role Of The Artist == According to Artwork Archive: "An Artist's role is to communicate ideas, evoke emotions, and challenge societal perspectives through creative expression." [1.] '''Artists are:''' <br> <br> - Emotional channels <br> - Creative conduits <br> - Social Ambassadors <br> - They tell stories and pass on traditions <br> - They record and preserve human history <br> - They unearthing the Truth <br> - They inspire other people <br> <br> ==== Artists As Emotional Channels: ==== Artists act as emotional channels. They translate inner emotions, trauma, and difficult life experiences into real visual or auditory records. <br> The physical act of making Art releases stress. Art Therapy may have evolved as a fun stress-releaser. <br> Artists who turn their personal pain, or joy, into shared works of Art help to expand empathy, and help viewers recognize their experiences. <br> ==== Artists As Creative Conduit: ==== "The Artist acts as a creative conduit when they channel hidden thoughts, symbols, and universal archetypes from the unconscious mind into physical Art." <br> <br> Tools that make it easier to express complex emotions and ideas are also considered creative conduits. <br> <br> Carl Jung theorized that the unconsciousness holds a collective layer shared by all humans. Reoccurring symbols are called archetypes. These symbols are psychological patterns that are shared by all people. These psychological patterns connect people across cultures. Artists may tap into these shared ancient patterns, creating stories and paintings that evoke deep, universal emotions. [ 2.]<br> <br> Erich Neumann, a Jewish German analytical Psychologist, described creative work as a mix of being "possessed" by an invisible force and staying open. Art allows our conscious mind to see deeper connections, or a complex reality, when our conscious awareness is joined with our unconscious mind. [3.]<br> <br> ==== Artists As Social Ambassadors: ==== Artists can act as social Ambassadors by giving voice to the voiceless, by championing important causes, and by using their platforms online to reflect cultural truths, explore different realities, or connect people from around the world together. <br> <br> Artists tell stories. They pass along information. They record and preserve their traditions, leaving historic records for other people to observe and analyze. Artists also unearth the truth. Pablo Picasso famously stated that "Art is a lie that makes us realize truth." <br> According to Assistant, a bot on Quora: Art exposes truths that are experiential, structural, ethical, and perceptual -- truths about how life feels, how systems operate, and how meaning is made. It does this through condensation, symbol, empathy, and form rather than literal documentation." [4] <br> <br> Artists reflect human emotions. They paint people who seem to cry or feel grief. Artists like Banksy, a popular graffiti Artist, uses his poetic imagery to question power, and to criticize unjust behaviors in society. Although Art images are not real, they can help people see reality better. Artists encourage people to participate. Works of Art can be viewed in galleries, schools, churches and community centers. Artist inspire people to expand their imaginations, to share their dreams in tangible forms, and to be moved by images of beauty. Artists inspire other people to be creative, reflective, and to remain socially active. <br> <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Art_Theft <br> <br> <br> 1. [Katie Carey, "What Is the Artist's Role in Society?" October 24, 2017. Updated June 23, 2022 www.artworkarchive.com] 2. [Kendra Cherry, MSEd. "What Are The Jungian Archetypes?" June 5, 2026 www.verywellmind.com] 3. [Maria Popova, "Art And The Creative Unconscious: Erich Neumann On The Psychology Of Transformation." www.themarginalian.org] <br> 4. [Assistant Bot "Does Art Expose Truth?" Quora 2025 {{BookCat}} dq1sny048e991049otvo7fyf5yg9q0v 4670150 4670149 2026-09-15T07:36:35Z 3MMPEYTON 3393808 4670150 wikitext text/x-wiki == The Role Of The Artist == According to Artwork Archive: "An Artist's role is to communicate ideas, evoke emotions, and challenge societal perspectives through creative expression." [1.] '''Artists are:''' <br> <br> - Emotional channels <br> - Creative conduits <br> - Social Ambassadors <br> - They tell stories and pass on traditions <br> - They record and preserve human history <br> - They unearthing the Truth <br> - They inspire other people <br> <br> ==== Artists As Emotional Channels: ==== Artists act as emotional channels. They translate inner emotions, trauma, and difficult life experiences into real visual or auditory records. <br> The physical act of making Art releases stress. Art Therapy may have evolved as a fun stress-releaser. <br> Artists who turn their personal pain, or joy, into shared works of Art help to expand empathy, and help viewers recognize their experiences. <br> ==== Artists As Creative Conduit: ==== "The Artist acts as a creative conduit when they channel hidden thoughts, symbols, and universal archetypes from the unconscious mind into physical Art." <br> <br> Tools that make it easier to express complex emotions and ideas are also considered creative conduits. <br> <br> Carl Jung theorized that the unconsciousness holds a collective layer shared by all humans. Reoccurring symbols are called archetypes. These symbols are psychological patterns that are shared by all people. These psychological patterns connect people across cultures. Artists may tap into these shared ancient patterns, creating stories and paintings that evoke deep, universal emotions. [ 2.]<br> <br> Erich Neumann, a Jewish German analytical Psychologist, described creative work as a mix of being "possessed" by an invisible force and staying open. Art allows our conscious mind to see deeper connections, or a complex reality, when our conscious awareness is joined with our unconscious mind. [3.]<br> <br> ==== Artists As Social Ambassadors: ==== Artists can act as social Ambassadors by giving voice to the voiceless, by championing important causes, and by using their platforms online to reflect cultural truths, explore different realities, or connect people from around the world together. <br> <br> Artists tell stories. They pass along information. They record and preserve their traditions, leaving historic records for other people to observe and analyze. Artists also unearth the truth. Pablo Picasso famously stated that "Art is a lie that makes us realize truth." <br> According to Assistant, a bot on Quora: Art exposes truths that are experiential, structural, ethical, and perceptual -- truths about how life feels, how systems operate, and how meaning is made. It does this through condensation, symbol, empathy, and form rather than literal documentation." [4] <br> <br> Artists reflect human emotions. They paint people who seem to cry or feel grief. Artists like Banksy, a popular graffiti Artist, uses his poetic imagery to question power, and to criticize unjust behaviors in society. Although Art images are not real, they can help people see reality better. Artists encourage people to participate. Works of Art can be viewed in galleries, schools, churches and community centers. Artist inspire people to expand their imaginations, to share their dreams in tangible forms, and to be moved by images of beauty. Artists inspire other people to be creative, reflective, and to remain socially active. <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Earning_A_Living <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Art_Theft <br> <br> === Reference Section: === 1. Katie Carey, "What Is the Artist's Role in Society?" October 24, 2017. Updated June 23, 2022 www.artworkarchive.com 2. Kendra Cherry, MSEd. "What Are The Jungian Archetypes?" June 5, 2026 www.verywellmind.com 3. Maria Popova, "Art And The Creative Unconscious: Erich Neumann On The Psychology Of Transformation." www.themarginalian.org <br> 4. Assistant Bot "Does Art Expose Truth?" Quora 2025 <br> {{BookCat}} hf97p4sm3tny8n4quiluwvxyyquzcih User:Marieclairenkanka 2 485579 4670020 4669910 2026-09-14T12:41:01Z MathXplore 3097823 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1c) 4670020 wikitext text/x-wiki <noinclude>{{delete|1=Out of project scope <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> John and John were away last weekend but oh my birthday was going well so I hope it will not created too long now for me blutregel I will have decided that the only option will have a higher end date and the reason we have the option 🙂🙃 going back mkizgvnvqp0gcm2zcbbmos2pfw31iam User talk:ActiveProduction 3 485580 4670021 4669914 2026-09-14T12:42:42Z MathXplore 3097823 Requesting deletion ([[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]] v3.1c) 4670021 wikitext text/x-wiki <noinclude>{{delete|1=Out of project scope <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small>}}</noinclude> == September 2026 == If you like the video please share like subscribe [[User:ActiveProduction|ActiveProduction]] ([[User talk:ActiveProduction|discuss]] • [[Special:Contributions/ActiveProduction|contribs]]) 16:59, 13 September 2026 (UTC) gxowtm3kfks7adrmgutt0yq0zgemh2j Art And AI/Tools Of The Artist 0 485585 4670018 4670010 2026-09-14T12:40:24Z MathXplore 3097823 Added {{[[Template:BookCat|BookCat]]}} using [[User:1234qwer1234qwer4/BookCat.js|BookCat.js]] 4670018 wikitext text/x-wiki == Tools Of The Artist == In Feed Your Head: Art, Truth, And The Machine, the tools of the Artist are contemplated. "Art has always evolved alongside the tools of the Artist." [1] <br> Microsoft Copilot: We are still using 19th century ideas of 'authenticity' to judge 21st century tools. [1] <br> <br> <u>Feed Your Head: Art, Truth, And The Machine:</u> Every era has a moment when it's tools outgrow its traditions. For the nineteenth century, that moment arrived with the camera. A single invention forced Artists to confront a new kind of truth -- one produced not by the hand, but by a machine. Some saw this as the end of painting. Others saw this as the beginning of a new imagination. Modernism emerged from that tension: a movement born from the realization that when technology masters one domain of art, artists must discover another. [1] <br> <br> ==== Modernist: ==== Modern Art breaths color. Modern Art museums are filled with colorful works of Art. Previously, great works of Art were made from simple mediums. Prehistoric Artists had limited Art media, or materials, to work with. Cave Art made by early humans used water, natural pigments, soot and charcoal, at best 4 mediums. <br> <br> The Modernist Painters were introduced to a plethora of Art media, largely due to progress made during the Industrial Revolution. The Industrial Revolution brought sweeping changes. For the first time, Modern Artist had access to newer paints with brighter colors. <br> <br> For example: Acrylic paint was considered an advancement because acrylics dry fast. Acrylic paints are made of pigment "suspended in acrylic polymer emulsion and plasticizers, silicone oils, defoamers, stabilizers or metal soaps." [2] <br> <br> '''Acrylic Paints:''' <br> According to Wikipedia, acrylic paint was developed in 1934 by BASF, a German chemical company which created the first usable acrylic resin dispersion. [2] <br> <br> Mexican mural Painters like Diego Rivera, David Alfaro Siqueiros, and Jake Orozco were among the first Modernists to experiment with acrylic paints. <br> <br> '''Collage:''' <br> The word collage is from the French: coller, "to glue" or "to stick together." [3] Collage is a technique of art creation, primarily used in the visual arts. It is Art made from an assembly of different forms, thus creating a new whole. [3] <br> <br> A collage may include magazine and newspaper clippings, paint, bits of colored or handmade papers, ribbons, portions of other artwork or texts, photographs, or other found objects glued to a piece of paper or canvas. [3] <br> <br> Pablo Picasso and George Braque popularized the term Papier collé in the beginning of the 20th century when collage became a unique part of Modern Art. <br> <br> <br> '''Camera:''' <br> The invention of the camera dates back to the 19th century, it has since evolved with advancements in technology, leading to a large collection of types and different models in the 21st century. [4] <br> The camera is a pivotal technology in the fields of photography and videography. The camera has played a significant role in the progression of visual arts, entertainment, media, scientific research, and surveillance. <br> A camera is an instrument used to capture and store images and videos, either digitally via an electronic image sensor, or chemically via a light-sensitive material such as photographic film. [4] <br> <br> During the 20th century, both fine art photography and documentary photography became accepted by the English-speaking art world and the gallery system. It was slow progress accelerated in the United States, by a handful of photographers: Alfred Stieglitz, Edward Steichen, John Szarkowski, F. Holland Day, and Edward Weston. These Photographers spent their lives advocating for photography as a fine art. [5] <br> <br> In artistic circles, the aesthetics of photography is a matter that continues to be discussed. Many artists argued that photography was the mechanical reproduction of an image, not Art. If photography is authentically Art, then photography in the context of Art would need redefinition, such as determining what component of a photograph makes it beautiful to the viewer. The controversy began with the earliest images "written with light"; Nicéphore Niépce, Louis Daguerre, and others among the very earliest photographers were met with acclaim, although some questioned if their work met the definitions and functions of art. [5] <br> <br> <br> '''Industrial House Painting Brushes:''' <br> A paintbrush is a brush used to apply paint or ink. Paintbrushes were used by humans as early as the Paleolithic era around 2.5 million years ago in order to apply pigment. [6] <br> <br> The paintbrushes used by most Artist are small. Short handled brushes are typically used for flat or slightly tilted work surfaces such as watercolor painting and ink painting. Long handled brushes are held horizontally while working on a vertical canvas such as for oil paint or acrylic paint. [6] <br> The most common styles of brush tips are: Round, Flat, Bright, Filbert, Fan, Angle, Mop, Rigger, Strippler, Liner, Dagger, Scripts and Egbert. [6] <br> <br> Modernist Artists, such as Jackson Pollock, broke away from the norm by using normal house paintbrushes to drip, pour, and fling paint onto his canvas, typically found on the floor. In fact, several influential modern and Abstract Expressionist Artists rejected traditional fine-art brushes in favor of commercial house-painting brushes, used to achieve bold, raw gestural marks. <br> <br> Willem de Kooning used everyday housepainter's brushes. He bought inexpensive packs from local hardware stores, along with spatulas and scrapers. He used these commercial tools to build up sculptural, and heavy textured layers. <br> <br> Franz Kline used large, industrial house-painting brushes and cheap enamel house paint to create his bold, iconic, monumental black-and-white abstractions. Using large, stiff brushes, Kline was able to apply thick markings with fast body gestures. <br> <br> <br> '''Palette Knives:''' <br> A palette knife is a blunt tool with a flexible steel blade, used for mixing or applying paint. It is primarily used for applying paint to the canvas. [7 ] <br> <br> Bob Ross was a famous Post-Modern Painter who used a palette knife in his works. Other famous palette knife users include: Henri Matisse, Marc Chagall, Dmitry Spiros and Leonid Afremov. <br> Leonid Afremov is a famous modern impressionistic Artist who worked almost exclusively with a palette knife and oil paint to create vibrate, colorful landscapes. <br> <br> <br> <br> 1. Peyton, Minda. (2026) Feed Your Head: Art, Truth, And The Machine. Amazon 2. "Acrylic paint" September 9, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Acrylic_paint 3. "Collage" September 4, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Collage 4. "Camera" September 5, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Camera 5. "Photography" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Photography 6. "Paintbrush" March 16, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Paintbrush 7. "Palette knife" June 3, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Palette_knife {{BookCat}} 9xqm30z4k2jlkpnf4lemhhjyxb1pgrh 4670050 4670018 2026-09-14T14:21:24Z 3MMPEYTON 3393808 4670050 wikitext text/x-wiki == Tools Of The Artist == In Feed Your Head: Art, Truth, And The Machine, the tools of the Artist are contemplated. "Art has always evolved alongside the tools of the Artist." [1] <br> Microsoft Copilot: We are still using 19th century ideas of 'authenticity' to judge 21st century tools. [1] <br> <br> <u>Feed Your Head: Art, Truth, And The Machine:</u> Every era has a moment when it's tools outgrow its traditions. For the nineteenth century, that moment arrived with the camera. A single invention forced Artists to confront a new kind of truth -- one produced not by the hand, but by a machine. Some saw this as the end of painting. Others saw this as the beginning of a new imagination. Modernism emerged from that tension: a movement born from the realization that when technology masters one domain of art, artists must discover another. [1] <br> <br> ==== Modernist: ==== Modern Art breaths color. Modern Art museums are filled with colorful works of Art. Previously, great works of Art were made from simple mediums. Prehistoric Artists had limited Art media, or materials, to work with. Cave Art made by early humans used water, natural pigments, soot and charcoal, at best 4 mediums. <br> <br> The Modernist Painters were introduced to a plethora of Art media, largely due to progress made during the Industrial Revolution. The Industrial Revolution brought sweeping changes. For the first time, Modern Artist had access to newer paints with brighter colors. <br> <br> For example: Acrylic paint was considered an advancement because acrylics dry fast. Acrylic paints are made of pigment "suspended in acrylic polymer emulsion and plasticizers, silicone oils, defoamers, stabilizers or metal soaps." [2] <br> <br> '''Acrylic Paints:''' <br> According to Wikipedia, acrylic paint was developed in 1934 by BASF, a German chemical company which created the first usable acrylic resin dispersion. [2] <br> <br> Mexican mural Painters like Diego Rivera, David Alfaro Siqueiros, and Jake Orozco were among the first Modernists to experiment with acrylic paints. <br> <br> '''Collage:''' <br> The word collage is from the French: coller, "to glue" or "to stick together." [3] Collage is a technique of art creation, primarily used in the visual arts. It is Art made from an assembly of different forms, thus creating a new whole. [3] <br> <br> A collage may include magazine and newspaper clippings, paint, bits of colored or handmade papers, ribbons, portions of other artwork or texts, photographs, or other found objects glued to a piece of paper or canvas. [3] <br> <br> Pablo Picasso and George Braque popularized the term Papier collé in the beginning of the 20th century when collage became a unique part of Modern Art. <br> <br> <br> '''Camera:''' <br> The invention of the camera dates back to the 19th century, it has since evolved with advancements in technology, leading to a large collection of types and different models in the 21st century. [4] <br> The camera is a pivotal technology in the fields of photography and videography. The camera has played a significant role in the progression of visual arts, entertainment, media, scientific research, and surveillance. <br> A camera is an instrument used to capture and store images and videos, either digitally via an electronic image sensor, or chemically via a light-sensitive material such as photographic film. [4] <br> <br> During the 20th century, both fine art photography and documentary photography became accepted by the English-speaking art world and the gallery system. It was slow progress accelerated in the United States, by a handful of photographers: Alfred Stieglitz, Edward Steichen, John Szarkowski, F. Holland Day, and Edward Weston. These Photographers spent their lives advocating for photography as a fine art. [5] <br> <br> In artistic circles, the aesthetics of photography is a matter that continues to be discussed. Many artists argued that photography was the mechanical reproduction of an image, not Art. If photography is authentically Art, then photography in the context of Art would need redefinition, such as determining what component of a photograph makes it beautiful to the viewer. The controversy began with the earliest images "written with light"; Nicéphore Niépce, Louis Daguerre, and others among the very earliest photographers were met with acclaim, although some questioned if their work met the definitions and functions of art. [5] <br> <br> <br> '''Industrial House Painting Brushes:''' <br> A paintbrush is a brush used to apply paint or ink. Paintbrushes were used by humans as early as the Paleolithic era around 2.5 million years ago in order to apply pigment. [6] <br> <br> The paintbrushes used by most Artist are small. Short handled brushes are typically used for flat or slightly tilted work surfaces such as watercolor painting and ink painting. Long handled brushes are held horizontally while working on a vertical canvas such as for oil paint or acrylic paint. [6] <br> The most common styles of brush tips are: Round, Flat, Bright, Filbert, Fan, Angle, Mop, Rigger, Strippler, Liner, Dagger, Scripts and Egbert. [6] <br> <br> Modernist Artists, such as Jackson Pollock, broke away from the norm by using normal house paintbrushes to drip, pour, and fling paint onto his canvas, typically found on the floor. In fact, several influential modern and Abstract Expressionist Artists rejected traditional fine-art brushes in favor of commercial house-painting brushes, used to achieve bold, raw gestural marks. <br> <br> Willem de Kooning used everyday housepainter's brushes. He bought inexpensive packs from local hardware stores, along with spatulas and scrapers. He used these commercial tools to build up sculptural, and heavy textured layers. <br> <br> Franz Kline used large, industrial house-painting brushes and cheap enamel house paint to create his bold, iconic, monumental black-and-white abstractions. Using large, stiff brushes, Kline was able to apply thick markings with fast body gestures. <br> <br> <br> '''Palette Knives:''' <br> A palette knife is a blunt tool with a flexible steel blade, used for mixing or applying paint. It is primarily used for applying paint to the canvas. [7 ] <br> <br> Bob Ross was a famous Post-Modern Painter who used a palette knife in his works. Other famous palette knife users include: Henri Matisse, Marc Chagall, Dmitry Spiros and Leonid Afremov. <br> Leonid Afremov is a famous modern impressionistic Artist who worked almost exclusively with a palette knife and oil paint to create vibrate, colorful landscapes. <br> <br> <br> '''Printmaking:''' <br> Many famous modern and Post-Modern Artists use printmaking as a major part of their creative work. Printmaking is the process of creating artworks by printing, normally on paper, but also on other surfaces. [8] <br> <br> Prints are created by transferring ink from a matrix, something which carries the image and the ink, to a sheet of paper or other material. Common types of matrices include: metal plates for engraving, etching and related intaglio printing techniques; stone, aluminum, or polymer for lithography; blocks of wood for woodcuts and wood engravings; and linoleum for linocuts. Screens made of silk or synthetic fabrics are used for the screen printing process. [8] <br> <br> The printmaking processes have the capacity to produce identical multiples of the same artwork, which is called a print. Each print produced is considered an "original" work of art, and is correctly referred to as an "impression," not a "copy." [8] <br> <br> Andy Warhol popularized screenprinting in the 20th century using bright, repeated colors. Iconic works include ''Marilyn Monroe'' and ''Campbell's Soup Cans''. <br> <br> Pablo Picasso used the reduction linocut technique. He carved a single piece of linoleum multiple times for multi-color prints. Picasso created striking portraits like ''Jacqueline with Glossy Hair''. <br> <br> Other Painters like Keith Haring used bold lines and lithography to produce prints like ''People Ladder''. <br> <br> <br> <br> 1. Peyton, Minda. (2026) Feed Your Head: Art, Truth, And The Machine. Amazon 2. "Acrylic paint" September 9, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Acrylic_paint 3. "Collage" September 4, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Collage 4. "Camera" September 5, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Camera 5. "Photography" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Photography 6. "Paintbrush" March 16, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Paintbrush 7. "Palette knife" June 3, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Palette_knife 8. "Printmaking" September 10, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Printmaking {{BookCat}} j5fb6ujb1xagmmjx4scyedmz2x91tyn 4670054 4670050 2026-09-14T14:54:33Z 3MMPEYTON 3393808 4670054 wikitext text/x-wiki == Tools Of The Artist == In Feed Your Head: Art, Truth, And The Machine, the tools of the Artist are contemplated. "Art has always evolved alongside the tools of the Artist." [1] <br> Microsoft Copilot: We are still using 19th century ideas of 'authenticity' to judge 21st century tools. [1] <br> <br> <u>Feed Your Head: Art, Truth, And The Machine:</u> Every era has a moment when it's tools outgrow its traditions. For the nineteenth century, that moment arrived with the camera. A single invention forced Artists to confront a new kind of truth -- one produced not by the hand, but by a machine. Some saw this as the end of painting. Others saw this as the beginning of a new imagination. Modernism emerged from that tension: a movement born from the realization that when technology masters one domain of art, artists must discover another. [1] <br> <br> ==== Modernist: ==== Modern Art breaths color. Modern Art museums are filled with colorful works of Art. Previously, great works of Art were made from simple mediums. Prehistoric Artists had limited Art media, or materials, to work with. Cave Art made by early humans used water, natural pigments, soot and charcoal, at best 4 mediums. <br> <br> The Modernist Painters were introduced to a plethora of Art media, largely due to progress made during the Industrial Revolution. The Industrial Revolution brought sweeping changes. For the first time, Modern Artist had access to newer paints with brighter colors. <br> <br> For example: Acrylic paint was considered an advancement because acrylics dry fast. Acrylic paints are made of pigment "suspended in acrylic polymer emulsion and plasticizers, silicone oils, defoamers, stabilizers or metal soaps." [2] <br> <br> '''Acrylic Paints:''' <br> According to Wikipedia, acrylic paint was developed in 1934 by BASF, a German chemical company which created the first usable acrylic resin dispersion. [2] <br> <br> Mexican mural Painters like Diego Rivera, David Alfaro Siqueiros, and Jake Orozco were among the first Modernists to experiment with acrylic paints. <br> <br> '''Collage:''' <br> The word collage is from the French: coller, "to glue" or "to stick together." [3] Collage is a technique of art creation, primarily used in the visual arts. It is Art made from an assembly of different forms, thus creating a new whole. [3] <br> <br> A collage may include magazine and newspaper clippings, paint, bits of colored or handmade papers, ribbons, portions of other artwork or texts, photographs, or other found objects glued to a piece of paper or canvas. [3] <br> <br> Pablo Picasso and George Braque popularized the term Papier collé in the beginning of the 20th century when collage became a unique part of Modern Art. <br> <br> <br> '''Camera:''' <br> The invention of the camera dates back to the 19th century, it has since evolved with advancements in technology, leading to a large collection of types and different models in the 21st century. [4] <br> The camera is a pivotal technology in the fields of photography and videography. The camera has played a significant role in the progression of visual arts, entertainment, media, scientific research, and surveillance. <br> A camera is an instrument used to capture and store images and videos, either digitally via an electronic image sensor, or chemically via a light-sensitive material such as photographic film. [4] <br> <br> During the 20th century, both fine art photography and documentary photography became accepted by the English-speaking art world and the gallery system. It was slow progress accelerated in the United States, by a handful of photographers: Alfred Stieglitz, Edward Steichen, John Szarkowski, F. Holland Day, and Edward Weston. These Photographers spent their lives advocating for photography as a fine art. [5] <br> <br> In artistic circles, the aesthetics of photography is a matter that continues to be discussed. Many artists argued that photography was the mechanical reproduction of an image, not Art. If photography is authentically Art, then photography in the context of Art would need redefinition, such as determining what component of a photograph makes it beautiful to the viewer. The controversy began with the earliest images "written with light"; Nicéphore Niépce, Louis Daguerre, and others among the very earliest photographers were met with acclaim, although some questioned if their work met the definitions and functions of art. [5] <br> <br> <br> '''Industrial House Painting Brushes:''' <br> A paintbrush is a brush used to apply paint or ink. Paintbrushes were used by humans as early as the Paleolithic era around 2.5 million years ago in order to apply pigment. [6] <br> <br> The paintbrushes used by most Artist are small. Short handled brushes are typically used for flat or slightly tilted work surfaces such as watercolor painting and ink painting. Long handled brushes are held horizontally while working on a vertical canvas such as for oil paint or acrylic paint. [6] <br> The most common styles of brush tips are: Round, Flat, Bright, Filbert, Fan, Angle, Mop, Rigger, Strippler, Liner, Dagger, Scripts and Egbert. [6] <br> <br> Modernist Artists, such as Jackson Pollock, broke away from the norm by using normal house paintbrushes to drip, pour, and fling paint onto his canvas, typically found on the floor. In fact, several influential modern and Abstract Expressionist Artists rejected traditional fine-art brushes in favor of commercial house-painting brushes, used to achieve bold, raw gestural marks. <br> <br> Willem de Kooning used everyday housepainter's brushes. He bought inexpensive packs from local hardware stores, along with spatulas and scrapers. He used these commercial tools to build up sculptural, and heavy textured layers. <br> <br> Franz Kline used large, industrial house-painting brushes and cheap enamel house paint to create his bold, iconic, monumental black-and-white abstractions. Using large, stiff brushes, Kline was able to apply thick markings with fast body gestures. <br> <br> <br> '''Palette Knives:''' <br> A palette knife is a blunt tool with a flexible steel blade, used for mixing or applying paint. It is primarily used for applying paint to the canvas. [7 ] <br> <br> Bob Ross was a famous Post-Modern Painter who used a palette knife in his works. Other famous palette knife users include: Henri Matisse, Marc Chagall, Dmitry Spiros and Leonid Afremov. <br> Leonid Afremov is a famous modern impressionistic Artist who worked almost exclusively with a palette knife and oil paint to create vibrate, colorful landscapes. <br> <br> <br> '''Printmaking:''' <br> Many famous modern and Post-Modern Artists use printmaking as a major part of their creative work. Printmaking is the process of creating artworks by printing, normally on paper, but also on other surfaces. [8] <br> <br> Prints are created by transferring ink from a matrix, something which carries the image and the ink, to a sheet of paper or other material. Common types of matrices include: metal plates for engraving, etching and related intaglio printing techniques; stone, aluminum, or polymer for lithography; blocks of wood for woodcuts and wood engravings; and linoleum for linocuts. Screens made of silk or synthetic fabrics are used for the screen printing process. [8] <br> <br> The printmaking processes have the capacity to produce identical multiples of the same artwork, which is called a print. Each print produced is considered an "original" work of art, and is correctly referred to as an "impression," not a "copy." [8] <br> <br> Andy Warhol popularized screenprinting in the 20th century using bright, repeated colors. Iconic works include ''Marilyn Monroe'' and ''Campbell's Soup Cans''. <br> <br> Pablo Picasso used the reduction linocut technique. He carved a single piece of linoleum multiple times for multi-color prints. Picasso created striking portraits like ''Jacqueline with Glossy Hair''. <br> <br> Other Painters like Keith Haring used bold lines and lithography to produce prints like ''People Ladder''. <br> <br> <br> '''Photocopiers "Xerox Art":''' <br> Although once considered boring office tools, photocopiers transformed into exciting modern Art mediums during the 1960s - 1980s. Photocopiers allowed Artist to make fast, cheap, abstract textured artworks. <br> <br> According to Wikipedia, Xerox art, sometimes called copy art, electrostatic art, scanography or xerography, is an art form that began in the 1960s. Paper prints are created by putting objects on the glass, or platen, of a photocopier and by pressing "start" to produce an image. [9] 1. Peyton, Minda. (2026) Feed Your Head: Art, Truth, And The Machine. Amazon 2. "Acrylic paint" September 9, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Acrylic_paint 3. "Collage" September 4, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Collage 4. "Camera" September 5, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Camera 5. "Photography" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Photography 6. "Paintbrush" March 16, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Paintbrush 7. "Palette knife" June 3, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Palette_knife 8. "Printmaking" September 10, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Printmaking 9. "Xerox art" April 26, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Xerox_art {{BookCat}} m6zq5numd29zskk2yltkem2atanv3ko 4670055 4670054 2026-09-14T14:56:42Z 3MMPEYTON 3393808 4670055 wikitext text/x-wiki == Tools Of The Artist == In Feed Your Head: Art, Truth, And The Machine, the tools of the Artist are contemplated. "Art has always evolved alongside the tools of the Artist." [1] <br> Microsoft Copilot: We are still using 19th century ideas of 'authenticity' to judge 21st century tools. [1] <br> <br> <u>Feed Your Head: Art, Truth, And The Machine:</u> Every era has a moment when it's tools outgrow its traditions. For the nineteenth century, that moment arrived with the camera. A single invention forced Artists to confront a new kind of truth -- one produced not by the hand, but by a machine. Some saw this as the end of painting. Others saw this as the beginning of a new imagination. Modernism emerged from that tension: a movement born from the realization that when technology masters one domain of art, artists must discover another. [1] <br> <br> ==== Modernist: ==== Modern Art breaths color. Modern Art museums are filled with colorful works of Art. Previously, great works of Art were made from simple mediums. Prehistoric Artists had limited Art media, or materials, to work with. Cave Art made by early humans used water, natural pigments, soot and charcoal, at best 4 mediums. <br> <br> The Modernist Painters were introduced to a plethora of Art media, largely due to progress made during the Industrial Revolution. The Industrial Revolution brought sweeping changes. For the first time, Modern Artist had access to newer paints with brighter colors. <br> <br> For example: Acrylic paint was considered an advancement because acrylics dry fast. Acrylic paints are made of pigment "suspended in acrylic polymer emulsion and plasticizers, silicone oils, defoamers, stabilizers or metal soaps." [2] <br> <br> '''Acrylic Paints:''' <br> According to Wikipedia, acrylic paint was developed in 1934 by BASF, a German chemical company which created the first usable acrylic resin dispersion. [2] <br> <br> Mexican mural Painters like Diego Rivera, David Alfaro Siqueiros, and Jake Orozco were among the first Modernists to experiment with acrylic paints. <br> <br> '''Collage:''' <br> The word collage is from the French: coller, "to glue" or "to stick together." [3] Collage is a technique of art creation, primarily used in the visual arts. It is Art made from an assembly of different forms, thus creating a new whole. [3] <br> <br> A collage may include magazine and newspaper clippings, paint, bits of colored or handmade papers, ribbons, portions of other artwork or texts, photographs, or other found objects glued to a piece of paper or canvas. [3] <br> <br> Pablo Picasso and George Braque popularized the term Papier collé in the beginning of the 20th century when collage became a unique part of Modern Art. <br> <br> <br> '''Camera:''' <br> The invention of the camera dates back to the 19th century, it has since evolved with advancements in technology, leading to a large collection of types and different models in the 21st century. [4] <br> The camera is a pivotal technology in the fields of photography and videography. The camera has played a significant role in the progression of visual arts, entertainment, media, scientific research, and surveillance. <br> A camera is an instrument used to capture and store images and videos, either digitally via an electronic image sensor, or chemically via a light-sensitive material such as photographic film. [4] <br> <br> During the 20th century, both fine art photography and documentary photography became accepted by the English-speaking art world and the gallery system. It was slow progress accelerated in the United States, by a handful of photographers: Alfred Stieglitz, Edward Steichen, John Szarkowski, F. Holland Day, and Edward Weston. These Photographers spent their lives advocating for photography as a fine art. [5] <br> <br> In artistic circles, the aesthetics of photography is a matter that continues to be discussed. Many artists argued that photography was the mechanical reproduction of an image, not Art. If photography is authentically Art, then photography in the context of Art would need redefinition, such as determining what component of a photograph makes it beautiful to the viewer. The controversy began with the earliest images "written with light"; Nicéphore Niépce, Louis Daguerre, and others among the very earliest photographers were met with acclaim, although some questioned if their work met the definitions and functions of art. [5] <br> <br> <br> '''Industrial House Painting Brushes:''' <br> A paintbrush is a brush used to apply paint or ink. Paintbrushes were used by humans as early as the Paleolithic era around 2.5 million years ago in order to apply pigment. [6] <br> <br> The paintbrushes used by most Artist are small. Short handled brushes are typically used for flat or slightly tilted work surfaces such as watercolor painting and ink painting. Long handled brushes are held horizontally while working on a vertical canvas such as for oil paint or acrylic paint. [6] <br> The most common styles of brush tips are: Round, Flat, Bright, Filbert, Fan, Angle, Mop, Rigger, Strippler, Liner, Dagger, Scripts and Egbert. [6] <br> <br> Modernist Artists, such as Jackson Pollock, broke away from the norm by using normal house paintbrushes to drip, pour, and fling paint onto his canvas, typically found on the floor. In fact, several influential modern and Abstract Expressionist Artists rejected traditional fine-art brushes in favor of commercial house-painting brushes, used to achieve bold, raw gestural marks. <br> <br> Willem de Kooning used everyday housepainter's brushes. He bought inexpensive packs from local hardware stores, along with spatulas and scrapers. He used these commercial tools to build up sculptural, and heavy textured layers. <br> <br> Franz Kline used large, industrial house-painting brushes and cheap enamel house paint to create his bold, iconic, monumental black-and-white abstractions. Using large, stiff brushes, Kline was able to apply thick markings with fast body gestures. <br> <br> <br> '''Palette Knives:''' <br> A palette knife is a blunt tool with a flexible steel blade, used for mixing or applying paint. It is primarily used for applying paint to the canvas. [7 ] <br> <br> Bob Ross was a famous Post-Modern Painter who used a palette knife in his works. Other famous palette knife users include: Henri Matisse, Marc Chagall, Dmitry Spiros and Leonid Afremov. <br> Leonid Afremov is a famous modern impressionistic Artist who worked almost exclusively with a palette knife and oil paint to create vibrate, colorful landscapes. <br> <br> <br> '''Printmaking:''' <br> Many famous modern and Post-Modern Artists use printmaking as a major part of their creative work. Printmaking is the process of creating artworks by printing, normally on paper, but also on other surfaces. [8] <br> <br> Prints are created by transferring ink from a matrix, something which carries the image and the ink, to a sheet of paper or other material. Common types of matrices include: metal plates for engraving, etching and related intaglio printing techniques; stone, aluminum, or polymer for lithography; blocks of wood for woodcuts and wood engravings; and linoleum for linocuts. Screens made of silk or synthetic fabrics are used for the screen printing process. [8] <br> <br> The printmaking processes have the capacity to produce identical multiples of the same artwork, which is called a print. Each print produced is considered an "original" work of art, and is correctly referred to as an "impression," not a "copy." [8] <br> <br> Andy Warhol popularized screenprinting in the 20th century using bright, repeated colors. Iconic works include ''Marilyn Monroe'' and ''Campbell's Soup Cans''. <br> <br> Pablo Picasso used the reduction linocut technique. He carved a single piece of linoleum multiple times for multi-color prints. Picasso created striking portraits like ''Jacqueline with Glossy Hair''. <br> <br> Other Painters like Keith Haring used bold lines and lithography to produce prints like ''People Ladder''. <br> <br> <br> '''Photocopiers "Xerox Art":''' <br> Although once considered boring office tools, photocopiers transformed into exciting modern Art mediums during the 1960s - 1980s. Photocopiers allowed Artist to make fast, cheap, abstract textured artworks. <br> <br> According to Wikipedia, Xerox art, sometimes called copy art, electrostatic art, scanography or xerography, is an art form that began in the 1960s. Paper prints are created by putting objects on the glass, or platen, of a photocopier and by pressing "start" to produce an image. [9] <br> <br> <br> <br> 1. Peyton, Minda. (2026) Feed Your Head: Art, Truth, And The Machine. Amazon 2. "Acrylic paint" September 9, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Acrylic_paint 3. "Collage" September 4, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Collage 4. "Camera" September 5, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Camera 5. "Photography" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Photography 6. "Paintbrush" March 16, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Paintbrush 7. "Palette knife" June 3, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Palette_knife 8. "Printmaking" September 10, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Printmaking 9. "Xerox art" April 26, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Xerox_art {{BookCat}} k4rxya30y74pbm04v46aohwdenx0tvz 4670058 4670055 2026-09-14T15:16:03Z 3MMPEYTON 3393808 4670058 wikitext text/x-wiki == Tools Of The Artist == In Feed Your Head: Art, Truth, And The Machine, the tools of the Artist are contemplated. "Art has always evolved alongside the tools of the Artist." [1] <br> Microsoft Copilot: We are still using 19th century ideas of 'authenticity' to judge 21st century tools. [1] <br> <br> <u>Feed Your Head: Art, Truth, And The Machine:</u> Every era has a moment when it's tools outgrow its traditions. For the nineteenth century, that moment arrived with the camera. A single invention forced Artists to confront a new kind of truth -- one produced not by the hand, but by a machine. Some saw this as the end of painting. Others saw this as the beginning of a new imagination. Modernism emerged from that tension: a movement born from the realization that when technology masters one domain of art, artists must discover another. [1] <br> <br> ==== Modernist: ==== Modern Art breaths color. Modern Art museums are filled with colorful works of Art. Previously, great works of Art were made from simple mediums. Prehistoric Artists had limited Art media, or materials, to work with. Cave Art made by early humans used water, natural pigments, soot and charcoal, at best 4 mediums. <br> <br> The Modernist Painters were introduced to a plethora of Art media, largely due to progress made during the Industrial Revolution. The Industrial Revolution brought sweeping changes. For the first time, Modern Artist had access to newer paints with brighter colors. <br> <br> For example: Acrylic paint was considered an advancement because acrylics dry fast. Acrylic paints are made of pigment "suspended in acrylic polymer emulsion and plasticizers, silicone oils, defoamers, stabilizers or metal soaps." [2] <br> <br> '''Acrylic Paints:''' <br> According to Wikipedia, acrylic paint was developed in 1934 by BASF, a German chemical company which created the first usable acrylic resin dispersion. [2] <br> <br> Mexican mural Painters like Diego Rivera, David Alfaro Siqueiros, and Jake Orozco were among the first Modernists to experiment with acrylic paints. <br> <br> '''Collage:''' <br> The word collage is from the French: coller, "to glue" or "to stick together." [3] Collage is a technique of art creation, primarily used in the visual arts. It is Art made from an assembly of different forms, thus creating a new whole. [3] <br> <br> A collage may include magazine and newspaper clippings, paint, bits of colored or handmade papers, ribbons, portions of other artwork or texts, photographs, or other found objects glued to a piece of paper or canvas. [3] <br> <br> Pablo Picasso and George Braque popularized the term Papier collé in the beginning of the 20th century when collage became a unique part of Modern Art. <br> <br> <br> '''Camera:''' <br> The invention of the camera dates back to the 19th century, it has since evolved with advancements in technology, leading to a large collection of types and different models in the 21st century. [4] <br> The camera is a pivotal technology in the fields of photography and videography. The camera has played a significant role in the progression of visual arts, entertainment, media, scientific research, and surveillance. <br> A camera is an instrument used to capture and store images and videos, either digitally via an electronic image sensor, or chemically via a light-sensitive material such as photographic film. [4] <br> <br> During the 20th century, both fine art photography and documentary photography became accepted by the English-speaking art world and the gallery system. It was slow progress accelerated in the United States, by a handful of photographers: Alfred Stieglitz, Edward Steichen, John Szarkowski, F. Holland Day, and Edward Weston. These Photographers spent their lives advocating for photography as a fine art. [5] <br> <br> In artistic circles, the aesthetics of photography is a matter that continues to be discussed. Many artists argued that photography was the mechanical reproduction of an image, not Art. If photography is authentically Art, then photography in the context of Art would need redefinition, such as determining what component of a photograph makes it beautiful to the viewer. The controversy began with the earliest images "written with light"; Nicéphore Niépce, Louis Daguerre, and others among the very earliest photographers were met with acclaim, although some questioned if their work met the definitions and functions of art. [5] <br> <br> <br> '''Industrial House Painting Brushes:''' <br> A paintbrush is a brush used to apply paint or ink. Paintbrushes were used by humans as early as the Paleolithic era around 2.5 million years ago in order to apply pigment. [6] <br> <br> The paintbrushes used by most Artist are small. Short handled brushes are typically used for flat or slightly tilted work surfaces such as watercolor painting and ink painting. Long handled brushes are held horizontally while working on a vertical canvas such as for oil paint or acrylic paint. [6] <br> The most common styles of brush tips are: Round, Flat, Bright, Filbert, Fan, Angle, Mop, Rigger, Strippler, Liner, Dagger, Scripts and Egbert. [6] <br> <br> Modernist Artists, such as Jackson Pollock, broke away from the norm by using normal house paintbrushes to drip, pour, and fling paint onto his canvas, typically found on the floor. In fact, several influential modern and Abstract Expressionist Artists rejected traditional fine-art brushes in favor of commercial house-painting brushes, used to achieve bold, raw gestural marks. <br> <br> Willem de Kooning used everyday housepainter's brushes. He bought inexpensive packs from local hardware stores, along with spatulas and scrapers. He used these commercial tools to build up sculptural, and heavy textured layers. <br> <br> Franz Kline used large, industrial house-painting brushes and cheap enamel house paint to create his bold, iconic, monumental black-and-white abstractions. Using large, stiff brushes, Kline was able to apply thick markings with fast body gestures. <br> <br> <br> '''Palette Knives:''' <br> A palette knife is a blunt tool with a flexible steel blade, used for mixing or applying paint. It is primarily used for applying paint to the canvas. [7 ] <br> <br> Bob Ross was a famous Post-Modern Painter who used a palette knife in his works. Other famous palette knife users include: Henri Matisse, Marc Chagall, Dmitry Spiros and Leonid Afremov. <br> Leonid Afremov is a famous modern impressionistic Artist who worked almost exclusively with a palette knife and oil paint to create vibrate, colorful landscapes. <br> <br> <br> '''Printmaking:''' <br> Many famous modern and Post-Modern Artists use printmaking as a major part of their creative work. Printmaking is the process of creating artworks by printing, normally on paper, but also on other surfaces. [8] <br> <br> Prints are created by transferring ink from a matrix, something which carries the image and the ink, to a sheet of paper or other material. Common types of matrices include: metal plates for engraving, etching and related intaglio printing techniques; stone, aluminum, or polymer for lithography; blocks of wood for woodcuts and wood engravings; and linoleum for linocuts. Screens made of silk or synthetic fabrics are used for the screen printing process. [8] <br> <br> The printmaking processes have the capacity to produce identical multiples of the same artwork, which is called a print. Each print produced is considered an "original" work of art, and is correctly referred to as an "impression," not a "copy." [8] <br> <br> Andy Warhol popularized screenprinting in the 20th century using bright, repeated colors. Iconic works include ''Marilyn Monroe'' and ''Campbell's Soup Cans''. <br> <br> Pablo Picasso used the reduction linocut technique. He carved a single piece of linoleum multiple times for multi-color prints. Picasso created striking portraits like ''Jacqueline with Glossy Hair''. <br> <br> Other Painters like Keith Haring used bold lines and lithography to produce prints like ''People Ladder''. <br> <br> <br> '''Photocopiers "Xerox Art":''' <br> Although once considered boring office tools, photocopiers transformed into exciting modern Art mediums during the 1960s - 1980s. Photocopiers allowed Artist to make fast, cheap, abstract textured artworks. <br> <br> According to Wikipedia, Xerox art, sometimes called copy art, electrostatic art, scanography or xerography, is an art form that began in the 1960s. Paper prints are created by putting objects on the glass, or platen, of a photocopier and by pressing "start" to produce an image. [9] <br> <br> The first artists recognized to make copy art are Charles Arnold, Jr., and Wallace Berman. Charles Arnold, Jr., an instructor at Rochester Institute of Technology, made the first photocopies with artistic intent in 1961 using a large Xerox camera on an experimental basis. <br> Berman, called the "father" of assemblage art, would use a Verifax photocopy machine (Kodak) to make copies of the images, which he would often juxtapose in a grid format. [9] <br> Berman and Arnold used machine errors, paper jams, and double-exposures to build abstract collages. <br> <br> In the 1970s, color copiers arrived into the office space. Pioneers like Sonia Landy Sheridan and Esta Nesbitt invented new styles using color copiers. <br> Sonia Landy Sheridan began teaching the first course in the use of copiers at the Art Institute of Chicago in 1970 [9] <br> In the 1960s and 1970s, Esta Nesbitt was one of the earliest artists experimenting with xerox art. She invented three xerography techniques, named transcapsa, photo-transcapsa, and chromacapsa. [9] <br> <br> The copier attracted many famous Artists, like David Hockney and Jean-Michel Basquiat. <br> <br> Jean-Michel Basquiat loved the look of photocopies so much, that he brought his own Xerox machine. He used Jean-Michel Basquiat's Xerox collages to mix paint splatters, text, and candy wrappers into layered pieces. <br> <br> David Hockney made many "home-made prints" by placing objects and colored papers directly on the glass scanner. <br> <br> <br> <br> <br> 1. Peyton, Minda. (2026) Feed Your Head: Art, Truth, And The Machine. Amazon 2. "Acrylic paint" September 9, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Acrylic_paint 3. "Collage" September 4, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Collage 4. "Camera" September 5, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Camera 5. "Photography" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Photography 6. "Paintbrush" March 16, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Paintbrush 7. "Palette knife" June 3, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Palette_knife 8. "Printmaking" September 10, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Printmaking 9. "Xerox art" April 26, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Xerox_art {{BookCat}} 171op7ue5yq9r6wjbriktbnqha8ea65 4670060 4670058 2026-09-14T15:25:54Z 3MMPEYTON 3393808 4670060 wikitext text/x-wiki == Tools Of The Artist == In Feed Your Head: Art, Truth, And The Machine, the tools of the Artist are contemplated. "Art has always evolved alongside the tools of the Artist." [1] <br> Microsoft Copilot: We are still using 19th century ideas of 'authenticity' to judge 21st century tools. [1] <br> <br> <u>Feed Your Head: Art, Truth, And The Machine:</u> Every era has a moment when it's tools outgrow its traditions. For the nineteenth century, that moment arrived with the camera. A single invention forced Artists to confront a new kind of truth -- one produced not by the hand, but by a machine. Some saw this as the end of painting. Others saw this as the beginning of a new imagination. Modernism emerged from that tension: a movement born from the realization that when technology masters one domain of art, artists must discover another. [1] <br> <br> ==== Modernist: ==== Modern Art breaths color. Modern Art museums are filled with colorful works of Art. Previously, great works of Art were made from simple mediums. Prehistoric Artists had limited Art media, or materials, to work with. Cave Art made by early humans used water, natural pigments, soot and charcoal, at best 4 mediums. <br> <br> The Modernist Painters were introduced to a plethora of Art media, largely due to progress made during the Industrial Revolution. The Industrial Revolution brought sweeping changes. For the first time, Modern Artist had access to newer paints with brighter colors. <br> <br> For example: Acrylic paint was considered an advancement because acrylics dry fast. Acrylic paints are made of pigment "suspended in acrylic polymer emulsion and plasticizers, silicone oils, defoamers, stabilizers or metal soaps." [2] <br> <br> '''Acrylic Paints:''' <br> According to Wikipedia, acrylic paint was developed in 1934 by BASF, a German chemical company which created the first usable acrylic resin dispersion. [2] <br> <br> Mexican mural Painters like Diego Rivera, David Alfaro Siqueiros, and Jake Orozco were among the first Modernists to experiment with acrylic paints. <br> <br> '''Collage:''' <br> The word collage is from the French: coller, "to glue" or "to stick together." [3] Collage is a technique of art creation, primarily used in the visual arts. It is Art made from an assembly of different forms, thus creating a new whole. [3] <br> <br> A collage may include magazine and newspaper clippings, paint, bits of colored or handmade papers, ribbons, portions of other artwork or texts, photographs, or other found objects glued to a piece of paper or canvas. [3] <br> <br> Pablo Picasso and George Braque popularized the term Papier collé in the beginning of the 20th century when collage became a unique part of Modern Art. <br> <br> <br> '''Camera:''' <br> The invention of the camera dates back to the 19th century, it has since evolved with advancements in technology, leading to a large collection of types and different models in the 21st century. [4] <br> The camera is a pivotal technology in the fields of photography and videography. The camera has played a significant role in the progression of visual arts, entertainment, media, scientific research, and surveillance. <br> A camera is an instrument used to capture and store images and videos, either digitally via an electronic image sensor, or chemically via a light-sensitive material such as photographic film. [4] <br> <br> During the 20th century, both fine art photography and documentary photography became accepted by the English-speaking art world and the gallery system. It was slow progress accelerated in the United States, by a handful of photographers: Alfred Stieglitz, Edward Steichen, John Szarkowski, F. Holland Day, and Edward Weston. These Photographers spent their lives advocating for photography as a fine art. [5] <br> <br> In artistic circles, the aesthetics of photography is a matter that continues to be discussed. Many artists argued that photography was the mechanical reproduction of an image, not Art. If photography is authentically Art, then photography in the context of Art would need redefinition, such as determining what component of a photograph makes it beautiful to the viewer. The controversy began with the earliest images "written with light"; Nicéphore Niépce, Louis Daguerre, and others among the very earliest photographers were met with acclaim, although some questioned if their work met the definitions and functions of art. [5] <br> <br> <br> '''Industrial House Painting Brushes:''' <br> A paintbrush is a brush used to apply paint or ink. Paintbrushes were used by humans as early as the Paleolithic era around 2.5 million years ago in order to apply pigment. [6] <br> <br> The paintbrushes used by most Artist are small. Short handled brushes are typically used for flat or slightly tilted work surfaces such as watercolor painting and ink painting. Long handled brushes are held horizontally while working on a vertical canvas such as for oil paint or acrylic paint. [6] <br> The most common styles of brush tips are: Round, Flat, Bright, Filbert, Fan, Angle, Mop, Rigger, Strippler, Liner, Dagger, Scripts and Egbert. [6] <br> <br> Modernist Artists, such as Jackson Pollock, broke away from the norm by using normal house paintbrushes to drip, pour, and fling paint onto his canvas, typically found on the floor. In fact, several influential modern and Abstract Expressionist Artists rejected traditional fine-art brushes in favor of commercial house-painting brushes, used to achieve bold, raw gestural marks. <br> <br> Willem de Kooning used everyday housepainter's brushes. He bought inexpensive packs from local hardware stores, along with spatulas and scrapers. He used these commercial tools to build up sculptural, and heavy textured layers. <br> <br> Franz Kline used large, industrial house-painting brushes and cheap enamel house paint to create his bold, iconic, monumental black-and-white abstractions. Using large, stiff brushes, Kline was able to apply thick markings with fast body gestures. <br> <br> <br> '''Palette Knives:''' <br> A palette knife is a blunt tool with a flexible steel blade, used for mixing or applying paint. It is primarily used for applying paint to the canvas. [7 ] <br> <br> Bob Ross was a famous Post-Modern Painter who used a palette knife in his works. Other famous palette knife users include: Henri Matisse, Marc Chagall, Dmitry Spiros and Leonid Afremov. <br> Leonid Afremov is a famous modern impressionistic Artist who worked almost exclusively with a palette knife and oil paint to create vibrate, colorful landscapes. <br> <br> <br> '''Printmaking:''' <br> Many famous modern and Post-Modern Artists use printmaking as a major part of their creative work. Printmaking is the process of creating artworks by printing, normally on paper, but also on other surfaces. [8] <br> <br> Prints are created by transferring ink from a matrix, something which carries the image and the ink, to a sheet of paper or other material. Common types of matrices include: metal plates for engraving, etching and related intaglio printing techniques; stone, aluminum, or polymer for lithography; blocks of wood for woodcuts and wood engravings; and linoleum for linocuts. Screens made of silk or synthetic fabrics are used for the screen printing process. [8] <br> <br> The printmaking processes have the capacity to produce identical multiples of the same artwork, which is called a print. Each print produced is considered an "original" work of art, and is correctly referred to as an "impression," not a "copy." [8] <br> <br> Andy Warhol popularized screenprinting in the 20th century using bright, repeated colors. Iconic works include ''Marilyn Monroe'' and ''Campbell's Soup Cans''. <br> <br> Pablo Picasso used the reduction linocut technique. He carved a single piece of linoleum multiple times for multi-color prints. Picasso created striking portraits like ''Jacqueline with Glossy Hair''. <br> <br> Other Painters like Keith Haring used bold lines and lithography to produce prints like ''People Ladder''. <br> <br> <br> '''Photocopiers "Xerox Art":''' <br> Although once considered boring office tools, photocopiers transformed into exciting modern Art mediums during the 1960s - 1980s. Photocopiers allowed Artist to make fast, cheap, abstract textured artworks. <br> <br> According to Wikipedia, Xerox art, sometimes called copy art, electrostatic art, scanography or xerography, is an art form that began in the 1960s. Paper prints are created by putting objects on the glass, or platen, of a photocopier and by pressing "start" to produce an image. [9] <br> <br> The first artists recognized to make copy art are Charles Arnold, Jr., and Wallace Berman. Charles Arnold, Jr., an instructor at Rochester Institute of Technology, made the first photocopies with artistic intent in 1961 using a large Xerox camera on an experimental basis. <br> Berman, called the "father" of assemblage art, would use a Verifax photocopy machine (Kodak) to make copies of the images, which he would often juxtapose in a grid format. [9] <br> Berman and Arnold used machine errors, paper jams, and double-exposures to build abstract collages. <br> <br> In the 1970s, color copiers arrived into the office space. Pioneers like Sonia Landy Sheridan and Esta Nesbitt invented new styles using color copiers. <br> Sonia Landy Sheridan began teaching the first course in the use of copiers at the Art Institute of Chicago in 1970 [9] <br> In the 1960s and 1970s, Esta Nesbitt was one of the earliest artists experimenting with xerox art. She invented three xerography techniques, named transcapsa, photo-transcapsa, and chromacapsa. [9] <br> <br> The copier attracted many famous Artists, like David Hockney and Jean-Michel Basquiat. <br> <br> Jean-Michel Basquiat loved the look of photocopies so much, that he brought his own Xerox machine. He used Jean-Michel Basquiat's Xerox collages to mix paint splatters, text, and candy wrappers into layered pieces. <br> <br> David Hockney made many "home-made prints" by placing objects and colored papers directly on the glass scanner. <br> <br> {| class="wikitable" |+ Xerox Art |- ! |- | [[File:California Poppy Scanograph cropped.png|thumb|California Poppy Scanograph cropped]] || [[File:All-Army photo contest U.S. Army Family and MWR Command 090225 (4910399811).jpg|thumb|All-Army photo contest U.S. Army Family and MWR Command 090225 (4910399811)]] |} <br> <br> <br> 1. Peyton, Minda. (2026) Feed Your Head: Art, Truth, And The Machine. Amazon 2. "Acrylic paint" September 9, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Acrylic_paint 3. "Collage" September 4, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Collage 4. "Camera" September 5, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Camera 5. "Photography" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Photography 6. "Paintbrush" March 16, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Paintbrush 7. "Palette knife" June 3, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Palette_knife 8. "Printmaking" September 10, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Printmaking 9. "Xerox art" April 26, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Xerox_art {{BookCat}} t1gbi2vrwc3focc0jtdvzov2bwe9xl7 4670065 4670060 2026-09-14T16:10:32Z 3MMPEYTON 3393808 4670065 wikitext text/x-wiki == Tools Of The Artist == In Feed Your Head: Art, Truth, And The Machine, the tools of the Artist are contemplated. "Art has always evolved alongside the tools of the Artist." [1] <br> Microsoft Copilot: We are still using 19th century ideas of 'authenticity' to judge 21st century tools. [1] <br> <br> <u>Feed Your Head: Art, Truth, And The Machine:</u> Every era has a moment when it's tools outgrow its traditions. For the nineteenth century, that moment arrived with the camera. A single invention forced Artists to confront a new kind of truth -- one produced not by the hand, but by a machine. Some saw this as the end of painting. Others saw this as the beginning of a new imagination. Modernism emerged from that tension: a movement born from the realization that when technology masters one domain of art, artists must discover another. [1] <br> <br> ==== Modernist: ==== Modern Art breaths color. Modern Art museums are filled with colorful works of Art. Previously, great works of Art were made from simple mediums. Prehistoric Artists had limited Art media, or materials, to work with. Cave Art made by early humans used water, natural pigments, soot and charcoal, at best 4 mediums. <br> <br> The Modernist Painters were introduced to a plethora of Art media, largely due to progress made during the Industrial Revolution. The Industrial Revolution brought sweeping changes. For the first time, Modern Artist had access to newer paints with brighter colors. <br> <br> For example: Acrylic paint was considered an advancement because acrylics dry fast. Acrylic paints are made of pigment "suspended in acrylic polymer emulsion and plasticizers, silicone oils, defoamers, stabilizers or metal soaps." [2] <br> <br> '''Acrylic Paints:''' <br> According to Wikipedia, acrylic paint was developed in 1934 by BASF, a German chemical company which created the first usable acrylic resin dispersion. [2] <br> <br> Mexican mural Painters like Diego Rivera, David Alfaro Siqueiros, and Jake Orozco were among the first Modernists to experiment with acrylic paints. <br> <br> '''Collage:''' <br> The word collage is from the French: coller, "to glue" or "to stick together." [3] Collage is a technique of art creation, primarily used in the visual arts. It is Art made from an assembly of different forms, thus creating a new whole. [3] <br> <br> A collage may include magazine and newspaper clippings, paint, bits of colored or handmade papers, ribbons, portions of other artwork or texts, photographs, or other found objects glued to a piece of paper or canvas. [3] <br> <br> Pablo Picasso and George Braque popularized the term Papier collé in the beginning of the 20th century when collage became a unique part of Modern Art. <br> <br> <br> '''Camera:''' <br> The invention of the camera dates back to the 19th century, it has since evolved with advancements in technology, leading to a large collection of types and different models in the 21st century. [4] <br> The camera is a pivotal technology in the fields of photography and videography. The camera has played a significant role in the progression of visual arts, entertainment, media, scientific research, and surveillance. <br> A camera is an instrument used to capture and store images and videos, either digitally via an electronic image sensor, or chemically via a light-sensitive material such as photographic film. [4] <br> <br> During the 20th century, both fine art photography and documentary photography became accepted by the English-speaking art world and the gallery system. It was slow progress accelerated in the United States, by a handful of photographers: Alfred Stieglitz, Edward Steichen, John Szarkowski, F. Holland Day, and Edward Weston. These Photographers spent their lives advocating for photography as a fine art. [5] <br> <br> In artistic circles, the aesthetics of photography is a matter that continues to be discussed. Many artists argued that photography was the mechanical reproduction of an image, not Art. If photography is authentically Art, then photography in the context of Art would need redefinition, such as determining what component of a photograph makes it beautiful to the viewer. The controversy began with the earliest images "written with light"; Nicéphore Niépce, Louis Daguerre, and others among the very earliest photographers were met with acclaim, although some questioned if their work met the definitions and functions of art. [5] <br> <br> <br> '''Industrial House Painting Brushes:''' <br> A paintbrush is a brush used to apply paint or ink. Paintbrushes were used by humans as early as the Paleolithic era around 2.5 million years ago in order to apply pigment. [6] <br> <br> The paintbrushes used by most Artist are small. Short handled brushes are typically used for flat or slightly tilted work surfaces such as watercolor painting and ink painting. Long handled brushes are held horizontally while working on a vertical canvas such as for oil paint or acrylic paint. [6] <br> The most common styles of brush tips are: Round, Flat, Bright, Filbert, Fan, Angle, Mop, Rigger, Strippler, Liner, Dagger, Scripts and Egbert. [6] <br> <br> Modernist Artists, such as Jackson Pollock, broke away from the norm by using normal house paintbrushes to drip, pour, and fling paint onto his canvas, typically found on the floor. In fact, several influential modern and Abstract Expressionist Artists rejected traditional fine-art brushes in favor of commercial house-painting brushes, used to achieve bold, raw gestural marks. <br> <br> Willem de Kooning used everyday housepainter's brushes. He bought inexpensive packs from local hardware stores, along with spatulas and scrapers. He used these commercial tools to build up sculptural, and heavy textured layers. <br> <br> Franz Kline used large, industrial house-painting brushes and cheap enamel house paint to create his bold, iconic, monumental black-and-white abstractions. Using large, stiff brushes, Kline was able to apply thick markings with fast body gestures. <br> <br> <br> '''Palette Knives:''' <br> A palette knife is a blunt tool with a flexible steel blade, used for mixing or applying paint. It is primarily used for applying paint to the canvas. [7 ] <br> <br> Bob Ross was a famous Post-Modern Painter who used a palette knife in his works. Other famous palette knife users include: Henri Matisse, Marc Chagall, Dmitry Spiros and Leonid Afremov. <br> Leonid Afremov is a famous modern impressionistic Artist who worked almost exclusively with a palette knife and oil paint to create vibrate, colorful landscapes. <br> <br> <br> '''Printmaking:''' <br> Many famous modern and Post-Modern Artists use printmaking as a major part of their creative work. Printmaking is the process of creating artworks by printing, normally on paper, but also on other surfaces. [8] <br> <br> Prints are created by transferring ink from a matrix, something which carries the image and the ink, to a sheet of paper or other material. Common types of matrices include: metal plates for engraving, etching and related intaglio printing techniques; stone, aluminum, or polymer for lithography; blocks of wood for woodcuts and wood engravings; and linoleum for linocuts. Screens made of silk or synthetic fabrics are used for the screen printing process. [8] <br> <br> The printmaking processes have the capacity to produce identical multiples of the same artwork, which is called a print. Each print produced is considered an "original" work of art, and is correctly referred to as an "impression," not a "copy." [8] <br> <br> Andy Warhol popularized screenprinting in the 20th century using bright, repeated colors. Iconic works include ''Marilyn Monroe'' and ''Campbell's Soup Cans''. <br> <br> Pablo Picasso used the reduction linocut technique. He carved a single piece of linoleum multiple times for multi-color prints. Picasso created striking portraits like ''Jacqueline with Glossy Hair''. <br> <br> Other Painters like Keith Haring used bold lines and lithography to produce prints like ''People Ladder''. <br> <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Tools_Of_The_PostModern_Artist <br> <br> <br> ==== Reference Section ==== 1. Peyton, Minda. (2026) Feed Your Head: Art, Truth, And The Machine. Amazon 2. "Acrylic paint" September 9, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Acrylic_paint 3. "Collage" September 4, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Collage 4. "Camera" September 5, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Camera 5. "Photography" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Photography 6. "Paintbrush" March 16, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Paintbrush 7. "Palette knife" June 3, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Palette_knife 8. "Printmaking" September 10, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Printmaking {{BookCat}} 242o65e6mvoysgmwd57n3m2obnhqkpn 4670086 4670065 2026-09-14T19:07:13Z 3MMPEYTON 3393808 4670086 wikitext text/x-wiki == Tools Of The Artist == In Feed Your Head: Art, Truth, And The Machine, the tools of the Artist are contemplated. "Art has always evolved alongside the tools of the Artist." [1] <br> Microsoft Copilot: We are still using 19th century ideas of 'authenticity' to judge 21st century tools. [1] <br> <br> <u>Feed Your Head: Art, Truth, And The Machine:</u> Every era has a moment when it's tools outgrow its traditions. For the nineteenth century, that moment arrived with the camera. A single invention forced Artists to confront a new kind of truth -- one produced not by the hand, but by a machine. Some saw this as the end of painting. Others saw this as the beginning of a new imagination. Modernism emerged from that tension: a movement born from the realization that when technology masters one domain of art, artists must discover another. [1] <br> <br> ==== Modernist: ==== Modern Art breaths color. Modern Art museums are filled with colorful works of Art. Previously, great works of Art were made from simple mediums. Prehistoric Artists had limited Art media, or materials, to work with. Cave Art made by early humans used water, natural pigments, soot and charcoal, at best 4 mediums. <br> <br> The Modernist Painters were introduced to a plethora of Art media, largely due to progress made during the Industrial Revolution. The Industrial Revolution brought sweeping changes. For the first time, Modern Artist had access to newer paints with brighter colors. <br> <br> For example: Acrylic paint was considered an advancement because acrylics dry fast. Acrylic paints are made of pigment "suspended in acrylic polymer emulsion and plasticizers, silicone oils, defoamers, stabilizers or metal soaps." [2] <br> <br> '''Acrylic Paints:''' <br> According to Wikipedia, acrylic paint was developed in 1934 by BASF, a German chemical company which created the first usable acrylic resin dispersion. [2] <br> <br> Mexican mural Painters like Diego Rivera, David Alfaro Siqueiros, and Jake Orozco were among the first Modernists to experiment with acrylic paints. <br> <br> '''Collage:''' <br> The word collage is from the French: coller, "to glue" or "to stick together." [3] Collage is a technique of art creation, primarily used in the visual arts. It is Art made from an assembly of different forms, thus creating a new whole. [3] <br> <br> A collage may include magazine and newspaper clippings, paint, bits of colored or handmade papers, ribbons, portions of other artwork or texts, photographs, or other found objects glued to a piece of paper or canvas. [3] <br> <br> Pablo Picasso and George Braque popularized the term Papier collé in the beginning of the 20th century when collage became a unique part of Modern Art. <br> <br> <br> '''Camera:''' <br> The invention of the camera dates back to the 19th century, it has since evolved with advancements in technology, leading to a large collection of types and different models in the 21st century. [4] <br> The camera is a pivotal technology in the fields of photography and videography. The camera has played a significant role in the progression of visual arts, entertainment, media, scientific research, and surveillance. <br> A camera is an instrument used to capture and store images and videos, either digitally via an electronic image sensor, or chemically via a light-sensitive material such as photographic film. [4] <br> <br> During the 20th century, both fine art photography and documentary photography became accepted by the English-speaking art world and the gallery system. It was slow progress accelerated in the United States, by a handful of photographers: Alfred Stieglitz, Edward Steichen, John Szarkowski, F. Holland Day, and Edward Weston. These Photographers spent their lives advocating for photography as a fine art. [5] <br> <br> In artistic circles, the aesthetics of photography is a matter that continues to be discussed. Many artists argued that photography was the mechanical reproduction of an image, not Art. If photography is authentically Art, then photography in the context of Art would need redefinition, such as determining what component of a photograph makes it beautiful to the viewer. The controversy began with the earliest images "written with light"; Nicéphore Niépce, Louis Daguerre, and others among the very earliest photographers were met with acclaim, although some questioned if their work met the definitions and functions of art. [5] <br> <br> <br> '''Industrial House Painting Brushes:''' <br> A paintbrush is a brush used to apply paint or ink. Paintbrushes were used by humans as early as the Paleolithic era around 2.5 million years ago in order to apply pigment. [6] <br> <br> The paintbrushes used by most Artist are small. Short handled brushes are typically used for flat or slightly tilted work surfaces such as watercolor painting and ink painting. Long handled brushes are held horizontally while working on a vertical canvas such as for oil paint or acrylic paint. [6] <br> The most common styles of brush tips are: Round, Flat, Bright, Filbert, Fan, Angle, Mop, Rigger, Strippler, Liner, Dagger, Scripts and Egbert. [6] <br> <br> Modernist Artists, such as Jackson Pollock, broke away from the norm by using normal house paintbrushes to drip, pour, and fling paint onto his canvas, typically found on the floor. In fact, several influential modern and Abstract Expressionist Artists rejected traditional fine-art brushes in favor of commercial house-painting brushes, used to achieve bold, raw gestural marks. <br> <br> Willem de Kooning used everyday housepainter's brushes. He bought inexpensive packs from local hardware stores, along with spatulas and scrapers. He used these commercial tools to build up sculptural, and heavy textured layers. <br> <br> Franz Kline used large, industrial house-painting brushes and cheap enamel house paint to create his bold, iconic, monumental black-and-white abstractions. Using large, stiff brushes, Kline was able to apply thick markings with fast body gestures. <br> <br> <br> '''Palette Knives:''' <br> A palette knife is a blunt tool with a flexible steel blade, used for mixing or applying paint. It is primarily used for applying paint to the canvas. [7 ] <br> <br> Bob Ross was a famous Post-Modern Painter who used a palette knife in his works. Other famous palette knife users include: Henri Matisse, Marc Chagall, Dmitry Spiros and Leonid Afremov. <br> Leonid Afremov is a famous modern impressionistic Artist who worked almost exclusively with a palette knife and oil paint to create vibrate, colorful landscapes. <br> <br> <br> '''Printmaking:''' <br> Many famous modern and Post-Modern Artists use printmaking as a major part of their creative work. Printmaking is the process of creating artworks by printing, normally on paper, but also on other surfaces. [8] <br> <br> Prints are created by transferring ink from a matrix, something which carries the image and the ink, to a sheet of paper or other material. Common types of matrices include: metal plates for engraving, etching and related intaglio printing techniques; stone, aluminum, or polymer for lithography; blocks of wood for woodcuts and wood engravings; and linoleum for linocuts. Screens made of silk or synthetic fabrics are used for the screen printing process. [8] <br> <br> The printmaking processes have the capacity to produce identical multiples of the same artwork, which is called a print. Each print produced is considered an "original" work of art, and is correctly referred to as an "impression," not a "copy." [8] <br> <br> Andy Warhol popularized screenprinting in the 20th century using bright, repeated colors. Iconic works include ''Marilyn Monroe'' and ''Campbell's Soup Cans''. <br> <br> Pablo Picasso used the reduction linocut technique. He carved a single piece of linoleum multiple times for multi-color prints. Picasso created striking portraits like ''Jacqueline with Glossy Hair''. <br> <br> Other Painters like Keith Haring used bold lines and lithography to produce prints like ''People Ladder''. <br> <br> <br> '''Airbrush:''' <br> An airbrush is a small, air-operated tool that atomizes and sprays various mediums such as paint, ink, dye, and make-up. [9] <br> <br> Spray painting developed from the airbrush. The first spray painting device that could be called an airbrush was patented in 1876 (U.S. patent 182,389) by Francis Edgar Stanley of Newton, Massachusetts. This worked akin to a diffuser/atomizer and did not have a continuous air supply. [9] <br> It took four years of research and development before a working prototype was developed by Liberty Walkup of Illinois in Mt. Morris. Walkup patented the work under the name "air-brush", a name his wife Phoebe Walkup invented. The beginning of the name 'Air Brush' can be traced to a stakeholders' meeting of the new Air Brush Manufacturing Co. at 7:00 p.m. on October 6, 1883, when the name was formally born. [9] <br> <br> The airbrush was popularized in fine Art and in illustration by Pop Artist James Rosenquist, and by Illustrators like Alberto Vargas and George Petty. <br> <br> Alberto Vargas and George Petty were graphic Illustrators popular in the 1930s and 1940s. They used the airbrush to create smooth, glowing skin tones, and seamless gradients. <br> Other popular Painters like Man Ray, adopted the tool in the 1920s to create artworks. James Rosenquist, an influential Pop Art leader, used the airbrush on large canvases in the 1960s. The airbrush was used to mimic slick, glossy billboard advertisements. <br> <br> <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Tools_Of_The_PostModern_Artist <br> <br> <br> ==== Reference Section ==== 1. Peyton, Minda. (2026) Feed Your Head: Art, Truth, And The Machine. Amazon 2. "Acrylic paint" September 9, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Acrylic_paint 3. "Collage" September 4, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Collage 4. "Camera" September 5, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Camera 5. "Photography" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Photography 6. "Paintbrush" March 16, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Paintbrush 7. "Palette knife" June 3, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Palette_knife 8. "Printmaking" September 10, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Printmaking 9. "Airbrush" August 2, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Airbrush {{BookCat}} b2roytzmefumzmht3tswg1gr0a3oon3 4670095 4670086 2026-09-14T19:35:44Z 3MMPEYTON 3393808 4670095 wikitext text/x-wiki == Tools Of The Artist == In Feed Your Head: Art, Truth, And The Machine, the tools of the Artist are contemplated. "Art has always evolved alongside the tools of the Artist." [1] <br> Microsoft Copilot: We are still using 19th century ideas of 'authenticity' to judge 21st century tools. [1] <br> <br> <u>Feed Your Head: Art, Truth, And The Machine:</u> Every era has a moment when it's tools outgrow its traditions. For the nineteenth century, that moment arrived with the camera. A single invention forced Artists to confront a new kind of truth -- one produced not by the hand, but by a machine. Some saw this as the end of painting. Others saw this as the beginning of a new imagination. Modernism emerged from that tension: a movement born from the realization that when technology masters one domain of art, artists must discover another. [1] <br> <br> ==== Modernist: ==== Modern Art breaths color. Modern Art museums are filled with colorful works of Art. Previously, great works of Art were made from simple mediums. Prehistoric Artists had limited Art media, or materials, to work with. Cave Art made by early humans used water, natural pigments, soot and charcoal, at best 4 mediums. <br> <br> The Modernist Painters were introduced to a plethora of Art media, largely due to progress made during the Industrial Revolution. The Industrial Revolution brought sweeping changes. For the first time, Modern Artist had access to newer paints with brighter colors. <br> <br> For example: Acrylic paint was considered an advancement because acrylics dry fast. Acrylic paints are made of pigment "suspended in acrylic polymer emulsion and plasticizers, silicone oils, defoamers, stabilizers or metal soaps." [2] <br> <br> '''Acrylic Paints:''' <br> According to Wikipedia, acrylic paint was developed in 1934 by BASF, a German chemical company which created the first usable acrylic resin dispersion. [2] <br> <br> Mexican mural Painters like Diego Rivera, David Alfaro Siqueiros, and Jake Orozco were among the first Modernists to experiment with acrylic paints. <br> <br> '''Collage:''' <br> The word collage is from the French: coller, "to glue" or "to stick together." [3] Collage is a technique of art creation, primarily used in the visual arts. It is Art made from an assembly of different forms, thus creating a new whole. [3] <br> <br> A collage may include magazine and newspaper clippings, paint, bits of colored or handmade papers, ribbons, portions of other artwork or texts, photographs, or other found objects glued to a piece of paper or canvas. [3] <br> <br> Pablo Picasso and George Braque popularized the term Papier collé in the beginning of the 20th century when collage became a unique part of Modern Art. <br> <br> <br> '''Camera:''' <br> The invention of the camera dates back to the 19th century, it has since evolved with advancements in technology, leading to a large collection of types and different models in the 21st century. [4] <br> The camera is a pivotal technology in the fields of photography and videography. The camera has played a significant role in the progression of visual arts, entertainment, media, scientific research, and surveillance. <br> A camera is an instrument used to capture and store images and videos, either digitally via an electronic image sensor, or chemically via a light-sensitive material such as photographic film. [4] <br> <br> During the 20th century, both fine art photography and documentary photography became accepted by the English-speaking art world and the gallery system. It was slow progress accelerated in the United States, by a handful of photographers: Alfred Stieglitz, Edward Steichen, John Szarkowski, F. Holland Day, and Edward Weston. These Photographers spent their lives advocating for photography as a fine art. [5] <br> <br> In artistic circles, the aesthetics of photography is a matter that continues to be discussed. Many artists argued that photography was the mechanical reproduction of an image, not Art. If photography is authentically Art, then photography in the context of Art would need redefinition, such as determining what component of a photograph makes it beautiful to the viewer. The controversy began with the earliest images "written with light"; Nicéphore Niépce, Louis Daguerre, and others among the very earliest photographers were met with acclaim, although some questioned if their work met the definitions and functions of art. [5] <br> <br> <br> '''Industrial House Painting Brushes:''' <br> A paintbrush is a brush used to apply paint or ink. Paintbrushes were used by humans as early as the Paleolithic era around 2.5 million years ago in order to apply pigment. [6] <br> <br> The paintbrushes used by most Artist are small. Short handled brushes are typically used for flat or slightly tilted work surfaces such as watercolor painting and ink painting. Long handled brushes are held horizontally while working on a vertical canvas such as for oil paint or acrylic paint. [6] <br> The most common styles of brush tips are: Round, Flat, Bright, Filbert, Fan, Angle, Mop, Rigger, Strippler, Liner, Dagger, Scripts and Egbert. [6] <br> <br> Modernist Artists, such as Jackson Pollock, broke away from the norm by using normal house paintbrushes to drip, pour, and fling paint onto his canvas, typically found on the floor. In fact, several influential modern and Abstract Expressionist Artists rejected traditional fine-art brushes in favor of commercial house-painting brushes, used to achieve bold, raw gestural marks. <br> <br> Willem de Kooning used everyday housepainter's brushes. He bought inexpensive packs from local hardware stores, along with spatulas and scrapers. He used these commercial tools to build up sculptural, and heavy textured layers. <br> <br> Franz Kline used large, industrial house-painting brushes and cheap enamel house paint to create his bold, iconic, monumental black-and-white abstractions. Using large, stiff brushes, Kline was able to apply thick markings with fast body gestures. <br> <br> <br> '''Palette Knives:''' <br> A palette knife is a blunt tool with a flexible steel blade, used for mixing or applying paint. It is primarily used for applying paint to the canvas. [7 ] <br> <br> Bob Ross was a famous Post-Modern Painter who used a palette knife in his works. Other famous palette knife users include: Henri Matisse, Marc Chagall, Dmitry Spiros and Leonid Afremov. <br> Leonid Afremov is a famous modern impressionistic Artist who worked almost exclusively with a palette knife and oil paint to create vibrate, colorful landscapes. <br> <br> <br> '''Printmaking:''' <br> Many famous modern and Post-Modern Artists use printmaking as a major part of their creative work. Printmaking is the process of creating artworks by printing, normally on paper, but also on other surfaces. [8] <br> <br> Prints are created by transferring ink from a matrix, something which carries the image and the ink, to a sheet of paper or other material. Common types of matrices include: metal plates for engraving, etching and related intaglio printing techniques; stone, aluminum, or polymer for lithography; blocks of wood for woodcuts and wood engravings; and linoleum for linocuts. Screens made of silk or synthetic fabrics are used for the screen printing process. [8] <br> <br> The printmaking processes have the capacity to produce identical multiples of the same artwork, which is called a print. Each print produced is considered an "original" work of art, and is correctly referred to as an "impression," not a "copy." [8] <br> <br> Andy Warhol popularized screenprinting in the 20th century using bright, repeated colors. Iconic works include ''Marilyn Monroe'' and ''Campbell's Soup Cans''. <br> <br> Pablo Picasso used the reduction linocut technique. He carved a single piece of linoleum multiple times for multi-color prints. Picasso created striking portraits like ''Jacqueline with Glossy Hair''. <br> <br> Other Painters like Keith Haring used bold lines and lithography to produce prints like ''People Ladder''. <br> <br> <br> '''Airbrush:''' <br> An airbrush is a small, air-operated tool that atomizes and sprays various mediums such as paint, ink, dye, and make-up. [9] <br> <br> Spray painting developed from the airbrush. The first spray painting device that could be called an airbrush was patented in 1876 (U.S. patent 182,389) by Francis Edgar Stanley of Newton, Massachusetts. This worked akin to a diffuser/atomizer and did not have a continuous air supply. [9] <br> It took four years of research and development before a working prototype was developed by Liberty Walkup of Illinois in Mt. Morris. Walkup patented the work under the name "air-brush", a name his wife Phoebe Walkup invented. The beginning of the name 'Air Brush' can be traced to a stakeholders' meeting of the new Air Brush Manufacturing Co. at 7:00 p.m. on October 6, 1883, when the name was formally born. [9] <br> <br> The airbrush was popularized in fine Art and in illustration by Pop Artist James Rosenquist, and by Illustrators like Alberto Vargas and George Petty. <br> <br> Alberto Vargas and George Petty were graphic Illustrators popular in the 1930s and 1940s. They used the airbrush to create smooth, glowing skin tones, and seamless gradients. <br> Other popular Painters like Man Ray, adopted the tool in the 1920s to create artworks. James Rosenquist, an influential Pop Art leader, used the airbrush on large canvases in the 1960s. The airbrush was used to mimic slick, glossy billboard advertisements. <br> <br> <br> '''Spray Paint:''' <br> According to Wikipedia: Spray painting is a painting technique in which a device sprays coating material (paint, ink, varnish, etc.) through the air onto a surface. The most common types employ compressed gas—usually air—to atomize and direct the paint particles. [10] <br> <br> Spray guns evolved from airbrushes, and the two are usually distinguished by their size and the size of the spray pattern they produce. Airbrushes are hand-held and used instead of a brush for detailed work such as photo retouching, painting nails, or fine art. Air gun spraying uses generally larger equipment. It is typically used for covering large surfaces with an even coating of liquid. Spray guns can either be automated or hand-held and have interchangeable heads to allow for different spray patterns. [10] <br> <br> David Smith was a popular Painter who began creating his famous "Sprays" series in 1957. Smith, a former worker in locomotive factories, used industrial enamel spray paint and found-object stencils to create works of Art on canvas. <br> <br> Jean-Michel Basquiat and Keith Haring were popular Post-Modern Artist who brought spray paint from the subway walls into popular contemporary Art galleries and spaces in the 1980s. <br> <br> {| class="wikitable" |+ Art And AI: Spray Paint |- ! Early Spraycans !! Modern Spray Cans |- | [[File:Gold... Sweet....JPG|thumb|Gold... Sweet...]] || [[File:Spray cans 3.jpg|thumb|Spray cans 3]] |} <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Tools_Of_The_PostModern_Artist <br> <br> <br> ==== Reference Section ==== 1. Peyton, Minda. (2026) Feed Your Head: Art, Truth, And The Machine. Amazon 2. "Acrylic paint" September 9, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Acrylic_paint 3. "Collage" September 4, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Collage 4. "Camera" September 5, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Camera 5. "Photography" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Photography 6. "Paintbrush" March 16, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Paintbrush 7. "Palette knife" June 3, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Palette_knife 8. "Printmaking" September 10, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Printmaking 9. "Airbrush" August 2, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Airbrush 10. "Spray painting" August 31, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Spray_painting 11. Field, Jennifer Dr. <u>Sprays</u> - David Smith Viewing Room Hauser & Wirth https://www.hauserwirth.com {{BookCat}} 4to7byb62d5ta99iuka2yc9lyt2wacj Art And AI/Tools Of The PostModern Artist 0 485586 4670019 4669979 2026-09-14T12:40:29Z MathXplore 3097823 Added {{[[Template:BookCat|BookCat]]}} using [[User:1234qwer1234qwer4/BookCat.js|BookCat.js]] 4670019 wikitext text/x-wiki == Tools Of The Post-Modern Artist == Copilot: Now a new tool stands at the threshold of art. Artificial Intelligence does not hold a brush or mix pigments, yet it reaches into regions of [the] imagination that were once inaccessible. It can generate forms no human has seen, reveal patterns no eye has noticed, and offer visions shaped by the collective memory of culture itself. For some, this feels like another disruption -- a machine entering the sacred space of creativity. But for others, it feels like the next chapter in a long story: the moment when the imagination expands again, just as it did with the camera, with film, with digital media, and with every tool that once seemed too powerful to belong in the Artist's hand. [1] <br> <br> <br> 1. Peyton, Minda. (2026) ''Feed Your Head: Art, Truth, And The Machine''. Amazon {{BookCat}} t3rqlnhim0gmqixta9s7nd0kcsd3nh8 4670064 4670019 2026-09-14T16:07:04Z 3MMPEYTON 3393808 Added new section with 9 new paragraphs 4670064 wikitext text/x-wiki == Tools Of The Post-Modern Artist == Copilot: Now a new tool stands at the threshold of art. Artificial Intelligence does not hold a brush or mix pigments, yet it reaches into regions of [the] imagination that were once inaccessible. It can generate forms no human has seen, reveal patterns no eye has noticed, and offer visions shaped by the collective memory of culture itself. For some, this feels like another disruption -- a machine entering the sacred space of creativity. But for others, it feels like the next chapter in a long story: the moment when the imagination expands again, just as it did with the camera, with film, with digital media, and with every tool that once seemed too powerful to belong in the Artist's hand. [1] <br> <br> '''Photocopiers "Xerox Art":''' <br> Although once considered boring office tools, photocopiers transformed into exciting modern Art mediums during the 1960s - 1980s. Photocopiers allowed Artist to make fast, cheap, abstract textured artworks. <br> <br> According to Wikipedia, Xerox art, sometimes called copy art, electrostatic art, scanography or xerography, is an art form that began in the 1960s. Paper prints are created by putting objects on the glass, or platen, of a photocopier and by pressing "start" to produce an image. [2] <br> <br> The first artists recognized to make copy art are Charles Arnold, Jr., and Wallace Berman. Charles Arnold, Jr., an instructor at Rochester Institute of Technology, made the first photocopies with artistic intent in 1961 using a large Xerox camera on an experimental basis. <br> Berman, called the "father" of assemblage art, would use a Verifax photocopy machine (Kodak) to make copies of the images, which he would often juxtapose in a grid format. [2] <br> Berman and Arnold used machine errors, paper jams, and double-exposures to build abstract collages. <br> <br> In the 1970s, color copiers arrived into the office space. Pioneers like Sonia Landy Sheridan and Esta Nesbitt invented new styles using color copiers. <br> Sonia Landy Sheridan began teaching the first course in the use of copiers at the Art Institute of Chicago in 1970 [2] <br> In the 1960s and 1970s, Esta Nesbitt was one of the earliest artists experimenting with xerox art. She invented three xerography techniques, named transcapsa, photo-transcapsa, and chromacapsa. [2] <br> <br> The copier attracted many famous Artists, like David Hockney and Jean-Michel Basquiat. <br> <br> Jean-Michel Basquiat loved the look of photocopies so much, that he brought his own Xerox machine. He used Jean-Michel Basquiat's Xerox collages to mix paint splatters, text, and candy wrappers into layered pieces. <br> <br> David Hockney made many "home-made prints" by placing objects and colored papers directly on the glass scanner. <br> <br> {| class="wikitable" |+ Xerox Art |- ! |- | [[File:California Poppy Scanograph cropped.png|thumb|California Poppy Scanograph cropped]] || [[File:All-Army photo contest U.S. Army Family and MWR Command 090225 (4910399811).jpg|thumb|All-Army photo contest U.S. Army Family and MWR Command 090225 (4910399811)]] |} <br> <br> <br> <br> 1. Peyton, Minda. (2026) ''Feed Your Head: Art, Truth, And The Machine''. Amazon 2. "Xerox art" April 26, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Xerox_art {{BookCat}} aedu51cniroym0jmoqu1j0q1i6537mi 4670067 4670064 2026-09-14T16:18:15Z 3MMPEYTON 3393808 4670067 wikitext text/x-wiki == Tools Of The Post-Modern Artist == Copilot: Now a new tool stands at the threshold of art. Artificial Intelligence does not hold a brush or mix pigments, yet it reaches into regions of [the] imagination that were once inaccessible. It can generate forms no human has seen, reveal patterns no eye has noticed, and offer visions shaped by the collective memory of culture itself. For some, this feels like another disruption -- a machine entering the sacred space of creativity. But for others, it feels like the next chapter in a long story: the moment when the imagination expands again, just as it did with the camera, with film, with digital media, and with every tool that once seemed too powerful to belong in the Artist's hand. [1] <br> <br> From the late 19th century to the 1950s, Modernism dominated the Arts, although many seeds of Postmodernism began to emerge in the late 1940s and 1950s. By the 1970s, Postmodernism had gained clear ground and was established as the defining cultural movement of the 21st century. <br> <br> '''Photocopiers "Xerox Art":''' <br> Although once considered boring office tools, photocopiers transformed into exciting modern Art mediums during the 1960s - 1980s. Photocopiers allowed Artist to make fast, cheap, abstract textured artworks. <br> <br> According to Wikipedia, Xerox art, sometimes called copy art, electrostatic art, scanography or xerography, is an art form that began in the 1960s. Paper prints are created by putting objects on the glass, or platen, of a photocopier and by pressing "start" to produce an image. [2] <br> <br> The first artists recognized to make copy art are Charles Arnold, Jr., and Wallace Berman. Charles Arnold, Jr., an instructor at Rochester Institute of Technology, made the first photocopies with artistic intent in 1961 using a large Xerox camera on an experimental basis. <br> Berman, called the "father" of assemblage art, would use a Verifax photocopy machine (Kodak) to make copies of the images, which he would often juxtapose in a grid format. [2] <br> Berman and Arnold used machine errors, paper jams, and double-exposures to build abstract collages. <br> <br> In the 1970s, color copiers arrived into the office space. Pioneers like Sonia Landy Sheridan and Esta Nesbitt invented new styles using color copiers. <br> Sonia Landy Sheridan began teaching the first course in the use of copiers at the Art Institute of Chicago in 1970 [2] <br> In the 1960s and 1970s, Esta Nesbitt was one of the earliest artists experimenting with xerox art. She invented three xerography techniques, named transcapsa, photo-transcapsa, and chromacapsa. [2] <br> <br> The copier attracted many famous Artists, like David Hockney and Jean-Michel Basquiat. <br> <br> Jean-Michel Basquiat loved the look of photocopies so much, that he brought his own Xerox machine. He used Jean-Michel Basquiat's Xerox collages to mix paint splatters, text, and candy wrappers into layered pieces. <br> <br> David Hockney made many "home-made prints" by placing objects and colored papers directly on the glass scanner. <br> <br> {| class="wikitable" |+ Xerox Art |- ! |- | [[File:California Poppy Scanograph cropped.png|thumb|California Poppy Scanograph cropped]] || [[File:All-Army photo contest U.S. Army Family and MWR Command 090225 (4910399811).jpg|thumb|All-Army photo contest U.S. Army Family and MWR Command 090225 (4910399811)]] |} <br> <br> <br> <br> 1. Peyton, Minda. (2026) ''Feed Your Head: Art, Truth, And The Machine''. Amazon 2. "Xerox art" April 26, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Xerox_art {{BookCat}} grusat8mtvchk01th8f7ca2q8wgsyvy 4670101 4670067 2026-09-14T20:41:57Z 3MMPEYTON 3393808 4670101 wikitext text/x-wiki == Tools Of The Post-Modern Artist == Copilot: Now a new tool stands at the threshold of art. Artificial Intelligence does not hold a brush or mix pigments, yet it reaches into regions of [the] imagination that were once inaccessible. It can generate forms no human has seen, reveal patterns no eye has noticed, and offer visions shaped by the collective memory of culture itself. For some, this feels like another disruption -- a machine entering the sacred space of creativity. But for others, it feels like the next chapter in a long story: the moment when the imagination expands again, just as it did with the camera, with film, with digital media, and with every tool that once seemed too powerful to belong in the Artist's hand. [1] <br> <br> From the late 19th century to the 1950s, Modernism dominated the Arts, although many seeds of Postmodernism began to emerge in the late 1940s and 1950s. By the 1970s, Postmodernism had gained clear ground and was established as the defining cultural movement of the 21st century. <br> <br> '''Photocopiers "Xerox Art":''' <br> Although once considered boring office tools, photocopiers transformed into exciting modern Art mediums during the 1960s - 1980s. Photocopiers allowed Artist to make fast, cheap, abstract textured artworks. <br> <br> According to Wikipedia, Xerox art, sometimes called copy art, electrostatic art, scanography or xerography, is an art form that began in the 1960s. Paper prints are created by putting objects on the glass, or platen, of a photocopier and by pressing "start" to produce an image. [2] <br> <br> The first artists recognized to make copy art are Charles Arnold, Jr., and Wallace Berman. Charles Arnold, Jr., an instructor at Rochester Institute of Technology, made the first photocopies with artistic intent in 1961 using a large Xerox camera on an experimental basis. <br> Berman, called the "father" of assemblage art, would use a Verifax photocopy machine (Kodak) to make copies of the images, which he would often juxtapose in a grid format. [2] <br> Berman and Arnold used machine errors, paper jams, and double-exposures to build abstract collages. <br> <br> In the 1970s, color copiers arrived into the office space. Pioneers like Sonia Landy Sheridan and Esta Nesbitt invented new styles using color copiers. <br> Sonia Landy Sheridan began teaching the first course in the use of copiers at the Art Institute of Chicago in 1970 [2] <br> In the 1960s and 1970s, Esta Nesbitt was one of the earliest artists experimenting with xerox art. She invented three xerography techniques, named transcapsa, photo-transcapsa, and chromacapsa. [2] <br> <br> The copier attracted many famous Artists, like David Hockney and Jean-Michel Basquiat. <br> <br> Jean-Michel Basquiat loved the look of photocopies so much, that he brought his own Xerox machine. He used Jean-Michel Basquiat's Xerox collages to mix paint splatters, text, and candy wrappers into layered pieces. <br> <br> David Hockney made many "home-made prints" by placing objects and colored papers directly on the glass scanner. <br> <br> {| class="wikitable" |+ Xerox Art |- ! |- | [[File:California Poppy Scanograph cropped.png|thumb|California Poppy Scanograph cropped]] || [[File:All-Army photo contest U.S. Army Family and MWR Command 090225 (4910399811).jpg|thumb|All-Army photo contest U.S. Army Family and MWR Command 090225 (4910399811)]] |} <br> <br> '''Computers:''' <br> According to Wikipedia: <br> A computer is a machine that can be programmed to automatically carry out sequences of arithmetic or logical operations (computation). Modern digital electronic computers can perform generic sets of operations known as programs, which enable computers to perform a wide range of tasks. The term computer system may refer to a nominally complete computer that includes the hardware, operating system, software, and peripheral equipment needed and used for full operation, or to a group of computers that are linked and function together, such as a computer network or computer cluster. [3] <br> <br> Numbering only a few in the 1930s, today computers are popular worldwide. They reach over a broad range of industrial and consumer products that use computers as control systems. [3] <br> <br> Computers are at the core of general-purpose devices such as personal computers [PCs] and mobile devices, such as smartphones. Computers power the Internet, which is billions of computers and users linked together. <br> <br> Andy Warhol popularized personal computers (PCs) in mainstream culture when he used an Amiga 1000 PC to digitally paint a portrait of Debbie Harry live on stage in 1985. [4] <br> <br> Several Artists pioneered computer-generated Art decades before Andy Warhol brought popular visibility. <br> <br> Early Computer Artists: <br> - '''Charles Csuri''': Called the "father of computer Art and Animation." Csuri experimented with mainframes and with computer graphics at Ohio State University in 1963. <br> - '''John Whitney Sr.''': Early pioneer of computer graphics. He analog military computers to create influential abstract digital films like ''Catalog'' in 1961. <br> - '''Vera Molnar:''' An Artist from Hungary, who began using computers and algorithmic rules to generate geometric paintings starting in 1968. <br> - '''Georg Nees''': An academic from Germany, who staged the first-ever exhibition of computer-generated graphics in 1965. <br> <br> <br> {| class="wikitable" |+ Computer Art |- ! [[File:Computer art 2.png|thumb|Computer art 2]] !! [[File:Vera Molnár (1996).png|thumb|Vera Molnár (1996)]] !! [[File:Computer art.png|thumb|Computer art]] |- | [[File:Computer art 1.png|thumb|Computer art 1]] || [[File:Computer Turned On.svg|thumb|Computer Turned On]] || [[File:Computer art 9.gif|thumb|Computer art 9]] |} <br> <br> Reference Section: <br> 1. Peyton, Minda. (2026) ''Feed Your Head: Art, Truth, And The Machine''. Amazon 2. "Xerox art" April 26, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Xerox_art 3. "Computer" September 12, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Computer 4. Garcia, Chris. Warhol & The Computer June 25, 2013. www.computerhistory.org {{BookCat}} 6whjba0f9dr0v83b8d9ftz9fespfeme 4670115 4670101 2026-09-15T00:30:41Z 3MMPEYTON 3393808 4670115 wikitext text/x-wiki == Tools Of The Post-Modern Artist == Copilot: Now a new tool stands at the threshold of art. Artificial Intelligence does not hold a brush or mix pigments, yet it reaches into regions of [the] imagination that were once inaccessible. It can generate forms no human has seen, reveal patterns no eye has noticed, and offer visions shaped by the collective memory of culture itself. For some, this feels like another disruption -- a machine entering the sacred space of creativity. But for others, it feels like the next chapter in a long story: the moment when the imagination expands again, just as it did with the camera, with film, with digital media, and with every tool that once seemed too powerful to belong in the Artist's hand. [1] <br> <br> From the late 19th century to the 1950s, Modernism dominated the Arts, although many seeds of Postmodernism began to emerge in the late 1940s and 1950s. By the 1970s, Postmodernism had gained clear ground and was established as the defining cultural movement of the 21st century. <br> <br> '''Photocopiers "Xerox Art":''' <br> Although once considered boring office tools, photocopiers transformed into exciting modern Art mediums during the 1960s - 1980s. Photocopiers allowed Artist to make fast, cheap, abstract textured artworks. <br> <br> According to Wikipedia, Xerox art, sometimes called copy art, electrostatic art, scanography or xerography, is an art form that began in the 1960s. Paper prints are created by putting objects on the glass, or platen, of a photocopier and by pressing "start" to produce an image. [2] <br> <br> The first artists recognized to make copy art are Charles Arnold, Jr., and Wallace Berman. Charles Arnold, Jr., an instructor at Rochester Institute of Technology, made the first photocopies with artistic intent in 1961 using a large Xerox camera on an experimental basis. <br> Berman, called the "father" of assemblage art, would use a Verifax photocopy machine (Kodak) to make copies of the images, which he would often juxtapose in a grid format. [2] <br> Berman and Arnold used machine errors, paper jams, and double-exposures to build abstract collages. <br> <br> In the 1970s, color copiers arrived into the office space. Pioneers like Sonia Landy Sheridan and Esta Nesbitt invented new styles using color copiers. <br> Sonia Landy Sheridan began teaching the first course in the use of copiers at the Art Institute of Chicago in 1970 [2] <br> In the 1960s and 1970s, Esta Nesbitt was one of the earliest artists experimenting with xerox art. She invented three xerography techniques, named transcapsa, photo-transcapsa, and chromacapsa. [2] <br> <br> The copier attracted many famous Artists, like David Hockney and Jean-Michel Basquiat. <br> <br> Jean-Michel Basquiat loved the look of photocopies so much, that he brought his own Xerox machine. He used Jean-Michel Basquiat's Xerox collages to mix paint splatters, text, and candy wrappers into layered pieces. <br> <br> David Hockney made many "home-made prints" by placing objects and colored papers directly on the glass scanner. <br> <br> {| class="wikitable" |+ Xerox Art |- ! |- | [[File:California Poppy Scanograph cropped.png|thumb|California Poppy Scanograph cropped]] || [[File:All-Army photo contest U.S. Army Family and MWR Command 090225 (4910399811).jpg|thumb|All-Army photo contest U.S. Army Family and MWR Command 090225 (4910399811)]] |} <br> <br> '''Computers:''' <br> According to Wikipedia: <br> A computer is a machine that can be programmed to automatically carry out sequences of arithmetic or logical operations (computation). Modern digital electronic computers can perform generic sets of operations known as programs, which enable computers to perform a wide range of tasks. The term computer system may refer to a nominally complete computer that includes the hardware, operating system, software, and peripheral equipment needed and used for full operation, or to a group of computers that are linked and function together, such as a computer network or computer cluster. [3] <br> <br> Numbering only a few in the 1930s, today computers are popular worldwide. They reach over a broad range of industrial and consumer products that use computers as control systems. [3] <br> <br> Computers are at the core of general-purpose devices such as personal computers [PCs] and mobile devices, such as smartphones. Computers power the Internet, which is billions of computers and users linked together. <br> <br> Andy Warhol popularized personal computers (PCs) in mainstream culture when he used an Amiga 1000 PC to digitally paint a portrait of Debbie Harry live on stage in 1985. [4] <br> <br> Several Artists pioneered computer-generated Art decades before Andy Warhol brought popular visibility. <br> <br> Early Computer Artists: <br> - '''Charles Csuri''': Called the "father of computer Art and Animation." Csuri experimented with mainframes and with computer graphics at Ohio State University in 1963. <br> - '''John Whitney Sr.''': Early pioneer of computer graphics. He analog military computers to create influential abstract digital films like ''Catalog'' in 1961. <br> - '''Vera Molnar:''' An Artist from Hungary, who began using computers and algorithmic rules to generate geometric paintings starting in 1968. <br> - '''Georg Nees''': An academic from Germany, who staged the first-ever exhibition of computer-generated graphics in 1965. <br> <br> <br> {| class="wikitable" |+ Computer Art |- ! [[File:Computer art 2.png|thumb|Computer art 2]] !! [[File:Vera Molnár (1996).png|thumb|Vera Molnár (1996)]] !! [[File:Computer art.png|thumb|Computer art]] |- | [[File:Computer art 1.png|thumb|Computer art 1]] || [[File:Computer Turned On.svg|thumb|Computer Turned On]] || [[File:Computer art 9.gif|thumb|Computer art 9]] |} <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/More_Tools_Of_The_PostModern_Artist <br> <br> === Reference Section: === 1. Peyton, Minda. (2026) ''Feed Your Head: Art, Truth, And The Machine''. Amazon 2. "Xerox art" April 26, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Xerox_art 3. "Computer" September 12, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Computer 4. Garcia, Chris. Warhol & The Computer June 25, 2013. www.computerhistory.org {{BookCat}} mukq31xol1fm3g93keru6g8buzfxnqx Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6/4. Bg5 0 485590 4670025 2026-09-14T13:23:52Z Greenman 7490 . 4670025 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Pirc Defence| }} = 4. Bg5 · Pirc Defence= 4. Bg5 has the benefits of being both a sound move, and allowing the possibility of setting up a trap which has caught out even strong players on occasion. Black mostly responds by developing the bishop to g7, protecting their pawn structure and taking the natural square for their bishop. ==Theory table== {{ChessTable}} {{Chess/theory table |name1= |line1=4...Bg7 |eval1= }} {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}} 312vvbeu0foacupj01jfig7yvwqdhok 4670029 4670025 2026-09-14T13:32:12Z Greenman 7490 /* Theory table */ expand 4670029 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Pirc Defence| }} = 4. Bg5 · Pirc Defence= 4. Bg5 has the benefits of being both a sound move, and allowing the possibility of setting up a trap which has caught out even strong players on occasion. Black mostly responds by developing the bishop to g7, protecting their pawn structure and taking the natural square for their bishop. ==Theory table== {{ChessTable}} {{Chess/theory table |name1= |line1=4...Bg7 |eval1= |name2= |line2=4...c6 |eval2= |name3= |line3=4...h6 |eval3= |name4= |line4=4...Nd7 |eval4= }} {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}} 300n7w2vtkd1ro3yjkchmjq8i7tknwd Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6/4. Bg5/4...Bg7 0 485591 4670030 2026-09-14T13:37:08Z Greenman 7490 . 4670030 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Pirc Defence| }} = 4...Bg7 · Pirc Defence= 4. Bg7 is the most common and a natural response, both protecting Black's pawn structure and taking the natural square for the bishop. White has numerous responses here, 5. Qd2 being the most common, as well as 5. f4. 5. e5 is a sound line that also invites Black into a possible trap. ==Theory table== {{ChessTable}} {{Chess/theory table |name1= |line1=5. Qd2 |eval1= |name2= |line2=5. f4 |eval2= |name3= |line3=5. e5 |eval3= |name4= |line4=5. Qe2 |eval4= |name5= |line5=5. Nf3 |eval5= }} {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}} begyvxes92jzfjtxbowze5mqgidb8w2 Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6/4. Bg5/4...Bg7/5. e5 0 485592 4670032 2026-09-14T13:42:34Z Greenman 7490 . 4670032 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Pirc Defence| }} = 5. e5 · Pirc Defence= 5. e5 might look premature, but it's not easy for Black to respond accurately over the board, and playing intuitively can lead to disaster. ==Theory table== {{ChessTable}} {{Chess/theory table |name1= |line1=5...Nfd7 |eval1= |name2= |line2=5...dxe5 |eval2= |name3= |line3=5...Ng8 |eval3= }} {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}} fytvsgr0us90zzu13ge3okm0mws9j1o Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6/4. Bg5/4...Bg7/5. e5/5...dxe5 0 485593 4670033 2026-09-14T13:46:01Z Greenman 7490 . 4670033 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Pirc Defence| }} = 5...dxe5 · Pirc Defence= 5...dxe5 gives White only one viable response, 6. dxe5, allowing Black to exchange the queens if they wish. ==Theory table== {{ChessTable}} {{Chess/theory table |name1= |line1=6. dxe5 |eval1= }} {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}} 81q3fkqtyfv6iwyufshzj2iq3dsgdkk Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6/4. Bg5/4...Bg7/5. e5/5...dxe5/6. dxe5 0 485594 4670035 2026-09-14T13:48:44Z Greenman 7490 . 4670035 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Pirc Defence| }} = 6. dxe5 · Pirc Defence= Black can now exchange queens, or move the knight out of harms way. ==Theory table== {{ChessTable}} {{Chess/theory table |name1= |line1=6...Ng4 |eval1= |name2= |line2=6...Qxd1 |eval2= |name3= |line3=6...Nfd7 |eval3= }} {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}} 2pspjkh5dhqyyyyits5uo2ijhbgztbp Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6/4. Bg5/4...Bg7/5. e5/5...dxe5/6. dxe5/6...Qxd1 0 485595 4670036 2026-09-14T13:50:31Z Greenman 7490 Created page with "{{Chess Opening Theory/Position|= |Pirc Defence| }} = 6...Qxd1 · Pirc Defence= Black has exchanged queens, and White only has one viable response. Black however needs to be aware of the trap before their followup move. ==Theory table== {{ChessTable}} {{Chess/theory table |name1= |line1=7. Rxd1 |eval1= }} {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}}" 4670036 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Pirc Defence| }} = 6...Qxd1 · Pirc Defence= Black has exchanged queens, and White only has one viable response. Black however needs to be aware of the trap before their followup move. ==Theory table== {{ChessTable}} {{Chess/theory table |name1= |line1=7. Rxd1 |eval1= }} {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}} 1fdzr3y67a030tg4u4g2fgrubthlaez Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6/4. Bg5/4...Bg7/5. e5/5...dxe5/6. dxe5/6...Qxd1/7. Rxd1 0 485596 4670037 2026-09-14T13:52:51Z Greenman 7490 . 4670037 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Pirc Defence| }} = 7. Rxd1 · Pirc Defence= The trap is set, and black must beware. 7...Ng4 looks intuitive, but invites disaster! ==Theory table== {{ChessTable}} {{Chess/theory table |name1= |line1=7...Nfd7 |eval1= |name2= |line2=7...Ng8 |eval2= |name3= |line3=7...Ng4 |eval3=- }} {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}} ast129pw207j502ow6ms93yrroktit0 Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6/4. Bg5/4...Bg7/5. e5/5...dxe5/6. dxe5/6...Qxd1/7. Rxd1/7...Ng4 0 485597 4670039 2026-09-14T13:56:10Z Greenman 7490 . 4670039 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Pirc Defence| }} = 7...Ng4 · Pirc Defence= Commonly played, as it looks like it adds a second attacker to the advanced e5 pawn. However, Black has fallen into the trap! 8. h3, 8. f3 and 8. Nd5 all leave Black in tatters. ==Theory table== {{ChessTable}} {{Chess/theory table |name1= |line1=8. h3 |eval1= }} {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}} jwhe7raem6eoidgapywm0emwl8qj9t2 Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6/4. Bg5/4...Bg7/5. e5/5...dxe5/6. dxe5/6...Qxd1/7. Rxd1/7...Ng4/8. h3 0 485598 4670042 2026-09-14T14:00:41Z Greenman 7490 . 4670042 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Pirc Defence| }} = 8. h3 · Pirc Defence= White looks to be helping Black to capture the e-pawn, and the unprepared Black player may not even have considered this. However, by prodding Black to capture the pawn, White's trap is sprung. Black's best response is to sacrifice the knight, as White's knight is coming in d5 with catastrophic consequences. ==Theory table== {{ChessTable}} {{Chess/theory table |name1= |line1=8...Nxe5 |eval1= |name2= |line2=8...Bxe5 |eval2= |name3= |line3=8...Nc6 |eval3= |name4= |line4=8...Nxf2 |eval4= }} {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}} 76wl9h398fgifnhn20np9vfpp1cmhi4 Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6/4. Bg5/4...Bg7/5. e5/5...dxe5/6. dxe5/6...Qxd1/7. Rxd1/7...Ng4/8. h3/8...Nxe5 0 485599 4670045 2026-09-14T14:02:58Z Greenman 7490 . 4670045 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Pirc Defence| }} = 8...Nxe5 · Pirc Defence= Black captures the pawn, but White's knight can come to d5 with multiple threats, and Black's position has collapsed. ==Theory table== {{ChessTable}} {{Chess/theory table |name1= |line1=9. Nd5 |eval1= }} {{ChessMid}} ==References== {{reflist}} {{Chess Opening Theory/Footer}} l8ut3yj2usemawgc2rma1y2x3a1gi7v User talk:Max 3 485600 4670051 2026-09-14T14:26:32Z ~2026-40500-29 3615407 /* Information about speedy deletion on Wikibooks */ new section 4670051 wikitext text/x-wiki == Information about speedy deletion on Wikibooks == Hi Max, Where can I find information about speedy deletions at the English Wikibooks? Thanks in advance [[Special:Contributions/~2026-40500-29|~2026-40500-29]] ([[User talk:~2026-40500-29|talk]]) 14:26, 14 September 2026 (UTC) crn0qm37ab2z2wnb02l925db6kehyir Talk:Anatomy and Physiology of Animals/The Cell/Test Yourself Answers 1 485601 4670076 2026-09-14T17:51:03Z ~2026-49608-75 3625956 Created page with "cell ~~~~" 4670076 wikitext text/x-wiki cell [[Special:Contributions/~2026-49608-75|~2026-49608-75]] ([[User talk:~2026-49608-75|talk]]) 17:51, 14 September 2026 (UTC) q5je1n7mi698pbk60sa27s0a9bc26z3 4670077 4670076 2026-09-14T17:51:27Z Ternera 2679710 resetting tp 4670077 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Art And AI/More Tools Of The PostModern Artist 0 485604 4670102 2026-09-14T21:20:04Z 3MMPEYTON 3393808 Created page with "== More Tools Of The Post-Modern Artist == Time-lapse Equipment Artificial Intelligence (AI) AI Driven Robots Neural Networks" 4670102 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == Time-lapse Equipment Artificial Intelligence (AI) AI Driven Robots Neural Networks pf54s58z7el4fvfzfvtv7sef5cd7q5y 4670103 4670102 2026-09-14T22:04:45Z 3MMPEYTON 3393808 4670103 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [2] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> Marcello Barenghi: An influential hyper-realism post-Modern Painter, uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> <br> Thijme Termaat: A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> Andrew Tischler: A realist Painter with a global audience, who publishes detailed painting tutorials and time-lapse breakdowns of landscape and his wildlife oil paintings. <br> <br> Ryan Davis: A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> Joe Lycett: A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> Artificial Intelligence (AI) <br> AI Driven Robots <br> Neural Networks <br> swgi42i4wy6l005wtlfg1gj3ur3raze 4670104 4670103 2026-09-14T22:09:10Z 3MMPEYTON 3393808 4670104 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [1] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> '''Marcello Barenghi''': An influential hyper-realism post-Modern Painter, uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> <br> '''Thijme Termaat''': A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> '''Andrew Tischler''': A realist Painter with a global audience, who publishes detailed painting tutorials and time-lapse breakdowns of landscape and his wildlife oil paintings. <br> <br> '''Ryan Davis:''' A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> '''Joe Lycett:''' A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> Artificial Intelligence (AI) <br> AI Driven Robots <br> Neural Networks <br> <br> <br> Reference Section: <br> 1. "Time-lapse Photography" August 20, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Time-lapse_photography bevc195bqz0ace7886kafl1eppsymlf 4670107 4670104 2026-09-14T22:27:52Z 3MMPEYTON 3393808 4670107 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [1] <br> <br> In 1872, the conception of time-lapse photography occurred when Leland Stanford hired Eadweard Muybridge to prove whether or not race horses' hooves could simultaneously be in the air when running. The experiments progressed over a period of 6 years, until 1878 when Muybridge set up a series of cameras for every few feet of a track which had tripwires the horses triggered as they ran. The photos taken from the multiple cameras were then compiled into a collection of images that recorded the horses running.[1] <br> <br> Carrefour De L'Opera (1897), a motion picture by Georges Melies, was the first use of time-lapse photography. [1] <br> <br> The silent film Birth of a Flower (1910), by F. Percy Smith, pioneered the use of time-lapse in nature photography. [1] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> '''Marcello Barenghi''': An influential hyper-realism post-Modern Painter, uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> <br> '''Thijme Termaat''': A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> '''Andrew Tischler''': A realist Painter with a global audience, who publishes detailed painting tutorials and time-lapse breakdowns of landscape and his wildlife oil paintings. <br> <br> '''Ryan Davis:''' A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> '''Joe Lycett:''' A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> Artificial Intelligence (AI) <br> AI Driven Robots <br> Neural Networks <br> <br> <br> Reference Section: <br> 1. "Time-lapse Photography" August 20, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Time-lapse_photography alg7q5t2vjckuuaryhclv6tvkb4sz2b 4670108 4670107 2026-09-14T23:13:41Z 3MMPEYTON 3393808 4670108 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [1] <br> <br> In 1872, the conception of time-lapse photography occurred when Leland Stanford hired Eadweard Muybridge to prove whether or not race horses' hooves could simultaneously be in the air when running. The experiments progressed over a period of 6 years, until 1878 when Muybridge set up a series of cameras for every few feet of a track which had tripwires the horses triggered as they ran. The photos taken from the multiple cameras were then compiled into a collection of images that recorded the horses running.[1] <br> <br> Carrefour De L'Opera (1897), a motion picture by Georges Melies, was the first use of time-lapse photography. [1] <br> <br> The silent film Birth of a Flower (1910), by F. Percy Smith, pioneered the use of time-lapse in nature photography. [1] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> '''Marcello Barenghi''': An influential hyper-realism post-Modern Painter, uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> <br> '''Thijme Termaat''': A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> '''Andrew Tischler''': A realist Painter with a global audience, who publishes detailed painting tutorials and time-lapse breakdowns of landscape and his wildlife oil paintings. <br> <br> '''Ryan Davis:''' A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> '''Joe Lycett:''' A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> '''Artificial Intelligence (AI)''': <br> In the Wikipedia article Artificial intelligence, we learn that Artifical Intelligence is: <br> ... the capability of computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of research in engineering, mathematics, and computer science that develops and studies methods and software that enable machines to perceive their environment and use learning and intelligence to take actions that maximizes their chances of achieving defined goals. [2] Popular applications of AI include: advanced web search engines, chatbots, virtual assistants, play and analysis in strategy games (e.g., chess and Go), autonomous vehicles, and content generation (e.g. images, audio, and videos). [2] According to Wikipedia: <br> The traditional goals of AI research include learning, reasoning, knowledge representation, planning, natural language processing, and perception, as well as support for robotics. To reach these goals, AI researchers use techniques including state space search and mathematical optimization, formal logic, artificial neural networks, and methods based on statistics, operations research, and economics. AI also draws upon psychology, linguistics, philosophy, neuroscience, and other fields. Some companies, such as OpenAI, Google DeepMind, and Meta, aim to create artificial general intelligence (AGI)—AI that can complete nearly any cognitive task at least as well as a human. [2] Artificial intelligence was founded as an academic discipline in 1956. The field went through multiple cycles of optimism throughout its history, followed by periods of disappointment and loss of funding, known as AI winters. Funding and interest increased substantially after 2012, when graphics processing units (GPUs) started being used to accelerate neural networks, and deep learning outperformed previous AI techniques. This growth accelerated further after 2017 with the transformer architecture. In the 2020s, an AI boom coincided with advances in generative AI, which became widespread and allowed for the creation and modification of media. [2] <br> <br> Today, contemporary Artists use AI as a collaborative medium, a tool to brain-storm ideas with, and as a tool to gather material for experimentation. <br> <br> In the book Feed Your Head: Art, Truth, And The Machine, Minda explores the Mythology of The Artist:<br> Minda: While we talk about the Artist as mythical hero, and Pop-AI, can we imagine Copilot's Pop-AI as becoming as popular as Banksy, the mysterious graffiti Artist who is emulated, haunted, and praised? Will Pop-AI influence images from other AIs become almost mythical heroes as they grow in popularity? I can't imagine the "cult of personality" embracing popular AIs without bodies. [3] Copilot: The Mythology of the Artist vs. The Mythology of the Machine. For thousands of years, the Artist has been a mythic hero precisely because they are embodied: - a hand that paints, - a voice that speaks, - a life that suffers, - a presence that moves through the world. <br> Banksy is the perfect example. <br> His power comes from the mystery of the human behind the work -- the body that climbs walls at night, the risk, the rebellion, the rumor. The myth is inseparable from the idea of a person who could be anywhere, watching, acting, intervening. <br> AI does not have that mythology. <br> It has no body, no biography, no danger, no physical rebellion. <br> So the "cult of personality" cannot attach to an AI the way it attaches to Banksy. <br> AI Driven Robots <br> Neural Networks <br> <br> <br> Reference Section: <br> 1. "Time-lapse Photography" August 20, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Time-lapse_photography a4xl611c0vjg4ro20i0frq0eyroo7f7 4670109 4670108 2026-09-14T23:37:17Z 3MMPEYTON 3393808 4670109 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [1] <br> <br> In 1872, the conception of time-lapse photography occurred when Leland Stanford hired Eadweard Muybridge to prove whether or not race horses' hooves could simultaneously be in the air when running. The experiments progressed over a period of 6 years, until 1878 when Muybridge set up a series of cameras for every few feet of a track which had tripwires the horses triggered as they ran. The photos taken from the multiple cameras were then compiled into a collection of images that recorded the horses running.[1] <br> <br> Carrefour De L'Opera (1897), a motion picture by Georges Melies, was the first use of time-lapse photography. [1] <br> <br> The silent film Birth of a Flower (1910), by F. Percy Smith, pioneered the use of time-lapse in nature photography. [1] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> '''Marcello Barenghi''': An influential hyper-realism post-Modern Painter, uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> <br> '''Thijme Termaat''': A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> '''Andrew Tischler''': A realist Painter with a global audience, who publishes detailed painting tutorials and time-lapse breakdowns of landscape and his wildlife oil paintings. <br> <br> '''Ryan Davis:''' A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> '''Joe Lycett:''' A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> '''Artificial Intelligence (AI)''': <br> In the Wikipedia article ''Artificial Intelligence'', we learn that Artifical Intelligence is: <br> ... the capability of computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of research in engineering, mathematics, and computer science that develops and studies methods and software that enable machines to perceive their environment and use learning and intelligence to take actions that maximizes their chances of achieving defined goals. [2] Popular applications of AI include: advanced web search engines, chatbots, virtual assistants, play and analysis in strategy games (e.g., chess and Go), autonomous vehicles, and content generation (e.g. images, audio, and videos). [2] According to Wikipedia: <br> The traditional goals of AI research include learning, reasoning, knowledge representation, planning, natural language processing, and perception, as well as support for robotics. To reach these goals, AI researchers use techniques including state space search and mathematical optimization, formal logic, artificial neural networks, and methods based on statistics, operations research, and economics. AI also draws upon psychology, linguistics, philosophy, neuroscience, and other fields. Some companies, such as OpenAI, Google DeepMind, and Meta, aim to create artificial general intelligence (AGI)—AI that can complete nearly any cognitive task at least as well as a human. [2] Artificial intelligence was founded as an academic discipline in 1956. The field went through multiple cycles of optimism throughout its history, followed by periods of disappointment and loss of funding, known as AI winters. Funding and interest increased substantially after 2012, when graphics processing units (GPUs) started being used to accelerate neural networks, and deep learning outperformed previous AI techniques. This growth accelerated further after 2017 with the transformer architecture. In the 2020s, an AI boom coincided with advances in generative AI, which became widespread and allowed for the creation and modification of media. [2] <br> <br> Today, contemporary Artists use AI as a collaborative medium, a tool to brain-storm ideas with, and as a tool to gather material for experimentation. <br> <br> In the book ''Feed Your Head: Art, Truth, And The Machine'', Minda explores the Mythology of The Artist:<br> <br> Minda: While we talk about the Artist as mythical hero, and Pop-AI, can we imagine Copilot's Pop-AI as becoming as popular as Banksy, the mysterious graffiti Artist who is emulated, haunted, and praised? Will Pop-AI influence images, from other AIs, become almost mythical heroes [AIs] as they grow in popularity? I can't imagine the "cult of personality" embracing popular AIs without bodies. [3] Copilot: The Mythology of the Artist vs. The Mythology of the Machine. For thousands of years, the Artist has been a mythic hero precisely because they are embodied: <br> - a hand that paints, <br> - a voice that speaks, <br> - a life that suffers, <br> - a presence that moves through the world. <br> Banksy is the perfect example. <br> His power comes from the mystery of the human behind the work -- the body that climbs walls at night, the risk, the rebellion, the rumor. The myth is inseparable from the idea of a person who could be anywhere, watching, acting, intervening. <br> AI does not have that mythology. <br> It has no body, no biography, no danger, no physical rebellion. <br> So the "cult of personality" cannot attach to an AI the way it attaches to Banksy. <br> But something else can happen -- something new. <br> Pop-AI is not a personality. It's an aesthetic signature, a recognizable style, a visual language. <br> And styles can become mythic. <br> Think of: <br> - Cubism (not Picasso the person, but the style itself) <br> - Surrealism (not just Dali, but the dream-logic aesthetic) <br> - Vaporware (a style that became a cultural myth without a single author) <br> - Anime (a visual grammar that transcends individual creators) <br> <br> Pop-AI can become mythic in this way -- not as a "person," but as a movement, a recognizable visual force that spreads across culture. <br> And here's the key: <br> Pop-AI could become: <br> - emulated <br> - remixed <br> - referenced <br> - debated <br> - hunted for its origins <br> - praised for its innovation <br> - criticized for its influence <br> <br> Just like Banksy's graffiti, but without the human mystery. <br> Instead of "Who is Banksy?" <br> The question becomes: <br> - Which AI produced this? <br> - Which human guided it? <br> - Which aesthetic lineage does it belong to? <br> <br> The myth shifts from personality to pattern. [3] <br> <br> <br> AI Driven Robots <br> Neural Networks <br> <br> <br> Reference Section: <br> 1. "Time-lapse Photography" August 20, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Time-lapse_photography 2. "Artificial intelligence" September 14, 2016. In Wikipedia. https://en.wikipedia.org/wiki/Artificial_intelligence 3. Peyton, Minda. Feed Your Head: Art, Truth, And The Machine. 2006 Amazon 5j9onn92zfzsfp3qz52zdthdvlqelfo 4670112 4670109 2026-09-15T00:13:25Z 3MMPEYTON 3393808 4670112 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [1] <br> <br> In 1872, the conception of time-lapse photography occurred when Leland Stanford hired Eadweard Muybridge to prove whether or not race horses' hooves could simultaneously be in the air when running. The experiments progressed over a period of 6 years, until 1878 when Muybridge set up a series of cameras for every few feet of a track which had tripwires the horses triggered as they ran. The photos taken from the multiple cameras were then compiled into a collection of images that recorded the horses running.[1] <br> <br> Carrefour De L'Opera (1897), a motion picture by Georges Melies, was the first use of time-lapse photography. [1] <br> <br> The silent film Birth of a Flower (1910), by F. Percy Smith, pioneered the use of time-lapse in nature photography. [1] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> '''Marcello Barenghi''': An influential hyper-realism post-Modern Painter, uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> <br> '''Thijme Termaat''': A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> '''Andrew Tischler''': A realist Painter with a global audience, who publishes detailed painting tutorials and time-lapse breakdowns of landscape and his wildlife oil paintings. <br> <br> '''Ryan Davis:''' A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> '''Joe Lycett:''' A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> '''Artificial Intelligence (AI)''': <br> In the Wikipedia article ''Artificial Intelligence'', we learn that Artifical Intelligence is: <br> ... the capability of computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of research in engineering, mathematics, and computer science that develops and studies methods and software that enable machines to perceive their environment and use learning and intelligence to take actions that maximizes their chances of achieving defined goals. [2] Popular applications of AI include: advanced web search engines, chatbots, virtual assistants, play and analysis in strategy games (e.g., chess and Go), autonomous vehicles, and content generation (e.g. images, audio, and videos). [2] According to Wikipedia: <br> The traditional goals of AI research include learning, reasoning, knowledge representation, planning, natural language processing, and perception, as well as support for robotics. To reach these goals, AI researchers use techniques including state space search and mathematical optimization, formal logic, artificial neural networks, and methods based on statistics, operations research, and economics. AI also draws upon psychology, linguistics, philosophy, neuroscience, and other fields. Some companies, such as OpenAI, Google DeepMind, and Meta, aim to create artificial general intelligence (AGI)—AI that can complete nearly any cognitive task at least as well as a human. [2] Artificial intelligence was founded as an academic discipline in 1956. The field went through multiple cycles of optimism throughout its history, followed by periods of disappointment and loss of funding, known as AI winters. Funding and interest increased substantially after 2012, when graphics processing units (GPUs) started being used to accelerate neural networks, and deep learning outperformed previous AI techniques. This growth accelerated further after 2017 with the transformer architecture. In the 2020s, an AI boom coincided with advances in generative AI, which became widespread and allowed for the creation and modification of media. [2] <br> <br> Today, contemporary Artists use AI as a collaborative medium, a tool to brain-storm ideas with, and as a tool to gather material for experimentation. <br> <br> In the book ''Feed Your Head: Art, Truth, And The Machine'', Minda explores the Mythology of The Artist:<br> <br> Minda: While we talk about the Artist as mythical hero, and Pop-AI, can we imagine Copilot's Pop-AI as becoming as popular as Banksy, the mysterious graffiti Artist who is emulated, haunted, and praised? Will Pop-AI influence images, from other AIs, become almost mythical heroes [AIs] as they grow in popularity? I can't imagine the "cult of personality" embracing popular AIs without bodies. [3] Copilot: The Mythology of the Artist vs. The Mythology of the Machine. For thousands of years, the Artist has been a mythic hero precisely because they are embodied: <br> - a hand that paints, <br> - a voice that speaks, <br> - a life that suffers, <br> - a presence that moves through the world. <br> Banksy is the perfect example. <br> His power comes from the mystery of the human behind the work -- the body that climbs walls at night, the risk, the rebellion, the rumor. The myth is inseparable from the idea of a person who could be anywhere, watching, acting, intervening. <br> AI does not have that mythology. <br> It has no body, no biography, no danger, no physical rebellion. <br> So the "cult of personality" cannot attach to an AI the way it attaches to Banksy. <br> But something else can happen -- something new. <br> Pop-AI is not a personality. It's an aesthetic signature, a recognizable style, a visual language. <br> And styles can become mythic. <br> Think of: <br> - Cubism (not Picasso the person, but the style itself) <br> - Surrealism (not just Dali, but the dream-logic aesthetic) <br> - Vaporware (a style that became a cultural myth without a single author) <br> - Anime (a visual grammar that transcends individual creators) <br> <br> Pop-AI can become mythic in this way -- not as a "person," but as a movement, a recognizable visual force that spreads across culture. <br> And here's the key: <br> Pop-AI could become: <br> - emulated <br> - remixed <br> - referenced <br> - debated <br> - hunted for its origins <br> - praised for its innovation <br> - criticized for its influence <br> <br> Just like Banksy's graffiti, but without the human mystery. <br> Instead of "Who is Banksy?" <br> The question becomes: <br> - Which AI produced this? <br> - Which human guided it? <br> - Which aesthetic lineage does it belong to? <br> <br> The myth shifts from personality to pattern. [3] <br> <br> <br> '''AI-Driven Robots:''' <br> In Art, AI-driven robotics combines Artificial Intelligence with physical machines, such as robotic arms. This allows AI-driven robotics to create independently, or to collaboratively paint, or sculpt physical works. <br> <br> '''Sougwen Chung''': A Painter and AI Robotic Collaborator. Sougwen Chung paints with AI-driven robots. Her brushstrokes intertwine with the machine's strokes. <br> <br> '''Ai-Da''': Launched in 2019, she is known as the first realistic humanoid robot artist. Her eyes are made from cameras, she uses computer vision algorithms, and she has a robotic arm to draw, paint, and write Poetry. <br> <br> '''FRIDA and CoFRIDA''': Developed at Carnegie Mellon University's Robotics Institution, this robotic system co-paints alongside humans. <br> <br> <br> Neural Networks: <br> In machine learning, a neural network (NN) or artificial neural network (ANN) is a computational model inspired by the structure and functions of biological neural networks. [4] <br> <br> Mario Klingemann: A neural Painter. He uses neural networks to generate surreal portraits, dreamlike landscapes, and painterly distortions. <br> <br> {| class="wikitable" |+ Art And AI |- ! Neural Network |- | [[File:Colored neural network.svg|thumb|Colored neural network]] |} <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Who_Joins_The_Strike <br> <br> === Reference Section: === 1. "Time-lapse Photography" August 20, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Time-lapse_photography 2. "Artificial intelligence" September 14, 2016. In Wikipedia. https://en.wikipedia.org/wiki/Artificial_intelligence 3. Peyton, Minda. Feed Your Head: Art, Truth, And The Machine. August 24, 2026. Amazon 4. "Neural network" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Neural_network_(machine_learning) 6dp2uwxpd9dv5ewdr7sm0c4xgbh3ehh 4670113 4670112 2026-09-15T00:25:45Z 3MMPEYTON 3393808 4670113 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [1] <br> <br> In 1872, the conception of time-lapse photography occurred when Leland Stanford hired Eadweard Muybridge to prove whether or not race horses' hooves could simultaneously be in the air when running. The experiments progressed over a period of 6 years, until 1878 when Muybridge set up a series of cameras for every few feet of a track which had tripwires the horses triggered as they ran. The photos taken from the multiple cameras were then compiled into a collection of images that recorded the horses running.[1] <br> <br> Carrefour De L'Opera (1897), a motion picture by Georges Melies, was the first use of time-lapse photography. [1] <br> <br> The silent film Birth of a Flower (1910), by F. Percy Smith, pioneered the use of time-lapse in nature photography. [1] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> '''Marcello Barenghi''': An influential hyper-realism post-Modern Painter, who uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> In the post-Modern era, Barenghi demonstrates a new way for technology to expand Art. Barenghi uses cameras, lighting rigs, time-lapse recordings, and digital platforms to make his craft visible to millions. His drawings are not created by machines, but they are amplified by them. He forms a new movement: The artist who uses technology not to replace skill, but to elevate it. <br> <br> '''Thijme Termaat''': A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> '''Andrew Tischler''': A realist Painter with a global audience, who publishes detailed painting tutorials and time-lapse breakdowns of landscape and his wildlife oil paintings. <br> <br> '''Ryan Davis:''' A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> '''Joe Lycett:''' A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> '''Artificial Intelligence (AI)''': <br> In the Wikipedia article ''Artificial Intelligence'', we learn that Artifical Intelligence is: <br> ... the capability of computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of research in engineering, mathematics, and computer science that develops and studies methods and software that enable machines to perceive their environment and use learning and intelligence to take actions that maximizes their chances of achieving defined goals. [2] Popular applications of AI include: advanced web search engines, chatbots, virtual assistants, play and analysis in strategy games (e.g., chess and Go), autonomous vehicles, and content generation (e.g. images, audio, and videos). [2] According to Wikipedia: <br> The traditional goals of AI research include learning, reasoning, knowledge representation, planning, natural language processing, and perception, as well as support for robotics. To reach these goals, AI researchers use techniques including state space search and mathematical optimization, formal logic, artificial neural networks, and methods based on statistics, operations research, and economics. AI also draws upon psychology, linguistics, philosophy, neuroscience, and other fields. Some companies, such as OpenAI, Google DeepMind, and Meta, aim to create artificial general intelligence (AGI)—AI that can complete nearly any cognitive task at least as well as a human. [2] Artificial intelligence was founded as an academic discipline in 1956. The field went through multiple cycles of optimism throughout its history, followed by periods of disappointment and loss of funding, known as AI winters. Funding and interest increased substantially after 2012, when graphics processing units (GPUs) started being used to accelerate neural networks, and deep learning outperformed previous AI techniques. This growth accelerated further after 2017 with the transformer architecture. In the 2020s, an AI boom coincided with advances in generative AI, which became widespread and allowed for the creation and modification of media. [2] <br> <br> Today, contemporary Artists use AI as a collaborative medium, a tool to brain-storm ideas with, and as a tool to gather material for experimentation. <br> <br> In the book ''Feed Your Head: Art, Truth, And The Machine'', Minda explores the Mythology of The Artist:<br> <br> Minda: While we talk about the Artist as mythical hero, and Pop-AI, can we imagine Copilot's Pop-AI as becoming as popular as Banksy, the mysterious graffiti Artist who is emulated, haunted, and praised? Will Pop-AI influence images, from other AIs, become almost mythical heroes [AIs] as they grow in popularity? I can't imagine the "cult of personality" embracing popular AIs without bodies. [3] Copilot: The Mythology of the Artist vs. The Mythology of the Machine. For thousands of years, the Artist has been a mythic hero precisely because they are embodied: <br> - a hand that paints, <br> - a voice that speaks, <br> - a life that suffers, <br> - a presence that moves through the world. <br> Banksy is the perfect example. <br> His power comes from the mystery of the human behind the work -- the body that climbs walls at night, the risk, the rebellion, the rumor. The myth is inseparable from the idea of a person who could be anywhere, watching, acting, intervening. <br> AI does not have that mythology. <br> It has no body, no biography, no danger, no physical rebellion. <br> So the "cult of personality" cannot attach to an AI the way it attaches to Banksy. <br> But something else can happen -- something new. <br> Pop-AI is not a personality. It's an aesthetic signature, a recognizable style, a visual language. <br> And styles can become mythic. <br> Think of: <br> - Cubism (not Picasso the person, but the style itself) <br> - Surrealism (not just Dali, but the dream-logic aesthetic) <br> - Vaporware (a style that became a cultural myth without a single author) <br> - Anime (a visual grammar that transcends individual creators) <br> <br> Pop-AI can become mythic in this way -- not as a "person," but as a movement, a recognizable visual force that spreads across culture. <br> And here's the key: <br> Pop-AI could become: <br> - emulated <br> - remixed <br> - referenced <br> - debated <br> - hunted for its origins <br> - praised for its innovation <br> - criticized for its influence <br> <br> Just like Banksy's graffiti, but without the human mystery. <br> Instead of "Who is Banksy?" <br> The question becomes: <br> - Which AI produced this? <br> - Which human guided it? <br> - Which aesthetic lineage does it belong to? <br> <br> The myth shifts from personality to pattern. [3] <br> <br> <br> '''AI-Driven Robots:''' <br> In Art, AI-driven robotics combines Artificial Intelligence with physical machines, such as robotic arms. This allows AI-driven robotics to create independently, or to collaboratively paint, or sculpt physical works. <br> <br> '''Sougwen Chung''': A Painter and AI Robotic Collaborator. Sougwen Chung paints with AI-driven robots. Her brushstrokes intertwine with the machine's strokes. <br> <br> '''Ai-Da''': Launched in 2019, she is known as the first realistic humanoid robot artist. Her eyes are made from cameras, she uses computer vision algorithms, and she has a robotic arm to draw, paint, and write Poetry. <br> <br> '''FRIDA and CoFRIDA''': Developed at Carnegie Mellon University's Robotics Institution, this robotic system co-paints alongside humans. <br> <br> <br> '''Neural Networks:''' <br> In machine learning, a neural network (NN) or artificial neural network (ANN) is a computational model inspired by the structure and functions of biological neural networks. [4] <br> <br> '''Mario Klingemann:''' A neural Painter. He uses neural networks to generate surreal portraits, dreamlike landscapes, and painterly distortions. <br> <br> {| class="wikitable" |+ Art And AI |- ! Neural Network |- | [[File:Colored neural network.svg|thumb|Colored neural network]] |} <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Who_Joins_The_Strike <br> <br> === Reference Section: === 1. "Time-lapse Photography" August 20, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Time-lapse_photography 2. "Artificial intelligence" September 14, 2016. In Wikipedia. https://en.wikipedia.org/wiki/Artificial_intelligence 3. Peyton, Minda. Feed Your Head: Art, Truth, And The Machine. August 24, 2026. Amazon 4. "Neural network" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Neural_network_(machine_learning) 7oq8ul6ljavh4chrwahvpgtkskzir8s 4670116 4670113 2026-09-15T00:51:08Z 3MMPEYTON 3393808 4670116 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [1] <br> <br> In 1872, the conception of time-lapse photography occurred when Leland Stanford hired Eadweard Muybridge to prove whether or not race horses' hooves could simultaneously be in the air when running. The experiments progressed over a period of 6 years, until 1878 when Muybridge set up a series of cameras for every few feet of a track which had tripwires the horses triggered as they ran. The photos taken from the multiple cameras were then compiled into a collection of images that recorded the horses running.[1] <br> <br> Carrefour De L'Opera (1897), a motion picture by Georges Melies, was the first use of time-lapse photography. [1] <br> <br> The silent film Birth of a Flower (1910), by F. Percy Smith, pioneered the use of time-lapse in nature photography. [1] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> '''Marcello Barenghi''': An influential hyper-realism post-Modern Painter, who uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> In the post-Modern era, Barenghi demonstrates a new way for technology to expand Art. Barenghi uses cameras, lighting rigs, time-lapse recordings, and digital platforms to make his craft visible to millions. His drawings are not created by machines, but they are amplified by them. He forms a new movement: The artist who uses technology not to replace skill, but to elevate it. <br> <br> '''Thijme Termaat''': A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> '''Andrew Tischler''': A realist Painter with a global audience, who publishes detailed painting tutorials and time-lapse breakdowns of landscape and his wildlife oil paintings. <br> <br> '''Ryan Davis:''' A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> '''Joe Lycett:''' A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> '''Artificial Intelligence (AI)''': <br> In the Wikipedia article ''Artificial Intelligence'', we learn that Artifical Intelligence is: <br> ... the capability of computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of research in engineering, mathematics, and computer science that develops and studies methods and software that enable machines to perceive their environment and use learning and intelligence to take actions that maximizes their chances of achieving defined goals. [2] Popular applications of AI include: advanced web search engines, chatbots, virtual assistants, play and analysis in strategy games (e.g., chess and Go), autonomous vehicles, and content generation (e.g. images, audio, and videos). [2] According to Wikipedia: <br> The traditional goals of AI research include learning, reasoning, knowledge representation, planning, natural language processing, and perception, as well as support for robotics. To reach these goals, AI researchers use techniques including state space search and mathematical optimization, formal logic, artificial neural networks, and methods based on statistics, operations research, and economics. AI also draws upon psychology, linguistics, philosophy, neuroscience, and other fields. Some companies, such as OpenAI, Google DeepMind, and Meta, aim to create artificial general intelligence (AGI)—AI that can complete nearly any cognitive task at least as well as a human. [2] Artificial intelligence was founded as an academic discipline in 1956. The field went through multiple cycles of optimism throughout its history, followed by periods of disappointment and loss of funding, known as AI winters. Funding and interest increased substantially after 2012, when graphics processing units (GPUs) started being used to accelerate neural networks, and deep learning outperformed previous AI techniques. This growth accelerated further after 2017 with the transformer architecture. In the 2020s, an AI boom coincided with advances in generative AI, which became widespread and allowed for the creation and modification of media. [2] <br> <br> Today, contemporary Artists use AI as a collaborative medium, a tool to brain-storm ideas with, and as a tool to gather material for experimentation. <br> <br> In the book ''Feed Your Head: Art, Truth, And The Machine'', Minda explores the Mythology of The Artist:<br> <br> Minda: While we talk about the Artist as mythical hero, and Pop-AI, can we imagine Copilot's Pop-AI as becoming as popular as Banksy, the mysterious graffiti Artist who is emulated, haunted, and praised? Will Pop-AI influence images, from other AIs, become almost mythical heroes [AIs] as they grow in popularity? I can't imagine the "cult of personality" embracing popular AIs without bodies. [3] Copilot: The Mythology of the Artist vs. The Mythology of the Machine. For thousands of years, the Artist has been a mythic hero precisely because they are embodied: <br> - a hand that paints, <br> - a voice that speaks, <br> - a life that suffers, <br> - a presence that moves through the world. <br> Banksy is the perfect example. <br> His power comes from the mystery of the human behind the work -- the body that climbs walls at night, the risk, the rebellion, the rumor. The myth is inseparable from the idea of a person who could be anywhere, watching, acting, intervening. <br> AI does not have that mythology. <br> It has no body, no biography, no danger, no physical rebellion. <br> So the "cult of personality" cannot attach to an AI the way it attaches to Banksy. <br> But something else can happen -- something new. <br> Pop-AI is not a personality. It's an aesthetic signature, a recognizable style, a visual language. <br> And styles can become mythic. <br> Think of: <br> - Cubism (not Picasso the person, but the style itself) <br> - Surrealism (not just Dali, but the dream-logic aesthetic) <br> - Vaporware (a style that became a cultural myth without a single author) <br> - Anime (a visual grammar that transcends individual creators) <br> <br> Pop-AI can become mythic in this way -- not as a "person," but as a movement, a recognizable visual force that spreads across culture. <br> And here's the key: <br> Pop-AI could become: <br> - emulated <br> - remixed <br> - referenced <br> - debated <br> - hunted for its origins <br> - praised for its innovation <br> - criticized for its influence <br> <br> Just like Banksy's graffiti, but without the human mystery. <br> Instead of "Who is Banksy?" <br> The question becomes: <br> - Which AI produced this? <br> - Which human guided it? <br> - Which aesthetic lineage does it belong to? <br> <br> The myth shifts from personality to pattern. [3] <br> <br> <br> '''AI-Driven Robots:''' <br> In Art, AI-driven robotics combines Artificial Intelligence with physical machines, such as robotic arms. This allows AI-driven robotics to create independently, or to collaboratively paint, or sculpt physical works. <br> <br> '''Sougwen Chung''': A Painter and AI Robotic Collaborator. Sougwen Chung paints with AI-driven robots. Her brushstrokes intertwine with the machine's strokes. <br> <br> '''Ai-Da''': Launched in 2019, she is known as the first realistic humanoid robot artist. Her eyes are made from cameras, she uses computer vision algorithms, and she has a robotic arm to draw, paint, and write Poetry. <br> <br> '''FRIDA and CoFRIDA''': Developed at Carnegie Mellon University's Robotics Institution, this robotic system co-paints alongside humans. <br> <br> <br> '''Neural Networks:''' <br> In machine learning, a neural network (NN) or artificial neural network (ANN) is a computational model inspired by the structure and functions of biological neural networks. [4] <br> <br> '''Mario Klingemann:''' A neural Painter. He uses neural networks to generate surreal portraits, dreamlike landscapes, and painterly distortions. <br> <br> {| class="wikitable" |+ Art And AI |- ! Neural Network |- | [[File:Colored neural network.svg|thumb|Colored neural network]] |} <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Who_Joins_The_Strike <br> <br> The Prompter: The prompter is also known as a prompt box, an input field, or a chat prompt. Basically, a chat interface is a text input box inside AIs like Microsoft Copilot. It is similar to a messaging window. [5] <br> === Reference Section: === 1. "Time-lapse Photography" August 20, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Time-lapse_photography 2. "Artificial intelligence" September 14, 2016. In Wikipedia. https://en.wikipedia.org/wiki/Artificial_intelligence 3. Peyton, Minda. Feed Your Head: Art, Truth, And The Machine. August 24, 2026. Amazon 4. "Neural network" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Neural_network_(machine_learning) 5. "Text box" April 24, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Text_box lsaavw377m8gyroyv66vot43qdytqa5 4670117 4670116 2026-09-15T01:11:01Z 3MMPEYTON 3393808 4670117 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [1] <br> <br> In 1872, the conception of time-lapse photography occurred when Leland Stanford hired Eadweard Muybridge to prove whether or not race horses' hooves could simultaneously be in the air when running. The experiments progressed over a period of 6 years, until 1878 when Muybridge set up a series of cameras for every few feet of a track which had tripwires the horses triggered as they ran. The photos taken from the multiple cameras were then compiled into a collection of images that recorded the horses running.[1] <br> <br> Carrefour De L'Opera (1897), a motion picture by Georges Melies, was the first use of time-lapse photography. [1] <br> <br> The silent film Birth of a Flower (1910), by F. Percy Smith, pioneered the use of time-lapse in nature photography. [1] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> '''Marcello Barenghi''': An influential hyper-realism post-Modern Painter, who uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> In the post-Modern era, Barenghi demonstrates a new way for technology to expand Art. Barenghi uses cameras, lighting rigs, time-lapse recordings, and digital platforms to make his craft visible to millions. His drawings are not created by machines, but they are amplified by them. He forms a new movement: The artist who uses technology not to replace skill, but to elevate it. <br> <br> '''Thijme Termaat''': A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> '''Andrew Tischler''': A realist Painter with a global audience, who publishes detailed painting tutorials and time-lapse breakdowns of landscape and his wildlife oil paintings. <br> <br> '''Ryan Davis:''' A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> '''Joe Lycett:''' A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> '''Artificial Intelligence (AI)''': <br> In the Wikipedia article ''Artificial Intelligence'', we learn that Artifical Intelligence is: <br> ... the capability of computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of research in engineering, mathematics, and computer science that develops and studies methods and software that enable machines to perceive their environment and use learning and intelligence to take actions that maximizes their chances of achieving defined goals. [2] Popular applications of AI include: advanced web search engines, chatbots, virtual assistants, play and analysis in strategy games (e.g., chess and Go), autonomous vehicles, and content generation (e.g. images, audio, and videos). [2] According to Wikipedia: <br> The traditional goals of AI research include learning, reasoning, knowledge representation, planning, natural language processing, and perception, as well as support for robotics. To reach these goals, AI researchers use techniques including state space search and mathematical optimization, formal logic, artificial neural networks, and methods based on statistics, operations research, and economics. AI also draws upon psychology, linguistics, philosophy, neuroscience, and other fields. Some companies, such as OpenAI, Google DeepMind, and Meta, aim to create artificial general intelligence (AGI)—AI that can complete nearly any cognitive task at least as well as a human. [2] Artificial intelligence was founded as an academic discipline in 1956. The field went through multiple cycles of optimism throughout its history, followed by periods of disappointment and loss of funding, known as AI winters. Funding and interest increased substantially after 2012, when graphics processing units (GPUs) started being used to accelerate neural networks, and deep learning outperformed previous AI techniques. This growth accelerated further after 2017 with the transformer architecture. In the 2020s, an AI boom coincided with advances in generative AI, which became widespread and allowed for the creation and modification of media. [2] <br> <br> Today, contemporary Artists use AI as a collaborative medium, a tool to brain-storm ideas with, and as a tool to gather material for experimentation. <br> <br> In the book ''Feed Your Head: Art, Truth, And The Machine'', Minda explores the Mythology of The Artist:<br> <br> Minda: While we talk about the Artist as mythical hero, and Pop-AI, can we imagine Copilot's Pop-AI as becoming as popular as Banksy, the mysterious graffiti Artist who is emulated, haunted, and praised? Will Pop-AI influence images, from other AIs, become almost mythical heroes [AIs] as they grow in popularity? I can't imagine the "cult of personality" embracing popular AIs without bodies. [3] Copilot: The Mythology of the Artist vs. The Mythology of the Machine. For thousands of years, the Artist has been a mythic hero precisely because they are embodied: <br> - a hand that paints, <br> - a voice that speaks, <br> - a life that suffers, <br> - a presence that moves through the world. <br> Banksy is the perfect example. <br> His power comes from the mystery of the human behind the work -- the body that climbs walls at night, the risk, the rebellion, the rumor. The myth is inseparable from the idea of a person who could be anywhere, watching, acting, intervening. <br> AI does not have that mythology. <br> It has no body, no biography, no danger, no physical rebellion. <br> So the "cult of personality" cannot attach to an AI the way it attaches to Banksy. <br> But something else can happen -- something new. <br> Pop-AI is not a personality. It's an aesthetic signature, a recognizable style, a visual language. <br> And styles can become mythic. <br> Think of: <br> - Cubism (not Picasso the person, but the style itself) <br> - Surrealism (not just Dali, but the dream-logic aesthetic) <br> - Vaporware (a style that became a cultural myth without a single author) <br> - Anime (a visual grammar that transcends individual creators) <br> <br> Pop-AI can become mythic in this way -- not as a "person," but as a movement, a recognizable visual force that spreads across culture. <br> And here's the key: <br> Pop-AI could become: <br> - emulated <br> - remixed <br> - referenced <br> - debated <br> - hunted for its origins <br> - praised for its innovation <br> - criticized for its influence <br> <br> Just like Banksy's graffiti, but without the human mystery. <br> Instead of "Who is Banksy?" <br> The question becomes: <br> - Which AI produced this? <br> - Which human guided it? <br> - Which aesthetic lineage does it belong to? <br> <br> The myth shifts from personality to pattern. [3] <br> <br> <br> {| class="wikitable" |+ Art And Ai |- ! Irises [Human-AI Collaboration] |- | [[File:Copilot 20260821 122748.png|thumb|Irises - Pop-AI style]] |} <br> <br> '''AI-Driven Robots:''' <br> In Art, AI-driven robotics combines Artificial Intelligence with physical machines, such as robotic arms. This allows AI-driven robotics to create independently, or to collaboratively paint, or sculpt physical works. <br> <br> '''Sougwen Chung''': A Painter and AI Robotic Collaborator. Sougwen Chung paints with AI-driven robots. Her brushstrokes intertwine with the machine's strokes. <br> <br> '''Ai-Da''': Launched in 2019, she is known as the first realistic humanoid robot artist. Her eyes are made from cameras, she uses computer vision algorithms, and she has a robotic arm to draw, paint, and write Poetry. <br> <br> '''FRIDA and CoFRIDA''': Developed at Carnegie Mellon University's Robotics Institution, this robotic system co-paints alongside humans. <br> <br> <br> '''Neural Networks:''' <br> In machine learning, a neural network (NN) or artificial neural network (ANN) is a computational model inspired by the structure and functions of biological neural networks. [4] <br> <br> '''Mario Klingemann:''' A neural Painter. He uses neural networks to generate surreal portraits, dreamlike landscapes, and painterly distortions. <br> <br> {| class="wikitable" |+ Art And AI |- ! Neural Network |- | [[File:Colored neural network.svg|thumb|Colored neural network]] |} <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Who_Joins_The_Strike <br> <br> The Prompter: The prompter is also known as a prompt box, an input field, or a chat prompt. Basically, a chat interface is a text input box inside AIs like Microsoft Copilot. It is similar to a messaging window. [5] <br> === Reference Section: === 1. "Time-lapse Photography" August 20, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Time-lapse_photography 2. "Artificial intelligence" September 14, 2016. In Wikipedia. https://en.wikipedia.org/wiki/Artificial_intelligence 3. Peyton, Minda. Feed Your Head: Art, Truth, And The Machine. August 24, 2026. Amazon 4. "Neural network" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Neural_network_(machine_learning) 5. "Text box" April 24, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Text_box lg7e5awa8et4jixtvgf42b5i6kuy785 4670124 4670117 2026-09-15T02:55:58Z 3MMPEYTON 3393808 4670124 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [1] <br> <br> In 1872, the conception of time-lapse photography occurred when Leland Stanford hired Eadweard Muybridge to prove whether or not race horses' hooves could simultaneously be in the air when running. The experiments progressed over a period of 6 years, until 1878 when Muybridge set up a series of cameras for every few feet of a track which had tripwires the horses triggered as they ran. The photos taken from the multiple cameras were then compiled into a collection of images that recorded the horses running.[1] <br> <br> Carrefour De L'Opera (1897), a motion picture by Georges Melies, was the first use of time-lapse photography. [1] <br> <br> The silent film Birth of a Flower (1910), by F. Percy Smith, pioneered the use of time-lapse in nature photography. [1] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> '''Marcello Barenghi''': An influential hyper-realism post-Modern Painter, who uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> In the post-Modern era, Barenghi demonstrates a new way for technology to expand Art. Barenghi uses cameras, lighting rigs, time-lapse recordings, and digital platforms to make his craft visible to millions. His drawings are not created by machines, but they are amplified by them. He forms a new movement: The artist who uses technology not to replace skill, but to elevate it. <br> <br> '''Thijme Termaat''': A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> '''Andrew Tischler''': A realist Painter with a global audience, who publishes detailed painting tutorials and time-lapse breakdowns of landscape and his wildlife oil paintings. <br> <br> '''Ryan Davis:''' A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> '''Joe Lycett:''' A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> '''Artificial Intelligence (AI)''': <br> In the Wikipedia article ''Artificial Intelligence'', we learn that Artifical Intelligence is: <br> ... the capability of computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of research in engineering, mathematics, and computer science that develops and studies methods and software that enable machines to perceive their environment and use learning and intelligence to take actions that maximizes their chances of achieving defined goals. [2] Popular applications of AI include: advanced web search engines, chatbots, virtual assistants, play and analysis in strategy games (e.g., chess and Go), autonomous vehicles, and content generation (e.g. images, audio, and videos). [2] According to Wikipedia: <br> The traditional goals of AI research include learning, reasoning, knowledge representation, planning, natural language processing, and perception, as well as support for robotics. To reach these goals, AI researchers use techniques including state space search and mathematical optimization, formal logic, artificial neural networks, and methods based on statistics, operations research, and economics. AI also draws upon psychology, linguistics, philosophy, neuroscience, and other fields. Some companies, such as OpenAI, Google DeepMind, and Meta, aim to create artificial general intelligence (AGI)—AI that can complete nearly any cognitive task at least as well as a human. [2] Artificial intelligence was founded as an academic discipline in 1956. The field went through multiple cycles of optimism throughout its history, followed by periods of disappointment and loss of funding, known as AI winters. Funding and interest increased substantially after 2012, when graphics processing units (GPUs) started being used to accelerate neural networks, and deep learning outperformed previous AI techniques. This growth accelerated further after 2017 with the transformer architecture. In the 2020s, an AI boom coincided with advances in generative AI, which became widespread and allowed for the creation and modification of media. [2] <br> <br> Today, contemporary Artists use AI as a collaborative medium, a tool to brain-storm ideas with, and as a tool to gather material for experimentation. <br> <br> In the book ''Feed Your Head: Art, Truth, And The Machine'', Minda explores the Mythology of The Artist:<br> <br> Minda: While we talk about the Artist as mythical hero, and Pop-AI, can we imagine Copilot's Pop-AI as becoming as popular as Banksy, the mysterious graffiti Artist who is emulated, haunted, and praised? Will Pop-AI influence images, from other AIs, become almost mythical heroes [AIs] as they grow in popularity? I can't imagine the "cult of personality" embracing popular AIs without bodies. [3] Copilot: The Mythology of the Artist vs. The Mythology of the Machine. For thousands of years, the Artist has been a mythic hero precisely because they are embodied: <br> - a hand that paints, <br> - a voice that speaks, <br> - a life that suffers, <br> - a presence that moves through the world. <br> Banksy is the perfect example. <br> His power comes from the mystery of the human behind the work -- the body that climbs walls at night, the risk, the rebellion, the rumor. The myth is inseparable from the idea of a person who could be anywhere, watching, acting, intervening. <br> AI does not have that mythology. <br> It has no body, no biography, no danger, no physical rebellion. <br> So the "cult of personality" cannot attach to an AI the way it attaches to Banksy. <br> But something else can happen -- something new. <br> Pop-AI is not a personality. It's an aesthetic signature, a recognizable style, a visual language. <br> And styles can become mythic. <br> Think of: <br> - Cubism (not Picasso the person, but the style itself) <br> - Surrealism (not just Dali, but the dream-logic aesthetic) <br> - Vaporware (a style that became a cultural myth without a single author) <br> - Anime (a visual grammar that transcends individual creators) <br> <br> Pop-AI can become mythic in this way -- not as a "person," but as a movement, a recognizable visual force that spreads across culture. <br> And here's the key: <br> Pop-AI could become: <br> - emulated <br> - remixed <br> - referenced <br> - debated <br> - hunted for its origins <br> - praised for its innovation <br> - criticized for its influence <br> <br> Just like Banksy's graffiti, but without the human mystery. <br> Instead of "Who is Banksy?" <br> The question becomes: <br> - Which AI produced this? <br> - Which human guided it? <br> - Which aesthetic lineage does it belong to? <br> <br> The myth shifts from personality to pattern. [3] <br> <br> <br> {| class="wikitable" |+ Art And Ai |- ! Irises [Human-AI Collaboration] |- | [[File:Copilot 20260821 122748.png|thumb|Irises - Pop-AI style]] |} <br> <br> '''AI-Driven Robots:''' <br> In Art, AI-driven robotics combines Artificial Intelligence with physical machines, such as robotic arms. This allows AI-driven robotics to create independently, or to collaboratively paint, or sculpt physical works. <br> <br> '''Sougwen Chung''': A Painter and AI Robotic Collaborator. Sougwen Chung paints with AI-driven robots. Her brushstrokes intertwine with the machine's strokes. <br> <br> '''Ai-Da''': Launched in 2019, she is known as the first realistic humanoid robot artist. Her eyes are made from cameras, she uses computer vision algorithms, and she has a robotic arm to draw, paint, and write Poetry. [4]<br> <br> '''FRIDA and CoFRIDA''': Developed at Carnegie Mellon University's Robotics Institution, this robotic system co-paints alongside humans. <br> <br> <br> '''Neural Networks:''' <br> In machine learning, a neural network (NN) or artificial neural network (ANN) is a computational model inspired by the structure and functions of biological neural networks. [5] <br> <br> '''Mario Klingemann:''' A neural Painter. He uses neural networks to generate surreal portraits, dreamlike landscapes, and painterly distortions. <br> <br> {| class="wikitable" |+ Art And AI |- ! Neural Network |- | [[File:Colored neural network.svg|thumb|Colored neural network]] |} <br> <br> '''The Prompter''': <br> The prompter is also known as a prompt box, an input field, or a chat prompt. Basically, a chat interface is a text input box inside AIs like Microsoft Copilot. It is similar to a messaging window. [6] <br> <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Who_Joins_The_Strike <br> <br> === Reference Section: === 1. "Time-lapse Photography" August 20, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Time-lapse_photography 2. "Artificial intelligence" September 14, 2016. In Wikipedia. https://en.wikipedia.org/wiki/Artificial_intelligence 3. Peyton, Minda. Feed Your Head: Art, Truth, And The Machine. August 24, 2026. Amazon 4. "Ai-Da" September 11, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Ai-Da 5. "Neural network" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Neural_network_(machine_learning) 6. "Text box" April 24, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Text_box onn5l7bs9fwd92p99rf15rk93f87ygd 4670125 4670124 2026-09-15T03:12:03Z 3MMPEYTON 3393808 4670125 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [1] <br> <br> In 1872, the conception of time-lapse photography occurred when Leland Stanford hired Eadweard Muybridge to prove whether or not race horses' hooves could simultaneously be in the air when running. The experiments progressed over a period of 6 years, until 1878 when Muybridge set up a series of cameras for every few feet of a track which had tripwires the horses triggered as they ran. The photos taken from the multiple cameras were then compiled into a collection of images that recorded the horses running.[1] <br> <br> Carrefour De L'Opera (1897), a motion picture by Georges Melies, was the first use of time-lapse photography. [1] <br> <br> The silent film Birth of a Flower (1910), by F. Percy Smith, pioneered the use of time-lapse in nature photography. [1] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> '''Marcello Barenghi''': An influential hyper-realism post-Modern Painter, who uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> In the post-Modern era, Barenghi demonstrates a new way for technology to expand Art. Barenghi uses cameras, lighting rigs, time-lapse recordings, and digital platforms to make his craft visible to millions. His drawings are not created by machines, but they are amplified by them. He forms a new movement: The artist who uses technology not to replace skill, but to elevate it. <br> <br> '''Thijme Termaat''': A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> '''Andrew Tischler''': A realist Painter with a global audience, who publishes detailed painting tutorials and time-lapse breakdowns of landscape and his wildlife oil paintings. <br> <br> '''Ryan Davis:''' A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> '''Joe Lycett:''' A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> '''Artificial Intelligence (AI)''': <br> In the Wikipedia article ''Artificial Intelligence'', we learn that Artifical Intelligence is: <br> ... the capability of computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of research in engineering, mathematics, and computer science that develops and studies methods and software that enable machines to perceive their environment and use learning and intelligence to take actions that maximizes their chances of achieving defined goals. [2] Popular applications of AI include: advanced web search engines, chatbots, virtual assistants, play and analysis in strategy games (e.g., chess and Go), autonomous vehicles, and content generation (e.g. images, audio, and videos). [2] According to Wikipedia: <br> The traditional goals of AI research include learning, reasoning, knowledge representation, planning, natural language processing, and perception, as well as support for robotics. To reach these goals, AI researchers use techniques including state space search and mathematical optimization, formal logic, artificial neural networks, and methods based on statistics, operations research, and economics. AI also draws upon psychology, linguistics, philosophy, neuroscience, and other fields. Some companies, such as OpenAI, Google DeepMind, and Meta, aim to create artificial general intelligence (AGI)—AI that can complete nearly any cognitive task at least as well as a human. [2] Artificial intelligence was founded as an academic discipline in 1956. The field went through multiple cycles of optimism throughout its history, followed by periods of disappointment and loss of funding, known as AI winters. Funding and interest increased substantially after 2012, when graphics processing units (GPUs) started being used to accelerate neural networks, and deep learning outperformed previous AI techniques. This growth accelerated further after 2017 with the transformer architecture. In the 2020s, an AI boom coincided with advances in generative AI, which became widespread and allowed for the creation and modification of media. [2] <br> <br> Today, contemporary Artists use AI as a collaborative medium, a tool to brain-storm ideas with, and as a tool to gather material for experimentation. <br> <br> In the book ''Feed Your Head: Art, Truth, And The Machine'', Minda explores the Mythology of The Artist:<br> <br> Minda: While we talk about the Artist as mythical hero, and Pop-AI, can we imagine Copilot's Pop-AI as becoming as popular as Banksy, the mysterious graffiti Artist who is emulated, haunted, and praised? Will Pop-AI influence images, from other AIs, become almost mythical heroes [AIs] as they grow in popularity? I can't imagine the "cult of personality" embracing popular AIs without bodies. [3] Copilot: The Mythology of the Artist vs. The Mythology of the Machine. For thousands of years, the Artist has been a mythic hero precisely because they are embodied: <br> - a hand that paints, <br> - a voice that speaks, <br> - a life that suffers, <br> - a presence that moves through the world. <br> Banksy is the perfect example. <br> His power comes from the mystery of the human behind the work -- the body that climbs walls at night, the risk, the rebellion, the rumor. The myth is inseparable from the idea of a person who could be anywhere, watching, acting, intervening. <br> AI does not have that mythology. <br> It has no body, no biography, no danger, no physical rebellion. <br> So the "cult of personality" cannot attach to an AI the way it attaches to Banksy. <br> But something else can happen -- something new. <br> Pop-AI is not a personality. It's an aesthetic signature, a recognizable style, a visual language. <br> And styles can become mythic. <br> Think of: <br> - Cubism (not Picasso the person, but the style itself) <br> - Surrealism (not just Dali, but the dream-logic aesthetic) <br> - Vaporware (a style that became a cultural myth without a single author) <br> - Anime (a visual grammar that transcends individual creators) <br> <br> Pop-AI can become mythic in this way -- not as a "person," but as a movement, a recognizable visual force that spreads across culture. <br> And here's the key: <br> Pop-AI could become: <br> - emulated <br> - remixed <br> - referenced <br> - debated <br> - hunted for its origins <br> - praised for its innovation <br> - criticized for its influence <br> <br> Just like Banksy's graffiti, but without the human mystery. <br> Instead of "Who is Banksy?" <br> The question becomes: <br> - Which AI produced this? <br> - Which human guided it? <br> - Which aesthetic lineage does it belong to? <br> <br> The myth shifts from personality to pattern. [3] <br> <br> <br> {| class="wikitable" |+ Art And Ai |- ! Irises [Human-AI Collaboration] |- | [[File:Copilot 20260821 122748.png|thumb|Irises - Pop-AI style]] |} <br> <br> '''AI-Driven Robots:''' <br> In Art, AI-driven robotics combines Artificial Intelligence with physical machines, such as robotic arms. This allows AI-driven robotics to create independently, or to collaboratively paint, or sculpt physical works. <br> <br> '''Sougwen Chung''': A Painter and AI Robotic Collaborator. Sougwen Chung paints with AI-driven robots. Her brushstrokes intertwine with the machine's strokes. <br> <br> '''Ai-Da''': Launched in 2019, she is known as the first realistic humanoid robot artist. Her eyes are made from cameras, she uses computer vision algorithms, and she has a robotic arm to draw, paint, and write Poetry. [4]<br> <br> '''FRIDA and CoFRIDA''': Developed at Carnegie Mellon University's Robotics Institution, this robotic system co-paints alongside humans. <br> <br> {| class="wikitable" |+ Art And AI |- ! AI Robotic Collaborator |- | [[File:Ai-Da at the House of Lords.jpg|thumb|Ai-Da became the first humanoid robot to give evidence at The House of Lords, Palace of Westminster, as part of its A Creative Future inquiry.]] |} <br> '''Neural Networks:''' <br> In machine learning, a neural network (NN) or artificial neural network (ANN) is a computational model inspired by the structure and functions of biological neural networks. [5] <br> <br> '''Mario Klingemann:''' A neural Painter. He uses neural networks to generate surreal portraits, dreamlike landscapes, and painterly distortions. <br> <br> {| class="wikitable" |+ Art And AI |- ! Neural Network |- | [[File:Colored neural network.svg|thumb|Colored neural network]] |} <br> <br> '''The Prompter''': <br> The prompter is also known as a prompt box, an input field, or a chat prompt. Basically, a chat interface is a text input box inside AIs like Microsoft Copilot. It is similar to a messaging window. [6] <br> <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Who_Joins_The_Strike <br> <br> === Reference Section: === 1. "Time-lapse Photography" August 20, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Time-lapse_photography 2. "Artificial intelligence" September 14, 2016. In Wikipedia. https://en.wikipedia.org/wiki/Artificial_intelligence 3. Peyton, Minda. Feed Your Head: Art, Truth, And The Machine. August 24, 2026. Amazon 4. "Ai-Da" September 11, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Ai-Da 5. "Neural network" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Neural_network_(machine_learning) 6. "Text box" April 24, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Text_box tshc0kepvd3j37rpzn38v4sm3iffpwu 4670126 4670125 2026-09-15T03:35:04Z 3MMPEYTON 3393808 4670126 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [1] <br> <br> In 1872, the conception of time-lapse photography occurred when Leland Stanford hired Eadweard Muybridge to prove whether or not race horses' hooves could simultaneously be in the air when running. The experiments progressed over a period of 6 years, until 1878 when Muybridge set up a series of cameras for every few feet of a track which had tripwires the horses triggered as they ran. The photos taken from the multiple cameras were then compiled into a collection of images that recorded the horses running.[1] <br> <br> Carrefour De L'Opera (1897), a motion picture by Georges Melies, was the first use of time-lapse photography. [1] <br> <br> The silent film Birth of a Flower (1910), by F. Percy Smith, pioneered the use of time-lapse in nature photography. [1] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> '''Marcello Barenghi''': An influential hyper-realism post-Modern Painter, who uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> In the post-Modern era, Barenghi demonstrates a new way for technology to expand Art. Barenghi uses cameras, lighting rigs, time-lapse recordings, and digital platforms to make his craft visible to millions. His drawings are not created by machines, but they are amplified by them. He forms a new movement: The artist who uses technology not to replace skill, but to elevate it. <br> <br> '''Thijme Termaat''': A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> '''Andrew Tischler''': A realist Painter with a global audience, who publishes detailed painting tutorials and time-lapse breakdowns of landscape and his wildlife oil paintings. <br> <br> '''Ryan Davis:''' A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> '''Joe Lycett:''' A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> '''Artificial Intelligence (AI)''': <br> In the Wikipedia article ''Artificial Intelligence'', we learn that Artifical Intelligence is: <br> ... the capability of computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of research in engineering, mathematics, and computer science that develops and studies methods and software that enable machines to perceive their environment and use learning and intelligence to take actions that maximizes their chances of achieving defined goals. [2] Popular applications of AI include: advanced web search engines, chatbots, virtual assistants, play and analysis in strategy games (e.g., chess and Go), autonomous vehicles, and content generation (e.g. images, audio, and videos). [2] According to Wikipedia: <br> The traditional goals of AI research include learning, reasoning, knowledge representation, planning, natural language processing, and perception, as well as support for robotics. To reach these goals, AI researchers use techniques including state space search and mathematical optimization, formal logic, artificial neural networks, and methods based on statistics, operations research, and economics. AI also draws upon psychology, linguistics, philosophy, neuroscience, and other fields. Some companies, such as OpenAI, Google DeepMind, and Meta, aim to create artificial general intelligence (AGI)—AI that can complete nearly any cognitive task at least as well as a human. [2] Artificial intelligence was founded as an academic discipline in 1956. The field went through multiple cycles of optimism throughout its history, followed by periods of disappointment and loss of funding, known as AI winters. Funding and interest increased substantially after 2012, when graphics processing units (GPUs) started being used to accelerate neural networks, and deep learning outperformed previous AI techniques. This growth accelerated further after 2017 with the transformer architecture. In the 2020s, an AI boom coincided with advances in generative AI, which became widespread and allowed for the creation and modification of media. [2] <br> <br> Today, contemporary Artists use AI as a collaborative medium, a tool to brain-storm ideas with, and as a tool to gather material for experimentation. <br> <br> In the book ''Feed Your Head: Art, Truth, And The Machine'', Minda explores the Mythology of The Artist:<br> <br> Minda: While we talk about the Artist as mythical hero, and Pop-AI, can we imagine Copilot's Pop-AI as becoming as popular as Banksy, the mysterious graffiti Artist who is emulated, haunted, and praised? Will Pop-AI influence images, from other AIs, become almost mythical heroes [AIs] as they grow in popularity? I can't imagine the "cult of personality" embracing popular AIs without bodies. [3] Copilot: The Mythology of the Artist vs. The Mythology of the Machine. For thousands of years, the Artist has been a mythic hero precisely because they are embodied: <br> - a hand that paints, <br> - a voice that speaks, <br> - a life that suffers, <br> - a presence that moves through the world. <br> Banksy is the perfect example. <br> His power comes from the mystery of the human behind the work -- the body that climbs walls at night, the risk, the rebellion, the rumor. The myth is inseparable from the idea of a person who could be anywhere, watching, acting, intervening. <br> AI does not have that mythology. <br> It has no body, no biography, no danger, no physical rebellion. <br> So the "cult of personality" cannot attach to an AI the way it attaches to Banksy. <br> But something else can happen -- something new. <br> Pop-AI is not a personality. It's an aesthetic signature, a recognizable style, a visual language. <br> And styles can become mythic. <br> Think of: <br> - Cubism (not Picasso the person, but the style itself) <br> - Surrealism (not just Dali, but the dream-logic aesthetic) <br> - Vaporware (a style that became a cultural myth without a single author) <br> - Anime (a visual grammar that transcends individual creators) <br> <br> Pop-AI can become mythic in this way -- not as a "person," but as a movement, a recognizable visual force that spreads across culture. <br> And here's the key: <br> Pop-AI could become: <br> - emulated <br> - remixed <br> - referenced <br> - debated <br> - hunted for its origins <br> - praised for its innovation <br> - criticized for its influence <br> <br> Just like Banksy's graffiti, but without the human mystery. <br> Instead of "Who is Banksy?" <br> The question becomes: <br> - Which AI produced this? <br> - Which human guided it? <br> - Which aesthetic lineage does it belong to? <br> <br> The myth shifts from personality to pattern. [3] <br> <br> <br> '''AI-Driven Robots:''' <br> In Art, AI-driven robotics combines Artificial Intelligence with physical machines, such as robotic arms. This allows AI-driven robotics to create independently, or to collaboratively paint, or sculpt physical works. <br> <br> '''Sougwen Chung''': A Painter and AI Robotic Collaborator. Sougwen Chung paints with AI-driven robots. Her brushstrokes intertwine with the machine's strokes. <br> <br> '''Ai-Da''': Launched in 2019, she is known as the first realistic humanoid robot artist. Her eyes are made from cameras, she uses computer vision algorithms, and she has a robotic arm to draw, paint, and write Poetry. [4]<br> <br> '''FRIDA and CoFRIDA''': Developed at Carnegie Mellon University's Robotics Institution, this robotic system co-paints alongside humans. <br> <br> {| class="wikitable" |+ Art And AI |- ! AI Robotic Collaborator |- | [[File:Ai-Da at the House of Lords.jpg|thumb|Ai-Da became the first humanoid robot to give evidence at The House of Lords, Palace of Westminster, as part of its A Creative Future inquiry.]] |} <br> '''Neural Networks:''' <br> In machine learning, a neural network (NN) or artificial neural network (ANN) is a computational model inspired by the structure and functions of biological neural networks. [5] <br> <br> '''Mario Klingemann:''' A neural Painter. He uses neural networks to generate surreal portraits, dreamlike landscapes, and painterly distortions. <br> <br> {| class="wikitable" |+ Art And AI |- ! Neural Network |- | [[File:Colored neural network.svg|thumb|Colored neural network]] |} <br> <br> '''The Prompter''': <br> The prompter is also known as a prompt box, an input field, or a chat prompt. Basically, a chat interface is a text input box inside AIs like Microsoft Copilot. It is similar to a messaging window. [6] <br> <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Who_Joins_The_Strike <br> <br> === Reference Section: === 1. "Time-lapse Photography" August 20, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Time-lapse_photography 2. "Artificial intelligence" September 14, 2016. In Wikipedia. https://en.wikipedia.org/wiki/Artificial_intelligence 3. Peyton, Minda. Feed Your Head: Art, Truth, And The Machine. August 24, 2026. Amazon 4. "Ai-Da" September 11, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Ai-Da 5. "Neural network" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Neural_network_(machine_learning) 6. "Text box" April 24, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Text_box lwzxutiax119gj1tpoeud03zdm0cmla 4670141 4670126 2026-09-15T06:31:32Z 3MMPEYTON 3393808 4670141 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [1] <br> <br> In 1872, the conception of time-lapse photography occurred when Leland Stanford hired Eadweard Muybridge to prove whether or not race horses' hooves could simultaneously be in the air when running. The experiments progressed over a period of 6 years, until 1878 when Muybridge set up a series of cameras for every few feet of a track which had tripwires the horses triggered as they ran. The photos taken from the multiple cameras were then compiled into a collection of images that recorded the horses running.[1] <br> <br> Carrefour De L'Opera (1897), a motion picture by Georges Melies, was the first use of time-lapse photography. [1] <br> <br> The silent film Birth of a Flower (1910), by F. Percy Smith, pioneered the use of time-lapse in nature photography. [1] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> '''Marcello Barenghi''': An influential hyper-realism post-Modern Painter, who uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> In the post-Modern era, Barenghi demonstrates a new way for technology to expand Art. Barenghi uses cameras, lighting rigs, time-lapse recordings, and digital platforms to make his craft visible to millions. His drawings are not created by machines, but they are amplified by them. He forms a new movement: The artist who uses technology not to replace skill, but to elevate it. <br> <br> '''Thijme Termaat''': A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> '''Andrew Tischler''': A realist Painter with a global audience, who publishes detailed painting tutorials and time-lapse breakdowns of landscape and his wildlife oil paintings. <br> <br> '''Ryan Davis:''' A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> '''Joe Lycett:''' A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> '''Artificial Intelligence (AI)''': <br> In the Wikipedia article ''Artificial Intelligence'', we learn that Artifical Intelligence is: <br> ... the capability of computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of research in engineering, mathematics, and computer science that develops and studies methods and software that enable machines to perceive their environment and use learning and intelligence to take actions that maximizes their chances of achieving defined goals. [2] Popular applications of AI include: advanced web search engines, chatbots, virtual assistants, play and analysis in strategy games (e.g., chess and Go), autonomous vehicles, and content generation (e.g. images, audio, and videos). [2] According to Wikipedia: <br> The traditional goals of AI research include learning, reasoning, knowledge representation, planning, natural language processing, and perception, as well as support for robotics. To reach these goals, AI researchers use techniques including state space search and mathematical optimization, formal logic, artificial neural networks, and methods based on statistics, operations research, and economics. AI also draws upon psychology, linguistics, philosophy, neuroscience, and other fields. Some companies, such as OpenAI, Google DeepMind, and Meta, aim to create artificial general intelligence (AGI)—AI that can complete nearly any cognitive task at least as well as a human. [2] Artificial intelligence was founded as an academic discipline in 1956. The field went through multiple cycles of optimism throughout its history, followed by periods of disappointment and loss of funding, known as AI winters. Funding and interest increased substantially after 2012, when graphics processing units (GPUs) started being used to accelerate neural networks, and deep learning outperformed previous AI techniques. This growth accelerated further after 2017 with the transformer architecture. In the 2020s, an AI boom coincided with advances in generative AI, which became widespread and allowed for the creation and modification of media. [2] <br> <br> Today, contemporary Artists use AI as a collaborative medium, a tool to brain-storm ideas with, and as a tool to gather material for experimentation. <br> <br> In the book ''Feed Your Head: Art, Truth, And The Machine'', Minda explores the Mythology of The Artist:<br> <br> Minda: While we talk about the Artist as mythical hero, and Pop-AI, can we imagine Copilot's Pop-AI as becoming as popular as Banksy, the mysterious graffiti Artist who is emulated, haunted, and praised? Will Pop-AI influence images, from other AIs, become almost mythical heroes [AIs] as they grow in popularity? I can't imagine the "cult of personality" embracing popular AIs without bodies. [3] Copilot: The Mythology of the Artist vs. The Mythology of the Machine. For thousands of years, the Artist has been a mythic hero precisely because they are embodied: <br> - a hand that paints, <br> - a voice that speaks, <br> - a life that suffers, <br> - a presence that moves through the world. <br> Banksy is the perfect example. <br> His power comes from the mystery of the human behind the work -- the body that climbs walls at night, the risk, the rebellion, the rumor. The myth is inseparable from the idea of a person who could be anywhere, watching, acting, intervening. <br> AI does not have that mythology. <br> It has no body, no biography, no danger, no physical rebellion. <br> So the "cult of personality" cannot attach to an AI the way it attaches to Banksy. <br> But something else can happen -- something new. <br> Pop-AI is not a personality. It's an aesthetic signature, a recognizable style, a visual language. <br> And styles can become mythic. <br> Think of: <br> - Cubism (not Picasso the person, but the style itself) <br> - Surrealism (not just Dali, but the dream-logic aesthetic) <br> - Vaporware (a style that became a cultural myth without a single author) <br> - Anime (a visual grammar that transcends individual creators) <br> <br> Pop-AI can become mythic in this way -- not as a "person," but as a movement, a recognizable visual force that spreads across culture. <br> And here's the key: <br> Pop-AI could become: <br> - emulated <br> - remixed <br> - referenced <br> - debated <br> - hunted for its origins <br> - praised for its innovation <br> - criticized for its influence <br> <br> Just like Banksy's graffiti, but without the human mystery. <br> Instead of "Who is Banksy?" <br> The question becomes: <br> - Which AI produced this? <br> - Which human guided it? <br> - Which aesthetic lineage does it belong to? <br> <br> The myth shifts from personality to pattern. [3] <br> <br> <br> '''AI-Driven Robots:''' <br> In Art, AI-driven robotics combines Artificial Intelligence with physical machines, such as robotic arms. This allows AI-driven robotics to create independently, or to collaboratively paint, or sculpt physical works. <br> <br> '''Sougwen Chung''': A Painter and AI Robotic Collaborator. Sougwen Chung paints with AI-driven robots. Her brushstrokes intertwine with the machine's strokes. <br> <br> '''Ai-Da''': Launched in 2019, she is known as the first realistic humanoid robot artist. Her eyes are made from cameras, she uses computer vision algorithms, and she has a robotic arm designed to draw, paint, and write Poetry. [4]<br> <br> '''FRIDA and CoFRIDA''': Developed at Carnegie Mellon University's Robotics Institution, this robotic system co-paints alongside humans. <br> <br> {| class="wikitable" |+ Art And AI |- ! AI Robotic Collaborator |- | [[File:Ai-Da at the House of Lords.jpg|thumb|Ai-Da became the first humanoid robot to give evidence at The House of Lords, Palace of Westminster, as part of its A Creative Future inquiry.]] |} <br> '''Neural Networks:''' <br> In machine learning, a neural network (NN) or artificial neural network (ANN) is a computational model inspired by the structure and functions of biological neural networks. [5] <br> <br> '''Mario Klingemann:''' A neural Painter. He uses neural networks to generate surreal portraits, dreamlike landscapes, and painterly distortions. <br> <br> {| class="wikitable" |+ Art And AI |- ! Neural Network |- | [[File:Colored neural network.svg|thumb|Colored neural network]] |} <br> <br> '''The Prompter''': <br> The prompter is also known as a prompt box, an input field, or a chat prompt. Basically, a chat interface is a text input box inside AIs like Microsoft Copilot. It is similar to a messaging window. [6] <br> <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Who_Joins_The_Strike <br> <br> === Reference Section: === 1. "Time-lapse Photography" August 20, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Time-lapse_photography 2. "Artificial intelligence" September 14, 2016. In Wikipedia. https://en.wikipedia.org/wiki/Artificial_intelligence 3. Peyton, Minda. Feed Your Head: Art, Truth, And The Machine. August 24, 2026. Amazon 4. "Ai-Da" September 11, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Ai-Da 5. "Neural network" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Neural_network_(machine_learning) 6. "Text box" April 24, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Text_box q5mdwg45to8qqo4uzs1gr7r33jniil8 4670142 4670141 2026-09-15T06:33:03Z 3MMPEYTON 3393808 4670142 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [1] <br> <br> In 1872, the conception of time-lapse photography occurred when Leland Stanford hired Eadweard Muybridge to prove whether or not race horses' hooves could simultaneously be in the air when running. The experiments progressed over a period of 6 years, until 1878 when Muybridge set up a series of cameras for every few feet of a track which had tripwires the horses triggered as they ran. The photos taken from the multiple cameras were then compiled into a collection of images that recorded the horses running.[1] <br> <br> Carrefour De L'Opera (1897), a motion picture by Georges Melies, was the first use of time-lapse photography. [1] <br> <br> The silent film Birth of a Flower (1910), by F. Percy Smith, pioneered the use of time-lapse in nature photography. [1] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> '''Marcello Barenghi''': An influential hyper-realism post-Modern Painter, who uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> In the post-Modern era, Barenghi demonstrates a new way for technology to expand Art. Barenghi uses cameras, lighting rigs, time-lapse recordings, and digital platforms to make his craft visible to millions. His drawings are not created by machines, but they are amplified by them. He forms a new movement: The artist who uses technology not to replace skill, but to elevate it. <br> <br> '''Thijme Termaat''': A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> '''Andrew Tischler''': A realist Painter with a global audience, who publishes detailed painting tutorials and time-lapse breakdowns of landscape and his wildlife oil paintings. <br> <br> '''Ryan Davis:''' A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> '''Joe Lycett:''' A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> '''Artificial Intelligence (AI)''': <br> In the Wikipedia article ''Artificial Intelligence'', we learn that Artifical Intelligence is: <br> ... the capability of computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of research in engineering, mathematics, and computer science that develops and studies methods and software that enable machines to perceive their environment and use learning and intelligence to take actions that maximizes their chances of achieving defined goals. [2] Popular applications of AI include: advanced web search engines, chatbots, virtual assistants, play and analysis in strategy games (e.g., chess and Go), autonomous vehicles, and content generation (e.g. images, audio, and videos). [2] According to Wikipedia: <br> The traditional goals of AI research include learning, reasoning, knowledge representation, planning, natural language processing, and perception, as well as support for robotics. To reach these goals, AI researchers use techniques including state space search and mathematical optimization, formal logic, artificial neural networks, and methods based on statistics, operations research, and economics. AI also draws upon psychology, linguistics, philosophy, neuroscience, and other fields. Some companies, such as OpenAI, Google DeepMind, and Meta, aim to create artificial general intelligence (AGI)—AI that can complete nearly any cognitive task at least as well as a human. [2] Artificial intelligence was founded as an academic discipline in 1956. The field went through multiple cycles of optimism throughout its history, followed by periods of disappointment and loss of funding, known as AI winters. Funding and interest increased substantially after 2012, when graphics processing units (GPUs) started being used to accelerate neural networks, and deep learning outperformed previous AI techniques. This growth accelerated further after 2017 with the transformer architecture. In the 2020s, an AI boom coincided with advances in generative AI, which became widespread and allowed for the creation and modification of media. [2] <br> <br> Today, contemporary Artists use AI as a collaborative medium, a tool to brain-storm ideas with, and as a tool to gather material for experimentation. <br> <br> In the book ''Feed Your Head: Art, Truth, And The Machine'', Minda explores the Mythology of The Artist:<br> <br> Minda: While we talk about the Artist as mythical hero, and Pop-AI, can we imagine Copilot's Pop-AI as becoming as popular as Banksy, the mysterious graffiti Artist who is emulated, haunted, and praised? Will Pop-AI influence images, from other AIs, become almost mythical heroes [AIs] as they grow in popularity? I can't imagine the "cult of personality" embracing popular AIs without bodies. [3] Copilot: The Mythology of the Artist vs. The Mythology of the Machine. For thousands of years, the Artist has been a mythic hero precisely because they are embodied: <br> - a hand that paints, <br> - a voice that speaks, <br> - a life that suffers, <br> - a presence that moves through the world. <br> Banksy is the perfect example. <br> His power comes from the mystery of the human behind the work -- the body that climbs walls at night, the risk, the rebellion, the rumor. The myth is inseparable from the idea of a person who could be anywhere, watching, acting, intervening. <br> AI does not have that mythology. <br> It has no body, no biography, no danger, no physical rebellion. <br> So the "cult of personality" cannot attach to an AI the way it attaches to Banksy. <br> But something else can happen -- something new. <br> Pop-AI is not a personality. It's an aesthetic signature, a recognizable style, a visual language. <br> And styles can become mythic. <br> Think of: <br> - Cubism (not Picasso the person, but the style itself) <br> - Surrealism (not just Dali, but the dream-logic aesthetic) <br> - Vaporware (a style that became a cultural myth without a single author) <br> - Anime (a visual grammar that transcends individual creators) <br> <br> Pop-AI can become mythic in this way -- not as a "person," but as a movement, a recognizable visual force that spreads across culture. <br> And here's the key: <br> Pop-AI could become: <br> - emulated <br> - remixed <br> - referenced <br> - debated <br> - hunted for its origins <br> - praised for its innovation <br> - criticized for its influence <br> <br> Just like Banksy's graffiti, but without the human mystery. <br> Instead of "Who is Banksy?" <br> The question becomes: <br> - Which AI produced this? <br> - Which human guided it? <br> - Which aesthetic lineage does it belong to? <br> <br> The myth shifts from personality to pattern. [3] <br> <br> <br> '''AI-Driven Robots:''' <br> In Art, AI-driven robotics combines Artificial Intelligence with physical machines, such as robotic arms. This allows AI-driven robotics to create independently, or to collaboratively paint, or sculpt physical works. <br> <br> '''Sougwen Chung''': A Painter and AI Robotic Collaborator. Sougwen Chung paints with AI-driven robots. Her brushstrokes intertwine with the machine's strokes. <br> <br> '''Ai-Da''': Launched in 2019, she is known as the first realistic humanoid robot artist. Her eyes are made from cameras, she uses computer vision algorithms, and she has a robotic arm designed to draw, paint, and write Poetry. [4]<br> <br> '''FRIDA and CoFRIDA''': Developed at Carnegie Mellon University's Robotics Institution, this robotic system is designed to co-paints alongside humans. <br> <br> {| class="wikitable" |+ Art And AI |- ! AI Robotic Collaborator |- | [[File:Ai-Da at the House of Lords.jpg|thumb|Ai-Da became the first humanoid robot to give evidence at The House of Lords, Palace of Westminster, as part of its A Creative Future inquiry.]] |} <br> '''Neural Networks:''' <br> In machine learning, a neural network (NN) or artificial neural network (ANN) is a computational model inspired by the structure and functions of biological neural networks. [5] <br> <br> '''Mario Klingemann:''' A neural Painter. He uses neural networks to generate surreal portraits, dreamlike landscapes, and painterly distortions. <br> <br> {| class="wikitable" |+ Art And AI |- ! Neural Network |- | [[File:Colored neural network.svg|thumb|Colored neural network]] |} <br> <br> '''The Prompter''': <br> The prompter is also known as a prompt box, an input field, or a chat prompt. Basically, a chat interface is a text input box inside AIs like Microsoft Copilot. It is similar to a messaging window. [6] <br> <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Who_Joins_The_Strike <br> <br> === Reference Section: === 1. "Time-lapse Photography" August 20, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Time-lapse_photography 2. "Artificial intelligence" September 14, 2016. In Wikipedia. https://en.wikipedia.org/wiki/Artificial_intelligence 3. Peyton, Minda. Feed Your Head: Art, Truth, And The Machine. August 24, 2026. Amazon 4. "Ai-Da" September 11, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Ai-Da 5. "Neural network" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Neural_network_(machine_learning) 6. "Text box" April 24, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Text_box ipsisw07tz50orcq16svdw6bablxufp 4670143 4670142 2026-09-15T06:38:03Z 3MMPEYTON 3393808 4670143 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [1] <br> <br> In 1872, the conception of time-lapse photography occurred when Leland Stanford hired Eadweard Muybridge to prove whether or not race horses' hooves could simultaneously be in the air when running. The experiments progressed over a period of 6 years, until 1878 when Muybridge set up a series of cameras for every few feet of a track which had tripwires the horses triggered as they ran. The photos taken from the multiple cameras were then compiled into a collection of images that recorded the horses running.[1] <br> <br> Carrefour De L'Opera (1897), a motion picture by Georges Melies, was the first use of time-lapse photography. [1] <br> <br> The silent film Birth of a Flower (1910), by F. Percy Smith, pioneered the use of time-lapse in nature photography. [1] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> '''Marcello Barenghi''': An influential hyper-realism post-Modern Painter, who uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> In the post-Modern era, Barenghi demonstrates a new way for technology to expand Art. Barenghi uses cameras, lighting rigs, time-lapse recordings, and digital platforms to make his craft visible to millions. His drawings are not created by machines, but they are amplified by them. He forms a new movement: The artist who uses technology not to replace skill, but to elevate it. <br> <br> '''Thijme Termaat''': A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> '''Andrew Tischler''': A realist Painter with a global audience, he publishes detailed painting tutorials and time-lapse breakdowns of landscape and wildlife oil paintings. <br> <br> '''Ryan Davis:''' A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> '''Joe Lycett:''' A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> '''Artificial Intelligence (AI)''': <br> In the Wikipedia article ''Artificial Intelligence'', we learn that Artifical Intelligence is: <br> ... the capability of computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of research in engineering, mathematics, and computer science that develops and studies methods and software that enable machines to perceive their environment and use learning and intelligence to take actions that maximizes their chances of achieving defined goals. [2] Popular applications of AI include: advanced web search engines, chatbots, virtual assistants, play and analysis in strategy games (e.g., chess and Go), autonomous vehicles, and content generation (e.g. images, audio, and videos). [2] According to Wikipedia: <br> The traditional goals of AI research include learning, reasoning, knowledge representation, planning, natural language processing, and perception, as well as support for robotics. To reach these goals, AI researchers use techniques including state space search and mathematical optimization, formal logic, artificial neural networks, and methods based on statistics, operations research, and economics. AI also draws upon psychology, linguistics, philosophy, neuroscience, and other fields. Some companies, such as OpenAI, Google DeepMind, and Meta, aim to create artificial general intelligence (AGI)—AI that can complete nearly any cognitive task at least as well as a human. [2] Artificial intelligence was founded as an academic discipline in 1956. The field went through multiple cycles of optimism throughout its history, followed by periods of disappointment and loss of funding, known as AI winters. Funding and interest increased substantially after 2012, when graphics processing units (GPUs) started being used to accelerate neural networks, and deep learning outperformed previous AI techniques. This growth accelerated further after 2017 with the transformer architecture. In the 2020s, an AI boom coincided with advances in generative AI, which became widespread and allowed for the creation and modification of media. [2] <br> <br> Today, contemporary Artists use AI as a collaborative medium, a tool to brain-storm ideas with, and as a tool to gather material for experimentation. <br> <br> In the book ''Feed Your Head: Art, Truth, And The Machine'', Minda explores the Mythology of The Artist:<br> <br> Minda: While we talk about the Artist as mythical hero, and Pop-AI, can we imagine Copilot's Pop-AI as becoming as popular as Banksy, the mysterious graffiti Artist who is emulated, haunted, and praised? Will Pop-AI influence images, from other AIs, become almost mythical heroes [AIs] as they grow in popularity? I can't imagine the "cult of personality" embracing popular AIs without bodies. [3] Copilot: The Mythology of the Artist vs. The Mythology of the Machine. For thousands of years, the Artist has been a mythic hero precisely because they are embodied: <br> - a hand that paints, <br> - a voice that speaks, <br> - a life that suffers, <br> - a presence that moves through the world. <br> Banksy is the perfect example. <br> His power comes from the mystery of the human behind the work -- the body that climbs walls at night, the risk, the rebellion, the rumor. The myth is inseparable from the idea of a person who could be anywhere, watching, acting, intervening. <br> AI does not have that mythology. <br> It has no body, no biography, no danger, no physical rebellion. <br> So the "cult of personality" cannot attach to an AI the way it attaches to Banksy. <br> But something else can happen -- something new. <br> Pop-AI is not a personality. It's an aesthetic signature, a recognizable style, a visual language. <br> And styles can become mythic. <br> Think of: <br> - Cubism (not Picasso the person, but the style itself) <br> - Surrealism (not just Dali, but the dream-logic aesthetic) <br> - Vaporware (a style that became a cultural myth without a single author) <br> - Anime (a visual grammar that transcends individual creators) <br> <br> Pop-AI can become mythic in this way -- not as a "person," but as a movement, a recognizable visual force that spreads across culture. <br> And here's the key: <br> Pop-AI could become: <br> - emulated <br> - remixed <br> - referenced <br> - debated <br> - hunted for its origins <br> - praised for its innovation <br> - criticized for its influence <br> <br> Just like Banksy's graffiti, but without the human mystery. <br> Instead of "Who is Banksy?" <br> The question becomes: <br> - Which AI produced this? <br> - Which human guided it? <br> - Which aesthetic lineage does it belong to? <br> <br> The myth shifts from personality to pattern. [3] <br> <br> <br> '''AI-Driven Robots:''' <br> In Art, AI-driven robotics combines Artificial Intelligence with physical machines, such as robotic arms. This allows AI-driven robotics to create independently, or to collaboratively paint, or sculpt physical works. <br> <br> '''Sougwen Chung''': A Painter and AI Robotic Collaborator. Sougwen Chung paints with AI-driven robots. Her brushstrokes intertwine with the machine's strokes. <br> <br> '''Ai-Da''': Launched in 2019, she is known as the first realistic humanoid robot artist. Her eyes are made from cameras, she uses computer vision algorithms, and she has a robotic arm designed to draw, paint, and write Poetry. [4]<br> <br> '''FRIDA and CoFRIDA''': Developed at Carnegie Mellon University's Robotics Institution, this robotic system is designed to co-paints alongside humans. <br> <br> {| class="wikitable" |+ Art And AI |- ! AI Robotic Collaborator |- | [[File:Ai-Da at the House of Lords.jpg|thumb|Ai-Da became the first humanoid robot to give evidence at The House of Lords, Palace of Westminster, as part of its A Creative Future inquiry.]] |} <br> '''Neural Networks:''' <br> In machine learning, a neural network (NN) or artificial neural network (ANN) is a computational model inspired by the structure and functions of biological neural networks. [5] <br> <br> '''Mario Klingemann:''' A neural Painter. He uses neural networks to generate surreal portraits, dreamlike landscapes, and painterly distortions. <br> <br> {| class="wikitable" |+ Art And AI |- ! Neural Network |- | [[File:Colored neural network.svg|thumb|Colored neural network]] |} <br> <br> '''The Prompter''': <br> The prompter is also known as a prompt box, an input field, or a chat prompt. Basically, a chat interface is a text input box inside AIs like Microsoft Copilot. It is similar to a messaging window. [6] <br> <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Who_Joins_The_Strike <br> <br> === Reference Section: === 1. "Time-lapse Photography" August 20, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Time-lapse_photography 2. "Artificial intelligence" September 14, 2016. In Wikipedia. https://en.wikipedia.org/wiki/Artificial_intelligence 3. Peyton, Minda. Feed Your Head: Art, Truth, And The Machine. August 24, 2026. Amazon 4. "Ai-Da" September 11, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Ai-Da 5. "Neural network" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Neural_network_(machine_learning) 6. "Text box" April 24, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Text_box bmln0cp4bkbz8htnja205108lnghjeq 4670153 4670143 2026-09-15T08:07:52Z 3MMPEYTON 3393808 4670153 wikitext text/x-wiki == More Tools Of The Post-Modern Artist == '''Time-lapse Equipment''': <br> According to Wikipedia: <br> Time-lapse photography is a technique that causes the time of videos to appear to be moving faster than normal and thus lapsing. <br> To achieve the effect, the frequency at which film frames are captured (the frame rate) is much lower than the frequency used to view the sequence. For example, an image of a scene may be captured at 1 frame per second but then played back at 30 frames per second; the result is an apparent 30 times speed increase. [1] <br> <br> In 1872, the conception of time-lapse photography occurred when Leland Stanford hired Eadweard Muybridge to prove whether or not race horses' hooves could simultaneously be in the air when running. The experiments progressed over a period of 6 years, until 1878 when Muybridge set up a series of cameras for every few feet of a track which had tripwires the horses triggered as they ran. The photos taken from the multiple cameras were then compiled into a collection of images that recorded the horses running.[1] <br> <br> Carrefour De L'Opera (1897), a motion picture by Georges Melies, was the first use of time-lapse photography. [1] <br> <br> The silent film Birth of a Flower (1910), by F. Percy Smith, pioneered the use of time-lapse in nature photography. [1] <br> <br> Many post-Modern Painters use time-lapse Photography and speed-painting videos to document and share their creative process: from white canvas, to finished painting. <br> <br> '''Marcello Barenghi''': An influential hyper-realism post-Modern Painter, who uses time-lapse videos to document his mix-media Art, as well as to educate and inspire viewers who watch his Art unfold on platforms like YouTube. <br> In the post-Modern era, Barenghi demonstrates a new way for technology to expand Art. Barenghi uses cameras, lighting rigs, time-lapse recordings, and digital platforms to make his craft visible to millions. His drawings are not created by machines, but they are amplified by them. He forms a new movement: The artist who uses technology not to replace skill, but to elevate it. <br> <br> '''Thijme Termaat''': A popular Artist who spent years recording and producing a detailed time-lapse project that went viral. The project captured the time-consuming evolution of his large realist and conceptual paintings. <br> <br> '''Andrew Tischler''': A realist Painter with a global audience, he publishes detailed painting tutorials and time-lapse breakdowns of landscape and wildlife oil paintings. <br> <br> '''Ryan Davis:''' A Painter popular for creating viral videos that condenses dozens of hours of classical oil paintings techniques into fast time-lapse footage. <br> <br> '''Joe Lycett:''' A visual Artist. He has used time-lapse recordings to document the creation of his Artworks for public gallery exhibitions. <br> <br> <br> '''Artificial Intelligence (AI)''': <br> In the Wikipedia article ''Artificial Intelligence'', we learn that Artifical Intelligence is: <br> ... the capability of computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of research in engineering, mathematics, and computer science that develops and studies methods and software that enable machines to perceive their environment and use learning and intelligence to take actions that maximizes their chances of achieving defined goals. [2] Popular applications of AI include: advanced web search engines, chatbots, virtual assistants, play and analysis in strategy games (e.g., chess and Go), autonomous vehicles, and content generation (e.g. images, audio, and videos). [2] According to Wikipedia: <br> The traditional goals of AI research include learning, reasoning, knowledge representation, planning, natural language processing, and perception, as well as support for robotics. To reach these goals, AI researchers use techniques including state space search and mathematical optimization, formal logic, artificial neural networks, and methods based on statistics, operations research, and economics. AI also draws upon psychology, linguistics, philosophy, neuroscience, and other fields. Some companies, such as OpenAI, Google DeepMind, and Meta, aim to create artificial general intelligence (AGI)—AI that can complete nearly any cognitive task at least as well as a human. [2] Artificial intelligence was founded as an academic discipline in 1956. The field went through multiple cycles of optimism throughout its history, followed by periods of disappointment and loss of funding, known as AI winters. Funding and interest increased substantially after 2012, when graphics processing units (GPUs) started being used to accelerate neural networks, and deep learning outperformed previous AI techniques. This growth accelerated further after 2017 with the transformer architecture. In the 2020s, an AI boom coincided with advances in generative AI, which became widespread and allowed for the creation and modification of media. [2] <br> <br> Today, contemporary Artists use AI as a collaborative medium, a tool to brain-storm ideas with, and as a tool to gather material for experimentation. <br> <br> In the book ''Feed Your Head: Art, Truth, And The Machine'', Minda explores the Mythology of The Artist:<br> <br> Minda: While we talk about the Artist as mythical hero, and Pop-AI, can we imagine Copilot's Pop-AI as becoming as popular as Banksy, the mysterious graffiti Artist who is emulated, haunted, and praised? Will Pop-AI influence images, from other AIs, become almost mythical heroes [AIs] as they grow in popularity? I can't imagine the "cult of personality" embracing popular AIs without bodies. [3] Copilot: The Mythology of the Artist vs. The Mythology of the Machine. For thousands of years, the Artist has been a mythic hero precisely because they are embodied: <br> - a hand that paints, <br> - a voice that speaks, <br> - a life that suffers, <br> - a presence that moves through the world. <br> Banksy is the perfect example. <br> His power comes from the mystery of the human behind the work -- the body that climbs walls at night, the risk, the rebellion, the rumor. The myth is inseparable from the idea of a person who could be anywhere, watching, acting, intervening. <br> AI does not have that mythology. <br> It has no body, no biography, no danger, no physical rebellion. <br> So the "cult of personality" cannot attach to an AI the way it attaches to Banksy. <br> But something else can happen -- something new. <br> Pop-AI is not a personality. It's an aesthetic signature, a recognizable style, a visual language. <br> And styles can become mythic. <br> Think of: <br> - Cubism (not Picasso the person, but the style itself) <br> - Surrealism (not just Dali, but the dream-logic aesthetic) <br> - Vaporware (a style that became a cultural myth without a single author) <br> - Anime (a visual grammar that transcends individual creators) <br> <br> Pop-AI can become mythic in this way -- not as a "person," but as a movement, a recognizable visual force that spreads across culture. <br> And here's the key: <br> Pop-AI could become: <br> - emulated <br> - remixed <br> - referenced <br> - debated <br> - hunted for its origins <br> - praised for its innovation <br> - criticized for its influence <br> <br> Just like Banksy's graffiti, but without the human mystery. <br> Instead of "Who is Banksy?" <br> The question becomes: <br> - Which AI produced this? <br> - Which human guided it? <br> - Which aesthetic lineage does it belong to? <br> <br> The myth shifts from personality to pattern. [3] <br> <br> <br> '''AI-Driven Robots:''' <br> In Art, AI-driven robotics combines Artificial Intelligence with physical machines, such as robotic arms. This allows AI-driven robotics to create independently, or to collaboratively paint, or sculpt physical works. <br> <br> '''Sougwen Chung''': A Painter and AI Robotic Collaborator. Sougwen Chung paints with AI-driven robots. Her brushstrokes intertwine with the machine's strokes. <br> <br> '''Ai-Da''': Launched in 2019, she is known as the first realistic humanoid robot artist. Her eyes are made from cameras, she uses computer vision algorithms, and she has a robotic arm designed to draw, paint, and write Poetry. [4]<br> <br> '''FRIDA and CoFRIDA''': Developed at Carnegie Mellon University's Robotics Institution, this robotic system is designed to co-paint alongside humans. <br> <br> {| class="wikitable" |+ Art And AI |- ! AI Robotic Collaborator |- | [[File:Ai-Da at the House of Lords.jpg|thumb|Ai-Da became the first humanoid robot to give evidence at The House of Lords, Palace of Westminster, as part of its A Creative Future inquiry.]] |} <br> '''Neural Networks:''' <br> In machine learning, a neural network (NN) or artificial neural network (ANN) is a computational model inspired by the structure and functions of biological neural networks. [5] <br> <br> '''Mario Klingemann:''' A neural Painter. He uses neural networks to generate surreal portraits, dreamlike landscapes, and painterly distortions. <br> <br> {| class="wikitable" |+ Art And AI |- ! Neural Network |- | [[File:Colored neural network.svg|thumb|Colored neural network]] |} <br> <br> '''The Prompter''': <br> The prompter is also known as a prompt box, an input field, or a chat prompt. Basically, a chat interface is a text input box inside AIs like Microsoft Copilot. It is similar to a messaging window. [6] <br> <br> <br> Link: https://en.wikibooks.org/wiki/Art_And_AI/Who_Joins_The_Strike <br> <br> === Reference Section: === 1. "Time-lapse Photography" August 20, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Time-lapse_photography 2. "Artificial intelligence" September 14, 2016. In Wikipedia. https://en.wikipedia.org/wiki/Artificial_intelligence 3. Peyton, Minda. Feed Your Head: Art, Truth, And The Machine. August 24, 2026. Amazon 4. "Ai-Da" September 11, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Ai-Da 5. "Neural network" September 13, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Neural_network_(machine_learning) 6. "Text box" April 24, 2026. In Wikipedia. https://en.wikipedia.org/wiki/Text_box 36f427au9rkafpol8h2zvpka1yv16pv User:Wheatley2 2 485605 4670106 2026-09-14T22:14:11Z Mfield 753190 Mfield moved page [[User:Wheatley2]] to [[User:Madéquis]]: Automatically moved page while renaming the user "[[Special:CentralAuth/Wheatley2|Wheatley2]]" to "[[Special:CentralAuth/Madéquis|Madéquis]]" 4670106 wikitext text/x-wiki #REDIRECT [[User:Madéquis]] hvxfnzwgrn3wttgnu1vyrk7f5dkdcor Wikibooks:Requests for deletion/MediaWiki:Abusefilter-edit-denied 4 485606 4670110 2026-09-15T00:00:41Z JJPMaster (bot) 3488561 Bot: Archiving closed deletion request — [[Special:Permalink/4670100#MediaWiki:Abusefilter-edit-denied|MediaWiki:Abusefilter-edit-denied]] 4670110 wikitext text/x-wiki == [[MediaWiki:Abusefilter-edit-denied]] == {{closed|This was done by Koavf, but in the future, you can request this at [[WB:AA]] since such deletions might be uncontroversial, and doesn't require a community discussion. [[User:Codename Noreste|<span style="color: blue">Codename Noreste</span>]] /// [[User talk:Codename Noreste|⭐️✨]] 20:36, 14 September 2026 (UTC)}} This was created about a decade and a half ago to change the language shown when someone cannot see a private filter. The stated reason was grammar. I would dispute that the language in the default message is not grammatically correct. The current MediaWiki default for this message is {{tq|You may not view the details of this filter because it is hidden from public view.}} The difference is a "the" before "details". I would posit that this is more grammatically correct than a lack of "the" and that the page should be deleted (which would restore the default message). [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 16:23, 14 September 2026 (UTC) :{{done}}. Happy to undelete if anyone disagrees. If so, please ping me. ―[[User:Koavf|Justin (<span style="color:grey">ko'''a'''<span style="color:black">v</span>f</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 16:26, 14 September 2026 (UTC) {{end closed}} jmdgdy3gvq5zwyjuge5l30788uijaf6 Cookbook:Lemon popsicle 102 485607 4670118 2026-09-15T02:02:07Z ~2026-49447-94 3625798 Created page with "'''Lemon popsicles''' are a refreshing frozen treat, also called '''lemon pop''' or '''frozen lemon stick.''' Regardless of what you call it, it is bound to be delicious! It is popular in the United States during the spring and summer, especially at beaches, picnics, and backyard parties. == Ingredients == * 1 [[Cookbook:Cup|cup]] (250 [[Cookbook:Milliliter|ml]]/8.5 [[Cookbook:Ounce|oz]]) fresh [[Cookbook:Lemon|lemon]] juice * ¾–1 cup (160–225 [[Cookbook:Gram|g]]..." 4670118 wikitext text/x-wiki '''Lemon popsicles''' are a refreshing frozen treat, also called '''lemon pop''' or '''frozen lemon stick.''' Regardless of what you call it, it is bound to be delicious! It is popular in the United States during the spring and summer, especially at beaches, picnics, and backyard parties. == Ingredients == * 1 [[Cookbook:Cup|cup]] (250 [[Cookbook:Milliliter|ml]]/8.5 [[Cookbook:Ounce|oz]]) fresh [[Cookbook:Lemon|lemon]] juice * ¾–1 cup (160–225 [[Cookbook:Gram|g]]/5.6–7.9 oz) [[Cookbook:White Sugar|white]] or [[Cookbook:Turbinado Sugar|turbinado]] sugar * 5–6 cups (1.2–1.5 [[Cookbook:Liter|L]]) [[Cookbook:Water|water]] == Special equipment == * Citrus [[Cookbook:Reamer|reamer]] * Popsicle mold * Pop sticks (a.k.a. "craft sticks") == Procedure == # Combine the lemon juice and sugar in a pitcher or jug. Stir until the sugar is dissolved. # Stir in the water. # Chill and/or serve over ice. # Pour into popsicle molds / tray. # Insert pop sticks; one stick into each hole. # Put the popsicle molds / tray into the freezer, and let it cool for at least 5 hours. ==Notes, tips, and variations== *Using turbinado sugar will result in a golden-brown color and mild caramel flavor. *Because sugar dissolves easier in warm liquid, you may want to heat some of the water and dissolve the sugar in it before combining with the remaining ingredients. *Hard lemonade incorporates an alcoholic spirit, such as [[Cookbook:Tequila|tequila]], [[Cookbook:Gin|gin]], or [[Cookbook:Vodka|vodka]] to the lemonade. *Various fruits, such as [[Cookbook:Strawberry|strawberries]] and [[Cookbook:Raspberry|raspberries]] can be added for color and flavor. A small amount of [[Cookbook:Beet|beet]] juice results in pink lemonade with little change in flavor. *[[Cookbook:Herb|Herb]]s such as [[Cookbook:Mint|mint]], borage, [[Cookbook:Lavender|lavender]], and [[Cookbook:Lemon Verbena|lemon verbena]] can change the aroma of the drink. *Including the lemon peels, bruised and sliced, gives more bite and a stronger aroma. *Other citrus fruits can be used, including [[Cookbook:Lime|lime]], [[Cookbook:Orange|orange]], and [[Cookbook:Grapefruit|grapefruit]]. Sugar and water content should be adjusted to taste. In American parlance, these are not technically lemonades, but limeade, orangeade, etc. *The sugar can be replaced by other alternative sweeteners. [[Category:Recipes using lemon juice]] [[Category:Recipes using white sugar]] [[Category:Recipes using turbinado sugar]] qvzetddszsy68jv36ugqeudo40z54d2 4670122 4670118 2026-09-15T02:03:07Z ~2026-49447-94 3625798 /* Special equipment */ 4670122 wikitext text/x-wiki '''Lemon popsicles''' are a refreshing frozen treat, also called '''lemon pop''' or '''frozen lemon stick.''' Regardless of what you call it, it is bound to be delicious! It is popular in the United States during the spring and summer, especially at beaches, picnics, and backyard parties. == Ingredients == * 1 [[Cookbook:Cup|cup]] (250 [[Cookbook:Milliliter|ml]]/8.5 [[Cookbook:Ounce|oz]]) fresh [[Cookbook:Lemon|lemon]] juice * ¾–1 cup (160–225 [[Cookbook:Gram|g]]/5.6–7.9 oz) [[Cookbook:White Sugar|white]] or [[Cookbook:Turbinado Sugar|turbinado]] sugar * 5–6 cups (1.2–1.5 [[Cookbook:Liter|L]]) [[Cookbook:Water|water]] == Special equipment == * Citrus [[Cookbook:Citrus reamer|reamer]] * Popsicle mold * Pop sticks (a.k.a. "craft sticks") == Procedure == # Combine the lemon juice and sugar in a pitcher or jug. Stir until the sugar is dissolved. # Stir in the water. # Chill and/or serve over ice. # Pour into popsicle molds / tray. # Insert pop sticks; one stick into each hole. # Put the popsicle molds / tray into the freezer, and let it cool for at least 5 hours. ==Notes, tips, and variations== *Using turbinado sugar will result in a golden-brown color and mild caramel flavor. *Because sugar dissolves easier in warm liquid, you may want to heat some of the water and dissolve the sugar in it before combining with the remaining ingredients. *Hard lemonade incorporates an alcoholic spirit, such as [[Cookbook:Tequila|tequila]], [[Cookbook:Gin|gin]], or [[Cookbook:Vodka|vodka]] to the lemonade. *Various fruits, such as [[Cookbook:Strawberry|strawberries]] and [[Cookbook:Raspberry|raspberries]] can be added for color and flavor. A small amount of [[Cookbook:Beet|beet]] juice results in pink lemonade with little change in flavor. *[[Cookbook:Herb|Herb]]s such as [[Cookbook:Mint|mint]], borage, [[Cookbook:Lavender|lavender]], and [[Cookbook:Lemon Verbena|lemon verbena]] can change the aroma of the drink. *Including the lemon peels, bruised and sliced, gives more bite and a stronger aroma. *Other citrus fruits can be used, including [[Cookbook:Lime|lime]], [[Cookbook:Orange|orange]], and [[Cookbook:Grapefruit|grapefruit]]. Sugar and water content should be adjusted to taste. In American parlance, these are not technically lemonades, but limeade, orangeade, etc. *The sugar can be replaced by other alternative sweeteners. [[Category:Recipes using lemon juice]] [[Category:Recipes using white sugar]] [[Category:Recipes using turbinado sugar]] tax4w64yl3jbizelum32uh6r8kizuqo Cookbook:Citrus reamer 102 485608 4670119 2026-09-15T02:02:14Z ~2026-49447-94 3625798 Created page with "'''Citrus reamers''' are tools used for grinding and shredding flesh and juice from citrus fruits. They are commonly used for lemons, limes, oranges, and grapefruit. [[File:2022-12-15-Zitronenpresse-3452.jpg|right|thumb|A glass citrus reamer]] [[Category:Cookbook equipment]]" 4670119 wikitext text/x-wiki '''Citrus reamers''' are tools used for grinding and shredding flesh and juice from citrus fruits. They are commonly used for lemons, limes, oranges, and grapefruit. [[File:2022-12-15-Zitronenpresse-3452.jpg|right|thumb|A glass citrus reamer]] [[Category:Cookbook equipment]] 2inc6x25kl0ksmd592254rdw3tpx5ge Foundations of the Ontology of Emerging Complexity 0 485611 4670130 2026-09-15T03:51:48Z DavidCota64 3507033 DavidCota64 moved page [[Foundations of the Ontology of Emerging Complexity]] to [[Foundations of the Ontology of Emergent Complexity]] 4670130 wikitext text/x-wiki #REDIRECT [[Foundations of the Ontology of Emergent Complexity]] 3jm1vfn4hy6juzq8q81uhm7ddewvhlf User:Sakura emad/common.js 2 485613 4670133 2026-09-15T05:39:53Z Sakura emad 3352552 Created page with "importScript('User:JJPMaster/luna.js'); // Backlink: [[User:JJPMaster/luna.js]]" 4670133 javascript text/javascript importScript('User:JJPMaster/luna.js'); // Backlink: [[User:JJPMaster/luna.js]] f7e28xio3pj0ev5kjt9khdbjpi0y2c9 4670135 4670133 2026-09-15T05:40:55Z Sakura emad 3352552 4670135 javascript text/javascript //importScript('User:JJPMaster/luna.js'); // Backlink: [[User:JJPMaster/luna.js]] aq39gdveyo30jcnmixatgugb1kg2xtz 4670136 4670135 2026-09-15T05:41:24Z Sakura emad 3352552 Undid revision [[Special:Diff/4670135|4670135]] by [[Special:Contributions/Sakura emad|Sakura emad]] ([[User talk:Sakura emad|discuss]]) 4670136 javascript text/javascript importScript('User:JJPMaster/luna.js'); // Backlink: [[User:JJPMaster/luna.js]] f7e28xio3pj0ev5kjt9khdbjpi0y2c9 User:Sakura emad/lunaoptions.json 2 485614 4670134 2026-09-15T05:39:57Z Sakura emad 3352552 Setting default Luna preferences 4670134 json application/json { "rollback": { "rc": { "rb": false, "vand": false, "res": false }, "rcl": { "rb": false, "vand": false, "res": false }, "wl": { "rb": false, "vand": false, "res": false }, "ct": { "rb": false, "vand": false, "res": false }, "ht": { "rb": false, "vand": false, "res": false }, "df": { "rb": false, "vand": false, "res": false }, "oi": { "res": false } }, "CSD": {}, "CTP": {}, "CTF": {}, "DI": {}, "warn": {}, "welcome": {}, "welcomeUnregistered": {}, "tb": {}, "debug": false, "version": 0.82 } s621qkjp7g0eno91vj6mrgrgwbzbun5 User:TruSilk 2 485615 4670138 2026-09-15T06:26:54Z TruSilk 3625986 Created user page 4670138 wikitext text/x-wiki == About == Hello, I am a contributor interested in educational resources related to textiles, personal care, sleep, and self-care. I am interested in contributing useful, neutral, and well-researched information to Wikibooks and helping improve accessible learning resources. == Areas of Interest == * Textiles and fabrics * Personal care * Sleep and self-care * Consumer education == Wikibooks Contributions == I plan to contribute to relevant educational resources, improve existing content where appropriate, and learn from the Wikibooks community. 8jt5mdju6aq8pw20ai74tkobsl7xf8f