Wikibooks
enwikibooks
https://en.wikibooks.org/wiki/Main_Page
MediaWiki 1.47.0-wmf.6
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
Reaktor/Modules/Selector/Scanner
0
18404
4639811
1940269
2026-06-10T17:01:28Z
WereSpielChequers
248949
typo
4639811
wikitext
text/x-wiki
{{Reaktor}}
==Comments==
* The difference between the Selector and [[Reaktor/Modules/Router M to 1|Router]] is that when you change the Selector to a new position, it sends whatever value was last received there (even if it's not currently being received) - while changing the position on the Router only "opens that pathway" to allow something new to pass through (nothing is sent until new values arrive at that input).
* Selector module can be used to scale values from 0..1 range to any other range, defined by two input values, e.g. -10..40. [http://www.nativeinstruments.de/forum_us/showthread.php?t=25977 See thread on User Forum]
oawguzofl2w4wbqalerhpw78f9iqr44
Reaktor/Modules/Router M to 1
0
18405
4639809
4238663
2026-06-10T16:42:32Z
WereSpielChequers
248949
typo
4639809
wikitext
text/x-wiki
{{Reaktor}}
== Comments ==
* The difference between the Selector and Router is that when you change the Selector to a new position, it sends whatever value was last received there (even if it's not currently being received) - while changing the position on the Router only "opens that pathway" to allow something new to pass through (nothing is sent until new values arrive at that input).
6wkqq82otui4ydbu5hcnevrw97xo7kd
Armenian/Numbers
0
88395
4639816
4540504
2026-06-10T19:17:01Z
~2026-34185-50
3604507
use the same font for all armenian words
4639816
wikitext
text/x-wiki
{{Armenian}}
== Cardinal Numbers ==
{| class="wikitable"
! rowspan=2 valign=top | #
! rowspan=2 valign=top | Armenian
! colspan=2 valign=top | Transliteration
|-
! Eastern !! Western
|- align="center"
| 0
| style="font-size: 170%;" | զրո
| zro
| zero
|- align="center"
| 1
| style="font-size: 170%;" | մեկ
| mek
| meg
|- align="center"
| 2
| style="font-size: 170%;" | երկու
| yerku
| yergu
|- align="center"
| 3
| style="font-size: 170%;" | երեք
| yereq
| yerek
|- align="center"
| 4
| style="font-size: 170%;" | չորս
| chors
| chors
|- align="center"
| 5
| style="font-size: 170%;" | հինգ
| hing
| hink
|- align="center"
| 6
| style="font-size: 170%;" | վեց
| vec
| vets
|- align="center"
| 7
| style="font-size: 170%;" | յոթ
| yot
| yoty
|- align="center"
| 8
| style="font-size: 170%;" | ութ
| ut
| uty
|- align="center"
| 9
| style="font-size: 170%;" | ինը
| iny
| iny
|- align="center"
| 10
| style="font-size: 170%;" | տասը
| tasy
| dasy
|- align="center"
| 11
| style="font-size: 170%;" | տասնմեկ
| tasnmek
| dasnmeg
|- align="center"
| 12
| style="font-size: 170%;" | տասներկու
| tasnyerku
| dasnyergu
|- align="center"
| 20
| style="font-size: 170%;" | քսան
| qsan
| ksan
|- align="center"
| 30
| style="font-size: 170%;" | երեսուն
| yeresun
| yeresun
|- align="center"
| 40
| style="font-size: 170%;" | քառասուն
| karrasun
| karrasun
|- align="center"
| 50
| style="font-size: 170%;" | հիսուն
| hisun
| hisun
|- align="center"
| 60
| style="font-size: 170%;" | վաթուն
| vacun
| vatsun
|- align="center"
| 70
| style="font-size: 170%;" | յոթանասուն
| yotanasun
| yotanasun
|- align="center"
| 80
| style="font-size: 170%;" | ութսուն
| utsun
| utsun
|- align="center"
| 90
| style="font-size: 170%;" | իննսուն
| innsun
| inisun
|- align="center"
| 100
| style="font-size: 170%;" | հարյուր
| harur
| haryur
|- align="center"
| 200
| style="font-size: 170%;" | երկու հարյուր
| yerku harur
| yerku haryur
|- align="center"
| 1000
| style="font-size: 170%;" | հազար
| hazar
| hazar
|}
== Ordinal Numbers ==
{| class="wikitable"
! rowspan=2 valign=top | English
! rowspan=2 valign=top | Armenian
! colspan=2 valign=top | Transliteration
|-
! Eastern !! Western
|- align="center"
| first
| style="font-size: 170%;" | առաջին
| arrachin
| arracheen
|- align="center"
| second
| style="font-size: 170%;" | երկրորդ
| yerkrord
| yergrort
|- align="center"
| third
| style="font-size: 170%;" | եռորդ
| yerord
| yerort
|- align="center"
| fourth
| style="font-size: 170%;" | չոռորդ
| chorord
| chorort
|- align="center"
| fifth
| style="font-size: 170%;" | հինգերորդ
| hinkyerord
| hinkyerort
|- align="center"
| sixth
| style="font-size: 170%;" | վեցերորդ
| vetsyerord
| vetsyerort
|- align="center"
| seventh
| style="font-size: 170%;" | յոթերորդ
| yotyerord
| yotyerort
|- align="center"
| eighth
| style="font-size: 170%;" | ութերորդ
| utyeryord
| utyeryort
|}
{{BookCat}}
8wjs53hnroxd3jskm938lils0zkjoxm
Chess Opening Theory/1. Nf3/1...d5
0
137886
4639842
4461454
2026-06-10T23:47:40Z
~2026-34498-45
3604613
/* Statistics */
4639842
wikitext
text/x-wiki
{{Chess Opening Theory/Position|=
|1.Nf3 Opening|
|rd|nd|bd|qd|kd|bd|nd|rd|=
|pd|pd|pd| |pd|pd|pd|pd|=
| | | | | | | | |=
| | | |pd| | | | |=
| | | | | | | | |=
| | | | | |nl| | |=
|pl|pl|pl|pl|pl|pl|pl|pl|=
|rl|nl|bl|ql|kl|bl| |rl|=
||
}}
=1.Nf3 Opening=
===1...d5===
Black stakes a claim to the center. White has many options now and as so often with 1.Nf3 many transpositions. 2. g3, 2. d4, 2. c4 (Réti), 2. d3, 2. b3, 2. e3, and even 2. b4!? are sensible moves.
White can also try the Tennison Gambit with [[/2. e4/|2. e4?!]], usually reached with 1. e4 d5 2. Nf3?!, but it's considered dubious with best play.
===Statistics===
40% white wins, 45% draws, 13% black wins, for an overall score of 55.5% for white.
==Theory table==
{{Chess Opening Theory/Table}}.
'''1.Nf3 d5'''
<table border="0" cellspacing="0" cellpadding="4">
<tr>
<th></th>
<th align="left">2</th>
<th align="left">3</th><td>'''4'''</td><td>'''5'''</td><td>'''6'''</td><td>Evaluation</td></tr>
<tr>
<th align="right">[[Chess/King's Indian Attack|King's Indian Attack]]</th>
<td>[[/2. g3|g3]]<br>Nf6</td>
<td>Bg2<br>c6</td>
<td>O-O<br>Bg4</td>
<td>d3<br>Nbd7</td>
<td>Nbd2<br>e5</td>
<td>=</td>
</tr>
<tr>
<th align="right">[[Chess/Reti Opening|Reti Opening]]</th>
<td>[[/2. c4|c4]] d4</td>
<td>e3 c5</td>
<td>b4 dxe3</td>
<td>fxe3 cxb4</td>
<td>d4 Nf6</td>
<td>∞</td>
</tr>
<tr>
<th>[[Chess/Queen's Gambit|Queen's Gambit]]</th>
<td>[[Chess Opening Theory/1. d4/1...d5/2. Nf3|d4]] e6</td>
<td>c4 Nf6</td>
<td>Nc3 dxc4</td>
<td>e4 Bb4</td>
<td>Bxc4 Nxe4</td>
<td>= (Queen's Gambit Mainline)</td>
</tr>
</table>
{{ChessMid}}
{{Wikipedia|Flank opening}}
==References==
{{reflist}}
{{BCO2}}
{{Chess Opening Theory/Footer}}
4zgu697h89m56lkeyngej2l1amm4yfo
Wikibooks:Reading room/Administrative Assistance
4
140081
4639883
4639718
2026-06-11T08:10:22Z
ArchiverBot
1227662
Bot: Archiving 1 thread (older than 14 days) to [[Wikibooks:Reading room/Administrative Assistance/Archives/2026/May]]
4639883
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]]
== Manipathakblog reported by MathXplore ==
* {{userlinks|Manipathakblog}}
Promotion-only account <!-- USERREPORTED:/Manipathakblog/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 06:54, 30 May 2026 (UTC)
: Globally locked by Barras. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 12:44, 30 May 2026 (UTC)
== GSTFILLING reported by MathXplore ==
* {{userlinks|GSTFILLING}}
Spam <!-- USERREPORTED:/GSTFILLING/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:29, 5 June 2026 (UTC)
:{{done}} —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 12:45, 5 June 2026 (UTC)
== [[:Category:Wikibooks fully protected edit requests]] needs a clean out ==
Has several unhandled requests dating back to December. Thanks. [[User:Pppery|Pppery]] ([[User talk:Pppery|discuss]] • [[Special:Contributions/Pppery|contribs]]) 04:56, 7 June 2026 (UTC)
== ~2026-29002-30 reported by MathXplore ==
* {{userlinks|~2026-29002-30}}
Abusing multiple accounts: [[Special:Contributions/Babywacko]] <!-- USERREPORTED:/~2026-29002-30/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:20, 9 June 2026 (UTC)
: {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:42, 9 June 2026 (UTC)
3khdcd0bhw0d6482hm230em93cu5oqt
Writing Adolescent Fiction/Character names/Spanish
0
148795
4639837
4539670
2026-06-10T23:00:30Z
Dumbcat79
3483486
/* Others */
4639837
wikitext
text/x-wiki
==Usage note==
In Spain and other Hispanic countries, a person has two surnames, the first being the first surname of his or her father, and the second the first surname of his or her mother. So when Jorge García Benitez and Rosalia Cruz Rodriguez have their child Miguel, they name him Miguel García Cruz. If Miguel grows up and marries a woman named Anita Verdugo Torres, and have a daughter named Sarita, her full name would be Sarita García Verdugo. Occasionally one will choose to pass along both his or her parents’ names and combine them with a hyphen, so Pablo Ibaldez Vargas will have a child with Amelita Venega Zuniga and name him Juan Ibaldez-Vargas Venega. Or if Amelita instead of Pablo is the one who wants to keep both names in the family, their child would be Juan Ibaldez Venega-Zuniga. Often the conjunction “y” (which means “and”) is used to join paternal and maternal names: Miguel García y Cruz. Of course, your Hispanics in the United States and Canada will have only one surname or have two traditional surnames considered as one surname by hyphenating the two names.
==Spanish girls' names==
Some girls are given the middle name José -- María José Lopez -- for the "divine protection" of both sexes.
#Abril
#Adalia
#Adela
#Adala
#Adelaida
#Adelina
#Adelisa
#Adoración
#Adriana
#Agata
#Agueda
#Agustina
#Aida
#Aide
#Alba
#Alberta
#Albina
#Aldana
#Alejandra
#Aleta
#Alexia
#Alfonsa
#Alheli
#Alicia
#Alida
#Alma
#Almadelia
#Almudena
#Aloisia
#Amada
#Amairany
#Amalia
#Amapola
#Amara
#Amaya
#Amelia
#Amparo
#Ana
#Anabel
#Anabella
#Anahi
#Ana Laura
#Anai
#Anali
#Analia
#Ana Lidia
#Ana Luisa
#Ana María
#Anay
#Andrea
#Andreína
#Ángela
#Ángeles
#Angélica
#Angelina
#Angelines
#Angelita
#Anica
#Anita
#Antonia
#Apolonia
#Aquilina
#Araceli
#Aranzazu
#Arely
#Ariana
#Ariela
#Artemisa
#Asunción
#Aurelia
#Aurora
#Avelina
#Azucena
#Azul
#Barbara
#Beatriz
#Begoña
#Belén
#Belia
#Belicia
#Benicia
#Benita
#Berenice
#Bernarda
#Bernardina
#Berta
#Bertita
#Betania
#Bibiana
#Blanca
#Bonita
#Bouganvilla
#Bruna
#Brunilda
#Buena
#Calida
#Camelia
#Candela
#Candelaria
#Candida
#Canela
#Caridad
#Carla
#Carlina
#Carlota
#Carmela
#Carmen
#Carolina
#Casandra
#Catalina
#Cecilia
#Celia
#Celida
#Celina
#Celsa
#Chara
#Chela
#Chiquita
#Chita
#Clara
#Claribel
#Clarisa
#Claudia
#Clemencia
#Colombia
#Concepción
#Concha
#Conchita
#Conseja
#Constanza
#Consuela
#Consuelo
#Corazón
#Corina
#Crisol
#Cristina
#Cruz
#Dafna
#Dafne
#Dalia
#Dalila
#Damaris
#Damiana
#Damita
#Daniela
#Daria
#Davina
#Débora
#Delfina
#Delia
#Deliasofia
#Delmira
#Delores
#Demetria
#Desdemona
#Dinora
#Dionecia
#Dionicia
#Dolores
#Dominga
#Dominica
#Dulce
#Dulcinea
#Edelmira
#Eglantina
#Electra
#Elena
#Eleonora
#Elia
#Eliana
#Elida
#Eligia
#Elina
#Elisa
#Elmira
#Elodea
#Eloisa
#Elvia
#Emelia
#Emilia
#Emiliana
#Encarna
#Encarnación
#Enedina
#Engracia
#Enriqua
#Enriqueta
#Epifania
#Ernestina
#Esmeralda
#Esperanza
#Estefania
#Estela
#Estella
#Estil
#Estrelita
#Estrella
#Etelvina
#Eudoxia
#Eufemia
#Eufrasia
#Eulalia
#Eulogia
#Eustolia
#Evita
#Fabiana
#Fabiola
#Fatima
#Faustina
#Felicia
#Felicidad
#Felipa
#Fernanda
#Filipa
#Filomena
#Fiorella
#Flavia
#Flor
#Florencia
#Florida
#Franca
#Francisca
#Frida
#Fuensanta
#Gabriela
#Galia
#Gema
#Genedina
#Genoveva
#Gilda
#Gladis
#Gloria
#Gracia
#Graciela
#Grazia
#Griselda
#Guada
#Guadalupe
#Guillermina
#Guiomar
#Hada
#Helen
#Heli
#Heloisa
#Hera
#Hermalinda
#Herminia
#Hilaria
#Hilda
#Hipolita
#Hortensia
#Iara
#Idalia
#Idonia
#Ifigenia
#Ignacia
#Illena
#Ilona
#Imelda
#Immaculada
#Ines
#Inez
#Inmaculada
#Irma
#Isabel
#Isabela
#Isabella
#Isaura
#Isidora
#Isidra
#Ismary
#Ismelda
#Ivonne
#Jacinta
#Janina
#Jazmin
#Jenara
#Jesica
#Jesusa
#Jesusita
#Jimena
#Joaquina
#Jocelin
#Jordana
#Jorgelina
#Josefa
#Josefina
#Jovita
#Juana
#Juanita
#Julia
#Juliana
#Julieta
#Justina
#Laila
#Lara
#Larisa
#Laura
#Laureana
#Laurencia
#Leandra
#Lena
#Leonarda
#Leonela
#Leonor
#Leopoldina
#Leticia
#Liana
#Libertad
#Libia
#Lidia
#Ligia
#Lilia
#Liliana
#Liliosa
#Lina
#Linda
#Lisa
#Lizete
#Lola
#Lolita
#Loreley
#Lorena
#Lorenza
#Lourdes
#Luana
#Lucelia
#Lucero
#Lucia
#Lucila
#Lucina
#Lucrecia
#Luisa
#Lupe
#Luz
#Luzdivina
#Macarena
#Macaria
#Madalena
#Madrid
#Mae
#Magdalena
#Magnolia
#Maitane
#Maite
#Malda
#Manuela
#Marcela
#Margarita
#Maria
#Maria Concepción (Concha)
#Maria del Carmen
#Maria de los Dolores (Lola)
#María Elena
#Maria Encarnación (Encarna)
#Maria Ester
#Maria Guadalupe
#Maria Isabel (Maribel)
#Maria Juana
#Maria Luisa (Marisa)
#Marian
#Mariana
#Maribel
#Maricarmen
#Maricela
#Maricruz
#Mariela
#Mariesa
#Marina
#Maripaz
#Marisa
#Marisol
#Marita
#Maritza
#Marquita
#Maya
#Mayra
#Mercedes
#Micaela
#Miguela
#Milagros
#Milena
#Mirca
#Mirna
#Modesta
#Moira
#Monica
#Monserrat
#Nadia
#Nahir
#Naike
#Narcisa
#Narda
#Natacha
#Natalia
#Natividad
#Nayeli
#Nazarena
#Nazaret
#Nelia
#Nélida
#Nerea
#Neva
#Niceto
#Nidia
#Nieves
#Nina
#Ninfa
#Noelia
#Noemi
#Norma
#Nova
#Nuela
#Nuria
#Obdulia
#Octavia
#Odelia
#Odilia
#Ofelia
#Olga
#Olimpia
#Oliva
#Olivia
#Olivita
#Oralia
#Orestes
#Oria
#Orlanda/Orlantha
#Otilia
#Ovidia
#Palma
#Palmira
#Paloma
#Pamela
#Pancracia
#Pandora
#Pantera
#Pascua
#Paz
#Penelope
#Perla
#Petra
#Petrona
#Pia
#Piedad
#Pilar
#Placinta
#Pricia
#Primitiva
#Pura
#Purificación
#Querida
#Querina
#Quirina
#Quisela
#Rafaela
#Ramona
#Raquel
#Rayén
#Raylina
#Rebeca
#Refugio
#Reina
#Remedios
#Renata
#Resurrección
#Reyna
#Ricarda
#Rita
#Roberta
#Rocío
#Rolanda
#Romina
#Rosa
#Rosalia
#Rosa Maria
#Rosana
#Rosandra
#Rosaria
#Rosario
#Rosaura
#Rosenda
#Rosina
#Rufino
#Sabana
#Sabina
#Salivia
#Salomé
#Salud
#Salvadora
#Sancha
#Santana
#Sara
#Sarai
#Sarita
#Saturnina
#Segismunda
#Selena
#Selia
#Serafina
#Serina
#Sevilla
#Silvana
#Silvia
#Sinai
#Socorro
#Sofia
#Sol
#Solana
#Soledad
#Sonia
#Soraya
#Stefanía
#Sotera
#Sucely
#Susana
#Taís
#Talia
#Tamara
#Tania
#Tatiana
#Telma
#Teodora
#Teofila
#Tequila
#Teresa
#Teresita
#Tomasa
#Trinidad
#Ursula
#Valencia
#Valeria
#Vanesa
#Vanina
#Velia
#Venecia
#Ventura
#Veronica
#Victoria
#Vilma
#Violeta
#Virginia
#Virtudes
#Visitación
#Viva
#Viviana
#Walkiria
#Walquiria
#Wuaira
#Xara
#Xaviera
#Xenia
#Xiana
#Xilosma
#Ximena
#Xiomara
#Yahaira
#Yajaira
#Yanet
#Yanina
#Yaritza
#Yazmin
#Yazmina
#Yesenia
#Ylenia
#Ynes
#Ysabel
#Zaida
#Zaira
#Zeferina
#Zoraida
#Zulema
#Zuleyka
#Zulma
#Aileen
#Ariel
#Belkis
#Cynthia
#Daisy
#Evelyn
#Ivette
#Jasmine
#Karina
#Lissette
#Mariah
#Priscilla
#Renée
#Solange
#Stephanie
#Tatiana
#Vanessa
#Yvette
==Spanish boys' names==
Some boys are given the middle name Maria -- José María Sanchez -- for the "divine protection" of both sexes.
#Abelardo
#Abimael
#Absalon
#Acacio
#Adalberto
#Adan
#Adano
#Adelardo
#Adelmaro
#Ademar
#Adonis
#Adrián
#Agapito
#Agustín
#Aladino
#Albano
#Alberto
#Albino
#Aldair
#Aldo
#Alejandro
#Alejo
#Alfonso
#Alfredo
#Alipio
#Alonso
#Alterio
#Alvaro
#Amadeo
#Amado
#Amador
#Amalio
#Amando
#Ambrosio
#Amelio
#Amilcar
#Amparo
#Ampelio
#Anacleto
#Anastasio
#Anatolio
#Andreo
#Andres
#Ángel
#Anibal
#Aniceto
#Anselmo
#Antioco
#Antonio
#Aparicio
#Apocalipsis
#Apolinario (Apolito)
#Apolo
#Aquiles
#Aquilino
#Arcángel
#Arcinio
#Arístides
#Armando
#Arnaldo
#Arnulfo
#Arquimedes
#Arsenio
#Artemio
#Arturo
#Asclepiades
#Atanasio
#Atilio
#Augusto
#Aureliano
#Aurelio
#Auxilio
#Avelino
#Baltazar
#Bartolomé
#Bautista
#Beltran
#Benedicto
#Benigno
#Benito
#Benjamín
#Bernardino
#Bernardo (Nardo)
#Bienvenido
#Blas
#Bonito
#Borja
#Braulio
#Bricio
#Bruno
#Calvino
#Camari
#Camilo
#Candido
#Carlitos
#Carlos
#Carlos Enrique
#Carlos Ivan
#Carlos Jose
#Carmelo
#Cartez
#Casandro
#Casimiro
#Casto
#Castor
#Cayetano
#Cecilio
#Ceferino
#Celedonio
#Celerino
#Celestino
#Celio
#Celso
#César
#Chico
#Cid
#Cipriano
#Ciriaco
#Cirilo
#Ciro
#Claudio
#Clemente
#Cleto
#Clodomiro
#Colón
#Confesor
#Conrado
#Constancio
#Constantino
#Corbin
#Cornelio
#Cortez
#Cosme
#Crescencio
#Crisanto
#Crispo
#Cristobal
#Cruz
#Custodio
#Cutberto
#Dagoberto
#Dámaso
#Damián
#Daniel
#Danilo
#Dardo
#Dario
#David
#Delfin
#Delfino
#Demetrio
#Demócrito
#Deodato
#Derico
#Desiderio
#Diego
#Dimas
#Dionisio
#Domas
#Domiciano
#Dominador
#Domingo
#Donaldo
#Doroteo
#Duilio
#Eberardo
#Edelberto
#Edelio
#Edelmar
#Edelmiro
#Edgardo
#Edmundo
#Eduardo
#Efrain
#Efrén
#Egidio
#Eladio
#Elbio
#Eleuterio
#Elián
#Elias
#Eliecer
#Eligio
#Elio
#Eliseo
#Eliut
#Eloy
#Elvio
#Emerio
#Emeterio
#Emiliano
#Emilio
#Enrique
#Epicuro
#Epifanio
#Epimenio
#Epitacio
#Erardo
#Erasmo
#Ernesto
#Espartaco
#Estanislao
#Esteban
#Eufemio
#Eufracio
#Eugenio
#Eulalio
#Eulojio
#Eusebio
#Eustacio
#Evando
#Evaristo
#Everardo
#Expedito
#Ezequiel
#Fabián
#Fabio
#Faustino
#Fausto
#Favio
#Federico (Fede)
#Feliciano
#Felipe
#Felisardo
#Felix
#Fermin
#Fernando
#Fidel
#Filadelfo
#Filademo
#Filemon
#Filiberto
#Flavio
#Floreal
#Florencio
#Florián
#Francisco (Paco)
#Franco
#Fulgencio
#Fulvio
#Gabimael
#Gabino
#Gabriel
#Gadiel
#Galeaso
#Galo
#Gaspar
#Gaudencio
#Gedeón
#Genaro
#Generoso
#Gerardo (Gerard)
#Germán
#Germinal
#Gerson
#Gervasio
#Gesualdo
#Getulio
#Gilberto (Gil)
#Gildardo
#Gomez
#Gonzalo
#Gracián
#Graciano
#Gregorio
#Gualberto
#Gualterio
#Guarionex
#Guillermo
#Gumecindo
#Gustavo
#Gutierre
#Hadriano
#Hector
#Helias
#Heliodoro (Helio)
#Heráclito
#Heriberto
#Hernán
#Hernando
#Heródoto
#Higinio
#Hilario
#Hipolito (Lito)
#Homero
#Homobono
#Honesto
#Honoratio
#Horacio
#Hugan
#Humberto
#Ibero
#Ignacio
#Ignaz
#Inocencio
#Ionatán
#Isaias
#Isidro
#Ismael
#Jacinto
#Jaime
#Jaime Luis
#Jairo
#Jandino
#Javier
#Jeremias
#Jesús
#Jilberto
#Joaquin
#Jonás
#Jorge
#José (Pepe, Chepe, Che, Cheo, Chelo)
#José Alberto
#José Javier
#José Luis
#José María (Chema)
#Juan (Juanito)
#Juan Carlos
#Juan Diego
#Julián
#Juliano
#Julino
#Julio
#Justiniano
#Justino
#Juvenal
#Ladislao
#Landerico
#Landolfo
#Laureano
#Laurelino
#Laurentino
#Lauro
#Lazaro
#Leal
#Leandro
#Learco
#Lelio
#Leo
#Leobardo
#Leocadio
#León
#Leonardo
#Leonel
#Leónidas
#Leonzo
#Leopoldo
#Leto
#Liberal
#Liberato
#Libio
#Licugro
#Lino
#Lisandro
#Livio
#Lope
#Lorenzo
#Loreto
#Luano
#Lucas
#Lucero
#Luciano
#Lucio
#Lucrecio
#Luis
#Luiz
#Macabeo
#Macario
#Macedonio
#Maciel
#Malaquias
#Manfredo
#Manuel (Manolo, Manuelito)
#Marcelino
#Marcelo
#Marcial
#Marcio
#Marco
#Marcos
#Mariano
#Marino
#Martín
#Mateo
#Matias
#Mauricio
#Mauro
#Maximo
#Melchor
#Melecio
#Meliton
#Melquisede
#Menandro
#Mentor
#Mercurio
#Miguel
#Miguel Angel
#Misael
#Modesto
#Moises
#Monserrate
#Nacho
#Naldo
#Narciso
#Narno
#Natal
#Natalio
#Nataniel
#Nazareno
#Nazaret
#Nazario
#Neandro
#Neftali
#Nemesio
#Neptuno
#Nereo
#Nestor
#Nicandro
#Nicanor
#Nicasio
#Niceto
#Nicolas (Nico) [Nick]
#Nilo
#Noe
#Nolasco
#Norberto
#Normando
#Nuncio
#Obdulio
#Octaviano
#Octavio
#Olegario
#Olimpo
#Omar
#Onofre
#Orangel
#Orencio
#Orestes
#Orfeo
#Origenes
#Orión
#Orlando
#Ortiz
#Oscar
#Osmundo
#Osvaldo
#Oswaldo
#Otilio
#Otoniel
#Ovidio
#Pablo (Pablito)
#Pacifico
#Pancracio
#Panfilo
#Paris
#Parmenio
#Pascual
#Pastor
#Patricio
#Pedro
#Perfecto
#Perpetuo
#Placido
#Policarpo
#Polifemo
#Porfirio
#Poseidón
#Priamo
#Procopio
#Prometeo
#Próspero
#Quentín
#Quintero
#Quito
#Rafael
#Raimundo
#Ramiro
#Ramón
#Raúl
#Raymundo [Ray]
#Refugio
#Reinaldo
#Remigio
#Renato
#Renzo
#Rey [Ray]
#Reyes
#Reynaldo
#Ricardo (Rico)
#Rigoberto (Rigo)
#Roberto
#Rocio
#Rodolfo
#Rodrigo
#Rogelio
#Rojelio
#Rolando
#Román
#Romero
#Ronaldo
#Roque
#Rosario
#Rosendo
#Ruben
#Rubio
#Rufo
#Ruperto
#Sabelio
#Sabino
#Salomón
#Salvador (Sal)
#Salviano
#Salvo
#Sancho
#Sansón
#Santiago
#Santino
#Santos
#Saturnino
#Saúl
#Sebastián
#Sebastiano
#Segismundo
#Segundo
#Sempronio
#Serafin
#Sergio
#Servando
#Servio
#Severino
#Silverio
#Silviano
#Silvio
#Simón
#Sixto
#Socorro
#Solano
#Sotero
#Tacio
#Tacito
#Tadeo
#Tajo
#Tancredo
#Tarquino
#Tarsicio
#Telemaco
#Teodomiro (Teo)
#Teodoro (Teo)
#Teodosio (Teo)
#Teofano (Teo)
#Teofilio (Teo)
#Tercio
#Terencio
#Tiberio
#Tiburcio
#Ticiano
#Timoteo
#Tino
#Tito
#Tomás
#Toribio
#Toruato
#Tranquiliano
#Tranquilino
#Transito
#Tripilo
#Tristán
#Tulio
#Ubaldo
#Ulises
#Ulrico
#Unai
#Urbano
#Uriel
#Valdemar
#Valentín
#Valeriano
#Valerio
#Venturo
#Vermundo
#Vero
#Vicente
#Victor
#Victoriano
#Vidal
#Virgilio
#Viviano
#Vulpiano
#Walberto
#Wilfredo
#Xavier
#Yadiel
#Yago
#Yamel
#Yareli
#Yaro
#Yerai
#Ygnacio
#Yoel
#Yojany
#Yuniel
#Zenobio
#Zumel
#Christian
#Edgar
#Edwin
#George
#Giovanni
#Ivan
==Catalan girls' names==
#Abril
#Adela
#Adelaida
#Adoració
#Àfrica
#Àgape
#Àgata
#Agnès
#Àgueda
#Aina
#Àïxa
#Alba
#Alexandra
#Alícia
#Amàlia
#Amanta
#Anaïs
#Anastàsia
#Àngela
#Angèlica
#Anna
#Antígona
#Antònia
#Antonieta
#Ariadna
#Assumpció
#Atena
#Bàrbara
#Beatriu
#Bernada
#Berta
#Blanca
#Brígida
#Carla
#Carme
#Carolina
#Castàlia
#Caterina
#Cèlia
#Clara
#Cristina
#Dalila
#Dària
#Dèbora
#Diana
#Dolça
#Dolors
#Dorotea
#Driope
#Eco
#Elionor
#Elisabet
#Èrato
#Esperança
#Estel
#Eudòcia
#Eulália
#Eva
#Fe
#Felicitat
#Flor
#Francesca
#Gemma
#Genoveva
#Huldà
#Ifigènia
#Irene
#Jacinta
#Jana
#Jèssica
#Joana
#Joaquima
#Josepa
#Júlia
#Laia
#Lia
#Lídia
#Lívia
#Llora
#Llúcia
#Lucía
#Luisa
#Maragda
#Marga
#Margalida
#Margarida
#Maria
#Mariana
#Marieta
#Mariona
#Marta
#Martina
#Mèlia
#Melpòmene
#Mercè
#Meritxell
#Miquela
#Miracle
#Mireia
#Miryam
#Mònica
#Montserrat (Montse)
#Natàlia
#Nèfele
#Neus
#Nicolaua
#Núria
#Ona
#Paula
#Penèlope
#Pepa
#Prudència
#Psàmate
#Queralt
#Radegunda
#Raquel
#Rebeca
#Remei
#Rita
#Rosa
#Rosalia
#Roser
#Rut
#Salut
#Sara
#Sibilla
#Sílvia
#Sofia
#Sònia
#Susanna
#Taís
#Talia
#Tecla
#Teodora
#Valèria
#Victòria
#Virgínia
#Ysabel
#Ysabet
#Zoe
==Catalan boys' names==
#Aaró
#Adalbert
#Adrià
#Agustí
#Aleixandre (Àlex)
#Aleix
#Ambròs
#Amèric
#Andreu
#Àngel
#Antoni
#Aquilles
#Ariel
#Arnau
#Artur
#August
#Balthazar
#Benjamí
#Berenguer
#Bernat
#Brandà
#Brandan
#Callínic
#Cam
#Carles
#Carlos
#Cir
#Conradí
#Cosme
#Cristòfol
#Darios
#Dídac
#Dioclecià
#Domènec
#Eduard
#Elià
#Elies
#Eliseu
#Eloi
#Emeric
#Emili
#Enric
#Èric
#Esdres
#Esteve
#Ezequies
#Fabià
#Felip
#Feliu
#Francesc (Cesc)
#Gabriel (Biel)
#Galè
#Gastó
#Gedeó
#Gonçal
#Gondicari
#Gregori
#Guifré
#Guillem
#Guiu
#Higini
#Hugo
#Ignasi
#Iker
#Isaac
#Isaïes
#Jacob
#Jaïr
#Jasó
#Jaume (Jaumet)
#Jèred
#Jeremies
#Joan
#Joaquim (Chimo, Quim, Ximo)
#Jonatan
#Jordà
#Jordi
#Josep
#Josuè
#Judes
#Just
#Justí
#Leodogari
#Livi
#Llàtzer
#Llorenç
#Lluc
#Llucià
#Lluís
#Malaquies
#Manel
#Marc
#Martí
#Mateu
#Matties
#Melcion
#Melcior
#Menna
#Micolau
#Miquees
#Miquel
#Moisès
#Nadal
#Narcís
#Nèstor
#Nicolau
#Orió
#Oriol
#Ot
#Pasqual
#Patrici
#Pau
#Pep
#Pere
#Ponç
#Rafel
#Raimon
#Ramir
#Ramon
#Raül
#Renat
#Ricard
#Roc
#Roderic
#Romà
#Romeu
#Salomó
#Salvador
#Samsó
#Sebastià
#Sergi
#Sever
#Silvestre
#Simó
#Siveri
#Teodor
#Teofilacte
#Tomàs
#Ulric
#Urbà
#Uries
#Úmar
#Valentí
#Vicenç
#Xavier (Xavi)
#Zeferí
#Zèfir
==Galician girls' names==
#Ádega
#Adela
#Adelaira
#Aldonça
#Aldonza
#Aloia
#Anastasia
#Andrómeda
#Antía
#Antígona
#Ánxela
#Anxélica
#Area
#Branca
#Bríxida
#Carme
#Carmiña
#Catarina (Catuxa)
#Conceizón
#Cristina
#Delaira
#Dores
#Erea
#Estrela
#Eva
#Inés
#Irea
#Iria
#Isabel
#Ledicia
#Lía
#Lúa
#Lucía
#Margarida
#María (Maruxa)
#Mariña
#Melpòmene
#Nèfele
#Nicolasa
#Noela
#Olaia
#Rea
#Rosa
#Rosalía
#Sabela
#Saúde
#Sofía
#Uxía
#Xaquelina
#Xenebra
#Xiana
#Xisela
#Xoana
#Xudit
#Xulia
#Ysabel
==Galician boys' names==
#Adalberto
#Adrao
#Afonso
#Agostiño
#Alberte
#Aleixo
#Alexandre
#Amaro
#Anastasio
#André
#Antón
#Anxo
#Aquiles
#Artur
#Baltasar
#Bartomoleu
#Benxamín
#Bernaldino
#Bernaldo
#Bieito
#Brais
#Breixo
#Carlos
#Cibrán
#Diocleciano
#Estevo
#Fernán
#Filipe
#Galeno
#Gontrán
#Guillerme
#Iago
#Isaac
#Lino
#Lois
#Luc
#Luciano
#Mario
#Melchor
#Miguel
#Néstor
#Nicolau
#Onésimo
#Paulo
#Roberte
#Rodrigo (Roi)
#Silverio
#Tito
#Tomé
#Uxío
#Vitor
#Xabier
#Xacobe
#Xaime
#Xaoquin
#Xasón
#Xaquín
#Xesús
#Xoán
#Xocas
#Xoel
#Xosé
#Xosué
#Xurxo
#Xustino
==Aragonese girls' names==
#Ainelle
#Albira
#Alizia
#Almodis
#Anchels
#Arrensa
#Beatriu
#Beia
#Berenguena
#Biolan
#Birchinia
#Caterina
#Chere
#Constança
#Conzeuzion
#Crestina
#Dulcía
#Eliche
#Elicsenda
#Emparanza
#Ena
#Esa
#Estrel
#Estrela
#Eugeni
#Exena
#Güelfa
#Iguazel
#Isabel
#Joana
#Lena
#Liena
#Luzía
#Malena
#Margarida
#María
#Marile
#Mata
#Merzez
#Naya
#Nieus
#Olaria
#Orena
#Petronilla
#Pilara
#Rois
#Rut
#Sança
#Sibilla
#Teresa
#Tresa
#Violant
#Ysabel
#Zilla
#Zoya
==Aragonese boys’ names==
#Agostín
#Ajan
#Alifonso
#Alixandre
#Alvar
#Anchel
#Andreu
#Antón
#Artaldo
#Augusto
#Bastian
#Beliran
#Bernal
#Brun
#Chabier
#Chaime
#Chesus
#Chorache
#Chorche
#Chuan
#Chudes
#Chuse
#Dabi
#Ebardo
#Eutor
#Fadirique
#Feliu
#Ferrando
#Francho
#Galén
#Galindo
#Genis
#Guerau
#Guib
#Guifré
#Guillén
#Gustau
#Jaume
#Karles
#Lizer
#Lluis
#Loren
#Lorient
#Mane
#Miguel
#Miquel
#Moisen
#Obano
#Oriche
#Pero
#Remund
#Sebastiá
#Simón
#Tito
#Tomás
==Surnames==
===Top 20===
#García
#Martínez
#Rodríguez
#Hernández
#López
#González
#Pérez
#Sánchez
#Castanedo
#Torres
#Ramírez
#Flores
#González
#Díaz
#Cruz
#Ortiz
#Gómez
#Morales
#Ramos
#Reyes
===21-200===
#Acevedo
#Acosta
#Aguilar
#Aguirre
#Alvarado
#Alvarez
#Anaya
#Arellano
#Arias
#Arroyo
#Avila
#Ayala
#Baca
#Baez
#Barrera
#Barrios
#Beltran
#Benitez
#Bernal
#Blanco
#Bonilla
#Bravo
#Cabrera
#Calderon
#Camacho
#Campos
#Cano
#Cantu
#Cardenas
#Carrillo
#Castaneda
#Castillo
#Castro
#Cervantes
#Chavez
#Cisneros
#Colon
#Contreras
#Cordero
#Cordova
#Corona
#Correa
#Cortes
#Cortez
#Davila
#De Jesus
#Delacruz
#Delarosa
#De Leon
#Delgado
#Dominguez
#Duran
#Enriquez
#Escobar
#Esparza
#Espinosa
#Espinoza
#Estrada
#Fernandez
#Figueroa
#Franco
#Fuentes
#Galindo
#Gallegos
#Galvan
#Garza
#Guerra
#Guerrero
#Gutierrez
#Guzman
#Herrera
#Huerta
#Ibarra
#Jaramillo
#Jimenez
#Juarez
#Lara
#Leal
#Leon
#Longoria
#Lozano
#Lucero
#Lugo
#Luna
#Macias
#Madrid
#Maldonado
#Marin
#Marquez
#Marrero
#Mata
#Medina
#Medrano
#Mejia
#Melendez
#Mendez
#Mendoza
#Mercado
#Meza
#Miranda
#Molina
#Montes
#Montoya
#Mora
#Moreno
#Muniz
#Munoz
#Murillo
#Nava
#Navarro
#Nieves
#Nunez
#Ochoa
#Orozco
#Ortega
#Otero
#Pacheco
#Padilla
#Pagan
#Palacios
#Pena
#Pina
#Pineda
#Ponce
#Quinones
#Quintana
#Quintero
#Rangel
#Reyna
#Rios
#Rivas
#Robles
#Rocha
#Rodriquez
#Rojas
#Romero
#Rosado
#Rosales
#Rosario
#Rosas
#Rubio
#Ruiz
#Saenz
#Salas
#Salazar
#Salgado
#Salinas
#Sandoval
#Santana
#Santiago
#Serrano
#Sierra
#Solis
#Sosa
#Soto
#Suarez
#Tapia
#Trevino
#Trujillo
#Valdez
#Valencia
#Valenzuela
#Vargas
#Vasquez
#Vazquez
#Vega
#Vela
#Velasquez
#Velazquez
#Velez
#Vera
#Vigil
#Villa
#Villanueva
#Villarreal
#Villegas
#Ybarra
#Zamora
#Zavala
#Zuniga
===Others===
#Abad
#Abadia
#Abalos
#Abaonza
#Abarca
#Abarquez
#Abarzua
#Abascal
#Abasta
#Abaunza
#Abayan
#Abdon
#Abeita
#Abeja
#Abelairas
#Abelar
#Abella
#Abellera
#Abete
#Abeyta
#Abiega
#Abila
#Abiles
#Abiol
#Abilez
#Aboy
#Aboytes
#Abrea
#Abrego
#Abreo
#Abreu
#Abrev
#Abril
#Abundis
#Abundiz
#Aburto
#Acaba
#Academia
#Acebedo
#Acebo
#Aced
#Acedo
#Aceituno
#Acencio
#Acero
#Aceuedo
#Aceveda
#Aceves
#Acha
#Adames
#Adan
#Adauto
#Adona
#Advincula
#Afan
#Afanador
#Agon
#Agosta
#Agosto
#Agramonte
#Agreda
#Agredano
#Aguabella
#Aguado
#Aguallo
#Aguaristi
#Aguas
#Aguasvivas
#Aguayo
#Agudelo
#Agudo
#Agueda
#Aguero
#Aguiar
#Aguigui
#Aguila
#Aguiler
#Aguilera
#Aguillon
#Aguinaga
#Aguiniga
#Aguino
#Aguire
#Aguirrechu
#Agular
#Agundez
#Aguon
#Agustin
#Ahumada
#Aispuro
#Aizpuru
#Ajuria
#Alacan
#Alacar
#Alaez
#Alaga
#Alambar
#Alameda
#Alamia
#Alamilla
#Alamillo
#Alamo
#Alamos
#Alanis
#Alaniz
#Alarcon
#Alarid
#Alas
#Alatorre
#Alaya
#Alayza
#Alba
#Albaladejo
#Albanez
#Albarado
#Albarez
#Albarracin
#Albarran
#Albelo
#Alberro
#Alberto
#Albidrez
#Albino
#Albitre
#Alboniga
#Albor
#Albornoz
#Alcala
#Alcalde
#Alcantar
#Alcantara
#Alcaraz
#Alcazar
#Alce
#Alcina
#Alcivar
#Alcocer
#Alcon
#Alcorta
#Alcoser
#Aldaba
#Aldaco
#Aldama
#Aldana
#Aldapa
#Aldape
#Aldarondo
#Aldava
#Aldaz
#Aldecoa
#Aldecocea
#Alderete
#Aldrete
#Alegre
#Alejandre
#Alejandrez
#Alejandro
#Alejo
#Alejos
#Alemany
#Alequin
#Alerte
#Alevedo
#Alfaro
#Alferez
#Alfonso
#Alfonzo
#Algarin
#Alhambra
#Aliaga
#Alicea
#Alicia
#Alire
#Alires
#Alirez
#Alleguez
#Allende
#Alma
#Almada
#Almaguer
#Almanza
#Almanzar
#Almaras
#Almaraz
#Almarez
#Almazan
#Almeda
#Almenar
#Almendarez
#Almengor
#Almestica
#Almeyda
#Almodova
#Almodovar
#Almonte
#Alomia
#Alonso
#Alonzo
#Alosa
#Aloy
#Alpizar
#Alquicira
#Alsina
#Altaba
#Altamirano
#Altenes
#Alto
#Altreche
#Aluarez
#Alva
#Alvara
#Alvardo
#Alvarenga
#Alvares
#Alvarran
#Alvear
#Alvelo
#Alverado
#Alverio
#Alvero
#Alvez
#Alviar
#Alvidrez
#Alvino
#Alvira
#Alvirez
#Alviso
#Alvizo
#Alzaga
#Alzate
#Alzola
#Alzugaray
#Amado
#Amador
#Amante
#Amar
#Amarillas
#Amaro
#Amatroca
#Amavisca
#Amaya
#Ambeguia
#Ambriz
#Amejorado
#Amescua
#Amesquita
#Amestoy
#Amezaga
#Amezcua
#Amezquita
#Amial
#Amieva
#Amigo
#Amo
#Amor
#Amores
#Amoros
#Amparan
#Amparo
#Ampudia
#Analla
#Anasagasti
#Anazagasty
#Ancheta
#Anchondo
#Anchundia
#Ancira
#Anciso
#Ancona
#Anda
#Andaluz
#Andaverde
#Andina
#Andino
#Andrada
#Andrade
#Andrades
#Andrado
#Andres
#Andreu
#Andrez
#Andrino
#Andueza
#Anduja
#Andujar
#Andujo
#Angeles
#Anglada
#Anglade
#Angon
#Anguiano
#Anguita
#Angulo
#Ansoategui
#Antigua
#Antillon
#Antolin
#Antonio
#Antu
#Antuna
#Antunez
#Anzaldo
#Anzaldua
#Anzara
#Anzures
#Apadaca
#Apaez
#Apalategui
#Apezteguia
#Apodaca
#Apodoca
#Apolinar
#Aponte
#Apuan
#Aquero
#Aquilar
#Aquilera
#Aquino
#Aquirre
#Ara
#Aracena
#Aragon
#Aragones
#Araguas
#Aragundi
#Aragus
#Araica
#Araiza
#Arambula
#Arambulo
#Aran
#Arana
#Aranas
#Arancibia
#Aranda
#Arango
#Aranibar
#Arano
#Araque
#Araujo
#Arauz
#Aravjo
#Araya
#Arballo
#Arbelaez
#Arbizo
#Arboleda
#Arca
#Arcano
#Arcas
#Arcaute
#Arce
#Arcega
#Arcenegui
#Arceo
#Archibeque
#Archila
#Archilla
#Archuleta
#Archundia
#Arcia
#Arciaga
#Arciba
#Arciga
#Arcila
#Arciniega
#Arcino
#Arcizo
#Arcos
#Ardon
#Area
#Arearaz
#Areas
#Arebalo
#Areces
#Arechiga
#Aredondo
#Areizaga
#Arellanes
#Arenas
#Arenivar
#Arenivas
#Ares
#Arestegui
#Arevalo
#Arevalos
#Arez
#Argandona
#Argenal
#Argote
#Argudin
#Argudo
#Arguelles
#Arguello
#Argueta
#Arguellez
#Arguijo
#Arguilez
#Argumedo
#Ariaza
#Ariola
#Arismendez
#Arispe
#Arista
#Aristarain
#Aristazabal
#Ariza
#Arizaga
#Arizmendi
#Arizola
#Arizu
#Arjona
#Armada
#Armadillo
#Armas
#Armendarez
#Armendariz
#Armendia
#Armengol
#Armenta
#Armenteros
#Armesto
#Armijos
#Arnaga
#Arnaiz
#Arnaldo
#Arnedo
#Arocha
#Aroche
#Arocho
#Arosemena
#Arostegui
#Aroyo
#Arquelles
#Arquero
#Arqueta
#Arrambide
#Arreaga
#Arredondo
#Arreguin
#Arrellano
#Arrellin
#Arreola
#Arrequin
#Arrey
#Arrezola
#Arriagada
#Arriaza
#Arriazola
#Arriba
#Arribas
#Arrieta
#Arrillaga
#Arrioja
#Arriola
#Arrisola
#Arrisueno
#Arritola
#Arrizola
#Arrojo
#Arroliga
#Arrollo
#Arroyos
#Arroz
#Artalejo
#Artaza
#Artea
#Artega
#Artiaga
#Artiga
#Artiles
#Artola
#Aruca
#Aruguete
#Aruizu
#Arujo
#Aruz
#Arvayo
#Arvelo
#Arviso
#Arvizo
#Arvizu
#Arzabala
#Arzaga
#Arzate
#Arzeno
#Arzola
#Arzu
#Ascencio
#Asebedo
#Aseguinolaza
#Asencio
#Asenjo
#Aseo
#Asevedo
#Asis
#Asperin
#Aspillaga
#Assis
#Astacio
#Astol
#Astorga
#Astudillo
#Asturias
#Asuega
#Asuncion
#Atala
#Atanacio
#Atencio
#Atienza
#Atilano
#Atiles
#Auces
#Avala
#Avelar
#Avellaneda
#Avellanos
#Avendano
#Avera
#Avilas
#Aviles
#Avilez
#Avina
#Avita
#Avitia
#Ayalla
#Aybar
#Aymerich
#Ayola
#Ayon
#Ayucar
#Ayuso
#Azcarraga
#Azcona
#Azcua
#Azcue
#Azor
#Azpiazu
#Azua
#Babilonia
#Bacalao
#Bacallao
#Bacelis
#Bacerra
#Bachicha
#Bacho
#Bada
#Badia
#Badias
#Badilla
#Badillo
#Baena
#Baerga
#Baeza
#Bagu
#Bahadue
#Bahamonde
#Bahamondez
#Bahena
#Bailon
#Baires
#Baiz
#Baiza
#Bajada
#Bajeneta
#Balado
#Balaguer
#Balandran
#Balbas
#Balbin
#Balboa
#Balbontin
#Balbuena
#Balcazar
#Balcorta
#Baldenegro
#Balderama
#Balderas
#Balderrama
#Baldivia
#Baldiviez
#Baldomero
#Baldonado
#Baldovinos
#Balerio
#Balladares
#Ballagas
#Ballejos
#Balleras
#Ballestas
#Ballester
#Ballestero
#Ballesteros
#Ballez
#Balleza
#Ballina
#Balmaceda
#Balmores
#Balon
#Balseca
#Baltazar
#Baltierra
#Baltodano
#Banagas
#Banales
#Banda
#Banderas
#Bandin
#Banegas
#Baneres
#Banez
#Banos
#Banrey
#Banuelas
#Banuelos
#Banvelos
#Baquerizo
#Baquero
#Baragan
#Barahona
#Barajas
#Barajos
#Barasorda
#Baray
#Barba
#Barbero
#Barbosa
#Barboza
#Barcelo
#Barcelona
#Barcena
#Barcenas
#Barcia
#Bardales
#Bared
#Barela
#Barez
#Barga
#Bargas
#Barillas
#Barloco
#Baro
#Barocio
#Baros
#Barquera
#Barragan
#Barranco
#Barrasa
#Barraz
#Barraza
#Barreda
#Barredo
#Barrena
#Barreneche
#Barreno
#Barreras
#Barreto
#Barretto
#Barria
#Barrientes
#Barrientez
#Barrientos
#Barriga
#Barrio
#Barro
#Barrocas
#Barroso
#Bartolome
#Basa
#Basadre
#Basaldua
#Basallote
#Basilio
#Basora
#Basos
#Basques
#Basquez
#Bastardo
#Bastida
#Bastidas
#Bastidos
#Basua
#Basulto
#Basurto
#Batalla
#Batista
#Batiz
#Batlle
#Batres
#Batrez
#Bautista
#Bauza
#Bayardo
#Bayas
#Baylon
#Bayon
#Bayona
#Baza
#Bazaldua
#Beanes
#Beas
#Beaz
#Becena
#Becera
#Becerra
#Becerril
#Bedolla
#Bedoya
#Bega
#Beistegui
#Bejar
#Bejaran
#Bejarano
#Bejerano
#Bejinez
#Bela
#Belalcazar
#Belarde
#Belardo
#Belaustegui
#Belen
#Belendez
#Bella
#Bellido
#Bello
#Belloso
#Belmarez
#Belmez
#Belnas
#Beltre
#Benabe
#Benabides
#Benavente
#Benavides
#Benavidez
#Bencomo
#Bencosme
#Benejan
#Beniquez
#Benites
#Benito
#Bentancourt
#Berasategui
#Berdecia
#Berdeja
#Berdugo
#Berenguer
#Bergara
#Berlanga
#Bermea
#Bermejo
#Bermeo
#Bermudes
#Bermudez
#Bernabe
#Bernall
#Bernardez
#Bernardino
#Bernardo
#Bernate
#Bernell
#Berra
#Berroa
#Berrocal
#Berrones
#Berrospe
#Bertaina
#Bertran
#Berumen
#Besa
#Besares
#Beserra
#Betance
#Betances
#Betancourt
#Betancourth
#Betancur
#Beteta
#Bettencourt
#Betran
#Beza
#Bibian
#Bibiano
#Bingochea
#Birrueta
#Bisarra
#Blanca
#Blancarte
#Blancas
#Blandon
#Blas
#Blea
#Bobadilla
#Bobe
#Bocanegra
#Bodeo
#Bodiraga
#Bohorquez
#Bojorquez
#Bolado
#Bolanos
#Bolea
#Bolivar
#Bonal
#Bonefont
#Boneta
#Bonillas
#Bonillo
#Bonuz
#Borbon
#Borda
#Bordoy
#Borela
#Borge
#Borges
#Borguez
#Borja
#Borjas
#Borjon
#Borquez
#Borrajo
#Borras
#Borrayo
#Borrego
#Borrero
#Borroel
#Borroto
#Borunda
#Bosque
#Bosques
#Bosquez
#Botello
#Botero
#Bouza
#Bracamonte
#Bracamontes
#Bracero
#Braga
#Bramasco
#Brambila
#Bran
#Brana
#Brandariz
#Branuelas
#Braulio
#Brazee
#Brea
#Breceda
#Brenes
#Bretado
#Breto
#Bretos
#Briano
#Brias
#Bribiesca
#Briceno
#Bricenos
#Brieno
#Briganti
#Brijalba
#Brijil
#Bringas
#Bringuez
#Briones
#Briseno
#Brito
#Briz
#Brizeno
#Brizuela
#Brusuelas
#Bucio
#Buelna
#Buenaventura
#Buenavista
#Buendia
#Bueno
#Buenrostro
#Buentello
#Buentiempo
#Bugarin
#Bugay
#Builes
#Buitrago
#Buitron
#Bujan
#Bulnes
#Bultron
#Burbano
#Burciaga
#Burgoa
#Burgos
#Burgueno
#Burnias
#Burrola
#Burruel
#Bustamante
#Bustamente
#Bustas
#Busted
#Bustillo
#Bustillos
#Bustinza
#Busto
#Bustos
#Butanda
#Butron
#Buzani
#Buzo
#Caal
#Caamano
#Caba
#Cabada
#Cabal
#Caballero
#Caballes
#Caban
#Cabana
#Cabanas
#Cabanillas
#Cabarcas
#Cabasa
#Cabasos
#Cabassa
#Cabasso
#Cabellero
#Cabello
#Cabera
#Cabeza
#Cabezas
#Cabido
#Cabla
#Cabrales
#Cabreja
#Cabrero
#Cabriales
#Caceres
#Cachero
#Cacho
#Cachola
#Cadavid
#Cadavieco
#Cadena
#Cadenas
#Cadierno
#Cadiz
#Cadriel
#Cahue
#Caicedo
#Cajas
#Cajero
#Cajigas
#Calcano
#Caldas
#Caldera
#Calderin
#Caldero
#Calero
#Cales
#Calix
#Calixto
#Calixtro
#Caliz
#Callado
#Calle
#Callejas
#Callejo
#Calleros
#Calles
#Callo
#Caloca
#Calvillo
#Calvo
#Calzada
#Calzadilla
#Calzado
#Camancho
#Camano
#Camara
#Camarena
#Camareno
#Camarero
#Camargo
#Camarillo
#Camaron
#Camba
#Cambero
#Camberos
#Cambis
#Camejo
#Camerena
#Camero
#Camilo
#Caminal
#Caminero
#Campa
#Campas
#Campillo
#Campo
#Campoamor
#Campomanes
#Camposagrado
#Campoverde
#Campoy
#Campusano
#Campuzano
#Cana
#Canada
#Canahuati
#Canal
#Canales
#Canalez
#Canals
#Canas
#Cancel
#Canchola
#Cancino
#Cancio
#Candanoza
#Candelaria
#Candelario
#Candia
#Canedo
#Canela
#Canellas
#Canelo
#Canes
#Canete
#Canez
#Cangas
#Canion
#Canizales
#Canizares
#Canosa
#Canseco
#Cansino
#Cantara
#Cantero
#Cantillo
#Canto
#Cantoran
#Cantos
#Cantre
#Cantres
#Cantua
#Caparros
#Capas
#Capata
#Capellan
#Capelo
#Caperon
#Capestany
#Capetillo
#Capilla
#Capistran
#Capo
#Capote
#Capuchin
#Caquias
#Carabajal
#Caraballo
#Carabay
#Carabez
#Caragol
#Caranza
#Carasco
#Caravantes
#Caraveo
#Carbajal
#Carballo
#Carbonell
#Carbonero
#Carcamo
#Carcana
#Carcano
#Cardena
#Cardenal
#Cardenos
#Cardiel
#Cardinas
#Cardona
#Cardosa
#Cardova
#Cardoza
#Careaga
#Carela
#Cariaga
#Carias
#Caride
#Carillo
#Carinio
#Cariño
#Carlos
#Carmen
#Carmona
#Carnero
#Carolina
#Carpintero
#Carpio
#Carrales
#Carranco
#Carransa
#Carranza
#Carrasco
#Carrasquillo
#Carratala
#Carrazco
#Carrejo
#Carreno
#Carreon
#Carrera
#Carreras
#Carrero
#Carretero
#Carriaga
#Carriedo
#Carril
#Carrilo
#Carrio
#Carrion
#Carrisalez
#Carrizal
#Carrizales
#Cartagena
#Cartaya
#Carte
#Carvajal
#Casablanca
#Casada
#Casado
#Casados
#Casal
#Casales
#Casals
#Casamayor
#Casanas
#Casanova
#Casanueva
#Casares
#Casarez
#Casarrubias
#Casas
#Casasola
#Casaus
#Caselas
#Casellas
#Caseres
#Cases
#Casian
#Casiano
#Casias
#Casilla
#Casillas
#Casis
#Casparis
#Casso
#Castanedo
#Castaner
#Castano
#Castanon
#Castanuela
#Castejon
#Castelan
#Castellano
#Castellanos
#Castellanoz
#Castellon
#Castelo
#Castenada
#Casteneda
#Castiel
#Castilla
#Castillanos
#Castilleja
#Castillejo
#Castillero
#Castillio
#Castillon
#Casto
#Castorena
#Castoreno
#Castrejon
#Castrellon
#Castrillo
#Castroman
#Castruita
#Cata
#Catala
#Catalan
#Catanach
#Catano
#Cauazos
#Caudillo
#Cavasos
#Cavazos
#Cayetano
#Cazares
#Cazarez
#C’de Baca
#Cea
#Ceballos
#Cebollero
#Cecena
#Cedano
#Cedeno
#Cedillo
#Cedillos
#Ceijas
#Ceja
#Cejudo
#Cela
#Celado
#Celaya
#Celedon
#Celis
#Cena
#Cendan
#Cendejas
#Ceniceros
#Centeno
#Cepeda
#Cepero
#Cerbantes
#Cerda
#Cerecedes
#Cereceres
#Cerezo
#Cermeno
#Cerna
#Ceron
#Cerrillo
#Cerritos
#Cerros
#Cervantez
#Cervera
#Cesar
#Cesena
#Cespedes
#Cestero
#Cevallos
#Chabez
#Chabolla
#Chaboya
#Chacanaca
#Chadez
#Chagolla
#Chagollan
#Chagoya
#Chaguaceda
#Chaides
#Chaidez
#Chairez
#Chalos
#Chamorro
#Chanez
#Chapa
#Chaparro
#Charo
#Charriez
#Chaton
#Chauarra
#Chauez
#Chavana
#Chavaria
#Chavarria
#Chavera
#Chaviano
#Chavira
#Che
#Checa
#Checo
#Cheda
#Chevas
#Cheverez
#Chevez
#Chevres
#Chiago
#Chiapa
#Chica
#Chicas
#Chico
#Chide
#Chihuahua
#Chilimidos
#Chimal
#China
#Chinchilla
#Chino
#Chiquito
#Chiriboga
#Chirino
#Chirinos
#Cholino
#Chueca
#Churape
#Cibrian
#Cid
#Cienega
#Cienfuegos
#Cifuentes
#Cigar
#Cigarroa
#Cimadevilla
#Cintora
#Cintra
#Cintron
#Cionco
#Cirerol
#Cirilo
#Cisnal
#Cisnero
#Cisneroz
#Clara
#Clarin
#Clarit
#Claro
#Claros
#Claudio
#Clavell
#Clavijo
#Clemente
#Closas
#Coba
#Cobar
#Cobarrubias
#Cobian
#Cobio
#Cobo
#Cobos
#Coca
#Codon
#Coello
#Colas
#Colato
#Colchado
#Coldivar
#Colina
#Colindres
#Collado
#Collazo
#Collozo
#Colmenares
#Colmenero
#Colom
#Coloma
#Colomo
#Colondres
#Colorado
#Colores
#Colunga
#Comacho
#Comas
#Compean
#Compian
#Compo
#Compos
#Concepcion
#Conceptio
#Concha
#Conchado
#Conchas
#Concho
#Conchola
#Condado
#Condarco
#Conde
#Condensa
#Conejero
#Conejo
#Conesa
#Conforme
#Conrado
#Conriquez
#Cons
#Consonero
#Constancio
#Constante
#Constantino
#Consuegra
#Consuelo
#Contador
#Contemprato
#Contraras
#Contrera
#Contreraz
#Contreres
#Contreros
#Copado
#Copas
#Copetillo
#Cora
#Corchado
#Corchero
#Corcino
#Cordoba
#Cordona
#Cordovi
#Cordoza
#Corea
#Coreas
#Corella
#Coria
#Coriano
#Coriz
#Cornejo
#Coronado
#Coronel
#Corporan
#Corpus
#Corrado
#Corral
#Corrales
#Corredor
#Correo
#Cortada
#Cortaza
#Cortazar
#Cortijo
#Cortina
#Cortinas
#Cortinez
#Corujo
#Corvan
#Corvera
#Corza
#Corzo
#Cos
#Cosio
#Cosme
#Cossio
#Costa
#Costales
#Costas
#Costilla
#Costillo
#Cotilla
#Coto
#Cotto
#Coutino
#Covarrubia
#Covarrubias
#Covarrubio
#Covas
#Coyazo
#Cremar
#Crespo
#Criado
#Crisostomo
#Cristales
#Cristan
#Cristian
#Cristobal
#Croz
#Cruce
#Cruces
#Cruzado
#Cuadra
#Cuadrado
#Cuadras
#Cuadraz
#Cuadro
#Cuadros
#Cuarenta
#Cuartas
#Cuascut
#Cuatrescas
#Cuba
#Cubano
#Cubas
#Cubero
#Cubias
#Cubillo
#Cucuta
#Cuebas
#Cuellar
#Cuello
#Cuen
#Cuenca
#Cuentas
#Cuervo
#Cuesta
#Cuestas
#Cueto
#Cuevas
#Cuizon
#Cumba
#Cura
#Curbelo
#Curiel
#Custodio
#Cuya
#Dacosta
#Dago
#Dalmau
#Dalmida
#Damian
#Dardon
#Datil
#Dauila
#Davalos
#Davilla
#Daza
#D’Cruz
#de Aguero
#de Alba
#de Anda
#de Aquino
#De Arco
#De Arcos
#Dearmas
#Dearo
#Deases
#de Avila
#de Baca
#Debras
#de Cardenas
#de Casas
#deCasseres
#de Castro
#Decena
#Decerega
#de Chavez
#Declet
#de Cola
#Decos
#Decosta
#de Cruz
#de Diego
#Dedios
#Defex
#de Figueroa
#de Francisco
#de Franco
#de Fuca
#Degani
#Degollado
#Degonia
#de Gracia
#de Guzman
#de Haro
#de Hombre
#de Hoyos
#de Herrera
#Deida
#De Julio
#Delacerda
#Delacorte
#Delacuesta
#Delacueva
#Delafuente
#Delagado
#Delagarza
#Delaguardia
#Delaguila
#Delahoya
#Delahoz
#De la Luz
#Delamora
#Delangel
#Delanuez
#De la O
#Delapass
#De la Paz
#Delapena
#Delaportilla
#De la Puente
#Delara
#Delariva
#Delaroca
#Delatorre
#De la Trinidad
#De la Vega
#Delavina
#Del Barrio
#Del Bosque
#Del Busto
#Del Campo
#Del Castillo
#Del Castro
#Del Cid
#Delcueto
#Delerme
#Delfierro
#Delfin
#Delfino
#Delgadillo
#Delhierro
#Del Hoyo
#De Lira
#Deliz
#Dellano
#de Llinas
#Delmendo
#Del Moral
#Del Mundo
#Del Muro
#De Loera
#De Lorenzo
#De los Angeles
#Delosantos
#De los Reyes
#De los Rios
#Del Pino
#Del Pozo
#Del Real
#Del Rey
#Del Rio
#Del Rosario
#Del Sol
#Del Toro
#Deluna
#Del Val
#Del Valle
#Del Villar
#De Marin
#de Mateo
#De Mayo
#De Melo
#Demendoza
#de Mesa
#Demo
#De Moya
#Dena
#Denogean
#De Paz
#de Pedro
#Denina
#Deocampo
#Depena
#de Ramos
#Deras
#De Ricaurte
#Derma
#de Robles
#Desantiago
#De Santo
#De Santos
#Desiderio
#Desiga
#De Soto
#Despues
#de Torres
#De Urena
#Devalle
#De Vara
#de Vargas
#Devarona
#De Vera
#Devian
#Devilla
#Devora
#Deya
#de Ycaza
#de Yturbe
#Dezayas
#Diamos
#Diazdelcampo
#Diazdeleon
#Diego
#Dieguez
#Diez
#Dimas
#Diodosio
#Dios
#Diosdado
#Directo
#Disarufino
#Disla
#Doblas
#Dojaquez
#Domenech
#Domingo
#Dominquez
#Domio
#Donado
#Donate
#Dones
#Donez
#Donoso
#Dopazo
#Dopico
#Doporto
#Dorado
#Dorame
#Dorantes
#Dorta
#Dorticos
#Dosal
#Dovalina
#Dozal
#D’Spain
#Duarte
#Duartes
#Dubon
#Ducos
#Duenas
#Duenes
#Duenez
#Dueno
#Duenos
#Dume
#Durango
#Duranona
#Durate
#Durazo
#Duron
#Duzan
#Echandi
#Echandia
#Echartea
#Echavarria
#Echave
#Echavez
#Echegoyen
#Echemendia
#Echenique
#Echevaria
#Echeverri
#Echeverria
#Echeverry
#Ector
#Eduardo
#Eguia
#Eguizabal
#Egure
#Elena
#Elguezanal
#Elisondo
#Elizaga
#Elizalde
#Elizando
#Elizarraras
#Elizondo
#Elvira
#Emanuel
#Empasis
#Empleo
#Enamorado
#Encallado
#Encarnacion
#Enchautegui
#Encinales
#Encinas
#Encinias
#Encino
#Enciso
#Enriguez
#Enrique
#Enriques
#Enrriquez
#Enterrio
#Epidendio
#Equia
#Equihua
#Eras
#Eraso
#Erazo
#Erebia
#Eredia
#Errazuriz
#Escajeda
#Escalera
#Escallon
#Escalon
#Escalona
#Escamilla
#Escandon
#Escanuela
#Escarcega
#Escareno
#Escario
#Escarra
#Escarrega
#Escarsega
#Escatel
#Esobal
#Escobedo
#Escober
#Escobio
#Escorcia
#Escorza
#Escoto
#Escovar
#Escovedo
#Escribano
#Escuda
#Escudero
#Escutia
#Eseverri
#Esguerra
#Espada
#Espadas
#Espalin
#Espana
#Espanol
#Esparaza
#Esparsen
#Espejel
#Espejo
#Espenoza
#Esperanza
#Espericuenta
#Esperon
#Espina
#Espinal
#Espindola
#Espinel
#Espino
#Espinoz
#Espiritu
#Espitia
#Esplugues
#Esponda
#Espronceda
#Esquea
#Esqueda
#Esquenazi
#Esquer
#Esquerra
#Esquerre
#Esquibel
#Esquijarosa
#Esquilin
#Esquivel
#Esquivez
#Esquivias
#Estaba
#Estabillo
#Estacio
#Estala
#Estalella
#Estanislao
#Esteban
#Estefan
#Estefani
#Estela
#Estepa
#Ester
#Estete
#Estevane
#Esteves
#Estevez
#Estimbo
#Estorga
#Estradas
#Estrade
#Estrado
#Estrella
#Estrello
#Estremadoyro
#Estremera
#Estronza
#Etchechury
#Euresti
#Eusebio
#Evaristo
#Eylicio
#Fabela
#Fabrega
#Fabro
#Fabros
#Facio
#Facundo
#Fagoaga
#Fagundo
#Failde
#Fajardo
#Falero
#Falon
#Falquez
#Falto
#Falu
#Familia
#Fandino
#Fanego
#Fanez
#Faragoza
#Farfan
#Farinas
#Faustino
#Fausto
#Favela
#Favila
#Faz
#Febles
#Febre
#Febres
#Febus
#Feijoo
#Fejos
#Felan
#Feliberty
#Feliciano
#Felico
#Felipe
#Feliu
#Felix
#Feliz
#Femat
#Feo
#Feramisco
#Ferdin
#Fermin
#Fernando
#Fernendez
#Ferniza
#Ferrado
#Ferraiz
#Ferrales
#Ferre
#Ferrer
#Ferreri
#Fiallo
#Fiallos
#Fidel
#Fierro
#Fierros
#Fiesta
#Figaro
#Figeroa
#Figueiras
#Figuera
#Figueras
#Figuerda
#Figueredo
#Figuerola
#Figueron
#Filoteo
#Fimbres
#Fimbrez
#Finales
#Fino
#Fiqueroa
#Firpi
#Flamenco
#Flecha
#Fleitas
#Fleites
#Fletes
#Flor
#Flora
#Florencio
#Florentino
#Florez
#Florido
#Folgar
#Fonseca
#Font
#Fontan
#Fontana
#Fontanez
#Fonteboa
#Fonteno
#Forero
#Foronda
#Fradejas
#Fraga
#Frago
#Fragosa
#Fragoso
#Fragozo
#Fraire
#Franca
#Francos
#Franqui
#Frasco
#Frausto
#Frayre
#Fregoso
#Fregozo
#Freire
#Frenes
#Frescas
#Fresno
#Fresquez
#Freyre
#Frias
#Frometa
#Frondarina
#Froso
#Frutos
#Frutoz
#Fuentas
#Fuente
#Fuentealba
#Fuentez
#Fuenzalida
#Fuerte
#Fuertes
#Fulgencio
#Fumero
#Fundora
#Funes
#Funez
#Furtado
#Futrado
#Gabaldon
#Gabarda
#Gabino
#Gachupin
#Gaeta
#Gaetan
#Gago
#Gahona
#Gaitan
#Gajardo
#Gajate
#Galabeas
#Galache
#Galan
#Galarza
#Galavis
#Galaviz
#Galaz
#Galban
#Galdames
#Galdamez
#Galeana
#Galeano
#Galera
#Galguera
#Gali
#Galiano
#Galicia
#Galindez
#Gallaga
#Gallagos
#Gallardo
#Gallastegui
#Gallegas
#Gallego
#Gallegoz
#Galleno
#Gallosa
#Galves
#Galvez
#Gama
#Gamarra
#Gamboa
#Gamero
#Gameros
#Gamey
#Gamez
#Gamino
#Gamiz
#Gamoneda
#Ganadonegro
#Gandara
#Gandarilla
#Gandia
#Gaona
#Garate
#Garay
#Garced
#Garces
#Garcias
#Garcilazo
#Gardea
#Gardunio
#Garduno
#Garfias
#Gari
#Garia
#Garib
#Garibaldo
#Garibay
#Garica
#Garife
#Garispe
#Garivay
#Garnica
#Garrido
#Garriga
#Garrote
#Garzon
#Gasca
#Gascon
#Gaspar
#Gastello
#Gastelo
#Gastelum
#Gatica
#Gato
#Gauna
#Gavaldon
#Gavia
#Gavidia
#Gavilanes
#Gavina
#Gavino
#Gaviria
#Gaxiola
#Gayo
#Gayoso
#Gaytan
#Genao
#Gener
#Genera
#Geniz
#Geraldes
#Gerardo
#Gerena
#Gerez
#German
#Germes
#Gerona
#Geronimo
#Gervacio
#Gil
#Gimenez
#Giner
#Giraldo
#Girion
#Giron
#Girona
#Gloria
#Gobea
#Gochez
#Godina
#Godines
#Godinez
#Godoy
#Goena
#Goicuria
#Golderos
#Gome
#Gomiz
#Gongales
#Gongora
#Gonsales
#Gonsalez
#Gonzague
#Gonzalas
#Gonzoles
#Gorbea
#Gordillo
#Gordo
#Gorena
#Goris
#Gorratchetegui
#Gorrindo
#Gorriz
#Gotay
#Goya
#Goyco
#Goycoechea
#Goycoolea
#Gozman
#Gracia
#Graciani
#Gradilla
#Gradillas
#Grado
#Grageda
#Grajales
#Grajeda
#Gramajo
#Grana
#Granada
#Granado
#Granados
#Granda
#Grandos
#Graniela
#Granillo
#Granizo
#Graupera
#Graveran
#Graza
#Grego
#Gregorio
#Greigo
#Griego
#Grijalva
#Grillasca
#Grimaldo
#Grona
#Grullon
#Guaba
#Guadalajara
#Guadalupe
#Guadamuz
#Guadarrama
#Guadian
#Guadiana
#Guajaca
#Guajardo
#Gual
#Gualda
#Gualdarrama
#Guallar
#Guaman
#Guana
#Guanajuaro
#Guanche
#Guangorena
#Guantez
#Guapo
#Guara
#Guaracha
#Guarch
#Guardado
#Guardarrama
#Guardia
#Guardian
#Guardiola
#Guareno
#Guarin
#Guaris
#Guartuche
#Guasch
#Guasp
#Guaydacan
#Gudiel
#Gudino
#Guebara
#Guecho
#Guedea
#Guedes
#Guel
#Guemez
#Guereca
#Guerena
#Guerero
#Guerrido
#Guerro
#Guevara
#Guevarra
#Guevera
#Guijarro
#Guilbe
#Guillama
#Guillen
#Guillermo
#Guitano
#Guiterrez
#Guitian
#Guitierrez
#Guity
#Guizar
#Gularte
#Gurrero
#Gurrola
#Gurule
#Gusto
#Gutieres
#Gutierez
#Gutierre
#Gutierres
#Gutirrez
#Haro
#Haros
#Heguy
#Henao
#Henriguez
#Henriquez
#Herandez
#Heras
#Heredia
#Herena
#Herera
#Hererra
#Hermandez
#Hermida
#Hermosillo
#Hernadez
#Hernande
#Hernando
#Herrada
#Herrara
#Herran
#Herrarte
#Herrea
#Herreras
#Herrero
#Herruvo
#Herruzo
#Hevia
#Hidalgo
#Hidrogo
#Hierro
#Higuera
#Higueros
#Hilario
#Hinajosa
#Hinata
#Hinojos
#Hinojosa
#Hinostroza
#Hipolito
#Hiraldo
#Hojel
#Holguin
#Holquin
#Horta
#Hostas
#Hoyos
#Huacuja
#Hualde
#Huaman
#Huarte
#Huereca
#Huertas
#Huerto
#Huesca
#Hueso
#Huezo
#Huipe
#Huitron
#Huizar
#Huriega
#Hurtado
#Hysquierdo
#Ibanez
#Iberra
#Ibos
#Icardo
#Icaza
#Ichinaga
#Idarraga
#Idiaquez
#Idrovo
#Igartrua
#Iglesia
#Iglesias
#Ignacio
#Iguina
#Ilarraza
#Ildefonso
#Ilizaliturri
#Illades
#Illas
#Illescas
#Illueca
#Inchausti
#Inclan
#Ines
#Inestroza
#Ingles
#Iniguez
#Iniquez
#Inoa
#Inocencio
#Inocente
#Insular
#Interian
#Intriago
#Inzunza
#Iquina
#Iracheta
#Iraheta
#Iraola
#Iriarte
#Iribarren
#Irigoyen
#Irineo
#Irizarri
#Irizzary
#Iruegas
#Isais
#Isales
#Isidoro
#Isidro
#Islas
#Isturiz
#Iturbe
#Iturbide
#Iturralde
#Iturrondo
#Izaguirre
#Izaquirre
#Izarra
#Iznaga
#Izquierda
#Izquierdo
#Izurieta
#Jacas
#Jaco
#Jacobo
#Jacome
#Jacquez
#Jaime
#Jaimes
#Jalleo
#Jalomo
#Jalteco
#Jaquez
#Jara
#Jarquin
#Jaso
#Jasso
#Jativa
#Jaunarena
#Jaure
#Jauregui
#Jaureguy
#Jaurequi
#Jaurez
#Jaurigue
#Jaurigui
#Javier
#Jayo
#Jemente
#Jerez
#Jesus
#Jimenes
#Jimeno
#Jiminez
#Jiron
#Joaquin
#Jojola
#Jorge
#Jorquez
#Jose
#Jove
#Jovel
#Jover
#Joya
#Juan
#Juanero
#Juanez
#Juaneza
#Juanico
#Juarbe
#Juares
#Juarros
#Juez
#Jugo
#Julia
#Julio
#Junco
#Jurada
#Jurado
#Jure
#Jusino
#Juvera
#Labady
#Labarta
#Labiosa
#Laborin
#Laboy
#Labrada
#Labrador
#Lacasa
#Lacayo
#Lachica
#Lacosta
#Lacuesta
#Lafana
#Lafuente
#Lagares
#Lago
#Lagoa
#Lagos
#Laguarta
#Laguer
#Laguna
#Lagunas
#Lainez
#Lajara
#Lallave
#Lama
#Lamadrid
#Lamas
#Lamboy
#Lamela
#Lamelas
#Lancha
#Landa
#Landavazo
#Landaverde
#Landazuri
#Landero
#Landeros
#Landestoy
#Landin
#Landrian
#Landron
#Lanfranco
#Langarica
#Lango
#Lantigua
#Lanuza
#Lanzagorta
#Laos
#Lapuerta
#Laracuente
#Lardizabal
#Laredo
#Lares
#Larez
#Largo
#Larios
#Larralde
#Larranaga
#Larrasquitu
#Larrea
#Larreta
#Larriva
#Larrosa
#Lasaga
#Lasala
#Lasanta
#Lascano
#Laserna
#Laso
#Lasso
#Lastra
#Latigo
#Laurean
#Laureano
#Lauredo
#Laurel
#Laureles
#Lauriano
#Laurias
#Laveaga
#Laza
#Lazaga
#Lazalde
#Lazarine
#Lazaro
#Lazarte
#Lazcano
#Lazo
#Lazos
#Lazurtegui
#Leandro
#Leano
#Leanos
#Lebario
#Lebron
#Lecaros
#Lecea
#Lechuga
#Ledesma
#Ledezma
#Ledo
#Ledon
#Legaria
#Legarreta
#Legaspi
#Legorreta
#Legra
#Leiba
#Leija
#Leijas
#Leites
#Leiva
#Lemos
#Lemus
#Lente
#Leone
#Leones
#Leon Guerrero (popular in Guam)
#Leonor
#Leos
#Lepe
#Lerma
#Lerno
#Lero
#Lesa
#Lescano
#Lespier
#Levario
#Leyba
#Leynes
#Leyra
#Leyua
#Leyva
#Leyvas
#Leza
#Lezama
#Lezcano
#Liano
#Licano
#Licea
#Liceaga
#Licerio
#Licon
#Licona
#Licor
#Licudine
#Liendo
#Lievano
#Liguez
#Limardo
#Limas
#Limido
#Limon
#Limones
#Limonez
#Linan
#Linares
#Linero
#Liranez
#Liquet
#Liranzo
#Liriano
#Lisboa
#Liscano
#Lisojo
#Liz
#Lizama
#Lizana
#Lizaola
#Lizarraga
#Lizardi
#Lizardo
#Lizarrago
#Lizarzaburu
#Llado
#Llaguno
#Llamas
#Llanas
#Llanez
#Llano
#Llanos
#Llarena
#Llatas
#Llera
#Lleras
#Llerena
#Llopis
#Llorca
#Llorens
#Lloveras
#Lluch
#Loa
#Loaiza
#Loayza
#Lobato
#Lobo
#Lodeiro
#Loera
#Loeza
#Logoluso
#Logrono
#Lomas
#Lombera
#Lombrana
#Lomeli
#Lomellin
#Lona
#Londono
#Lopategui
#Lope
#Lopera
#Loperena
#Lora
#Loredo
#Lorente
#Lorenzana
#Lorenzo
#Lorona
#Losa
#Losada
#Losado
#Loso
#Losoya
#Louato
#Loubriel
#Lovato
#Lovera
#Loveto
#Loya
#Loyola
#Loza
#Lozada
#Lozado
#Lozana
#Lozoya
#Lua
#Luaces
#Lube
#Lucario
#Lucatero
#Lucena
#Lucia
#Luco
#Luebano
#Luera
#Lueras
#Luevano
#Luevanos
#Lugardo
#Lugones
#Luis
#Lujan
#Lujano
#Lumbreras
#Lupercio
#Luque
#Luquin
#Luyando
#Luzania
#Luzuriaga
#Macarena
#Macareno
#Macavinta
#Macaya
#Macayan
#Maceda
#Machiche
#Macho
#Machuca
#Macia
#Maciel
#Macotela
#Mada
#Madariaga
#Madera
#Maderis
#Madero
#Madrazo
#Madrigales
#Madril
#Madriz
#Madruga
#Maduena
#Madrueno
#Madueno
#Maduro
#Maelia
#Maes
#Maese
#Maestas
#Maestos
#Maestre
#Maez
#Magallan
#Magallanes
#Magallanez
#Magallon
#Magana
#Magaz
#Magdalena
#Magdaleno
#Magno (popular in Philippines)
#Mago
#Mainero
#Maisonave
#Maiztegui
#Majano
#Malabanan
#Malabe
#Malacara
#Malagon
#Malave
#Malavet
#Maldanado
#Maldonaldo
#Malia
#Mallen
#Malpica
#Maltos
#Malvaez
#Mamo
#Manas
#Mancera
#Mancha
#Manchaca
#Mancia
#Mancias
#Mancilla
#Mancillas
#Mandia
#Mandonado
#Mandujan
#Mandujano
#Manera
#Mangual
#Manjarres
#Manjarrez
#Manosa
#Manquero
#Manrique
#Manriquez
#Manrriquez
#Mansanares
#Manso
#Manteca
#Mantilla
#Manuel
#Manzanares
#Manzanarez
#Manzanero
#Manzanilla
#Manzano
#Manzo
#Manzur
#Mapalo
#Maradiaga
#Marales
#Maranon
#Marante
#Maranto
#Maravilla
#Marban
#Marcano
#Marcelin
#Marcelo
#Marchan
#Marchena
#Marcial
#Marciano
#Marcos
#Marenco
#Marentes
#Marentez
#Marero
#Mares
#Marez
#Marfil
#Marguez
#Maria
#Marichalar
#Marinas
#Marinero
#Marines
#Marinez
#Mariscal
#Marmol
#Marmolejo
#Marmolejos
#Marquina
#Marrietta
#Marron
#Marroquin
#Marrufo
#Marrujo
#Martelon
#Martenez
#Martes
#Martiarena
#Martin
#Martindelcampo
#Martiniz
#Martir
#Martos
#Marulanda
#Marzan
#Mas
#Mascarena
#Mascarenas
#Mascorro
#Masero
#Masias
#Masolta
#Mastache
#Matamoros
#Mateo
#Mateos
#Matias
#Matos
#Matta
#Maturana
#Maturino
#Matus
#Matute
#Mauleon
#Mauras
#Mauricio
#Maya
#Mayans
#Mayen
#Maymi
#Maynez
#Mayo
#Mayol
#Mayoral
#Mayorca
#Mayorga
#Maysonet
#Maytorena
#Maza
#Mazariego
#Mazariegos
#Mazon
#Medal
#Medel
#Medellin
#Medero
#Mederos
#Mediano
#Medinas
#Medran
#Megui
#Meireles
#Meja
#Mejias
#Mejorada
#Mejorado
#Melandez
#Melchor
#Melecio
#Melena
#Melendes
#Melendres
#Melendrez
#Melenudo
#Melero
#Melgar
#Melgarejo
#Melgoza
#Melian
#Mella
#Mellado
#Membreno
#Mena
#Menchaca
#Menchavez
#Mencia
#Mendia
#Mendias
#Mendiaz
#Mendibles
#Mendieta
#Mendilaharzu
#Mendiola
#Mendivel
#Mendivil
#Mendizabal
#Mendonsa
#Mendosa
#Mendrin
#Menendez
#Menes
#Meneses
#Menez
#Menjares
#Menjivar
#Menjuga
#Menor
#Mera
#Merancio
#Meras
#Meraz
#Merced
#Mercedes
#Merida
#Merino
#Merlin
#Merlos
#Mero
#Mesa
#Mesia
#Mesias
#Mesina
#Mesquita
#Mesquite
#Mesta
#Mestas
#Mestre
#Mexicano
#Mezquita
#Michelena
#Mieles
#Miera
#Mierez
#Miga
#Miguel
#Miguez
#Mijangos
#Mijares
#Mijarez
#Mila
#Milanes
#Milera
#Milian
#Milo
#Minana
#Minaya
#Minero
#Mingarro
#Minjares
#Minjarez
#Miquel
#Mirabal
#Mirada
#Miraflores
#Mirales
#Miralles
#Miramon
#Miramontes
#Miramontez
#Mirando
#Miravalles
#Mireles
#Mirelez
#Miro
#Miyares
#Mocega
#Modero
#Modesto
#Modiano
#Mogollon
#Mogro
#Mohedano
#Moises
#Mojarro
#Mojica
#Molano
#Molinar
#Molinary
#Molinas
#Molleda
#Molles
#Mona
#Monagas
#Monal
#Monares
#Monarez
#Monarque
#Monarrez
#Moncayo
#Moncivais
#Monclova
#Mondejar
#Mondelo
#Mondona
#Mondoza
#Mondragon
#Monegro
#Monge
#Monges
#Mongillo
#Monico
#Moniz
#Monjaras
#Monje
#Monreal
#Monroig
#Monroy
#Monrreal
#Monsalve
#Monsegur
#Monserrat
#Monserrate
#Monsivais
#Montaivo
#Montalban
#Montalbo
#Montaluo
#Montalvan
#Montalvo
#Montan
#Montana
#Montane
#Montanez
#Montas
#Montaya
#Monte
#Monteagudo
#Montealegre
#Montejano
#Montejo
#Montellano
#Montelongo
#Montemayor
#Montenegro
#Montera
#Montero
#Monteros
#Monterrosa
#Monterroso
#Monterroza
#Monterrubio
#Montesdeoca
#Montesino
#Montesinos
#Monteverde
#Montez
#Montiel
#Montijo
#Montilla
#Monton
#Montono
#Montoro
#Montoto
#Monts
#Montufar
#Monzon
#Morado
#Moraga
#Morale
#Moralez
#Moranda
#Morataya
#Morcos
#Morea
#Moreida
#Morejon
#Moreles
#Morelos
#Morena
#Morentin
#Morera
#Moreta
#Morfi
#Morfin
#Morga
#Morgado
#Morgas
#Morillo
#Morina
#Morla
#Morles
#Moroles
#Moron
#Morones
#Moronez
#Moronta
#Moroyoqui
#Morquecho
#Morquez
#Morrero
#Morua
#Morva
#Moscoso
#Mosqueda
#Mosquera
#Mota
#Motes
#Moure
#Mourino
#Moya
#Mozas
#Muelas
#Mugartegui
#Mugica
#Muguruza
#Mui
#Muina
#Muinos
#Mujica
#Mula
#Mulero
#Muna
#Mundo
#Munecas
#Munez
#Mungia
#Munguia
#Munivez
#Muralles
#Muratalla
#Murcia
#Murga
#Murguia
#Muriel
#Muro
#Muros
#Murrieta
#Murrietta
#Murrillo
#Musquiz
#Mustienes
#Muxo
#Muzquiz
#Nabarette
#Nachon
#Nacianceno
#Nadal
#Nagore
#Najar
#Najarro
#Najera
#Nandin
#Nanez
#Napoles
#Naranjo
#Narciso
#Naredo
#Nares
#Narez
#Naron
#Narro
#Narvaez
#Narvaiz
#Natal
#Natera
#Natividad
#Naval
#Navanjo
#Navar
#Navarete
#Navarette
#Navarez
#Navarrete
#Navarrette
#Navas
#Navedo
#Naveja
#Navejar
#Navejas
#Navia
#Navo
#Naz
#Nazario
#Necochea
#Negrete
#Negrin
#Negron
#Neira
#Neives
#Nemesio
#Nenclares
#Nepomuceno
#Neria
#Nerio
#Neris
#Nevares
#Nevarrez
#Neyra
#Nido
#Niebla
#Nieto
#Nieva
#Niez
#Nila
#Nina
#Nisperos
#Nivar
#Nives
#Noa
#Noboa
#Nobregas
#Noceda
#Nodal
#Nodarse
#Noe
#Nogales
#Nogueda
#Noguera
#Nogueras
#Nolasco
#Noline
#Norales
#Norat
#Noreiga
#Norena
#Noriega
#Noriego
#Norzagaray
#Nova
#Novas
#Novello
#Novembre
#Novian
#Novo
#Novoa
#Noya
#Noyas
#Noyola
#Nuanes
#Nueno
#Nuncio
#Nungaray
#Nuno
#Oaxaca
#Oballe
#Obando
#Obas
#Obeso
#Obispo
#Obregon
#Ocacio
#Ocampo
#Ocana
#Ocanas
#Ocano
#Ocariz
#Ocegueda
#Oceguera
#Ocejo
#Ochea
#Ochipa
#Ochotorena
#Ocon
#Odriozola
#Ogaldez
#Ogando
#Ogarro
#Ogas
#Ogaz
#Oguendo
#Ojeda
#Ojito
#Olaechea
#Olaez
#Olague
#Olalde
#Olalla
#Olan
#Olano
#Olaque
#Olarte
#Olavarria
#Olaya
#Olazabal
#Olea
#Olguin
#Olide
#Olivar
#Olivares
#Olivarri
#Olivarria
#Olivas
#Olive
#Olivencia
#Oliveras
#Oliveres
#Olivero
#Oliveros
#Olives
#Olivos
#Ollaca
#Olloqui
#Olmeda
#Olmedo
#Olmo
#Olmos
#Olona
#Olortegui
#Olquin
#Olveda
#Olvedo
#Olveira
#Olvera
#Oms
#Ondrias
#Oneta
#Ongania
#Onofre
#Onsurez
#Ontiveroz
#Oquendo
#Oquita
#Orabuena
#Orama
#Orantes
#Orate
#Orbea
#Orca
#Orcasitas
#Ordaz
#Ordones
#Ordonez
#Ordorica
#Orduna
#Orduno
#Oregel
#Orejel
#Orellana
#Orellano
#Orendain
#Orengo
#Organista
#Originales
#Orihuela
#Oriol
#Orlando
#Ornelaz
#Ornellas
#Orona
#Oropesa
#Oropeza
#Oros
#Orosco
#Oroz
#Orozeo
#Orrantia
#Orrego
#Orta
#Ortego
#Ortegon
#Ortez
#Ortuno
#Ortuzar
#Orza
#Orzabal
#Osegueda
#Oseguera
#Osequera
#Osle
#Osollo
#Osoria
#Osorio
#Osornio
#Osorno
#Ospina
#Ospino
#Ospital
#Ostiguin
#Ostolaza
#Osuna
#Otanez
#Otano
#Otegui
#Otera
#Ovadia
#Ovalle
#Ovalles
#Ovando
#Oviedo
#Oyague
#Oyervides
#Oyola
#Oyuela
#Ozaeta
#Ozuna
#Pabey
#Pablo
#Pabon
#Pachelo
#Pacheo
#Pachero
#Pacho
#Paco
#Padillia
#Padillo
#Padin
#Padro
#Padron
#Padua
#Paez
#Pages
#Pagon
#Paguaga
#Pais
#Paiz
#Pajares
#Palacio
#Palafox
#Palas
#Palau
#Palencia
#Palenzuela
#Paleo
#Palitos
#Pallan
#Pallanes
#Pallares
#Palma
#Palmares
#Palmarez
#Palmerin
#Paloma
#Palomar
#Palomares
#Palomarez
#Palomin
#Palomino
#Palomo
#Palos
#Panameno
#Panchana
#Pancho
#Pandas
#Pando
#Panduro
#Paneque
#Paneto
#Paniagua
#Pantaleon
#Pante
#Pantoja
#Para
#Parada
#Paramo
#Parayno
#Parayuelos
#Pardillo
#Pardo
#Paredes
#Paredez
#Pareja
#Pares
#Parez
#Parga
#Parra
#Parraga
#Parral
#Parrales
#Parras
#Parraz
#Parreno
#Parriera
#Partida
#Partido
#Pascual
#Pasillas
#Pasos
#Pastor
#Pastora
#Pastrana
#Pastrano
#Patino
#Patlan
#Patron
#Pauda
#Paula
#Pavia
#Pavon
#Paya
#Payan
#Payano
#Payas
#Paz
#Pazmino
#Pazos
#Pecina
#Pecos
#Pedraja
#Pedraza
#Pedregon
#Pedro
#Pedrogo
#Pedroso
#Pedroza
#Pegoda
#Peguero
#Pegues
#Peinado
#Pelaez
#Pelayo
#Penado
#Penaflor
#Penaherrera
#Penalosa
#Penaloza
#Penalver
#Penate
#Penez
#Pensado
#Penuelas
#Penunuri
#Peon
#Pepe
#Pepito
#Pequeno
#Pera
#Peral
#Perales
#Peralez
#Peralta
#Peralto
#Peratis
#Peraza
#Perches
#Perchez
#Perdido
#Perdomo
#Perea
#Pereda
#Peredo
#Peregrino
#Pereida
#Pereiro
#Perera
#Peres
#Pereyda
#Pereyra
#Perfecto
#Perino
#Perlas
#Pernas
#Peros
#Perozo
#Peru
#Perumean
#Pesante
#Pesantes
#Pescador
#Pesina
#Pesqueira
#Pestana
#Petro
#Peza
#Pezez
#Pezina
#Pia
#Picazo
#Piceno
#Pichardo
#Pico
#Picon
#Piedad
#Piedra
#Piedrahita
#Pila
#Pilar
#Pillado
#Pimiento
#Pinal
#Pinales
#Pinedo
#Pinela
#Pinelo
#Pinera
#Pinero
#Piniella
#Pinilla
#Pino
#Pinon
#Pintado
#Pinto
#Pintor
#Pintos
#Pinuela
#Pinuelas
#Pinzon
#Pio
#Pis
#Pita
#Pitaluga
#Pizana
#Pizano
#Pizarro
#Placencia
#Placencio
#Placentia
#Placeres
#Plana
#Planas
#Plancarte
#Plascencia
#Plasencia
#Plata
#Platas
#Platero
#Plateros
#Plaza
#Plazas
#Pliego
#Pluma
#Poblete
#Pobre
#Pola
#Polaco
#Polanco
#Polonia
#Pomales
#Pomares
#Pompa
#Ponce de Leon
#Poncho
#Ponciano
#Poncio
#Pons
#Porras
#Porraz
#Porres
#Portal
#Portalatin
#Portales
#Portela
#Portes
#Portilla
#Portillo
#Porto
#Portolan
#Portuondo
#Posada
#Posadas
#Posas
#Pozo
#Pozos
#Prada
#Prado
#Prats
#Pratts
#Preciado
#Prendes
#Prendiz
#Presa
#Presas
#Presiado
#Preza
#Priego
#Prieto
#Proa
#Proano
#Procsal
#Proenza
#Provencio
#Prudencio
#Pruna
#Pruneda
#Puebla
#Puello
#Puentes
#Puerta
#Puertas
#Puerto
#Puga
#Puig
#Pujals
#Pujol
#Pujols
#Pulgarin
#Pulido
#Pumarejo
#Pumariega
#Pumarol
#Pupo
#Purcella
#Puzo
#Querido
#Quero
#Quesada
#Quevedo
#Quezada
#Quiala
#Quian
#Quiceno
#Quihuiz
#Quijada
#Quijalvo
#Quijano
#Quijas
#Quiles
#Quilimaco
#Quinoa
#Quinonez
#Quintanar
#Quintanilla
#Quintanillas
#Quintas
#Quintela
#Quinteros
#Quinto
#Quintona
#Quiones
#Quirarte
#Quirindongo
#Quirino
#Quiroga
#Quirol
#Quiros
#Quiroz
#Quitos
#Rabago
#Rabassa
#Rabelo
#Radilla
#Rael
#Raigosa
#Raigoza
#Ramariz
#Ramero
#Ramil
#Raminez
#Ramire
#Ramires
#Ramiriz
#Ramiro
#Ramis
#Ramon
#Ramones
#Ranjel
#Rascon
#Rauda
#Ravago
#Ravelo
#Raxach
#Raya
#Rayas
#Raygosa
#Raygoza
#Raymos
#Raymundo
#Rayna
#Rayo
#Rayos
#Raza
#Razo
#Razon
#Real
#Reales
#Realme
#Reano
#Reategui
#Rebeles
#Rebellon
#Rebollar
#Rebolledo
#Rebolloso
#Rebozo
#Recalde
#Recendez
#Recinos
#Recio
#Reclusado
#Rede
#Redondo
#Regalado
#Regales
#Regalo
#Regina
#Regino
#Regos
#Regueira
#Reina
#Reinoso
#Relles
#Remigio
#Remo
#Remos
#Remus
#Renderos
#Rendon
#Renova
#Rentas
#Renteria
#Represas
#Requena
#Resendez
#Resendiz
#Resto
#Restoy
#Restrepo
#Reta
#Retamar
#Retana
#Retta
#Reveles
#Revelez
#Revelles
#Reveron
#Revilla
#Revuelta
#Rexach
#Rey
#Reyers
#Reyez
#Reynaga
#Reynaldo
#Reynero
#Reynosa
#Reynoza
#Reys
#Riaza
#Ribas
#Ribera
#Ricardez
#Ricardo
#Richiez
#Rico
#Ridruejo
#Riega
#Riera
#Riesgo
#Rijo
#Rijos
#Rinauro
#Rincon
#Rincones
#Riofrio
#Riojas
#Riola
#Rioseco
#Rioz
#Riquelme
#Rius
#Riusech
#Riva
#Rivadeneira
#Rivadulla
#Rivali
#Rivarola
#Riveiro
#Riveras
#Riveria
#Rivero
#Riveron
#Riveros
#Riviera
#Rizo
#Roa
#Roacho
#Robaina
#Robayo
#Roberto
#Robes
#Roblas
#Robledo
#Robleto
#Roblez
#Roca
#Rocamora
#Rochas
#Roches
#Rochin
#Rodarte
#Rodas
#Rodea
#Rodela
#Rodero
#Rodil
#Rodreguez
#Rodrigo
#Roel
#Rogue
#Roig
#Rois
#Roja
#Rojero
#Rojo
#Rojos
#Rola
#Roldan
#Rolon
#Roman
#Romandia
#Romas
#Romay
#Romera
#Romez
#Romiro
#Romo
#Romos
#Ron
#Ronces
#Ronda
#Rondon
#Ronquillo
#Roque
#Roqueni
#Rosa
#Rosada
#Rosal
#Rosalez
#Rosaro
#Roseli
#Rosello
#Rosendo
#Rosero
#Roses
#Rosete
#Rosiles
#Rosillo
#Roura
#Rovira
#Roxas
#Roybal
#Rozo
#Ruacho
#Ruan
#Ruano
#Rubalcaba
#Rubalcava
#Ruben
#Rubero
#Ruberte
#Rubi
#Rubiano
#Rubiralta
#Rudas
#Rueda
#Ruedas
#Ruelas
#Ruesga
#Ruezga
#Rugama
#Rugarcia
#Ruiloba
#Ruis
#Rull
#Rullan
#Rumbo
#Rutiaga
#Ruvalcaba
#Ruvalcava
#Ruybal
#Ruz
#Saa
#Saavedra
#Sabala
#Saballos
#Saban
#Sabat
#Sabater
#Sabates
#Sabedra
#Sabi
#Sabori
#Saborido
#Saborio
#Sacarello
#Sacos
#Sacristan
#Sada
#Saeda
#Saens
#Saez
#Sagarra
#Sagas
#Sagastegui
#Sagastume
#Sagon
#Sagredo
#Sagun
#Sahagun
#Sainz
#Sais
#Saiz
#Sala
#Salabarria
#Salado
#Salais
#Salaiz
#Salamanca
#Salano
#Salasar
#Salaz
#Salaza
#Salazan
#Salceda
#Salcido
#Saldana
#Saldano
#Saldivar
#Salegui
#Salgana
#Salguero
#Salido
#Saliva
#Salivas
#Saliz
#Salizar
#Salles
#Salmeron
#Salos
#Salsa
#Salsedo
#Saltero
#Saltos
#Saludes
#Salvador
#Salvago
#Salvaria
#Salvaterria
#Samaniego
#Samano
#Samayoa
#Sambrano
#Samora
#Samorano
#Sampedro
#Samudio
#Sanabria
#San Agustin
#Sancedo
#Sancen
#San Ciprian
#Sancho
#Sandate
#Sandavol
#Sandez
#Sandigo
#Sandiego
#Sandobal
#Sandoual
#Sandoz
#Sanez
#San Felix
#San Fiorenzo
#San Jines
#San Jose
#San Juan
#Sanjurjo
#San Lucas
#San Luis
#San Martin
#San Miguel
#San Nicolas
#San Pedro
#San Ramon
#Sans
#Santa Ana
#Santacruz
#Santaella
#Santago
#Santamaria
#Santamarina
#Santander
#Santano
#Santellan
#Santellana
#Santibanez
#Santiesteban
#Santigo
#Santillan
#Santillana
#Santillanes
#Santillanez
#Santisteban
#Santistevan
#Santizo
#Santos
#Santoscoy
#Santoy
#Santoya
#Santoyo
#Sanz
#Sapien
#Sapiens
#Sarabia
#Saragosa
#Saralegui
#Sarate
#Saravia
#Sardinas
#Sarellano
#Sariego
#Sarinana
#Sarmiento
#Sarquiz
#Sarracino
#Sarraga
#Sarria
#Sartuche
#Sarzoza
#Saspe
#Sastre
#Sataray
#Satoca
#Saturno
#Sauceda
#Saucedo
#Saucido
#Sauri
#Sauseda
#Sausedo
#Savala
#Savedra
#Savinon
#Seanez
#Seara
#Sebastian
#Seda
#Sedano
#Sedillo
#Segarra
#Segobia
#Segonia
#Segoria
#Segovia
#Segoviano
#Segrelles
#Segui
#Segundo
#Segura
#Seijas
#Sein
#Selem
#Selvera
#Semidey
#Seminario
#Sempertegui
#Sena
#Sendejo
#Sendra
#Senteno
#Sepeda
#Sepian
#Sepulueda
#Sepulveda
#Sequra
#Serabia
#Serafino
#Serasio
#Serda
#Serenil
#Sereno
#Serino
#Sermeno
#Serna
#Sernas
#Serra
#Serrata
#Serratos
#Sertuche
#Servantes
#Servantez
#Servin
#Sesco
#Sesma
#Sevilla
#Sevilano
#Sezumaga
#Sianez
#Sias
#Sibrian
#Sida
#Sierras
#Sifontes
#Sifre
#Sifuentes
#Sigala
#Siguenza
#Silerio
#Silguero
#Siliezar
#Sillas
#Silos
#Silquero
#Silva
#Silverio
#Silvestre
#Simas
#Simental
#Sines
#Siordia
#Siqueiros
#Sisneros
#Sisneroz
#Sisto
#Siva
#Sixto
#Sixtos
#Soba
#Soberanes
#Soberanis
#Soberano
#Soberon
#Sobrin
#Sobrino
#Soca
#Socorro
#Sodoy
#Sogandares
#Sojo
#Sol
#Sola
#Solano
#Solar
#Solares
#Solarzano
#Soledad
#Soleno
#Soler
#Solera
#Solero
#Solivan
#Soliveno
#Soliz
#Solorio
#Solorsano
#Solorzano
#Soltero
#Somohano
#Somoza
#Soqui
#Sor
#Soratos
#Sordia
#Sordo
#Soria
#Soriano
#Soroa
#Sorola
#Sorto
#Sorzano
#Sosaya
#Sostre
#Sota
#Sotello
#Sotelo
#Sotero
#Sotolongo
#Sotomayer
#Sotomayor
#Sotto
#Sousa
#Soza
#Spindola
#Suares
#Suastegui
#Suavez
#Suazo
#Subega
#Subia
#Sucre
#Suero
#Sumaya
#Sumbera
#Suniga
#Suriel
#Suris
#Surita
#Suro
#Suros
#Susaeta
#Susana
#Sustaita
#Swazo
#Tabares
#Tabarez
#Taberna
#Tablada
#Taboada
#Tabora
#Taborda
#Tabuena
#Tafolla
#Tafoya
#Tagaban
#Tagle
#Taladrid
#Talamante
#Talamantes
#Talamantez
#Talamas
#Talamentez
#Tallada
#Talledo
#Tamame
#Tamares
#Tamargo
#Tamayo
#Tambunga
#Tameron
#Tamez
#Tanchez
#Tanguma
#Tanon
#Tanori
#Tapanes
#Tapias
#Tarango
#Tarazon
#Tarin
#Tarragona
#Tatis
#Tavarez
#Tavera
#Taveras
#Tavira
#Tebaqui
#Tebar
#Teijiz
#Tejada
#Tejas
#Tejeda
#Tejedor
#Tejeiro
#Tejera
#Tejeras
#Telas
#Tellado
#Telleria
#Tellez
#Tello
#Telon
#Temblador
#Tembras
#Temores
#Tempo
#Tena
#Tenario
#Tenorio
#Teodoro
#Tepezano
#Tequida
#Tercero
#Terminel
#Terranova
#Terrasas
#Terrazas
#Terrero
#Terriguez
#Terron
#Terrones
#Teruel
#Teves
#Texada
#Texidor
#Tibon
#Tiburcio
#Tienda
#Tijerina
#Tijerino
#Tinajero
#Tineo
#Tinoco
#Tio
#Tirado
#Tirador
#Tiscareno
#Tixier
#Tiznado
#Tobar
#Tobon
#Toca
#Toijano
#Toledano
#Toledo
#Tolentino
#Tolosa
#Tomayo
#Topete
#Topia
#Tores
#Toribio
#Torices
#Torino
#Torne
#Toro
#Torrado
#Torralba
#Torrano
#Torre
#Torreblanca
#Torrecillas
#Torregrosa
#Torrellas
#Torrens
#Torress
#Torrez
#Torrijos
#Torrillas
#Torros
#Torruellas
#Tortajada
#Tosado
#Tosta
#Tostado
#Tovalin
#Tovar
#Tovias
#Toya
#Toyos
#Trabazo
#Traconis
#Trapaga
#Traslavina
#Traspena
#Travieso
#Trefilio
#Trego
#Trejo
#Trejos
#Trelles
#Tremillo
#Tres
#Trespalacios
#Treto
#Trevizo
#Triana
#Trias
#Tricoche
#Trigo
#Trigueros
#Trillas
#Trillo
#Trimino
#Trinidad
#Tristan
#Troche
#Trojillo
#Troncoso
#Trucios
#Trueba
#Truyol
#Tuason
#Tuazon
#Tudela
#Tunchez
#Tunon
#Tur
#Turbe
#Turcios
#Turrey
#Turrieta
#Turrietta
#Turrubiartes
#Turrubiates
#Tusa
#Tuscarora
#Tuya
#Ubalde
#Uballe
#Ubieta
#Ubiles
#Ucha
#Ugalde
#Ugarte
#Ujueta
#Ulibarri
#Ulloa
#Ultreras
#Umana
#Umanzor
#Unzueta
#Uraga
#Uranga
#Urbaez
#Urbieta
#Urbino
#Urena
#Urenda
#Ureno
#Ureste
#Uresti
#Ureta
#Uriarte
#Urias
#Uribe
#Uriegas
#Urioste
#Uriostegui
#Urive
#Urizar
#Urquides
#Urquidez
#Urquidi
#Urquijo
#Urquilla
#Urquiza
#Urrabazo
#Urraca
#Urrea
#Urreta
#Urrutia
#Ursua
#Urtado
#Urteaga
#Urtiaga
#Urtuzuastegui
#Uruburu
#Urueta
#Urzua
#Usandizaga
#Uson
#Uvalle
#Uvalles
#Vaca
#Vacio
#Vadiz
#Vaeza
#Val
#Valadez
#Valasquez
#Valazquez
#Valbuena
#Valcarcel
#Valderas
#Valderrama
#Valdespino
#Valdivia
#Valdivieso
#Valdiviezo
#Valdo
#Valdovino
#Valdovinos
#Valenciana
#Valensuela
#Valente
#Valenzula
#Valera
#Valerio
#Valero
#Vales
#Valesquez
#Valez
#Valido
#Valiente
#Valladares
#Valladolid
#Vallarta
#Valle
#Vallecillo
#Vallegos
#Vallejo
#Vallejos
#Vallez
#Vallin
#Valls
#Valquez
#Valtierra
#Valverde
#Vanegas
#Vanuelos
#Vaquero
#Vara
#Varajas
#Varas
#Varela
#Vargus
#Varona
#Varos
#Varoz
#Varquez
#Vasallo
#Vasconcelos
#Vascones
#Vasconez
#Vascos
#Vasguez
#Vasos
#Vasque
#Vasques
#Vazguez
#Vazques
#Vecino
#Vedia
#Vegas
#Vegerano
#Vejar
#Vejarano
#Velarde
#Velardes
#Velardo
#Velasco
#Velasques
#Velastegui
#Velazco
#Velazguez
#Velazques
#Veles
#Velilla
#Velis
#Veliz
#Velo
#Veloso
#Veloz
#Velunza
#Vences
#Venecia
#Venegas
#Ventura
#Venzor
#Veracruz
#Veras
#Verastequi
#Veray
#Veraz
#Verde
#Verdejo
#Verdera
#Verduga
#Verdugo
#Verdusco
#Verduzco
#Verela
#Vergara
#Vertiz
#Veve
#Veyna
#Vialpando
#Viana
#Vicencio
#Vicens
#Vicent
#Vicente
#Vicioso
#Victorero
#Victoria
#Vicuna
#Vidaca
#Vidal
#Vidales
#Vidalez
#Vidana
#Vidaurri
#Vides
#Vidrio
#Viejo
#Vielma
#Vielman
#Vielmas
#Vientos
#Viera
#Viesca
#Vieyra
#Vigo
#Vigueras
#Vijande
#Vijarro
#Vijil
#Vila
#Vilanova
#Vilar
#Vilaro
#Vilches
#Vilchis
#Vildosola
#Villacana
#Villacis
#Villacorta
#Villada
#Villaescusa
#Villafana
#Villafane
#Villaflor
#Villafranca
#Villagomez
#Villagran
#Villagrana
#Villahermosa
#Villalba
#Villalobas
#Villalobos
#Villalon
#Villaloba
#Villalobo
#Villalovos
#Villalpando
#Villalta
#Villaluz
#Villalva
#Villalvazo
#Villaman
#Villamar
#Villamarin
#Villamayor
#Villamil
#Villamor
#Villaneda
#Villano
#Villanova
#Villanveva
#Villao
#Villapando
#Villaplana
#Villaquiran
#Villar
#Villareal
#Villarruel
#Villarta
#Villas
#Villasana
#Villasenor
#Villasis
#Villatoro
#Villaverde
#Villavicencio
#Villeda
#Villega
#Villela
#Villena
#Villerreal
#Villescas
#Villescaz
#Villicana
#Vina
#Vinas
#Vindiola
#Viniegra
#Vinuesa
#Vioque
#Viramontes
#Viray
#Virella
#Virgen
#Virola
#Virrey
#Virrueta
#Viruegas
#Viruet
#Viscarra
#Vital
#Vitela
#Viteri
#Vivanco
#Vivancos
#Vivar
#Vivas
#Viveros
#Vives
#Vivo
#Vizcaino
#Vizcarra
#Vizcarrondo
#Vizueta
#Voliva
#Vuelta
#Xhurape
#Ximenez
#Xiques
#Yago
#Yanes
#Yanez
#Yanos
#Yara
#Yarrito
#Ybanez
#Ybarbo
#Yberra
#Yepes
#Yepez
#Yepiz
#Yerena
#Yero
#Yglesias
#Yguado
#Yniguez
#Ynocencio
#Yorba
#Yordan
#Ypina
#Yrigollen
#Yrigoyen
#Yroz
#Yruegas
#Ysaguirre
#Ysais
#Ysasaga
#Yslas
#Yslava
#Ysquierdo
#Ytuarte
#Yuro
#Yuste
#Yzaguirre
#Yzquierdo
#Zabala
#Zacarias
#Zadrima
#Zafereo
#Zagona
#Zalace
#Zalamea
#Zalava
#Zalazar
#Zaldana
#Zaldivar
#Zaldumbide
#Zalduondo
#Zamacona
#Zamaniego
#Zamano
#Zamarron
#Zambrana
#Zambrano
#Zamor
#Zamorano
#Zamudio
#Zanchez
#Zancho
#Zapata
#Zapatero
#Zapien
#Zaragosa
#Zaragoza
#Zarate
#Zarazua
#Zarco
#Zardo
#Zarraluqui
#Zarzuela
#Zatarian
#Zavaleta
#Zavalza
#Zayas
#Zazueta
#Zeas
#Zedeno
#Zegarra
#Zelada
#Zelaya
#Zeledon
#Zendejas
#Zenon
#Zenteno
#Zepeda
#Zermeno
#Zertuche
#Zetina
#Zetino
#Zevallos
#Zomora
#Zoreda
#Zorrilla
#Zozaya
#Zuazo
#Zubia
#Zubiate
#Zubieta
#Zubizarreta
#Zulaica
#Zuloaga
#Zuluaga
#Zulueta
#Zumaya
#Zuno
#Zurbaran
#Zurdo
#Zurita
#Zuvia
#Zuzuarregui
{{BookCat}}
05cl0s6t7jyemhvhup07ol44nssgaxe
History of Hawaii/World War II and Statehood
0
259528
4639775
4489336
2026-06-10T12:18:43Z
Sàádî
3485978
([[c:GR|GR]]) [[c:COM:FR|File renamed]]: [[File:Ala Moana Beach Park Photo D Ramey Logan.jpg]] → [[File:Ala Moana Beach Park Photo Don Ramey Logan.jpg]] [[c:COM:FR#FR1|Criterion 1]] (original uploader’s request)
4639775
wikitext
text/x-wiki
==World War II and Statehood: Cultural Diversity and Tourism==
===Development of Diversity in Hawaii - An Introduction===
Hawaii’s main industry in the 19th century was sugar production, which required many labourers. Due to a labour shortage, people from Asia, Europe, and America immigrated to Hawaii to work on these sugar plantations. This was the beginning to the creation of a very ethnically diverse Hawaii. At this point in time the population of Hawaii consisted of Japanese, Chinese, Filipino, Spanish, Portuguese and Korean immigrants that came to work on these plantations. The 20th century saw an increase in ethnicity around the islands during and after World War II. A large portion of the laborers that came to Hawaii in the later 19th century were Japanese, because of the relatively close proximity of the two lands. The second generation of these immigrants were very invested in their home; therefore they flocked to sign up to fight and defend it. The Japanese formed the vast majority of the island's population, numbering close to 160,000. Hawaii is a strong example of how people with different ethnic backgrounds can come together and work towards a common goal. All the immigrants came from different cultures but through hard work the generations to come had a particular attachment to the island, demonstrating how these people with various ethnic heritages came together to become a major part of all Hawaiian institutions.
[[File:Barney F Hajiro.jpg|thumb|left|Barney F Hajiro - Medal of Honor Recipient from 442 RCT]]
Before the start of the war, the population of Hawaii was at 423,000 which included an Asian majority of around 310,000 and a white minority of 105,000. Although the census depicted over one hundred thousand whites living on the island, this was not the case. In the census, Portuguese and Spanish immigrants that had arrived decades earlier to work on the plantations were also considered part of the white minority. It was not until large scale military preparations in late 1940 and early 1941, that white American serviceman arrived. After the attack on Pearl Harbor, military officers and civilians with Japanese backgrounds were scrutinized. Many loyal to mainland US became distrustful of the large population of Japanese. They were distrusted by others on the island, yet they were invaluable as they comprised a large part of the workforce. Many of the Japanese people dealt with the suspicion and continued to contribute to the war effort. Their commitment can be seen in the distinguished 442nd Regimental Combat Team of the United States Army. Also, after the bombing of Pearl Harbor, martial law was put in place meaning military rule was exerted by military officials in Hawaii when the local government could no longer handle the situation at hand. Hawaii became a military zone with thousands of different people essential to the war effort passing through the area. This meant that people from all over were flooding in and around Hawaii from many different places, increasing the ethnic diversity of the island. Many of these people that were posted in Hawaii or spent any amount of time there on their way to battles in the pacific found ties to the islands. In Honolulu, a large cemetery was developed for the thousands that died in the war. This meant that many people, including friends and family members of those buried there, wanted to travel back to pay their respects. With the strategically valuable military institutions on the island, communications between Hawaii and mainland United States improved drastically. This had an impact on the volume of travel to Hawaii. Along with this, Pearl Harbor became a major attraction to many travelers, increasing tourism to the islands. The population census of 1950 indicated this change with the total count of the people on the island reaching over 5,000,000.
After many heated political events, Hawaii became the 50th state on August 21, 1959. This momentous event drew tourists from all over to join the celebrations. Ever since the decrease of agricultural practices, Hawaii has depended largely on the tourism industry to maintain its economy, though resources such as sugar and pineapple are still major contributors. The part it played in the war efforts and the interesting colorful history of the path to statehood has kept interest up among civilians to visit the islands as well as helped maintain the ethnic diversity that has been present since the need for laborers in the 19th century.
===The Road to Pearl Harbor===
The rising events taking place during the post annexation period in Hawaii would lead Hawaiian residents to resent the United States due to their involvement in eastern affairs and the Russo-Japanese conflict. President Theodore Roosevelt mediated concessions after Japan won its influence over Russia in 1905, which lead to tensions between the U.S and Japan. Japan blamed Roosevelt for obstructing Japanese gains and blocking a Japanese indemnity that would have helped Japan pay for the war. Tensions would escalate further, eventually leading to the attack on Pearl harbor and U.S involvement in World War II.
The surprise attack on Pearl Harbor had its beginnings in Japanese expansionism in Eastern Asia and the Pacific. The tandem of victory in the Russo-Japanese War (1904-1905) and a rapidly increasing population forced Japan to look beyond its own shores for vital raw materials. After the 1931 Mukden Incident, wherein the Japanese plotted an explosion to be blamed on the Chinese, the Japanese invaded Manchuria for economic and political gains. Full-scale war between Japan and China broke out after the 1937 Marco Polo Bridge Incident, the result of conflicting border patrols from each nation leading to an exchange of fire and a battle for the bridge. China was sourcing military supplies from the United States, which caused Japanese-American relations to deteriorate. Consequently, the Japanese invaded French Indochina to cut the Burma Road, the route by which American military supplies reached the Chinese. The Americans countered by freezing Japanese assets in the United States on July 26th, and embargoing petroleum exports to Japan on August 1st. The Japanese relied heavily on American oil causing them to look for alternative ways to keep their war machine going.
The Japanese response to this was preparation for full-scale war with the United States and the development of a three-phase plan. “Phase I, capture the ‘Southern Resources Area’ (mainly the Dutch East Indies) and defensible perimeter locations around the ‘Co-Prosperity Sphere’; Phase 2, consolidate and strengthen the defenses; Phase 3, defend until the USA is weary of war.” However, the Japanese began conducting preparations for war months prior to the freezing and embargo. Admiral Yamamoto, the commander-in-chief of the Japanese fleet, had already devised a “secret plan for a preemptive strike against the American fleet in order to give Japan time to fortify its newly conquered territories.” The bulk of the American fleet, including three aircraft carriers and nine battleships, had been moved to Pearl Harbor, Hawaii, posing a significant threat to Japanese operations in the Pacific. The Japanese fleet, comprised of six aircraft carriers, two battleships, and numerous escort cruisers and destroyers under the command of Vice Admiral Nagumo, assembled near the Kurile Islands in mid November, and embarked upon their journey to Hawaii on November 26th. The fleet maintained radio silence and followed a storm front in order to escape detection. These precautions weren’t completely necessary as the Americans had yet to break the Japanese Naval code. The Americans, using the MAGIC system, had however broken the diplomatic codes used by the Japanese in 1940. Intercepted messages illustrated just how strained the Japanese-American relationship had become. Fearing an imminent attack, US Admiral Stark sent a warning message to American Commanding Officers in Hawaii and the Philippines. On December 2nd, a Japanese diplomatic message was intercepted and decoded, the message instructing officials at the Japanese Embassy in Washington to destroy the codes in order to prevent the Americans from seizing them. On December 4th, the Japanese Embassy began leaving Washington for Japan, which led President Roosevelt to implore Emperor Hirohito to avoid war on December 6th. However, it was to no avail, as the Japanese unleashed one of the most successful surprise attacks in history on Pearl Harbor on “a day which will live in infamy,” December 7th, 1941. Full scale war began between the Americans and the Japanese with Hawaii serving as a major military outpost in the Pacific.
===Attack on Pearl Harbor===
[[File:Attack on Pearl Harbor Japanese planes view.jpg|thumb|]]
On December 7th, 1941, the nation of Japan attacked the United States naval base at Pearl Harbor on the island of Oʻahu, Hawaiʻi, west of Honolulu. During this time the majority of American naval power was stationed in Pearl Harbor. Japan intended to attack countries in South East Asia and the Pacific Islands for their strategic locations and resources and in order for this to happen, the Imperial Japanese Navy decided to attack Pearl Harbor to destroy the majority of the fleet, thus preventing the Americans [[File:Pearl Harbor file2.JPG|thumb|left|View looking up "Battleship Row" on 7 December 1941, after the Japanese attack on Pearl Harbor.]]from attacking them for a few years. Japan was also retaliating against American intervention in Japanese affairs, which included the U.S. prohibition of steel, scrap iron and fuel exports to Japan due to the takeover of French Indochina. Japan had considered other American Naval bases as their target but 2-3 days before the attack they decided to attack Pearl Harbor because the other naval bases had empty docks. Pearl Harbor at this time had the USS Arizona docked in the naval harbor and the Arizona was the pride of the American Pacific fleet.
At 6:04 in the morning the Japanese launched their first wave on Pearl Harbor with the support of 183 aircrafts with the objective of disabling the American fighter planes to eliminate their ability to fight back in the air. The Island had advance radar, so the Americans did get early warning that unknown planes were approaching the island, but the warning was called off due to an arrival of six bombers. The American military was caught off guard and it was nearly impossible for them to launch a counter attack. The second wave of attack came at 8:30 am and the main objective on this attack by the Japanese was to disable any naval ships docked in the harbor. Upon the attack the Japanese navy thought that all Pacific naval ships were docked at Pearl Harbor but this critical information was wrong. The majority of the Pacific fleet was out on a training mission and not in the harbor. After the second wave Pearl Harbor was severely paralyzed but it remained a strong naval base in the Pacific. After all the fires were put out and the smoke cleared, 9 ships of the U.S. fleet had been sunk and 21 ships were severely damaged and the death toll reached 2,400 military personnel. The Japanese also received casualties by losing 29 of 350 fighter planes.
The attack on Pearl Harbor was a huge shock to the United States. President Franklin D. Roosevelt addressed the United States Congress as well as the world with his famous quote “December 7 , a date which will live in infamy". The following day the United States declared war on Japan. The attack on Pearl Harbor is the factor that pushed the United States to enter World War II in both the Pacific and Europe. Although the Japanese attack was, in many ways, a tactical success, it was in retrospect a strategic failure. Seven months after the attack, fuel supplies overlooked in the attack enabled the defeat of a Japanese naval fleet forced by U.S. Pacific Fleet carriers at Midway, in a battle that turned the tide of the war.
===Hawaii after Pearl Harbor===
The Hawaiian population was able to maintain social cohesion and order in the aftermath of the Japanese attack on Pearl Harbor through organization, mass mobilization, and the utilization of Martial Law. The civilian response was united and overwhelming; civilian groups and clubs mobilized to aid emergency response teams while many citizens volunteered to protect public utilities and prepare for further attacks. The implementation of Martial law was welcomed by the majority and viewed as a necessary response to the crisis. The attack on Pearl Harbor was the beginning of war for the American nation as well as the state of Hawaii; after the initial response the citizenry settled in to a state of war by remaining organized and mobilized.
The civilian response to the initial chaos of the attack was immediate organization and mobilization through the involvement of volunteers and civilian groups and clubs. Clubs like the boy scouts of America signed aided services such as the police department fulfilling duties such as running supplies and transporting the wounded. Organizations such as the Red Cross and the Salvation Army set up canteens to provide food and drinks to the overwhelming number of civilian volunteers who organized and mobilized to help with the rescue and relief operations. As Hawaii and the United States entered the war, this organization of the citizenry grew into organized efforts to support the war and enabled the society to remain cohesive during a time of total upheaval. The mobilization of the population also primed society for the inevitable call to battle; as the men left to fight abroad Hawaii’s society was able to rationally and effectively reorganize to accommodate for such upheaval in state and social order. Schools were shut down as teachers left to the battlefields while women and children organized supply stations and interim hospitals. The effective use of organization and mass mobilization allowed the Hawaiian population to maintain social cohesion and order preventing the event from crippling the state and dispelling the populous into chaos and dysfunction.
Maintaining social order and unity was also achieved through the utilization of Martial law; in this case the mass population was willing to suspend civil liberties for the security of the citizenry and the defense of the state. Immediately after the attack, Hawaii’s Territorial Governor Joseph B. Poindexter proclaimed Martial law. National Guards took over control of the cities and protected civilians from a possible third wave of attack. A military curfew was implemented and all homes were ordered to blacken out at night. If any persons were to be found on the streets after curfew hours they would be detained and considered an enemy of the state until further investigation. What was damaging to the state of Hawaii was the treatment of Japanese Americans after the attack. Hawaii's large minority of Japanese Americans became especially vulnerable after the Pearl Harbor attack to acts of violence from the populace on the islands. Since the attacks took place on the islands, many Hawaiians felt like they were personally being attacked by the Japanese leading to increased anti-Japanese sentiment throughout the islands. Many Japanese Americans were detained and removed to relocation centers; the Defense Department considered them spies until a full investigation could be completed. Although the treatment of Japanese Americans has been theorized as inhumane it allowed the state to create an atmosphere of order and security while enforcing social cohesion. The treatment of Japanese Americans really hurt the sugar plantations in Hawaii as well. Seeing as how sugar was a main export of Hawaii, the attack on Pearl Harbor weakened the industry immensely. In the 1860's Hawaii sent recruiters to Japan to bring Japanese immigrants to work on the sugar plantations for low pay, and with the majority of Japanese immigrants sent to relocation centers many of the sugar plantations closed due to the lack of labor.
Through organization, mass mobilization and martial law the Hawaiian population was able maintain social order and cohesion during a time of chaos and social upheaval. The citizenry was able to maintain civil order while organizing temporary police and fire departments. The attacks on Pearl Harbor led to social mobilization and prepared the state to support to coming war.
===Pre-1959 support for statehood===
Hawaii spent a long time on the road to statehood before actually achieving the goal on August 21, 1959 through the Hawaii Admission Act. The calls for the local population of Hawaii becoming a state can be seen as early as 1946, in a brochure titled “Hawaii: 49th State” compiled by the University of Hawaii’s Student Association. The local support for statehood provided legitimacy to the claim. However, many people in the continental United States had concerns about the racial diversity of the island chain. The large population of Asians and Native Hawaiians led to concerns in pre-segregation USA. The large Japanese population in particular led to many concerns in the years directly following the war with Japan, as the stigma against the Japanese had not faded from American society. The Hawaiians actually believed this to be a strong point in their argument for statehood, by stating that many nationalities are represented within America, and that Hawaii was the bridge between the Europeans and Asia.
Another concern was the large amount of Native Hawaiians and their resistance to the annexation in 1898. It is evident that the United States was reluctant to allow a state made of an ethnic minority, due to concerns of how the Hawaiian population will run the state in relation to the European dominated states in the mainland. The resistance could also signify future problems concerning secession from the union over cultural and nationalistic justifications. Some Americans recognized that Hawaiian citizens had been entirely loyal to the United States during World War II even under Martial Law, and the threat of invasion by the Japanese army. The Pacific War actually gave Hawaiians a chance to prove themselves as patriotic citizens by standing with the American government and not taking up arms with the support of the Japanese. The government officials in Hawaii began to send pleas to leading politicians in the United States in the late 1950’s, including direct pleas to the Vice President and the Senate in 1958. It was shortly after in January 1959 that the Republican Party in Hawaii recommended that Hawaii be granted statehood. This was done because Hawaii filled all of the requirements to become a state and showed that they were patriotic American citizens. This was monumental as the Republican Party had been elected to the White House, giving new credentials to the idea of Hawaii gaining statehood and allowing Republicans in the continental United States to open their minds to the idea. It was shortly after that the 86th Congress of the United States took a new vote on Hawaii’s promotion to statehood. With the evidence of loyalty and patriotism within Hawaii, congress was more inclined to vote positively to the idea. A vote was cast with 86 members in favour and 3 opposed. With the approval of President Dwight Eisenhower, the Hawaii Admission Act was signed, thus granting Hawaii statehood on August 21, 1959 making it the 50th state in the United States of America.
===Democratic Revolution of 1954===
[[File:Kekaha sugar mill.jpg|thumb|Kekaha sugar mill once owned by Amfac, Inc., one of the Big Five.]]
A defining moment in the Territory of Hawaii leading up to statehood was the Democratic Party’s first win in the 1954 territorial elections. This has come to be commonly known as the Democratic Revolution of 1954. This revolution was one that came to encompass not only political changes, but social and economical ones as well. Up until 1954, the Republican Party controlled all major political institutions in the Territory of Hawaii, including the state legislature, the non-voting delegate to Congress, and the Territorial Governor. During the 1954 election, the Democratic Party dominated, winning two thirds of the house seats and a 9-6 majority in the Senate. The sudden rise of the Democratic Party in the Territory resulted from a combination of factors including changing political allegiances and the growing influence of labor groups. One factor was the effort to ward off mass interment during World War Two of alien Japanese and Japanese-Americans in the territory. Through this, the Democratic Party gradually became the voice of Japanese-Americans in Hawaii, who had always supported the Republican Party. The first Japanese-American was elected to the state legislature as a Republican in 1930, and over the next twenty years their influence in the legislature would increase to near proportionality of Japanese ancestry within the Territory filling sixteen of forty-five seats by 1952. John A. Burns, then chairman of the Democratic Party in Hawaii and future state Governor, reached out to Japanese- Americans to come under the big tent of his party. In 1954 twenty-one Japanese-Americans were elected, sixteen being Democrats. While attracting a long marginalized ethnic group within the territory helped the Democratic Party towards their success, the growth of the labor movement in Hawaii also factored into the Democratic Party’s 1954 breakthrough. The launching of the modern labor movement in Hawaii began with the organization of Hawaii’s plantations in 1945 under the International Longshore and Warehouse Union (ILWU), which directly challenged the oligarchic nature of the economic system through strikes and other forms of civil disobedience. Hawaii economy had long been driven by what was known as the “Big Five” corporations which controlled virtually all the staples of the Hawaiian economy including sugar and pineapple cultivation. Labor groups felt the need to challenge the long-standing order of the Territory’s economy and by extension the political system as well. The Democratic Party was seen as their avenue to achieve this. The Democratic Party was seen as progressive, and indeed in their first legislative session in 1955-56 passed a raft of reforms to taxes, education and labor, despite its eventual veto by the appointed Republican Governor. The path to electoral success for the Democratic Party in Hawaii then was the upheaval from labor groups coupled with shifting political allegiance of the Japanese-Americans both coalescing under the banner of the party.
===Road to Statehood===
[[File:Hawaii statehood commemorative stamp 7c 1959 issue.jpg|thumb|Hawaii Statehood Stamp, 1959]]
[[File:Seal of the State of Hawaii.svg|thumb|Hawaii State Seal]]
When Hawaii was annexed in 1898 it became a territory of the United States. Ever since the annexation, there had been multiple movements from the residents for Hawaii to be accepted as a state.
Hawaii’s bid for statehood was supported not just by the people of Hawaii but people from the mainland as well. Students played a major part in supporting and promoting Hawaii's bid for statehood.The grade eight students of Honokaa High and Elementary School, the students of the University of Hawaii, the representatives of the County of Maui, and California State Senate all expressed their belief in the statehood of Hawaii in written letters and petitions to the United States Congress between 1946 and 1959. Prior to becoming one of the states of the union, many Hawaiians felt like second class citizens and wanted to be able to enjoy all of the rights and freedoms other American’s had. The Associated Students of the University of Hawaii released a brochure in 1946 that requested Congress to make Hawaii the 49th state in the union. The brochure contained the opinions of several students, both men and women, giving reasons for statehood that included the desire of its citizens to receive the full American experience. They stated, that due to the influence of the United States government, the community is already quite like Americans in thought, purpose, and action, that given Hawaii’s history they are capable of independent government. In a 1951 letter expressing her belief in Hawaiian statehood, eighth grader Elizabeth Young from Honokaa High and Elementary School stated her and her classmates’ desire to, in the future, be able to vote for the President of the United States and thanked the senators who supported Hawaii’s efforts.
In 1953, the California State Senate passed a resolution that urged Congress to pass laws that would grant the Territory of Hawaii the status of statehood proving that it was not just Hawaiians who felt they should be full citizens of the United States. Many of the territorial counties of Hawaii submitted petitions to Congress on the topic of statehood, such as the County of Maui’s 1958 petition which reinforced their persistence and resolve for Hawaii to become a state no matter how many times the issue was brought before Congress. Hawaii finally achieved its goal of statehood on August 21, 1959 after over a decade of petitions, resolutions, and politicking. The Associated Students of the University of Hawaii passed a resolution that offered its thanks and gratitude to Congress for passing the Hawaii Statehood Bill. Through hard work, dedication, and a firm resolve the post-World War II citizens of Hawaii made their voices heard by Congress and were able to achieve full statehood for their collection of islands. Truly they achieved the American Dream of being free citizens of the United States. Even though Hawaii had achieved statehood there are some questions that need to be asked like, were all of Hawaii’s citizens treated equal? What of the original denizens of Hawaii, the natives who had their land annexed by the United States little more than a century before Hawaii became a state, were they also free citizens of the Union?
Like all great debates there many different arguments presented to oppose and support the granting of Statehood of Hawaii. Here are some of the arguments used:
Cons:
Those against Hawaii entering statehood argued that the population of Hawaii was only one third Caucasian and a big portion of the population was Japanese. Ever since the bombing of Pearl Harbor the Americans harbored resentment against the Japanese and they thought that if they made Hawaii a state that the Japanese would betray them. Another argument that was made was that Hawaii had a high population of communists. The people feared that the communists would spy and give information to Russia.
Pros:
Accepting Hawaii as a state would support American foreign policy and strengthen the position of the United States in international affairs. It would better the position of the States in the East, since two-thirds of the population was oriental, it would look like the country was willing to forget the distrust they had of the oriental population during the “Yellow Menace” policy during the World War II, and accept Asians as equals. Statehood would permit the sugar industry in Hawaii to expand their own refineries. It would give Hawaiians “an equal footing with the present states”. “The political power of citizens will be substantially enlarged by participation in national elections, by more efficient representation in Congress in the form of two senators from each area and, initially, two representatives from Hawaii and by election of the governor and other officials presently appointed by the President”.
===The Boom of Tourism and How Hawaii Influenced America===
In 1946 there were around 1200 hotel rooms available on the islands, with roughly 30,000 annual visitors. By the beginning of the 21st century, however, these numbers had ballooned to roughly 65,000 hotel rooms and over 7 million visitors annually. This rapid growth in Hawaii’s appeal to tourists rests not only in its climate, beauty and culture, but in the way these features are presented to the public. The media plays an important role in Hawaii’s rise to fame as a top tourist destination, particularly using the mediums of clothing, music, movies and art.
After World War Two and statehood, sugar and pineapple (which previously drove Hawaii’s agricultural economy) became the third and fourth largest export and contributor to the Hawaiian economy. The capital gained from these resources was replaced largely by tourism. While Hawaii was at first seen as a territory that had, “too much cultural diversity for statehood to be achieved", it was not until the growth of tourism and defense spending that American politicians started to view Hawaii as a worthy state. With the Democrats in control of the islands in 1954, the push for statehood became increasingly more powerful and more popular. Statehood was finally attained in 1959 and with it, Hawaii began to come to the forefront as a popular tourist destination, particularly for American travellers.
[[File:Ala Moana Beach Park Photo Don Ramey Logan.jpg|thumb|left|Hotels in Hawaii]]
Hawaii becoming a recognized state meant that the islands were now fully backed by the United States government. This made the prospect of investing in Hawaii a much more attractive option. The real funding that birthed the economic shift came from American and other foreign investors. After statehood, the rate in which new hotels were announced accelerated each year. Between 1955 and 1968, 22 hotels were built in the Waikiki area alone, as well as an average of 22% annual growth in number of tourists visiting the island in the 1950’s, and 19% annual growth in the 1960’s.
Another very large contributor that made Hawaii become one of the largest tourist locations was the jet airliners industry with one of the main actors being Pan American World Airways. It was said that no other single entity was more “responsible for promoting the Islands during the formative tourist period with money, passenger-carrying equipment, and dedicated personnel.” In comparison to many other popular tourist destinations in Europe, Hawaii was located in a convenient location for travel, and Pan Am saw potential in expanding its services to the islands. If someone wanted to travel to New Zealand, Australia, Japan, or any other location on the Pacific, they stopped in Hawaii. This gave the Islands more recognition and made people more aware of the state and what it had to offer. Hawaii had a foreign feel to it, without actually requiring that tourists leave the United States of America. This made Hawaii a less expensive alternative to foreign travel, and proved to be much simpler for Americans when they did not need to exchange currencies or learn new customs. According to a Gallop Poll conducted in 1963, Hawaii was by far the most desired vacation spot for Americans, being chosen almost twice as often as the second most popular destination, California.
While the airline industry worked to provide an inexpensive way to reach the islands, cruise ships sought to provide a more luxurious and decadent travel experience. Due to the distance between mainland America and the Hawaiian islands, travelling by sea took approximately 5 days when departing from the West Coast in addition to another 5 days for return. Due to this lengthy travel time, the Matson Navigation Company advertised its cruise ships to wealthy individuals who could afford the money and leisure time required to take such a trip. Matson's targeted consumer for its cruise ships was often portrayed in its promotional material: travellers were depicted as admirable and sophisticated. By pinpointing Hawaii as a desirable destination for the elite, Matson would effectively create an appeal to those of a lower class wishing to engage in the luxury of the wealthy as well.
Media and pop culture was also a large influence in making Hawaii a popular place to get away. During the 1950’s it was still very expensive to travel by air, and many people in the middle and lower class never had an opportunity to travel. Hawaii was incorporated into many songs and films during that era. As an early form of virtual tourism, this made the islands an iconic place for Americans, as a destination full of atmosphere, exotic culture, and nostalgia. As technology improved, and flying became cheaper, more and more people who always dreamed of going to Hawaii but could never afford it, now could. The media, through fashion, music, films and art helped promote this dream of the Hawaiian islands for many potential tourists.
One of the most immediately identifiable pieces of Hawaiian culture is the Aloha shirt. It is mentioned in this section not because it is a form of media, but because it was an integral part of promoting Hawaii that garnered much attention through the media. The fabric of the aloha shirt is easily recognizable: it is made up of bright colours and generally depicts famous cultural landmarks or symbols, such as palm trees and hula girls. Some Aloha shirts even directly incorporate words that are commonly associated with Hawaii; for example, "Hula Dance" and "Waikiki". These shirts served as the ultimate means of spreading the word as vacationers returned to their everyday life wearing them all over the country. Some even described the Aloha shirt as “postcards you can wear” and believed that donning a shirt speaks to a person's "love for, and connection to, a most special place", according to Tommy Holmes. Holmes is also quoted as saying, "There is today probably no better known garment in the world that captures a land's 'spirit of place'" (Holmes, "The Aloha Shirt").
[[File:Ku'u Hae Aloha (My Beloved Flag) Hawaiian cotton quilt from Maui, c. 1890s, Mission Houses Museum, Honolulu, Hawaii.jpg|thumb|Kuʻu Hae Aloha (My Beloved Flag) Hawaiian cotton quilt from Maui, c. 1890s, Mission Houses Museum, Honolulu, Hawaii]]
Hawaii, before it became the popular tourist destination that it is today, was well known for its music and dance (the hula). Western instruments gained popularity in the islands in the nineteenth century, but were altered so as to give the music a clear “Hawaiian” sound. For example, the guitar was tuned and often played with a metal bar, turning it into a “steel guitar”. This distinctly Hawaiian music appealed not only to the islanders, but also to Americans on the mainland. Hawaiian themed music was soon embraced by American songwriters and began to make an appearance in the sheet music market, allowing consumers to play it at home. Many songwriters who famously contributed Hawaiian-themed songs to the music industry had never actually set foot on the island and instead promoted the image of Hawaii that they often got from sources such as the movies. These songwriters gave their music titles such as "Oh, How She Could Yacki Hacki Wicki Wacki Woo (That's Love in Honolu)" and “O'Brien is Tryin' to Learn to Speak Hawaiian", perpetuating the image of Hawaii as both a fun and romance filled destination. Hawaiian music also made appearances in film, such as Bing Crosby’s versions of “Blue Hawaii” and “Sweet Leilani” from the 1937 film Waikiki.
Film often helped throw Hawaii into the public limelight, with many early movies being set in the tropical destination. What the public often did not realize was that these movies generally were not actually filmed on location. Instead they were filmed in Hollywood using a combination of film sets and natural California scenery. Furthermore, Hollywood sets were often designed by people who had never actually been to the islands and were likely basing their perceptions from other forms of media, which as previously mentioned were often based on early forms of media as well. Movie stars also had a part in promoting the islands. These well-known figures were often spotted and pictured spending leisure time on the beach while awaiting their next scene in an upcoming movie, helping to create the idea that if Hawaii was desirable enough for a movie star, it was certainly good enough for everyone else too. Television also followed the catchy Hawaiian culture trend, with popular shows like Baywatch, Hawaii Five - O and Magnum, P.I.
Finally, art was a useful way to draw in potential vacationers with the allure of beautiful women, water and weather. As previously mentioned, Hawaiian music began to take the sheet music industry by storm. Sheet music was sold in a similar fashion to magazines and thus flashy and appealing photos depicting the beauty of the islands often appeared on the cover. Various organizations, such as The Hawaii Tourist Board and Matson Navigation Company, utilized the work of artists like Don Blanding, Ruth Taylor White, and Frank McIntosh to show the appeal of the islands and draw in tourists with pamphlets, brochures, books, and so forth.
===The Legacy of Annexation===
For all of recorded history prior to annexation, including all census counts made during the Kingdom of Hawaii, the number of Native Hawaiians in Hawaii declined. The lowest recorded number of Native Hawaiians in Hawaii was 37,656 in the first census conducted by the United States in 1900 after the annexation of Hawaii to the United States in 1898. Since Hawaii has joined the United States the Native Hawaiian population in Hawaii has increased with every census to 289,970 in 2010.
For many Native Hawaiians, the manner in which Hawaii became a U.S. territory was illegal. However, many Hawaiians are also proud to be Hawaiians and Americans and believe the manner in which Hawaii became a U.S. State was legal. Hawaii Territory governors and judges were direct political appointees of the U.S. President. Native Hawaiians created the Home Rule Party to seek greater self-government. The 1960s Hawaiian Renaissance led to renewed interest in the Hawaiian language, culture and identity.
In 2000, Akaka proposed what was called the Akaka Bill to extend federal recognition to those of Native Hawaiian ancestry as a sovereign group similar to Native American tribes. The bill did not pass before his retirement.
{{Status|100%}}
{{BookCat}}
sfl15tyvpblbdsbpph0a83t05aoznb9
Cookbook:Kulfi (South Asian Frozen Custard)
102
264763
4639854
4587162
2026-06-11T01:17:19Z
Ieatglue321
3604628
/* Notes, tips, and variations */ changed the spelling of "flavor"
4639854
wikitext
text/x-wiki
{{recipesummary
| category = Indian recipes
| servings = 4–6
| Time = 7 hours
| difficulty = 3|
}}{{recipe}}
'''Kulfi''' or '''qulfi''' is a popular Indian frozen [[Cookbook:Dessert|dessert]] similar to [[Cookbook:Ice Cream|ice cream]] but denser and creamier.
== Ingredients ==
* 4 [[Cookbook:Cup|cups]] [[Cookbook:Milk|milk]]
* 8 [[Cookbook:Teaspoon|tsp]] [[Cookbook:Sugar|sugar]]
* ½ tsp ground green [[Cookbook:Cardamom|cardamom]] seeds
* 1 [[Cookbook:Tablespoon|tbsp]] [[Cookbook:Pistachio|pistachio]]s, thinly [[Cookbook:Slicing|sliced]]
* 1 tbsp [[Cookbook:Almond|almond]]s, thinly sliced (optional)
== Procedure ==
# Put the milk into a wide, heavy pan, and bring to [[Cookbook:Boiling|boil]] over high heat, stirring constantly.
# Lower the heat and cook the milk, stirring constantly until it has thickened and reduced to ¾ cup—this will take about 40–45 minutes. Stir the sides of the pan constantly to avoid scorching.
# Stir in the sugar, nuts, and cardamom powder. Set aside to cool.
# Pour the mixture evenly into kulfi moulds or small [[Cookbook:Ramekin|ramekins]]. Cover with [[Cookbook:Plastic Wrap|plastic wrap]] or [[Cookbook:Aluminium Foil|foil]], and freeze for about 6 hours until set.
# To serve, run a sharp knife dipped in hot water along the sides of the moulds, and unmold them onto a serving plate.
== Notes, tips, and variations ==
* Kulfi can be prepared in many different flavours. This can be done by substituting the ingredients (with the exception of milk and sugar) with rose flavouring or fruits (mango, strawberry, banana, or other tropical fruits). The amount of sugar can also be altered to suit your taste.
[[Category:Indian recipes]]
[[Category:Recipes for frozen desserts]]
[[Category:Recipes for dessert]]
[[Category:Frozen recipes]]
[[Category:Recipes using milk]]
[[Category:Recipes using almond]]
[[Category:Recipes using sugar]]
[[Category:Recipes using cardamom]]
o2aad1f3zub75oq7pdlj6kyqa451fdj
Chess Opening Theory/1. e4/1...c6/2. d4/2...d5/3. e5/3...Bf5/4. g4
0
279582
4639835
4233038
2026-06-10T22:07:34Z
Talantir
3604573
/* Caro-Kann Defence - Bayonet Attack */
4639835
wikitext
text/x-wiki
{{Chess Opening Theory/Position|=
|Bayonet Attack|
|rd|nd| |qd|kd|bd|nd|rd|=
|pd|pd| | |pd|pd|pd|pd|=
| | |pd| | | | | |=
| | | |pd|pl|bd| | |=
| | | |pl| | |pl| |=
| | | | | | | | |=
|pl|pl|pl| | |pl| |pl|=
|rl|nl|bl|ql|kl|bl|nl|rl|=
|parent = [[Chess Opening Theory/1. e4/1...c6/2. d4/2...d5/3. e5|Caro–Kann Defence: Advance Variation]]
}}
=Caro-Kann Defence - Bayonet Attack=
This aggressive move forces Black to choose a retreat square for the bishop. While occasionally played for surprise value, the move weakens White's kingside and offers Black good chances. Black's best response is 4. ...Be4!, inducing White to play f3 before retreating the bishop. Play might continue 4. ...Be4 5. f3 Bg6 6. h4 h5 7. e6! Qd6 8. exf7 Bxf7 9. Nc3 Nd7 10. f4, with rough equality.<ref name="tari">[https://www.chessgames.com/perl/chessgame?gid=2554059 Tari v Carlsen (2023) - Chessgames.com]</ref>
{{Wikipedia|Caro–Kann Defence}}
{{ChessMid}}
{{ChessFooter}}
iascp7999hn5d26c58qivoh8gdcogsb
4639892
4639835
2026-06-11T11:49:43Z
Dexxor
3119498
+wikilink
4639892
wikitext
text/x-wiki
{{Chess Opening Theory/Position|=
|Bayonet Attack|
|rd|nd| |qd|kd|bd|nd|rd|=
|pd|pd| | |pd|pd|pd|pd|=
| | |pd| | | | | |=
| | | |pd|pl|bd| | |=
| | | |pl| | |pl| |=
| | | | | | | | |=
|pl|pl|pl| | |pl| |pl|=
|rl|nl|bl|ql|kl|bl|nl|rl|=
|parent = [[Chess Opening Theory/1. e4/1...c6/2. d4/2...d5/3. e5|Caro–Kann Defence: Advance Variation]]
}}
=Caro-Kann Defence - Bayonet Attack=
This aggressive move forces Black to choose a retreat square for the bishop. While occasionally played for surprise value, the move weakens White's kingside and offers Black good chances. Black's best response is [[/4...Be4|Be4!]], inducing White to play f3 before retreating the bishop. Play might continue 4...Be4 5. f3 Bg6 6. h4 h5 7. e6! Qd6 8. exf7 Bxf7 9. Nc3 Nd7 10. f4, with rough equality.<ref name="tari">[https://www.chessgames.com/perl/chessgame?gid=2554059 Tari v Carlsen (2023) - Chessgames.com]</ref>
{{Wikipedia|Caro–Kann Defence}}
{{ChessMid}}
{{ChessFooter}}
qp4wi3vrjs4z2rgwn0hlnreiotbwypu
Fractals/Iterations in the complex plane/MandelbrotSetExterior
0
367335
4639889
4448636
2026-06-11T10:09:26Z
Aokoroko
3059689
4639889
wikitext
text/x-wiki
[[Fractals/color_mandelbrot|Colouring]] of exterior of Mandelbrot set can be :
* non-smooth = Escape Time = dwell
** Boolean/binary Escape Time Method ( bETM/M )
** discrete = Level Set Method = LSM/M = integer ETM = iETM/M
* Smooth :
** radial measures
*** Real Escape Time Method( rETM/M )
*** Distance Estimation Method( DEM/M )
*** radius of complex potential = Complex Potential Method ( CPM/M )
** angular measures
*** argument of complex potential
*** SAC = stripe average coloring
*** other
**** "triangle inequality"<ref>[http://www.hiddendimension.com/fractalmath/divergent_fractals_main.html Mathematics of Divergent Fractals by ]</ref><ref>[http://jussiharkonen.com/gallery/coloring-techniques/ jussi harkonen : coloring-techniques]</ref>
**** Orbit trap <ref>[[w:Orbit trap|wikipedia : Orbit trap]]</ref><ref>[https://www.youtube.com/watch?v=tnMNamKPy6k Mandelbrot Orbit Trap Rendering! Programming How-To Video by DKM101]</ref>
One can also draw curves :
* external rays
* equipotential lines ( closed curves - quasi circles)
Similar projects:
* [http://mathr.co.uk/blog/2014-03-06_mandelbrot_notebook.html Mandelbrot Notebook by Claude Heiland-Allen ]
** [https://code.mathr.co.uk/mandelbrot-book mandelbrot-book]
** [https://gitlab.com/adammajewski/mandelbrot-book_book mandelbrot-book/book : one file c programs , images and description]
** [https://gitlab.com/adammajewski/my-book fork of the mandelbrot-book] and [https://gitlab.com/adammajewski/git-book-pdf book in pdf format]
* [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Main_Page different drawing techniques and algorithms by Arnaud Cheritat ]
** [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Mandelbrot_set Mandelbrot set] and [https://gitlab.com/adammajewski/mandelbrot_wiki_ACh example C programs ( not by A Cheritat)]
* Linas Vepstas' Art Gallery:
** [http://linas.org/art-gallery/index.html original site]
** [https://gitlab.com/adammajewski/LinasArtGallery_MandelbrotSet fork at gitlab]
== Mandelbrot CLI: Renderer with 5000-bit and Perturbation Theory ==
<syntaxhighlight lang=cpp>
/*
* Original project:
* https://github.com/Divetoxx/Mandelbrot
*/
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#include <cstdint>
#include <string>
#include <atomic>
#include <omp.h>
#include <cstdio>
#include <iomanip>
#include <gmp.h>
#include <mpfr.h>
using namespace std;
const double PI = 3.14159265358979323846;
const mpfr_prec_t MPFR_BITS = 5000;
#pragma pack(push, 1)
struct BMPHeader {
uint16_t type{0x4D42};
uint32_t size{0};
uint16_t reserved1{0};
uint16_t reserved2{0};
uint32_t offBits{54};
uint32_t structSize{40};
int32_t width{0};
int32_t height{0};
uint16_t planes{1};
uint16_t bitCount{24};
uint32_t compression{0};
uint32_t sizeImage{0};
int32_t xpelsPerMeter{2834};
int32_t ypelsPerMeter{2834};
uint32_t clrUsed{0};
uint32_t clrImportant{0};
};
#pragma pack(pop)
struct ComplexDouble {
double re;
double im;
};
void save_bmp(const string& filename, const vector<uint8_t>& data, int w, int h) {
int rowSize = (w * 3 + 3) & ~3;
BMPHeader header;
header.width = w;
header.height = h;
header.sizeImage = rowSize * h;
header.size = header.sizeImage + 54;
ofstream f(filename, ios::binary);
f.write(reinterpret_cast<char*>(&header), 54);
f.write(reinterpret_cast<const char*>(data.data()), data.size());
f.close();
}
int main() {
string absc_str, ordi_str, size_str;
absc_str = "-1.7491976289657893741942376816272921165326158557416159";
ordi_str = "-0.00000042530777152440422725855012159249401150956515248";
size_str = "0.00000000000000000000000000000000000000000000000000431";
const int targetW = 10000;
const int targetH = 10000;
const int scale = 8;
const int rawW = targetW * scale;
const int rawH = targetH * scale;
cout << "Step 1: Calculating Raw Map (" << rawW << "x" << rawH << ") using Perturbation..." << endl;
vector<uint8_t> iterMap((size_t)rawW * rawH);
mpfr_t rx, ry, zr, zi, zr2, zi2, tmp, sz, st;
mpfr_inits2(MPFR_BITS, rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
mpfr_set_str(rx, absc_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(ry, ordi_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(sz, size_str.c_str(), 10, MPFR_RNDN);
mpfr_div_ui(st, sz, rawW, MPFR_RNDN);
double step_d = mpfr_get_d(st, MPFR_RNDN);
double ref_rec_d = mpfr_get_d(rx, MPFR_RNDN);
double ref_imc_d = mpfr_get_d(ry, MPFR_RNDN);
vector<ComplexDouble> ref_orbit_double(50005);
mpfr_set_ui(zr, 0, MPFR_RNDN);
mpfr_set_ui(zi, 0, MPFR_RNDN);
mpfr_set_ui(zr2, 0, MPFR_RNDN);
mpfr_set_ui(zi2, 0, MPFR_RNDN);
uint32_t ref_i = 0;
bool escaped = false;
while (ref_i < 50000) {
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
mpfr_mul(tmp, zr, zi, MPFR_RNDN);
mpfr_mul_ui(zi, tmp, 2, MPFR_RNDN);
mpfr_add(zi, zi, ry, MPFR_RNDN);
mpfr_sub(zr, zr2, zi2, MPFR_RNDN);
mpfr_add(zr, zr, rx, MPFR_RNDN);
mpfr_mul(zr2, zr, zr, MPFR_RNDN);
mpfr_mul(zi2, zi, zi, MPFR_RNDN);
if (escaped) {
ref_i++;
break;
}
mpfr_add(tmp, zr2, zi2, MPFR_RNDN);
if (mpfr_cmp_d(tmp, 4.0) >= 0) {
escaped = true;
}
ref_i++;
}
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
uint32_t max_valid_ref_iter = ref_i;
mpfr_clears(rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
atomic<int> linesDone{0};
#pragma omp parallel for schedule(dynamic)
for (size_t b = 0; b < (size_t)rawH; ++b) {
for (size_t a = 0; a < (size_t)rawW; ++a) {
double delta_rec = (double)((long long)a - (rawW / 2)) * step_d;
double delta_imc = (double)((long long)b - (rawH / 2)) * step_d;
uint32_t index = 0;
double delta_re = 0.0;
double delta_im = 0.0;
double z_re = 0.0;
double z_im = 0.0;
uint32_t i = 0;
const ComplexDouble* ref_ptr = ref_orbit_double.data();
while (i < max_valid_ref_iter) {
if ((z_re * z_re + z_im * z_im) >= 40000.0) {
break;
}
if ((z_re * z_re + z_im * z_im) < (delta_re * delta_re + delta_im * delta_im)) {
index = 0;
delta_re = z_re;
delta_im = z_im;
}
for (int step = 0; step < 2; ++step) {
double Ur = ref_ptr[index].re;
double Ui = ref_ptr[index].im;
double next_delta_im = 2.0 * Ur * delta_im + 2.0 * Ui * delta_re + 2.0 * delta_re * delta_im + delta_imc;
delta_re = 2.0 * Ur * delta_re - 2.0 * Ui * delta_im + delta_re * delta_re - delta_im * delta_im + delta_rec;
delta_im = next_delta_im;
index++;
}
z_re = ref_ptr[index].re + delta_re;
z_im = ref_ptr[index].im + delta_im;
i += 2;
}
int final_t = 50000 - i;
if (final_t == 0) {
iterMap[b * (size_t)rawW + a] = 255;
} else {
iterMap[b * (size_t)rawW + a] = (uint8_t)(final_t % 254);
}
}
if (++linesDone % 100 == 0) cout << "Progress: " << linesDone << "/" << rawH << "\r" << flush;
}
uint8_t pal[256][3];
for (int a = 0; a < 255; ++a) {
pal[a][0] = (uint8_t)round(127.0 + 127.0 * cos(2.0 * PI * a / 255.0)); // Blue
pal[a][1] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Green
pal[a][2] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Red
}
pal[255][0] = 255; pal[255][1] = 255; pal[255][2] = 255;
cout << "\nStep 2: Rendering frames..." << endl;
int rowSize = (targetW * 3 + 3) & ~3;
for (int frame = 0; frame < 255; ++frame) {
vector<uint8_t> frameData(rowSize * targetH);
#pragma omp parallel for schedule(static)
for (int y = 0; y < targetH; ++y) {
for (int x = 0; x < targetW; ++x) {
uint32_t rSum = 0, gSum = 0, bSum = 0;
for (int j = 0; j < scale; ++j) {
size_t mapRowIdx = (size_t)(y * scale + j) * rawW;
for (int i = 0; i < scale; ++i) {
uint8_t t = iterMap[mapRowIdx + (x * scale + i)];
int colorIdx;
if (t == 255) {
colorIdx = 255;
} else {
colorIdx = (t - frame + 255) % 255;
}
bSum += pal[colorIdx][0];
gSum += pal[colorIdx][1];
rSum += pal[colorIdx][2];
}
}
int outIdx = y * rowSize + x * 3;
frameData[outIdx + 0] = (uint8_t)(bSum >> 6);
frameData[outIdx + 1] = (uint8_t)(gSum >> 6);
frameData[outIdx + 2] = (uint8_t)(rSum >> 6);
}
}
string filename = "Mandelbrot" + to_string(1000 + frame).substr(1) + ".bmp";
save_bmp(filename, frameData, targetW, targetH);
cout << "Frame " << frame << "/254 saved. \r" << flush;
}
return 0;
}
</syntaxhighlight>
=='''Escape time''' or dwell==
Here for given point c on parameter plane one checks how critical point <math> z = 0.0 </math> behaves on dynamical plane under [[Fractals/Iterations in the complex plane/q-iterations#Forward iteration|forward iteration]]. If you change initial point you will get different result <ref>[http://mathesim.degruyter.de/jws_en/show_simulation.php?id=1052&type=RoessMa&lang=en Java program by Dieter Röß showing result of changing initial point of Mandelbrot iterations]</ref>
To draw given plane one needs to [[Fractals/Computer graphic techniques/2D#Scanning|check/scan]] (all) its points. See [[Fractals/Iterations in the complex plane/Mandelbrot set#Period detection|here for more details ( optimisation)]]
Read [[Fractals/Iterations in the complex plane/def cqp|definitions]] first.
===How to find the number of iterations required to escape the mandelbrot set ?===
* [https://math.stackexchange.com/questions/4056809/is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb/4059340 math.stackexchange question: is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb]
* [https://math.stackexchange.com/questions/16970/a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?rq=1 math.stackexchange question: a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?]
===Boolean escape time ===
This algorithm answers the question: “For which values of c will the Julia fractal, J(c), be line-like and for which dust-like?”<ref>[https://www.ntg.nl/maps/45/03.pdf Julia fractals in PostScript by Kees van der Laan, EUROTEX 2012 & 6CM PROCEEDINGS 47]</ref>
Here complex plane consists of 2 sets : Mandelbrot set <math>M\,</math> and its complement <math>M^c\,</math> :
<math>\mathbb{C}= M \cup M^c</math>
====ASCI graphic ( on screen) ====
[[File:Mandel.png|right|thumb|ASCI graphic : Boolean escape time in text mode]]
<syntaxhighlight lang=c>
// http://mrl.nyu.edu/~perlin/
main(k){float i,j,r,x,y=-16;while(puts(""),y++<15)for(x
=0;x++<84;putchar(" .:-;!/>)|&IH%*#"[k&15]))for(i=k=r=0;
j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i<11&&k++<111;r=j);}
</syntaxhighlight>
<syntaxhighlight lang=haskell>
-- Haskell code by Ochronus
-- http://blog.mostof.it/mandelbrot-set-in-ruby-and-haskell/
import Data.Complex
mandelbrot a = iterate (\z -> z^2 + a) a !! 500
main = mapM_ putStrLn [[if magnitude (mandelbrot (x :+ y)) < 2 then '*' else ' '
| x <- [-2, -1.9685 .. 0.5]]
| y <- [1, 0.95 .. -1]]
</syntaxhighlight>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.05 do
(loop for x from -2.5 to 0.5 by 0.025 do
(let* ((c (complex x y)) ; parameter
(z (complex 0 0))
(iMax 20) ; maximal number of iterations
(i 0)) ; iteration number
(loop while (< i iMax ) do
(setq z (+ (* z z) c)) ; iteration
(incf i)
(when (> (abs z) 2) (return i)))
; color of pixel
(if (= i iMax) (princ (code-char 42)) ; inside M
(princ (code-char 32))))) ; outside M
(format t "~%")) ; new line
</syntaxhighlight>
Comparison programs in various languages <ref>[http://www.timestretch.com/tag/mandelbrot Fractal Benchmark by Erik Wrenholt]</ref><ref>[http://www.righto.com/2015/03/12-minute-mandelbrot-fractals-on-50.html 12-minute Mandelbrot: fractals on a 50 year old IBM 1401 mainframe]</ref>
==== Graphic file ( PPM ) ====
Here are various programs for creating pbm file <ref>[https://benchmarksgame-team.pages.debian.net/benchmarksgame/description/mandelbrot.html#mandelbrotThe Computer Language Benchmarks Game ]</ref>
* GLSL using [[Fractals/shadertoy#Boolean escape time|shadertoy]]
* short c programs by ed Burke<ref>[https://batchloaf.wordpress.com/2016/02/13/example-code-from-presentation-ways-of-seeing-julia-sets/ example-code-from-presentation-ways-of-seeing-julia-sets by ed Burke]</ref>
=====C=====
This is complete code of C one file program.
*It makes a ppm file which consists an image. To see the file (image) use external application ( graphic viewer).
*Program consists of 3 loops:
** iY and iX, which are used to scan rectangle area of parameter plane
**iterations.
For each point of screen (iX,iY) it's complex value is computed c=cx+cy*i.
For each point c is computed iterations of critical point <math>z_0 = z_{cr} = 0 \,</math>
It uses some [[Fractals/Iterations in the complex plane/Mandelbrot set#Speed improvements - optimisation|speed_improvement]]. Instead of checking :
sqrt(Zx2+Zy2)<ER
it checks :
(Zx2+Zy2)<ER2 // ER2 = ER*ER
It gives the same result but is faster.
<syntaxhighlight lang=C>
/*
c program:
--------------------------------
1. draws Mandelbrot set for Fc(z)=z*z +c
using Mandelbrot algorithm ( boolean escape time )
-------------------------------
2. technique of creating ppm file is based on the code of Claudio Rocchini
http://en.wikipedia.org/wiki/Image:Color_complex_plot.jpg
create 24 bit color graphic file , portable pixmap file = PPM
see http://en.wikipedia.org/wiki/Portable_pixmap
to see the file use external application ( graphic viewer)
*/
#include <stdio.h>
#include <math.h>
int main()
{
/* screen ( integer) coordinate */
int iX,iY;
const int iXmax = 800;
const int iYmax = 800;
/* world ( double) coordinate = parameter plane*/
double Cx,Cy;
const double CxMin=-2.5;
const double CxMax=1.5;
const double CyMin=-2.0;
const double CyMax=2.0;
/* */
double PixelWidth=(CxMax-CxMin)/iXmax;
double PixelHeight=(CyMax-CyMin)/iYmax;
/* color component ( R or G or B) is coded from 0 to 255 */
/* it is 24 bit color RGB file */
const int MaxColorComponentValue=255;
FILE * fp;
char *filename="new1.ppm";
char *comment="# ";/* comment should start with # */
static unsigned char color[3];
/* Z=Zx+Zy*i ; Z0 = 0 */
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
/* */
int Iteration;
const int IterationMax=200;
/* bail-out value , radius of circle ; */
const double EscapeRadius=2;
double ER2=EscapeRadius*EscapeRadius;
/*create new file,give it a name and open it in binary mode */
fp= fopen(filename,"wb"); /* b - binary mode */
/*write ASCII header to the file*/
fprintf(fp,"P6\n %s\n %d\n %d\n %d\n",comment,iXmax,iYmax,MaxColorComponentValue);
/* compute and write image data bytes to the file*/
for(iY=0;iY<iYmax;iY++)
{
Cy=CyMin + iY*PixelHeight;
if (fabs(Cy)< PixelHeight/2) Cy=0.0; /* Main antenna */
for(iX=0;iX<iXmax;iX++)
{
Cx=CxMin + iX*PixelWidth;
/* initial value of orbit = critical point Z= 0 */
Zx=0.0;
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
/* */
for (Iteration=0;Iteration<IterationMax && ((Zx2+Zy2)<ER2);Iteration++)
{
Zy=2*Zx*Zy + Cy;
Zx=Zx2-Zy2 +Cx;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
/* compute pixel color (24 bit = 3 bytes) */
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
else
{ /* exterior of Mandelbrot set = white */
color[0]=255; /* Red*/
color[1]=255; /* Green */
color[2]=255;/* Blue */
};
/*write color to the file*/
fwrite(color,1,3,fp);
}
}
fclose(fp);
return 0;
}
</syntaxhighlight >
===Integer escape time = LSM/M = dwell bands===
<gallery>
File:Mandelbrot seq.png|Number of details is proportional to maximal number of iterations
File:Animation of the growth of the Mandelbrot set as you iterate towards infinity.gif|Mandelbrot animation based on a static number of iterations per pixel. Here you can see why '''offset''' is sometimes used ( because - color gradient changes : for high MaxIteration disapears.
</gallery>
Here color is proportional to last iteration ( of final_n, final iteration).<ref>[http://plus.maths.org/content/computing-mandelbrot-set Computing the Mandelbrot set by Andrew Williams]</ref>
This is also called [[w:Level Set Method|Level Set Method]] ( LSM )
<math>L_n= \{ c : z_n \in T ~~\mbox{and} ~~ z_k \notin T ~~\mbox{where}~~ k<n \}\,</math>
====C====
[[Image:Mandel_lsm_bw.jpg|thumb|LSM/M image with full code in C]]
Difference between Mandelbrot algorithm and LSM/M is in only in part instruction, which computes pixel color of exterior of Mandelbrot set. In LSM/M is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if ((Iteration%2)==0)
{ /* even number = black */
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{/* odd number = white */
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
Here is [[w:C (programming language)|C]] function whithout explicit complex numbers, only doubles:
<syntaxhighlight lang="c">
int GiveEscapeTime(double C_x, double C_y, int iMax, double _ER2)
{
int i;
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
Zx=0.0; /* initial value of orbit = critical point Z= 0 */
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
for (i=0;i<iMax && ((Zx2+Zy2)<_ER2);i++)
{
Zy=2*Zx*Zy + C_y;
Zx=Zx2-Zy2 +C_x;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
return i;
}
</syntaxhighlight>
here a short code with complex numbers:
<syntaxhighlight lang=c>
// https://gitlab.com/adammajewski/mandelbrot_wiki_ACh/blob/master/betm.c
int iterate(double complex C , int iMax)
{
int i;
double complex Z= 0.0; // initial value for iteration Z0
for(i=0;i<iMax;i++)
{
Z=Z*Z+C; // https://stackoverflow.com/questions/6418807/how-to-work-with-complex-numbers-in-c
if(cabs(Z)>EscapeRadius) break;
}
return i;
}
</syntaxhighlight>
====C++====
Here is C++ function which can be used to draw LSM/M :
<syntaxhighlight lang=Cpp>
int iterate_mandel(complex C , int imax, int bailout)
{
int i;
std::complex Z(0,0); // initial value for iteration Z0
for(i=0;i<=imax-1;i++)
{
Z=Z*Z+C; // overloading of operators
if(abs(Z)>bailout)break;
}
return i;
}
</syntaxhighlight>
I think that it can't be coded simpler (it looks better than pseudocode), but it can be coded in other way which can be executed faster .
Here is faster code :
<syntaxhighlight lang=Cpp>
// based on cpp code by Geek3
inline int fractal(double cx, double cy, int max_iters)
// gives last iteration
{
double zx = 0, zy = 0;
if (zx * zx + zy * zy > 4) return(0); // it=0
for (int it = 1; it < max_iters; it++)
{ double zx_old = zx;
zx = zx * zx - zy * zy;
zy = 2 * zx_old * zy;
zx += cx;
zy += cy;
if (zx * zx + zy * zy > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
A touch more optimised :
<syntaxhighlight lang=Cpp>
// optimised from cpp code by Geek3
inline int fractal(double cReal, double cImg, int max_iters)
// gives last iteration
{
double zReal = 0, zImg = 0, zReal2 = 0, zImg2 = 0;
//iteration zero is always 0^2+0^2, it will never escape
for (int it = 1; it < max_iters; it++)
{ //because we have zReal^2 and zImg^2 pre-calculated
//we can calculate zImg first
//then we don't need to calculate/store the "old" zReal
zImg = (2 * zReal * zImg ) + cImg;
zReal = zReal2 - zImg2 + cReal;
// calculate next iteration: zReal^2 and zImg^2
// they are used twice so calculate them once
zReal2 = zReal * zReal;
zImg2 = zImg * zImg;
if (zReal2 + zImg2 > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
See also :
* [https://www.youtube.com/watch?v=nkf6icQln7w Rendering The Mandelbrot Set In C++: Part 1 - Saving Images , Video by Superdavo0001]
====GLSL====
* [[Fractals/shadertoy#LSM|shadertoy]]
====Java ====
<syntaxhighlight lang="java">
//Java code by Josef Jelinek
// http://java.rubikscube.info/
int mandel(double cx, double cy) {
double zx = 0.0, zy = 0.0;
double zx2 = 0.0, zy2 = 0.0;
int iter = 0;
while (iter < iterMax && zx2 + zy2 < 4.0) {
zy = 2.0 * zx * zy + cy;
zx = zx2 - zy2 + cx;
zx2 = zx * zx;
zy2 = zy * zy;
iter++;
}
return iter;
}
</syntaxhighlight>
====Java Script====
Here is JavaScript function which does not give last iteration but LastIteration modulo maxCol. It makes colour cycling ( if maxCol < maxIt ).
<syntaxhighlight lang="javascript">
function iterate(Cr,Ci) {
// JavaScript function by Evgeny Demidov
// http://www.ibiblio.org/e-notes/html5/fractals/mandelbrot.htm
var I=0, R=0, I2=0, R2=0, n=0;
if (R2+I2 > max) return 0;
do { I=(R+R)*I+Ci; R=R2-I2+Cr; R2=R*R; I2=I*I; n++;
} while ((R2+I2 < max) && (n < maxIt) );
if (n == maxIt) return maxCol; else return n % maxCol;
}
</syntaxhighlight>
Above functions do not use explicit definition of [[w:complex number|complex number]].
====Khan Academy====
* [https://www.khanacademy.org/computer-programming/mandelbrot-set/1274517860 khan academy mandelbrot-set]
====Lisp program ====
Whole Lisp program making ASCII graphic based on code by [http://www.frank-buss.de/ Frank Buss]
<ref>[http://groups.google.com/group/comp.lang.lisp/msg/dd505fd509fc8512 LIsp Program by Frank Buss]</ref>
<ref>[http://bc.tech.coop/blog/040811.html Mandelbrot Set ASCII art at Bill Clementson's blog]</ref>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.1 do
(loop for x from -2.5 to 0.5 by 0.04 do
(let* ((i 0)
(z (complex x y))
(c z))
(loop while (< (abs
(setq z (+ (* z z) c)))
2)
while (< (incf i) 32))
(princ (code-char (+ i 32))))) ; ASCII chars <= 32 contains non-printing characters
(format t "~%"))
</syntaxhighlight>
====MathMap plugin for [[GIMP|Gimp]]====
<pre>
filter mandelbrot (gradient coloration)
c=ri:(xy/xy:[X,X]*1.5-xy:[0.5,0]);
z=ri:[0,0]; # initial value z0 = 0
# iteration of z
iter=0;
while abs(z)<2 && iter<31
do
z=z*z+c; # z(n+1) = fc(zn)
iter=iter+1
end;
coloration(iter/32) # color of pixel
end
</pre>
====Pov-Ray====
Pov-Ray has a built-in function mandel<ref>[http://www.povray.org/documentation/view/3.6.1/377/ mandel function from 2.5.11.14 Fractal Patterns at Pov-Ray docs]</ref>
====Wolfram Mathematica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]
===Level Curves of escape time Method = LCM/M===
[[Image:LCMM.jpg|right|thumb|edge detection of Level sets]]
[[Image:Lemniscates5.png|thumb|right|Lemniscates of Mandelbrot set]]
Lemniscates are boundaries of Level Sets of escape time ( LSM/M ). They can be drawn using :
* edge detection of Level sets.
** Algorithm described in paper by M. Romera et al.<ref>[http://www.iec.csic.es/~miguel/Preprint3.ps Drawing the Mandelbrot set by the method of escape lines. M. Romera et al.]</ref> This method is fast and allows looking for high iterations.
*boundary trace<ref>http://www.metabit.org/~rfigura/figura-fractal/math.html boundary trace by Robert Figura</ref>
* drawing curves <math>L_n(T)=\{c: abs(z_n)=ER \}\,</math>, see [[:Image:Lemniscates5.png| explanation and source code]]. This method is very complicated for iterations > 5.
===Decomposition of target set for Mandelbrot set drawing===
Decomposition is modification of escape time algorithm.
The '''target set''' is divided into parts (2 or more).
Very large escape radius is used, for example ER = 12.
====Binary decomposition of LSM/M====
[[Image:Mandel_bd.png|thumb|binary decomposition: image with full code in C]]
Here target set <math>T\,</math> on dynamic plane is divided into 2 parts (binary decomposition = 2-decomposition ):
* upper half ( white) <math>T_u = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) > 0\}\,</math>
* lower half (black) <math>T_l = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) \le 0 \}\,</math>
Division of target set induces decomposition of level sets <math>L_n\,</math> into <math>2^{n+1}\,</math> parts ( cells, subsets):
* <math>L_{n,u} =\{ c: |z_n| > ER ~~\mbox{and}~~ Im (z_n) > 0 \}\,</math> which is colored white,
* <math>L_{n,l} = \{ c : |z_n| > ER ~~\mbox{and}~~ Im (z_n) \le 0 \}\,</math> which is colored black.
"The Level Sets and Field Lines are superimposed, creating a sort of grid, and the "squares" of the grid are filled with N-digit binary numbers giving the first N binary digits of the external angles of field lines passing through the square. (Alternately, only the Nth binary digit is used.) Each level set is divided into 2n squares. It is easy to "read" the external arguments of points in the boundary of the Mandelbrot Set using a binary decomposition." Robert P. Munafo
For binary decomposition use exp(pi) as escape radius, so that the boxes appear square (a tip from mrob).
External rays of angles (measured in turns):
<math>angle = (k / 2^n ) ~~\mbox{mod }~1\,</math>
can be seen as borders of subsets.
Difference between binary decomposition algorithm and Mandel or LSM/M is in only in part of instruction , which computes pixel color of exterior of Mandelbrot set. In binary decomposition is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if (Zy>0)
{
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
also GLSL code from [[Fractals/fragmentarium|Fragmentarium]] :
<syntaxhighlight lang=GLSL>
#include "2D.frag"
#group Simple Mandelbrot
// maximal number of iterations
uniform int iMax; slider[1,100,1000] // increase iMax
// er2= er^2 wher er= escape radius = bailout
uniform float er2; slider[4.0,1000,10000] // increase er2
// compute color of pixel
vec3 color(vec2 c) {
vec2 z = vec2(0.0); // initial value
// iteration
for (int i = 0; i < iMax; i++) {
z = vec2(z.x*z.x-z.y*z.y,2*z.x*z.y) + c; // z= z^2+c
if (dot(z,z)> er2) // escape test
// exterior
if (z.x>0){ return vec3( 1.0);} // upper part of the target set
else return vec3(0.0); //lower part of the target set
}
return vec3(0.0); //interior
}
</syntaxhighlight>
<syntaxhighlight lang=GLSL>
// zoomasm -- zoom video assembler
// (c) 2019,2020,2021,2022 Claude Heiland-Allen
// SPDX-License-Identifier: AGPL-3.0-only
// recommended KF bailout settings: linear smoothing, custom radius 25
vec3 colour(void)
{
if (getInterior())
{
return vec3(1.0, 0.0, 0.0);
}
bool decomp = getT() < 0.5;
return vec3(decomp ? 0.0 : 1.0);
}
</syntaxhighlight>
Point c is plotting white or black if [[w:complex number|imaginary value]] of last iteration ( Zy) is positive or negative.<ref>http://web.archive.org/20010415125044/www.geocities.com/CapeCanaveral/Launchpad/5113/fr27.htm| An open letter to Dr. Meech from Joyce Haslam in FRACTAL REPORT 27</ref>
==== nth-decomposition ====
This method is extension of binary decomposition.
The target set T = { z : |zn| > R } with a very large escape radius ( for example R = 12 ) is divided into more than 2 parts ( for example 8).<ref>[http://fraktal.republika.pl/mset_decomposition.html mandelbrot set n-th-decomposition ]</ref>
===Real Escape Time===
Other names of this method/algorithm are :
* the fully-renormalized fractional iteration count ( by Linas Vepstas in 1997)<ref>[http://linas.org/art-gallery/escape/escape.html linas.org : Renormalizing the Mandelbrot Escape]</ref>
* smooth iteration count for generalized Mandelbrot sets ( by Inigo Quilez in 2016)<ref>[http://www.iquilezles.org/www/articles/mset_smooth/mset_smooth.htm I Quilez : mset_smooth]</ref>
* continuous iteration count for the Mandelbrot set
* Normalized Iteration Count Algorithm
* Continuous coloring
* smooth colour gradient
* fractional iterations
* fractional escape time
Here color of exterior of Mandelbrot set is proportional not to Last Iteration ( which is integer number) but to real number :
: <math>\nu(z) = \lim_{i \to \infty} (i - \log_2 \log_2 |z_i|)\,</math>
Other methods and speedups
Colouring formula in Ultrafractal :<ref>[http://www.fractalforums.com/programming/what-rangeprecision-for-fractional-escape-counts-for-mandelbrotjulia-sets/ fractalforums : What range/precision for fractional escape counts for Mandelbrot/Julia sets? ]</ref>
smooth iter = iter + 1 + ( log(log(bailout)-log(log(cabs(z))) )/log(2)
where :
* log(log(bailout) can be precalculated
*
====theory====
Description by Claude :
'''First description :'''
If R is large, the first z to escape satisfies (approximately)<ref>[https://fractalforums.org/noobs-corner/76/gradient-pallet-with-two-colors/4498 fractalforums : gradient-pallet-with-two-colors]</ref>
<math>R < |z| < R^p</math>
so taking logs
<math>\log(R) < \log(|z|) < p \log(R)</math>
so taking logs again
<math>\log(\log(R)) < \log(\log(|z|)) < \log(p) + \log(\log(R))</math>
so by algebra
<math>0 < \frac{\log(\log(|z|)) - \log(\log(R))}{\log(p)} < 1</math>
when <math>|z|</math> at escape is bigger, the smooth iteration count should be smaller, so this value needs to be subtracted from the integer iteration count
Alternatively this fraction can be used for interpolation, or used with arg(z) for exterior tiling / binary decomposition.
'''Second description'''<ref>[https://fractalforums.org/programming/11/can-anyone-help-me-understand-smooth-coloring/4597/msg37885 fractalforums.org : can-anyone-help-me-understand-smooth-coloring]</ref>
pick a radius R > 2, then |Z| > R implies that |Z^2 + C| > |Z| and more generally that |Z| -> infinity, this gives R the name escape radius. proof is on math.stackexchange.com somewhere
now suppose R is large, and n is the first iteration where |Z_n| > R.
consider what happens when |Z_n| increases as you move the point C a bit further from the Mandelbrot set boundary.
eventually |Z_n| > R^2, but then |Z_{n-1}| > R, so the iteration count should be n - 1.
for smoothing, we want a value to add to n that is 0 when |Z_n| = R and -1 when |Z_n| = R^2.
taking logs, get log |Z| is between log(R) and 2 log(R)
taking logs again, get log log |Z| is between log log R and log log R + log 2
dividing by log 2, get log_2 log |Z| is between log_2 log R and log_2 log R + 1
subtracting log_2 log R gives (log_2 log |Z| - log_2 log R) is between 0 and 1
negating it gives a value between 0 and -1, as desired
so the smooth iteration count is
<math>n - (log_2 log |Z| - log_2 log R)</math>
(replace 2 by P if you do Z^P + C)
see also http://linas.org/art-gallery/escape/escape.html which makes a value independent of R, but that is not so useful for some colouring algorithms (e.g. smooth part of escape count doesn't align with angle of final iterate)
====C====
To use log2 function add :
<nowiki> #include <math.h> </nowiki>
at the beginning of program.
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set */
else GiveRainbowColor((double)(Iteration- log2(log2(sqrt(Zx2+Zy2))))/IterationMax,color);
</syntaxhighlight>
where :
* Zx2 = Zx*Zx
* Zy2 = Zy*Zy
Here is another version by Tony Finch<ref>[http://dotat.at/prog/mandelbrot/ Making Mandelbrot Set Movies by Tony Finch]</ref>
<syntaxhighlight lang=C>
while (n++ < max &&
x2+y2 < inf) {
y = 2*x*y + b;
x = x2-y2 + a;
y2 = y*y;
x2 = x*x;
}
nu = n - log(log(x2+y2)/2)/ log(2);
</syntaxhighlight >
based on equation <ref>[http://linas.org/art-gallery/escape/escape.html Linas Vepstas. Renormalizing the mandelbrot escape.]</ref>
: <math>\nu(z) = n - \log_2 \log (z_n)\,</math>
====C++====
<syntaxhighlight lang=cpp>
// based on cpp code by Geek3 from http://en.wikibooks.org/wiki/File:Mandelbrot_set_rainbow_colors.png
sqrxy = x * x + y * y;
double m = LastIteration + 1.5 - log2(log2(sqrxy));
</syntaxhighlight>
====java====
<syntaxhighlight lang=java>
/**
Smooth coloring algorithm
https://gitlab.com/shreyas.siravara/mandelbrot-with-smooth-coloring/blob/master/Mandelbrot.java
Mandelbrot with Smooth Coloring by Shreyas Siravara
*/
double nsmooth = (iterations + 1 - Math.log(Math.log(Zn.getMagnitude())) / Math.log(ESCAPE_RADIUS));
double smoothcolor = nsmooth / MAX_ITERATIONS;
if (iterations < MAX_ITERATIONS) {
int rgb = Color.HSBtoRGB((float) (0.99f + 1.9 * smoothcolor), 0.9f, 0.9f);
g2d.setColor(new Color(rgb));
} else {
g2d.setColor(Color.black.darker());
}
</syntaxhighlight>
====Matemathica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]. It uses different formula :
<math>cet = n + log_2ln(R) - log_2ln|z|</math>
====Python====
Python code using mpmath library<ref>[http://code.google.com/p/mpmath/ mpmath Python library]</ref>
<syntaxhighlight lang=python>
def mandelbrot(z):
c = z
for i in xrange(ITERATIONS):
zprev = z
z = z*z + c
if abs(z) > ESCAPE_RADIUS:
return ctx.exp(1j*(i + 1 - ctx.log(ctx.log(abs(z)))/ctx.log(2)))
return 0
</syntaxhighlight>
==Distance estimation DEM/M==
<gallery>
File:Demm_2000_Mandelbrot_set.jpg|Exterior DEM/M
File:Boundary mandelbrot set.png|simple boundary with DEM/M
File:Mandelbrot DEM Sobel.png|Boundary with DEM/M and Sobel filter
</gallery>
Variants :
* exterior DEM/M
* interior DEM/M
[[Fractals/Iterations in the complex plane/demm|Description]]
==Complex potential==
[[Fractals/Iterations_in_the_complex_plane/MandelbrotSetExteriorComplex_potential|Description]]
=See also=
* https://web.archive.org/web/20071008112609/http://rgba.scenesp.org/iq/trastero/fieldlines/
* http://fraktal.republika.pl/mset_bottcher.html
=References=
<references/>
{{BookCat}}
lyocbv4pu2fjno9rfmjnn6kia8hfkrt
4639890
4639889
2026-06-11T10:11:55Z
Aokoroko
3059689
/* Mandelbrot CLI: Renderer with 5000-bit and Perturbation Theory */
4639890
wikitext
text/x-wiki
[[Fractals/color_mandelbrot|Colouring]] of exterior of Mandelbrot set can be :
* non-smooth = Escape Time = dwell
** Boolean/binary Escape Time Method ( bETM/M )
** discrete = Level Set Method = LSM/M = integer ETM = iETM/M
* Smooth :
** radial measures
*** Real Escape Time Method( rETM/M )
*** Distance Estimation Method( DEM/M )
*** radius of complex potential = Complex Potential Method ( CPM/M )
** angular measures
*** argument of complex potential
*** SAC = stripe average coloring
*** other
**** "triangle inequality"<ref>[http://www.hiddendimension.com/fractalmath/divergent_fractals_main.html Mathematics of Divergent Fractals by ]</ref><ref>[http://jussiharkonen.com/gallery/coloring-techniques/ jussi harkonen : coloring-techniques]</ref>
**** Orbit trap <ref>[[w:Orbit trap|wikipedia : Orbit trap]]</ref><ref>[https://www.youtube.com/watch?v=tnMNamKPy6k Mandelbrot Orbit Trap Rendering! Programming How-To Video by DKM101]</ref>
One can also draw curves :
* external rays
* equipotential lines ( closed curves - quasi circles)
Similar projects:
* [http://mathr.co.uk/blog/2014-03-06_mandelbrot_notebook.html Mandelbrot Notebook by Claude Heiland-Allen ]
** [https://code.mathr.co.uk/mandelbrot-book mandelbrot-book]
** [https://gitlab.com/adammajewski/mandelbrot-book_book mandelbrot-book/book : one file c programs , images and description]
** [https://gitlab.com/adammajewski/my-book fork of the mandelbrot-book] and [https://gitlab.com/adammajewski/git-book-pdf book in pdf format]
* [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Main_Page different drawing techniques and algorithms by Arnaud Cheritat ]
** [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Mandelbrot_set Mandelbrot set] and [https://gitlab.com/adammajewski/mandelbrot_wiki_ACh example C programs ( not by A Cheritat)]
* Linas Vepstas' Art Gallery:
** [http://linas.org/art-gallery/index.html original site]
** [https://gitlab.com/adammajewski/LinasArtGallery_MandelbrotSet fork at gitlab]
== Mandelbrot CLI: Renderer with 5000-bit and Perturbation Theory ==
Key Features:
High-Precision Reference: The 5000-bit reference trajectory is computed exactly once per zoom layer.
Hardware-Native Performance: Blazing-fast math for billions of pixels utilizing hardware-native double registers.
Innovative Algorithm: Revolutionary Reference Reset to Zero implementation.
True 8x8 SSAA: Pristine, anti-aliased image quality with 64 independent samples per pixel.
OpenMP Multi-threading: High-speed parallel computing to maximize CPU utilization.
<syntaxhighlight lang=cpp>
/*
* Original project:
* https://github.com/Divetoxx/Mandelbrot
*/
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#include <cstdint>
#include <string>
#include <atomic>
#include <omp.h>
#include <cstdio>
#include <iomanip>
#include <gmp.h>
#include <mpfr.h>
using namespace std;
const double PI = 3.14159265358979323846;
const mpfr_prec_t MPFR_BITS = 5000;
#pragma pack(push, 1)
struct BMPHeader {
uint16_t type{0x4D42};
uint32_t size{0};
uint16_t reserved1{0};
uint16_t reserved2{0};
uint32_t offBits{54};
uint32_t structSize{40};
int32_t width{0};
int32_t height{0};
uint16_t planes{1};
uint16_t bitCount{24};
uint32_t compression{0};
uint32_t sizeImage{0};
int32_t xpelsPerMeter{2834};
int32_t ypelsPerMeter{2834};
uint32_t clrUsed{0};
uint32_t clrImportant{0};
};
#pragma pack(pop)
struct ComplexDouble {
double re;
double im;
};
void save_bmp(const string& filename, const vector<uint8_t>& data, int w, int h) {
int rowSize = (w * 3 + 3) & ~3;
BMPHeader header;
header.width = w;
header.height = h;
header.sizeImage = rowSize * h;
header.size = header.sizeImage + 54;
ofstream f(filename, ios::binary);
f.write(reinterpret_cast<char*>(&header), 54);
f.write(reinterpret_cast<const char*>(data.data()), data.size());
f.close();
}
int main() {
string absc_str, ordi_str, size_str;
absc_str = "-1.7491976289657893741942376816272921165326158557416159";
ordi_str = "-0.00000042530777152440422725855012159249401150956515248";
size_str = "0.00000000000000000000000000000000000000000000000000431";
const int targetW = 10000;
const int targetH = 10000;
const int scale = 8;
const int rawW = targetW * scale;
const int rawH = targetH * scale;
cout << "Step 1: Calculating Raw Map (" << rawW << "x" << rawH << ") using Perturbation..." << endl;
vector<uint8_t> iterMap((size_t)rawW * rawH);
mpfr_t rx, ry, zr, zi, zr2, zi2, tmp, sz, st;
mpfr_inits2(MPFR_BITS, rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
mpfr_set_str(rx, absc_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(ry, ordi_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(sz, size_str.c_str(), 10, MPFR_RNDN);
mpfr_div_ui(st, sz, rawW, MPFR_RNDN);
double step_d = mpfr_get_d(st, MPFR_RNDN);
double ref_rec_d = mpfr_get_d(rx, MPFR_RNDN);
double ref_imc_d = mpfr_get_d(ry, MPFR_RNDN);
vector<ComplexDouble> ref_orbit_double(50005);
mpfr_set_ui(zr, 0, MPFR_RNDN);
mpfr_set_ui(zi, 0, MPFR_RNDN);
mpfr_set_ui(zr2, 0, MPFR_RNDN);
mpfr_set_ui(zi2, 0, MPFR_RNDN);
uint32_t ref_i = 0;
bool escaped = false;
while (ref_i < 50000) {
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
mpfr_mul(tmp, zr, zi, MPFR_RNDN);
mpfr_mul_ui(zi, tmp, 2, MPFR_RNDN);
mpfr_add(zi, zi, ry, MPFR_RNDN);
mpfr_sub(zr, zr2, zi2, MPFR_RNDN);
mpfr_add(zr, zr, rx, MPFR_RNDN);
mpfr_mul(zr2, zr, zr, MPFR_RNDN);
mpfr_mul(zi2, zi, zi, MPFR_RNDN);
if (escaped) {
ref_i++;
break;
}
mpfr_add(tmp, zr2, zi2, MPFR_RNDN);
if (mpfr_cmp_d(tmp, 4.0) >= 0) {
escaped = true;
}
ref_i++;
}
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
uint32_t max_valid_ref_iter = ref_i;
mpfr_clears(rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
atomic<int> linesDone{0};
#pragma omp parallel for schedule(dynamic)
for (size_t b = 0; b < (size_t)rawH; ++b) {
for (size_t a = 0; a < (size_t)rawW; ++a) {
double delta_rec = (double)((long long)a - (rawW / 2)) * step_d;
double delta_imc = (double)((long long)b - (rawH / 2)) * step_d;
uint32_t index = 0;
double delta_re = 0.0;
double delta_im = 0.0;
double z_re = 0.0;
double z_im = 0.0;
uint32_t i = 0;
const ComplexDouble* ref_ptr = ref_orbit_double.data();
while (i < max_valid_ref_iter) {
if ((z_re * z_re + z_im * z_im) >= 40000.0) {
break;
}
if ((z_re * z_re + z_im * z_im) < (delta_re * delta_re + delta_im * delta_im)) {
index = 0;
delta_re = z_re;
delta_im = z_im;
}
for (int step = 0; step < 2; ++step) {
double Ur = ref_ptr[index].re;
double Ui = ref_ptr[index].im;
double next_delta_im = 2.0 * Ur * delta_im + 2.0 * Ui * delta_re + 2.0 * delta_re * delta_im + delta_imc;
delta_re = 2.0 * Ur * delta_re - 2.0 * Ui * delta_im + delta_re * delta_re - delta_im * delta_im + delta_rec;
delta_im = next_delta_im;
index++;
}
z_re = ref_ptr[index].re + delta_re;
z_im = ref_ptr[index].im + delta_im;
i += 2;
}
int final_t = 50000 - i;
if (final_t == 0) {
iterMap[b * (size_t)rawW + a] = 255;
} else {
iterMap[b * (size_t)rawW + a] = (uint8_t)(final_t % 254);
}
}
if (++linesDone % 100 == 0) cout << "Progress: " << linesDone << "/" << rawH << "\r" << flush;
}
uint8_t pal[256][3];
for (int a = 0; a < 255; ++a) {
pal[a][0] = (uint8_t)round(127.0 + 127.0 * cos(2.0 * PI * a / 255.0)); // Blue
pal[a][1] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Green
pal[a][2] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Red
}
pal[255][0] = 255; pal[255][1] = 255; pal[255][2] = 255;
cout << "\nStep 2: Rendering frames..." << endl;
int rowSize = (targetW * 3 + 3) & ~3;
for (int frame = 0; frame < 255; ++frame) {
vector<uint8_t> frameData(rowSize * targetH);
#pragma omp parallel for schedule(static)
for (int y = 0; y < targetH; ++y) {
for (int x = 0; x < targetW; ++x) {
uint32_t rSum = 0, gSum = 0, bSum = 0;
for (int j = 0; j < scale; ++j) {
size_t mapRowIdx = (size_t)(y * scale + j) * rawW;
for (int i = 0; i < scale; ++i) {
uint8_t t = iterMap[mapRowIdx + (x * scale + i)];
int colorIdx;
if (t == 255) {
colorIdx = 255;
} else {
colorIdx = (t - frame + 255) % 255;
}
bSum += pal[colorIdx][0];
gSum += pal[colorIdx][1];
rSum += pal[colorIdx][2];
}
}
int outIdx = y * rowSize + x * 3;
frameData[outIdx + 0] = (uint8_t)(bSum >> 6);
frameData[outIdx + 1] = (uint8_t)(gSum >> 6);
frameData[outIdx + 2] = (uint8_t)(rSum >> 6);
}
}
string filename = "Mandelbrot" + to_string(1000 + frame).substr(1) + ".bmp";
save_bmp(filename, frameData, targetW, targetH);
cout << "Frame " << frame << "/254 saved. \r" << flush;
}
return 0;
}
</syntaxhighlight>
=='''Escape time''' or dwell==
Here for given point c on parameter plane one checks how critical point <math> z = 0.0 </math> behaves on dynamical plane under [[Fractals/Iterations in the complex plane/q-iterations#Forward iteration|forward iteration]]. If you change initial point you will get different result <ref>[http://mathesim.degruyter.de/jws_en/show_simulation.php?id=1052&type=RoessMa&lang=en Java program by Dieter Röß showing result of changing initial point of Mandelbrot iterations]</ref>
To draw given plane one needs to [[Fractals/Computer graphic techniques/2D#Scanning|check/scan]] (all) its points. See [[Fractals/Iterations in the complex plane/Mandelbrot set#Period detection|here for more details ( optimisation)]]
Read [[Fractals/Iterations in the complex plane/def cqp|definitions]] first.
===How to find the number of iterations required to escape the mandelbrot set ?===
* [https://math.stackexchange.com/questions/4056809/is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb/4059340 math.stackexchange question: is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb]
* [https://math.stackexchange.com/questions/16970/a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?rq=1 math.stackexchange question: a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?]
===Boolean escape time ===
This algorithm answers the question: “For which values of c will the Julia fractal, J(c), be line-like and for which dust-like?”<ref>[https://www.ntg.nl/maps/45/03.pdf Julia fractals in PostScript by Kees van der Laan, EUROTEX 2012 & 6CM PROCEEDINGS 47]</ref>
Here complex plane consists of 2 sets : Mandelbrot set <math>M\,</math> and its complement <math>M^c\,</math> :
<math>\mathbb{C}= M \cup M^c</math>
====ASCI graphic ( on screen) ====
[[File:Mandel.png|right|thumb|ASCI graphic : Boolean escape time in text mode]]
<syntaxhighlight lang=c>
// http://mrl.nyu.edu/~perlin/
main(k){float i,j,r,x,y=-16;while(puts(""),y++<15)for(x
=0;x++<84;putchar(" .:-;!/>)|&IH%*#"[k&15]))for(i=k=r=0;
j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i<11&&k++<111;r=j);}
</syntaxhighlight>
<syntaxhighlight lang=haskell>
-- Haskell code by Ochronus
-- http://blog.mostof.it/mandelbrot-set-in-ruby-and-haskell/
import Data.Complex
mandelbrot a = iterate (\z -> z^2 + a) a !! 500
main = mapM_ putStrLn [[if magnitude (mandelbrot (x :+ y)) < 2 then '*' else ' '
| x <- [-2, -1.9685 .. 0.5]]
| y <- [1, 0.95 .. -1]]
</syntaxhighlight>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.05 do
(loop for x from -2.5 to 0.5 by 0.025 do
(let* ((c (complex x y)) ; parameter
(z (complex 0 0))
(iMax 20) ; maximal number of iterations
(i 0)) ; iteration number
(loop while (< i iMax ) do
(setq z (+ (* z z) c)) ; iteration
(incf i)
(when (> (abs z) 2) (return i)))
; color of pixel
(if (= i iMax) (princ (code-char 42)) ; inside M
(princ (code-char 32))))) ; outside M
(format t "~%")) ; new line
</syntaxhighlight>
Comparison programs in various languages <ref>[http://www.timestretch.com/tag/mandelbrot Fractal Benchmark by Erik Wrenholt]</ref><ref>[http://www.righto.com/2015/03/12-minute-mandelbrot-fractals-on-50.html 12-minute Mandelbrot: fractals on a 50 year old IBM 1401 mainframe]</ref>
==== Graphic file ( PPM ) ====
Here are various programs for creating pbm file <ref>[https://benchmarksgame-team.pages.debian.net/benchmarksgame/description/mandelbrot.html#mandelbrotThe Computer Language Benchmarks Game ]</ref>
* GLSL using [[Fractals/shadertoy#Boolean escape time|shadertoy]]
* short c programs by ed Burke<ref>[https://batchloaf.wordpress.com/2016/02/13/example-code-from-presentation-ways-of-seeing-julia-sets/ example-code-from-presentation-ways-of-seeing-julia-sets by ed Burke]</ref>
=====C=====
This is complete code of C one file program.
*It makes a ppm file which consists an image. To see the file (image) use external application ( graphic viewer).
*Program consists of 3 loops:
** iY and iX, which are used to scan rectangle area of parameter plane
**iterations.
For each point of screen (iX,iY) it's complex value is computed c=cx+cy*i.
For each point c is computed iterations of critical point <math>z_0 = z_{cr} = 0 \,</math>
It uses some [[Fractals/Iterations in the complex plane/Mandelbrot set#Speed improvements - optimisation|speed_improvement]]. Instead of checking :
sqrt(Zx2+Zy2)<ER
it checks :
(Zx2+Zy2)<ER2 // ER2 = ER*ER
It gives the same result but is faster.
<syntaxhighlight lang=C>
/*
c program:
--------------------------------
1. draws Mandelbrot set for Fc(z)=z*z +c
using Mandelbrot algorithm ( boolean escape time )
-------------------------------
2. technique of creating ppm file is based on the code of Claudio Rocchini
http://en.wikipedia.org/wiki/Image:Color_complex_plot.jpg
create 24 bit color graphic file , portable pixmap file = PPM
see http://en.wikipedia.org/wiki/Portable_pixmap
to see the file use external application ( graphic viewer)
*/
#include <stdio.h>
#include <math.h>
int main()
{
/* screen ( integer) coordinate */
int iX,iY;
const int iXmax = 800;
const int iYmax = 800;
/* world ( double) coordinate = parameter plane*/
double Cx,Cy;
const double CxMin=-2.5;
const double CxMax=1.5;
const double CyMin=-2.0;
const double CyMax=2.0;
/* */
double PixelWidth=(CxMax-CxMin)/iXmax;
double PixelHeight=(CyMax-CyMin)/iYmax;
/* color component ( R or G or B) is coded from 0 to 255 */
/* it is 24 bit color RGB file */
const int MaxColorComponentValue=255;
FILE * fp;
char *filename="new1.ppm";
char *comment="# ";/* comment should start with # */
static unsigned char color[3];
/* Z=Zx+Zy*i ; Z0 = 0 */
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
/* */
int Iteration;
const int IterationMax=200;
/* bail-out value , radius of circle ; */
const double EscapeRadius=2;
double ER2=EscapeRadius*EscapeRadius;
/*create new file,give it a name and open it in binary mode */
fp= fopen(filename,"wb"); /* b - binary mode */
/*write ASCII header to the file*/
fprintf(fp,"P6\n %s\n %d\n %d\n %d\n",comment,iXmax,iYmax,MaxColorComponentValue);
/* compute and write image data bytes to the file*/
for(iY=0;iY<iYmax;iY++)
{
Cy=CyMin + iY*PixelHeight;
if (fabs(Cy)< PixelHeight/2) Cy=0.0; /* Main antenna */
for(iX=0;iX<iXmax;iX++)
{
Cx=CxMin + iX*PixelWidth;
/* initial value of orbit = critical point Z= 0 */
Zx=0.0;
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
/* */
for (Iteration=0;Iteration<IterationMax && ((Zx2+Zy2)<ER2);Iteration++)
{
Zy=2*Zx*Zy + Cy;
Zx=Zx2-Zy2 +Cx;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
/* compute pixel color (24 bit = 3 bytes) */
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
else
{ /* exterior of Mandelbrot set = white */
color[0]=255; /* Red*/
color[1]=255; /* Green */
color[2]=255;/* Blue */
};
/*write color to the file*/
fwrite(color,1,3,fp);
}
}
fclose(fp);
return 0;
}
</syntaxhighlight >
===Integer escape time = LSM/M = dwell bands===
<gallery>
File:Mandelbrot seq.png|Number of details is proportional to maximal number of iterations
File:Animation of the growth of the Mandelbrot set as you iterate towards infinity.gif|Mandelbrot animation based on a static number of iterations per pixel. Here you can see why '''offset''' is sometimes used ( because - color gradient changes : for high MaxIteration disapears.
</gallery>
Here color is proportional to last iteration ( of final_n, final iteration).<ref>[http://plus.maths.org/content/computing-mandelbrot-set Computing the Mandelbrot set by Andrew Williams]</ref>
This is also called [[w:Level Set Method|Level Set Method]] ( LSM )
<math>L_n= \{ c : z_n \in T ~~\mbox{and} ~~ z_k \notin T ~~\mbox{where}~~ k<n \}\,</math>
====C====
[[Image:Mandel_lsm_bw.jpg|thumb|LSM/M image with full code in C]]
Difference between Mandelbrot algorithm and LSM/M is in only in part instruction, which computes pixel color of exterior of Mandelbrot set. In LSM/M is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if ((Iteration%2)==0)
{ /* even number = black */
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{/* odd number = white */
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
Here is [[w:C (programming language)|C]] function whithout explicit complex numbers, only doubles:
<syntaxhighlight lang="c">
int GiveEscapeTime(double C_x, double C_y, int iMax, double _ER2)
{
int i;
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
Zx=0.0; /* initial value of orbit = critical point Z= 0 */
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
for (i=0;i<iMax && ((Zx2+Zy2)<_ER2);i++)
{
Zy=2*Zx*Zy + C_y;
Zx=Zx2-Zy2 +C_x;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
return i;
}
</syntaxhighlight>
here a short code with complex numbers:
<syntaxhighlight lang=c>
// https://gitlab.com/adammajewski/mandelbrot_wiki_ACh/blob/master/betm.c
int iterate(double complex C , int iMax)
{
int i;
double complex Z= 0.0; // initial value for iteration Z0
for(i=0;i<iMax;i++)
{
Z=Z*Z+C; // https://stackoverflow.com/questions/6418807/how-to-work-with-complex-numbers-in-c
if(cabs(Z)>EscapeRadius) break;
}
return i;
}
</syntaxhighlight>
====C++====
Here is C++ function which can be used to draw LSM/M :
<syntaxhighlight lang=Cpp>
int iterate_mandel(complex C , int imax, int bailout)
{
int i;
std::complex Z(0,0); // initial value for iteration Z0
for(i=0;i<=imax-1;i++)
{
Z=Z*Z+C; // overloading of operators
if(abs(Z)>bailout)break;
}
return i;
}
</syntaxhighlight>
I think that it can't be coded simpler (it looks better than pseudocode), but it can be coded in other way which can be executed faster .
Here is faster code :
<syntaxhighlight lang=Cpp>
// based on cpp code by Geek3
inline int fractal(double cx, double cy, int max_iters)
// gives last iteration
{
double zx = 0, zy = 0;
if (zx * zx + zy * zy > 4) return(0); // it=0
for (int it = 1; it < max_iters; it++)
{ double zx_old = zx;
zx = zx * zx - zy * zy;
zy = 2 * zx_old * zy;
zx += cx;
zy += cy;
if (zx * zx + zy * zy > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
A touch more optimised :
<syntaxhighlight lang=Cpp>
// optimised from cpp code by Geek3
inline int fractal(double cReal, double cImg, int max_iters)
// gives last iteration
{
double zReal = 0, zImg = 0, zReal2 = 0, zImg2 = 0;
//iteration zero is always 0^2+0^2, it will never escape
for (int it = 1; it < max_iters; it++)
{ //because we have zReal^2 and zImg^2 pre-calculated
//we can calculate zImg first
//then we don't need to calculate/store the "old" zReal
zImg = (2 * zReal * zImg ) + cImg;
zReal = zReal2 - zImg2 + cReal;
// calculate next iteration: zReal^2 and zImg^2
// they are used twice so calculate them once
zReal2 = zReal * zReal;
zImg2 = zImg * zImg;
if (zReal2 + zImg2 > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
See also :
* [https://www.youtube.com/watch?v=nkf6icQln7w Rendering The Mandelbrot Set In C++: Part 1 - Saving Images , Video by Superdavo0001]
====GLSL====
* [[Fractals/shadertoy#LSM|shadertoy]]
====Java ====
<syntaxhighlight lang="java">
//Java code by Josef Jelinek
// http://java.rubikscube.info/
int mandel(double cx, double cy) {
double zx = 0.0, zy = 0.0;
double zx2 = 0.0, zy2 = 0.0;
int iter = 0;
while (iter < iterMax && zx2 + zy2 < 4.0) {
zy = 2.0 * zx * zy + cy;
zx = zx2 - zy2 + cx;
zx2 = zx * zx;
zy2 = zy * zy;
iter++;
}
return iter;
}
</syntaxhighlight>
====Java Script====
Here is JavaScript function which does not give last iteration but LastIteration modulo maxCol. It makes colour cycling ( if maxCol < maxIt ).
<syntaxhighlight lang="javascript">
function iterate(Cr,Ci) {
// JavaScript function by Evgeny Demidov
// http://www.ibiblio.org/e-notes/html5/fractals/mandelbrot.htm
var I=0, R=0, I2=0, R2=0, n=0;
if (R2+I2 > max) return 0;
do { I=(R+R)*I+Ci; R=R2-I2+Cr; R2=R*R; I2=I*I; n++;
} while ((R2+I2 < max) && (n < maxIt) );
if (n == maxIt) return maxCol; else return n % maxCol;
}
</syntaxhighlight>
Above functions do not use explicit definition of [[w:complex number|complex number]].
====Khan Academy====
* [https://www.khanacademy.org/computer-programming/mandelbrot-set/1274517860 khan academy mandelbrot-set]
====Lisp program ====
Whole Lisp program making ASCII graphic based on code by [http://www.frank-buss.de/ Frank Buss]
<ref>[http://groups.google.com/group/comp.lang.lisp/msg/dd505fd509fc8512 LIsp Program by Frank Buss]</ref>
<ref>[http://bc.tech.coop/blog/040811.html Mandelbrot Set ASCII art at Bill Clementson's blog]</ref>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.1 do
(loop for x from -2.5 to 0.5 by 0.04 do
(let* ((i 0)
(z (complex x y))
(c z))
(loop while (< (abs
(setq z (+ (* z z) c)))
2)
while (< (incf i) 32))
(princ (code-char (+ i 32))))) ; ASCII chars <= 32 contains non-printing characters
(format t "~%"))
</syntaxhighlight>
====MathMap plugin for [[GIMP|Gimp]]====
<pre>
filter mandelbrot (gradient coloration)
c=ri:(xy/xy:[X,X]*1.5-xy:[0.5,0]);
z=ri:[0,0]; # initial value z0 = 0
# iteration of z
iter=0;
while abs(z)<2 && iter<31
do
z=z*z+c; # z(n+1) = fc(zn)
iter=iter+1
end;
coloration(iter/32) # color of pixel
end
</pre>
====Pov-Ray====
Pov-Ray has a built-in function mandel<ref>[http://www.povray.org/documentation/view/3.6.1/377/ mandel function from 2.5.11.14 Fractal Patterns at Pov-Ray docs]</ref>
====Wolfram Mathematica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]
===Level Curves of escape time Method = LCM/M===
[[Image:LCMM.jpg|right|thumb|edge detection of Level sets]]
[[Image:Lemniscates5.png|thumb|right|Lemniscates of Mandelbrot set]]
Lemniscates are boundaries of Level Sets of escape time ( LSM/M ). They can be drawn using :
* edge detection of Level sets.
** Algorithm described in paper by M. Romera et al.<ref>[http://www.iec.csic.es/~miguel/Preprint3.ps Drawing the Mandelbrot set by the method of escape lines. M. Romera et al.]</ref> This method is fast and allows looking for high iterations.
*boundary trace<ref>http://www.metabit.org/~rfigura/figura-fractal/math.html boundary trace by Robert Figura</ref>
* drawing curves <math>L_n(T)=\{c: abs(z_n)=ER \}\,</math>, see [[:Image:Lemniscates5.png| explanation and source code]]. This method is very complicated for iterations > 5.
===Decomposition of target set for Mandelbrot set drawing===
Decomposition is modification of escape time algorithm.
The '''target set''' is divided into parts (2 or more).
Very large escape radius is used, for example ER = 12.
====Binary decomposition of LSM/M====
[[Image:Mandel_bd.png|thumb|binary decomposition: image with full code in C]]
Here target set <math>T\,</math> on dynamic plane is divided into 2 parts (binary decomposition = 2-decomposition ):
* upper half ( white) <math>T_u = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) > 0\}\,</math>
* lower half (black) <math>T_l = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) \le 0 \}\,</math>
Division of target set induces decomposition of level sets <math>L_n\,</math> into <math>2^{n+1}\,</math> parts ( cells, subsets):
* <math>L_{n,u} =\{ c: |z_n| > ER ~~\mbox{and}~~ Im (z_n) > 0 \}\,</math> which is colored white,
* <math>L_{n,l} = \{ c : |z_n| > ER ~~\mbox{and}~~ Im (z_n) \le 0 \}\,</math> which is colored black.
"The Level Sets and Field Lines are superimposed, creating a sort of grid, and the "squares" of the grid are filled with N-digit binary numbers giving the first N binary digits of the external angles of field lines passing through the square. (Alternately, only the Nth binary digit is used.) Each level set is divided into 2n squares. It is easy to "read" the external arguments of points in the boundary of the Mandelbrot Set using a binary decomposition." Robert P. Munafo
For binary decomposition use exp(pi) as escape radius, so that the boxes appear square (a tip from mrob).
External rays of angles (measured in turns):
<math>angle = (k / 2^n ) ~~\mbox{mod }~1\,</math>
can be seen as borders of subsets.
Difference between binary decomposition algorithm and Mandel or LSM/M is in only in part of instruction , which computes pixel color of exterior of Mandelbrot set. In binary decomposition is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if (Zy>0)
{
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
also GLSL code from [[Fractals/fragmentarium|Fragmentarium]] :
<syntaxhighlight lang=GLSL>
#include "2D.frag"
#group Simple Mandelbrot
// maximal number of iterations
uniform int iMax; slider[1,100,1000] // increase iMax
// er2= er^2 wher er= escape radius = bailout
uniform float er2; slider[4.0,1000,10000] // increase er2
// compute color of pixel
vec3 color(vec2 c) {
vec2 z = vec2(0.0); // initial value
// iteration
for (int i = 0; i < iMax; i++) {
z = vec2(z.x*z.x-z.y*z.y,2*z.x*z.y) + c; // z= z^2+c
if (dot(z,z)> er2) // escape test
// exterior
if (z.x>0){ return vec3( 1.0);} // upper part of the target set
else return vec3(0.0); //lower part of the target set
}
return vec3(0.0); //interior
}
</syntaxhighlight>
<syntaxhighlight lang=GLSL>
// zoomasm -- zoom video assembler
// (c) 2019,2020,2021,2022 Claude Heiland-Allen
// SPDX-License-Identifier: AGPL-3.0-only
// recommended KF bailout settings: linear smoothing, custom radius 25
vec3 colour(void)
{
if (getInterior())
{
return vec3(1.0, 0.0, 0.0);
}
bool decomp = getT() < 0.5;
return vec3(decomp ? 0.0 : 1.0);
}
</syntaxhighlight>
Point c is plotting white or black if [[w:complex number|imaginary value]] of last iteration ( Zy) is positive or negative.<ref>http://web.archive.org/20010415125044/www.geocities.com/CapeCanaveral/Launchpad/5113/fr27.htm| An open letter to Dr. Meech from Joyce Haslam in FRACTAL REPORT 27</ref>
==== nth-decomposition ====
This method is extension of binary decomposition.
The target set T = { z : |zn| > R } with a very large escape radius ( for example R = 12 ) is divided into more than 2 parts ( for example 8).<ref>[http://fraktal.republika.pl/mset_decomposition.html mandelbrot set n-th-decomposition ]</ref>
===Real Escape Time===
Other names of this method/algorithm are :
* the fully-renormalized fractional iteration count ( by Linas Vepstas in 1997)<ref>[http://linas.org/art-gallery/escape/escape.html linas.org : Renormalizing the Mandelbrot Escape]</ref>
* smooth iteration count for generalized Mandelbrot sets ( by Inigo Quilez in 2016)<ref>[http://www.iquilezles.org/www/articles/mset_smooth/mset_smooth.htm I Quilez : mset_smooth]</ref>
* continuous iteration count for the Mandelbrot set
* Normalized Iteration Count Algorithm
* Continuous coloring
* smooth colour gradient
* fractional iterations
* fractional escape time
Here color of exterior of Mandelbrot set is proportional not to Last Iteration ( which is integer number) but to real number :
: <math>\nu(z) = \lim_{i \to \infty} (i - \log_2 \log_2 |z_i|)\,</math>
Other methods and speedups
Colouring formula in Ultrafractal :<ref>[http://www.fractalforums.com/programming/what-rangeprecision-for-fractional-escape-counts-for-mandelbrotjulia-sets/ fractalforums : What range/precision for fractional escape counts for Mandelbrot/Julia sets? ]</ref>
smooth iter = iter + 1 + ( log(log(bailout)-log(log(cabs(z))) )/log(2)
where :
* log(log(bailout) can be precalculated
*
====theory====
Description by Claude :
'''First description :'''
If R is large, the first z to escape satisfies (approximately)<ref>[https://fractalforums.org/noobs-corner/76/gradient-pallet-with-two-colors/4498 fractalforums : gradient-pallet-with-two-colors]</ref>
<math>R < |z| < R^p</math>
so taking logs
<math>\log(R) < \log(|z|) < p \log(R)</math>
so taking logs again
<math>\log(\log(R)) < \log(\log(|z|)) < \log(p) + \log(\log(R))</math>
so by algebra
<math>0 < \frac{\log(\log(|z|)) - \log(\log(R))}{\log(p)} < 1</math>
when <math>|z|</math> at escape is bigger, the smooth iteration count should be smaller, so this value needs to be subtracted from the integer iteration count
Alternatively this fraction can be used for interpolation, or used with arg(z) for exterior tiling / binary decomposition.
'''Second description'''<ref>[https://fractalforums.org/programming/11/can-anyone-help-me-understand-smooth-coloring/4597/msg37885 fractalforums.org : can-anyone-help-me-understand-smooth-coloring]</ref>
pick a radius R > 2, then |Z| > R implies that |Z^2 + C| > |Z| and more generally that |Z| -> infinity, this gives R the name escape radius. proof is on math.stackexchange.com somewhere
now suppose R is large, and n is the first iteration where |Z_n| > R.
consider what happens when |Z_n| increases as you move the point C a bit further from the Mandelbrot set boundary.
eventually |Z_n| > R^2, but then |Z_{n-1}| > R, so the iteration count should be n - 1.
for smoothing, we want a value to add to n that is 0 when |Z_n| = R and -1 when |Z_n| = R^2.
taking logs, get log |Z| is between log(R) and 2 log(R)
taking logs again, get log log |Z| is between log log R and log log R + log 2
dividing by log 2, get log_2 log |Z| is between log_2 log R and log_2 log R + 1
subtracting log_2 log R gives (log_2 log |Z| - log_2 log R) is between 0 and 1
negating it gives a value between 0 and -1, as desired
so the smooth iteration count is
<math>n - (log_2 log |Z| - log_2 log R)</math>
(replace 2 by P if you do Z^P + C)
see also http://linas.org/art-gallery/escape/escape.html which makes a value independent of R, but that is not so useful for some colouring algorithms (e.g. smooth part of escape count doesn't align with angle of final iterate)
====C====
To use log2 function add :
<nowiki> #include <math.h> </nowiki>
at the beginning of program.
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set */
else GiveRainbowColor((double)(Iteration- log2(log2(sqrt(Zx2+Zy2))))/IterationMax,color);
</syntaxhighlight>
where :
* Zx2 = Zx*Zx
* Zy2 = Zy*Zy
Here is another version by Tony Finch<ref>[http://dotat.at/prog/mandelbrot/ Making Mandelbrot Set Movies by Tony Finch]</ref>
<syntaxhighlight lang=C>
while (n++ < max &&
x2+y2 < inf) {
y = 2*x*y + b;
x = x2-y2 + a;
y2 = y*y;
x2 = x*x;
}
nu = n - log(log(x2+y2)/2)/ log(2);
</syntaxhighlight >
based on equation <ref>[http://linas.org/art-gallery/escape/escape.html Linas Vepstas. Renormalizing the mandelbrot escape.]</ref>
: <math>\nu(z) = n - \log_2 \log (z_n)\,</math>
====C++====
<syntaxhighlight lang=cpp>
// based on cpp code by Geek3 from http://en.wikibooks.org/wiki/File:Mandelbrot_set_rainbow_colors.png
sqrxy = x * x + y * y;
double m = LastIteration + 1.5 - log2(log2(sqrxy));
</syntaxhighlight>
====java====
<syntaxhighlight lang=java>
/**
Smooth coloring algorithm
https://gitlab.com/shreyas.siravara/mandelbrot-with-smooth-coloring/blob/master/Mandelbrot.java
Mandelbrot with Smooth Coloring by Shreyas Siravara
*/
double nsmooth = (iterations + 1 - Math.log(Math.log(Zn.getMagnitude())) / Math.log(ESCAPE_RADIUS));
double smoothcolor = nsmooth / MAX_ITERATIONS;
if (iterations < MAX_ITERATIONS) {
int rgb = Color.HSBtoRGB((float) (0.99f + 1.9 * smoothcolor), 0.9f, 0.9f);
g2d.setColor(new Color(rgb));
} else {
g2d.setColor(Color.black.darker());
}
</syntaxhighlight>
====Matemathica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]. It uses different formula :
<math>cet = n + log_2ln(R) - log_2ln|z|</math>
====Python====
Python code using mpmath library<ref>[http://code.google.com/p/mpmath/ mpmath Python library]</ref>
<syntaxhighlight lang=python>
def mandelbrot(z):
c = z
for i in xrange(ITERATIONS):
zprev = z
z = z*z + c
if abs(z) > ESCAPE_RADIUS:
return ctx.exp(1j*(i + 1 - ctx.log(ctx.log(abs(z)))/ctx.log(2)))
return 0
</syntaxhighlight>
==Distance estimation DEM/M==
<gallery>
File:Demm_2000_Mandelbrot_set.jpg|Exterior DEM/M
File:Boundary mandelbrot set.png|simple boundary with DEM/M
File:Mandelbrot DEM Sobel.png|Boundary with DEM/M and Sobel filter
</gallery>
Variants :
* exterior DEM/M
* interior DEM/M
[[Fractals/Iterations in the complex plane/demm|Description]]
==Complex potential==
[[Fractals/Iterations_in_the_complex_plane/MandelbrotSetExteriorComplex_potential|Description]]
=See also=
* https://web.archive.org/web/20071008112609/http://rgba.scenesp.org/iq/trastero/fieldlines/
* http://fraktal.republika.pl/mset_bottcher.html
=References=
<references/>
{{BookCat}}
7jnsu7thmflbkp056kcxiyxwbh2cd4f
4639891
4639890
2026-06-11T10:15:47Z
Aokoroko
3059689
/* Mandelbrot CLI: Renderer with 5000-bit and Perturbation Theory */
4639891
wikitext
text/x-wiki
[[Fractals/color_mandelbrot|Colouring]] of exterior of Mandelbrot set can be :
* non-smooth = Escape Time = dwell
** Boolean/binary Escape Time Method ( bETM/M )
** discrete = Level Set Method = LSM/M = integer ETM = iETM/M
* Smooth :
** radial measures
*** Real Escape Time Method( rETM/M )
*** Distance Estimation Method( DEM/M )
*** radius of complex potential = Complex Potential Method ( CPM/M )
** angular measures
*** argument of complex potential
*** SAC = stripe average coloring
*** other
**** "triangle inequality"<ref>[http://www.hiddendimension.com/fractalmath/divergent_fractals_main.html Mathematics of Divergent Fractals by ]</ref><ref>[http://jussiharkonen.com/gallery/coloring-techniques/ jussi harkonen : coloring-techniques]</ref>
**** Orbit trap <ref>[[w:Orbit trap|wikipedia : Orbit trap]]</ref><ref>[https://www.youtube.com/watch?v=tnMNamKPy6k Mandelbrot Orbit Trap Rendering! Programming How-To Video by DKM101]</ref>
One can also draw curves :
* external rays
* equipotential lines ( closed curves - quasi circles)
Similar projects:
* [http://mathr.co.uk/blog/2014-03-06_mandelbrot_notebook.html Mandelbrot Notebook by Claude Heiland-Allen ]
** [https://code.mathr.co.uk/mandelbrot-book mandelbrot-book]
** [https://gitlab.com/adammajewski/mandelbrot-book_book mandelbrot-book/book : one file c programs , images and description]
** [https://gitlab.com/adammajewski/my-book fork of the mandelbrot-book] and [https://gitlab.com/adammajewski/git-book-pdf book in pdf format]
* [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Main_Page different drawing techniques and algorithms by Arnaud Cheritat ]
** [https://www.math.univ-toulouse.fr/~cheritat/wiki-draw/index.php/Mandelbrot_set Mandelbrot set] and [https://gitlab.com/adammajewski/mandelbrot_wiki_ACh example C programs ( not by A Cheritat)]
* Linas Vepstas' Art Gallery:
** [http://linas.org/art-gallery/index.html original site]
** [https://gitlab.com/adammajewski/LinasArtGallery_MandelbrotSet fork at gitlab]
== Mandelbrot CLI: Renderer with 5000-bit and Perturbation Theory ==
Key Features:
High-Precision Reference: The 5000-bit reference trajectory is computed exactly once per zoom layer.
Hardware-Native Performance: Blazing-fast math for billions of pixels utilizing hardware-native double registers.
Innovative Algorithm: Revolutionary Reference Reset to Zero implementation.
True 8x8 SSAA: Pristine, anti-aliased image quality with 64 independent samples per pixel.
OpenMP Multi-threading: High-speed parallel computing to maximize CPU utilization.
<gallery>
File:Mandelbrot_Set_Image_106.png|The 5000-bit reference trajectory is computed exactly once per zoom layer.
</gallery>
<syntaxhighlight lang=cpp>
/*
* Original project:
* https://github.com/Divetoxx/Mandelbrot
*/
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#include <cstdint>
#include <string>
#include <atomic>
#include <omp.h>
#include <cstdio>
#include <iomanip>
#include <gmp.h>
#include <mpfr.h>
using namespace std;
const double PI = 3.14159265358979323846;
const mpfr_prec_t MPFR_BITS = 5000;
#pragma pack(push, 1)
struct BMPHeader {
uint16_t type{0x4D42};
uint32_t size{0};
uint16_t reserved1{0};
uint16_t reserved2{0};
uint32_t offBits{54};
uint32_t structSize{40};
int32_t width{0};
int32_t height{0};
uint16_t planes{1};
uint16_t bitCount{24};
uint32_t compression{0};
uint32_t sizeImage{0};
int32_t xpelsPerMeter{2834};
int32_t ypelsPerMeter{2834};
uint32_t clrUsed{0};
uint32_t clrImportant{0};
};
#pragma pack(pop)
struct ComplexDouble {
double re;
double im;
};
void save_bmp(const string& filename, const vector<uint8_t>& data, int w, int h) {
int rowSize = (w * 3 + 3) & ~3;
BMPHeader header;
header.width = w;
header.height = h;
header.sizeImage = rowSize * h;
header.size = header.sizeImage + 54;
ofstream f(filename, ios::binary);
f.write(reinterpret_cast<char*>(&header), 54);
f.write(reinterpret_cast<const char*>(data.data()), data.size());
f.close();
}
int main() {
string absc_str, ordi_str, size_str;
absc_str = "-1.7491976289657893741942376816272921165326158557416159";
ordi_str = "-0.00000042530777152440422725855012159249401150956515248";
size_str = "0.00000000000000000000000000000000000000000000000000431";
const int targetW = 10000;
const int targetH = 10000;
const int scale = 8;
const int rawW = targetW * scale;
const int rawH = targetH * scale;
cout << "Step 1: Calculating Raw Map (" << rawW << "x" << rawH << ") using Perturbation..." << endl;
vector<uint8_t> iterMap((size_t)rawW * rawH);
mpfr_t rx, ry, zr, zi, zr2, zi2, tmp, sz, st;
mpfr_inits2(MPFR_BITS, rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
mpfr_set_str(rx, absc_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(ry, ordi_str.c_str(), 10, MPFR_RNDN);
mpfr_set_str(sz, size_str.c_str(), 10, MPFR_RNDN);
mpfr_div_ui(st, sz, rawW, MPFR_RNDN);
double step_d = mpfr_get_d(st, MPFR_RNDN);
double ref_rec_d = mpfr_get_d(rx, MPFR_RNDN);
double ref_imc_d = mpfr_get_d(ry, MPFR_RNDN);
vector<ComplexDouble> ref_orbit_double(50005);
mpfr_set_ui(zr, 0, MPFR_RNDN);
mpfr_set_ui(zi, 0, MPFR_RNDN);
mpfr_set_ui(zr2, 0, MPFR_RNDN);
mpfr_set_ui(zi2, 0, MPFR_RNDN);
uint32_t ref_i = 0;
bool escaped = false;
while (ref_i < 50000) {
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
mpfr_mul(tmp, zr, zi, MPFR_RNDN);
mpfr_mul_ui(zi, tmp, 2, MPFR_RNDN);
mpfr_add(zi, zi, ry, MPFR_RNDN);
mpfr_sub(zr, zr2, zi2, MPFR_RNDN);
mpfr_add(zr, zr, rx, MPFR_RNDN);
mpfr_mul(zr2, zr, zr, MPFR_RNDN);
mpfr_mul(zi2, zi, zi, MPFR_RNDN);
if (escaped) {
ref_i++;
break;
}
mpfr_add(tmp, zr2, zi2, MPFR_RNDN);
if (mpfr_cmp_d(tmp, 4.0) >= 0) {
escaped = true;
}
ref_i++;
}
ref_orbit_double[ref_i].re = mpfr_get_d(zr, MPFR_RNDN);
ref_orbit_double[ref_i].im = mpfr_get_d(zi, MPFR_RNDN);
uint32_t max_valid_ref_iter = ref_i;
mpfr_clears(rx, ry, zr, zi, zr2, zi2, tmp, sz, st, NULL);
atomic<int> linesDone{0};
#pragma omp parallel for schedule(dynamic)
for (size_t b = 0; b < (size_t)rawH; ++b) {
for (size_t a = 0; a < (size_t)rawW; ++a) {
double delta_rec = (double)((long long)a - (rawW / 2)) * step_d;
double delta_imc = (double)((long long)b - (rawH / 2)) * step_d;
uint32_t index = 0;
double delta_re = 0.0;
double delta_im = 0.0;
double z_re = 0.0;
double z_im = 0.0;
uint32_t i = 0;
const ComplexDouble* ref_ptr = ref_orbit_double.data();
while (i < max_valid_ref_iter) {
if ((z_re * z_re + z_im * z_im) >= 40000.0) {
break;
}
if ((z_re * z_re + z_im * z_im) < (delta_re * delta_re + delta_im * delta_im)) {
index = 0;
delta_re = z_re;
delta_im = z_im;
}
for (int step = 0; step < 2; ++step) {
double Ur = ref_ptr[index].re;
double Ui = ref_ptr[index].im;
double next_delta_im = 2.0 * Ur * delta_im + 2.0 * Ui * delta_re + 2.0 * delta_re * delta_im + delta_imc;
delta_re = 2.0 * Ur * delta_re - 2.0 * Ui * delta_im + delta_re * delta_re - delta_im * delta_im + delta_rec;
delta_im = next_delta_im;
index++;
}
z_re = ref_ptr[index].re + delta_re;
z_im = ref_ptr[index].im + delta_im;
i += 2;
}
int final_t = 50000 - i;
if (final_t == 0) {
iterMap[b * (size_t)rawW + a] = 255;
} else {
iterMap[b * (size_t)rawW + a] = (uint8_t)(final_t % 254);
}
}
if (++linesDone % 100 == 0) cout << "Progress: " << linesDone << "/" << rawH << "\r" << flush;
}
uint8_t pal[256][3];
for (int a = 0; a < 255; ++a) {
pal[a][0] = (uint8_t)round(127.0 + 127.0 * cos(2.0 * PI * a / 255.0)); // Blue
pal[a][1] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Green
pal[a][2] = (uint8_t)round(127.0 + 127.0 * sin(2.0 * PI * a / 255.0)); // Red
}
pal[255][0] = 255; pal[255][1] = 255; pal[255][2] = 255;
cout << "\nStep 2: Rendering frames..." << endl;
int rowSize = (targetW * 3 + 3) & ~3;
for (int frame = 0; frame < 255; ++frame) {
vector<uint8_t> frameData(rowSize * targetH);
#pragma omp parallel for schedule(static)
for (int y = 0; y < targetH; ++y) {
for (int x = 0; x < targetW; ++x) {
uint32_t rSum = 0, gSum = 0, bSum = 0;
for (int j = 0; j < scale; ++j) {
size_t mapRowIdx = (size_t)(y * scale + j) * rawW;
for (int i = 0; i < scale; ++i) {
uint8_t t = iterMap[mapRowIdx + (x * scale + i)];
int colorIdx;
if (t == 255) {
colorIdx = 255;
} else {
colorIdx = (t - frame + 255) % 255;
}
bSum += pal[colorIdx][0];
gSum += pal[colorIdx][1];
rSum += pal[colorIdx][2];
}
}
int outIdx = y * rowSize + x * 3;
frameData[outIdx + 0] = (uint8_t)(bSum >> 6);
frameData[outIdx + 1] = (uint8_t)(gSum >> 6);
frameData[outIdx + 2] = (uint8_t)(rSum >> 6);
}
}
string filename = "Mandelbrot" + to_string(1000 + frame).substr(1) + ".bmp";
save_bmp(filename, frameData, targetW, targetH);
cout << "Frame " << frame << "/254 saved. \r" << flush;
}
return 0;
}
</syntaxhighlight>
=='''Escape time''' or dwell==
Here for given point c on parameter plane one checks how critical point <math> z = 0.0 </math> behaves on dynamical plane under [[Fractals/Iterations in the complex plane/q-iterations#Forward iteration|forward iteration]]. If you change initial point you will get different result <ref>[http://mathesim.degruyter.de/jws_en/show_simulation.php?id=1052&type=RoessMa&lang=en Java program by Dieter Röß showing result of changing initial point of Mandelbrot iterations]</ref>
To draw given plane one needs to [[Fractals/Computer graphic techniques/2D#Scanning|check/scan]] (all) its points. See [[Fractals/Iterations in the complex plane/Mandelbrot set#Period detection|here for more details ( optimisation)]]
Read [[Fractals/Iterations in the complex plane/def cqp|definitions]] first.
===How to find the number of iterations required to escape the mandelbrot set ?===
* [https://math.stackexchange.com/questions/4056809/is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb/4059340 math.stackexchange question: is-there-an-equation-for-the-number-of-iterations-required-to-escape-the-mandelb]
* [https://math.stackexchange.com/questions/16970/a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?rq=1 math.stackexchange question: a-way-to-determine-the-ideal-number-of-maximum-iterations-for-an-arbitrary-zoom?]
===Boolean escape time ===
This algorithm answers the question: “For which values of c will the Julia fractal, J(c), be line-like and for which dust-like?”<ref>[https://www.ntg.nl/maps/45/03.pdf Julia fractals in PostScript by Kees van der Laan, EUROTEX 2012 & 6CM PROCEEDINGS 47]</ref>
Here complex plane consists of 2 sets : Mandelbrot set <math>M\,</math> and its complement <math>M^c\,</math> :
<math>\mathbb{C}= M \cup M^c</math>
====ASCI graphic ( on screen) ====
[[File:Mandel.png|right|thumb|ASCI graphic : Boolean escape time in text mode]]
<syntaxhighlight lang=c>
// http://mrl.nyu.edu/~perlin/
main(k){float i,j,r,x,y=-16;while(puts(""),y++<15)for(x
=0;x++<84;putchar(" .:-;!/>)|&IH%*#"[k&15]))for(i=k=r=0;
j=r*r-i*i-2+x/25,i=2*r*i+y/10,j*j+i*i<11&&k++<111;r=j);}
</syntaxhighlight>
<syntaxhighlight lang=haskell>
-- Haskell code by Ochronus
-- http://blog.mostof.it/mandelbrot-set-in-ruby-and-haskell/
import Data.Complex
mandelbrot a = iterate (\z -> z^2 + a) a !! 500
main = mapM_ putStrLn [[if magnitude (mandelbrot (x :+ y)) < 2 then '*' else ' '
| x <- [-2, -1.9685 .. 0.5]]
| y <- [1, 0.95 .. -1]]
</syntaxhighlight>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.05 do
(loop for x from -2.5 to 0.5 by 0.025 do
(let* ((c (complex x y)) ; parameter
(z (complex 0 0))
(iMax 20) ; maximal number of iterations
(i 0)) ; iteration number
(loop while (< i iMax ) do
(setq z (+ (* z z) c)) ; iteration
(incf i)
(when (> (abs z) 2) (return i)))
; color of pixel
(if (= i iMax) (princ (code-char 42)) ; inside M
(princ (code-char 32))))) ; outside M
(format t "~%")) ; new line
</syntaxhighlight>
Comparison programs in various languages <ref>[http://www.timestretch.com/tag/mandelbrot Fractal Benchmark by Erik Wrenholt]</ref><ref>[http://www.righto.com/2015/03/12-minute-mandelbrot-fractals-on-50.html 12-minute Mandelbrot: fractals on a 50 year old IBM 1401 mainframe]</ref>
==== Graphic file ( PPM ) ====
Here are various programs for creating pbm file <ref>[https://benchmarksgame-team.pages.debian.net/benchmarksgame/description/mandelbrot.html#mandelbrotThe Computer Language Benchmarks Game ]</ref>
* GLSL using [[Fractals/shadertoy#Boolean escape time|shadertoy]]
* short c programs by ed Burke<ref>[https://batchloaf.wordpress.com/2016/02/13/example-code-from-presentation-ways-of-seeing-julia-sets/ example-code-from-presentation-ways-of-seeing-julia-sets by ed Burke]</ref>
=====C=====
This is complete code of C one file program.
*It makes a ppm file which consists an image. To see the file (image) use external application ( graphic viewer).
*Program consists of 3 loops:
** iY and iX, which are used to scan rectangle area of parameter plane
**iterations.
For each point of screen (iX,iY) it's complex value is computed c=cx+cy*i.
For each point c is computed iterations of critical point <math>z_0 = z_{cr} = 0 \,</math>
It uses some [[Fractals/Iterations in the complex plane/Mandelbrot set#Speed improvements - optimisation|speed_improvement]]. Instead of checking :
sqrt(Zx2+Zy2)<ER
it checks :
(Zx2+Zy2)<ER2 // ER2 = ER*ER
It gives the same result but is faster.
<syntaxhighlight lang=C>
/*
c program:
--------------------------------
1. draws Mandelbrot set for Fc(z)=z*z +c
using Mandelbrot algorithm ( boolean escape time )
-------------------------------
2. technique of creating ppm file is based on the code of Claudio Rocchini
http://en.wikipedia.org/wiki/Image:Color_complex_plot.jpg
create 24 bit color graphic file , portable pixmap file = PPM
see http://en.wikipedia.org/wiki/Portable_pixmap
to see the file use external application ( graphic viewer)
*/
#include <stdio.h>
#include <math.h>
int main()
{
/* screen ( integer) coordinate */
int iX,iY;
const int iXmax = 800;
const int iYmax = 800;
/* world ( double) coordinate = parameter plane*/
double Cx,Cy;
const double CxMin=-2.5;
const double CxMax=1.5;
const double CyMin=-2.0;
const double CyMax=2.0;
/* */
double PixelWidth=(CxMax-CxMin)/iXmax;
double PixelHeight=(CyMax-CyMin)/iYmax;
/* color component ( R or G or B) is coded from 0 to 255 */
/* it is 24 bit color RGB file */
const int MaxColorComponentValue=255;
FILE * fp;
char *filename="new1.ppm";
char *comment="# ";/* comment should start with # */
static unsigned char color[3];
/* Z=Zx+Zy*i ; Z0 = 0 */
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
/* */
int Iteration;
const int IterationMax=200;
/* bail-out value , radius of circle ; */
const double EscapeRadius=2;
double ER2=EscapeRadius*EscapeRadius;
/*create new file,give it a name and open it in binary mode */
fp= fopen(filename,"wb"); /* b - binary mode */
/*write ASCII header to the file*/
fprintf(fp,"P6\n %s\n %d\n %d\n %d\n",comment,iXmax,iYmax,MaxColorComponentValue);
/* compute and write image data bytes to the file*/
for(iY=0;iY<iYmax;iY++)
{
Cy=CyMin + iY*PixelHeight;
if (fabs(Cy)< PixelHeight/2) Cy=0.0; /* Main antenna */
for(iX=0;iX<iXmax;iX++)
{
Cx=CxMin + iX*PixelWidth;
/* initial value of orbit = critical point Z= 0 */
Zx=0.0;
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
/* */
for (Iteration=0;Iteration<IterationMax && ((Zx2+Zy2)<ER2);Iteration++)
{
Zy=2*Zx*Zy + Cy;
Zx=Zx2-Zy2 +Cx;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
/* compute pixel color (24 bit = 3 bytes) */
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
else
{ /* exterior of Mandelbrot set = white */
color[0]=255; /* Red*/
color[1]=255; /* Green */
color[2]=255;/* Blue */
};
/*write color to the file*/
fwrite(color,1,3,fp);
}
}
fclose(fp);
return 0;
}
</syntaxhighlight >
===Integer escape time = LSM/M = dwell bands===
<gallery>
File:Mandelbrot seq.png|Number of details is proportional to maximal number of iterations
File:Animation of the growth of the Mandelbrot set as you iterate towards infinity.gif|Mandelbrot animation based on a static number of iterations per pixel. Here you can see why '''offset''' is sometimes used ( because - color gradient changes : for high MaxIteration disapears.
</gallery>
Here color is proportional to last iteration ( of final_n, final iteration).<ref>[http://plus.maths.org/content/computing-mandelbrot-set Computing the Mandelbrot set by Andrew Williams]</ref>
This is also called [[w:Level Set Method|Level Set Method]] ( LSM )
<math>L_n= \{ c : z_n \in T ~~\mbox{and} ~~ z_k \notin T ~~\mbox{where}~~ k<n \}\,</math>
====C====
[[Image:Mandel_lsm_bw.jpg|thumb|LSM/M image with full code in C]]
Difference between Mandelbrot algorithm and LSM/M is in only in part instruction, which computes pixel color of exterior of Mandelbrot set. In LSM/M is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if ((Iteration%2)==0)
{ /* even number = black */
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{/* odd number = white */
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
Here is [[w:C (programming language)|C]] function whithout explicit complex numbers, only doubles:
<syntaxhighlight lang="c">
int GiveEscapeTime(double C_x, double C_y, int iMax, double _ER2)
{
int i;
double Zx, Zy;
double Zx2, Zy2; /* Zx2=Zx*Zx; Zy2=Zy*Zy */
Zx=0.0; /* initial value of orbit = critical point Z= 0 */
Zy=0.0;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
for (i=0;i<iMax && ((Zx2+Zy2)<_ER2);i++)
{
Zy=2*Zx*Zy + C_y;
Zx=Zx2-Zy2 +C_x;
Zx2=Zx*Zx;
Zy2=Zy*Zy;
};
return i;
}
</syntaxhighlight>
here a short code with complex numbers:
<syntaxhighlight lang=c>
// https://gitlab.com/adammajewski/mandelbrot_wiki_ACh/blob/master/betm.c
int iterate(double complex C , int iMax)
{
int i;
double complex Z= 0.0; // initial value for iteration Z0
for(i=0;i<iMax;i++)
{
Z=Z*Z+C; // https://stackoverflow.com/questions/6418807/how-to-work-with-complex-numbers-in-c
if(cabs(Z)>EscapeRadius) break;
}
return i;
}
</syntaxhighlight>
====C++====
Here is C++ function which can be used to draw LSM/M :
<syntaxhighlight lang=Cpp>
int iterate_mandel(complex C , int imax, int bailout)
{
int i;
std::complex Z(0,0); // initial value for iteration Z0
for(i=0;i<=imax-1;i++)
{
Z=Z*Z+C; // overloading of operators
if(abs(Z)>bailout)break;
}
return i;
}
</syntaxhighlight>
I think that it can't be coded simpler (it looks better than pseudocode), but it can be coded in other way which can be executed faster .
Here is faster code :
<syntaxhighlight lang=Cpp>
// based on cpp code by Geek3
inline int fractal(double cx, double cy, int max_iters)
// gives last iteration
{
double zx = 0, zy = 0;
if (zx * zx + zy * zy > 4) return(0); // it=0
for (int it = 1; it < max_iters; it++)
{ double zx_old = zx;
zx = zx * zx - zy * zy;
zy = 2 * zx_old * zy;
zx += cx;
zy += cy;
if (zx * zx + zy * zy > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
A touch more optimised :
<syntaxhighlight lang=Cpp>
// optimised from cpp code by Geek3
inline int fractal(double cReal, double cImg, int max_iters)
// gives last iteration
{
double zReal = 0, zImg = 0, zReal2 = 0, zImg2 = 0;
//iteration zero is always 0^2+0^2, it will never escape
for (int it = 1; it < max_iters; it++)
{ //because we have zReal^2 and zImg^2 pre-calculated
//we can calculate zImg first
//then we don't need to calculate/store the "old" zReal
zImg = (2 * zReal * zImg ) + cImg;
zReal = zReal2 - zImg2 + cReal;
// calculate next iteration: zReal^2 and zImg^2
// they are used twice so calculate them once
zReal2 = zReal * zReal;
zImg2 = zImg * zImg;
if (zReal2 + zImg2 > 4.0) return(it);
}
return(max_iters);
}
</syntaxhighlight>
See also :
* [https://www.youtube.com/watch?v=nkf6icQln7w Rendering The Mandelbrot Set In C++: Part 1 - Saving Images , Video by Superdavo0001]
====GLSL====
* [[Fractals/shadertoy#LSM|shadertoy]]
====Java ====
<syntaxhighlight lang="java">
//Java code by Josef Jelinek
// http://java.rubikscube.info/
int mandel(double cx, double cy) {
double zx = 0.0, zy = 0.0;
double zx2 = 0.0, zy2 = 0.0;
int iter = 0;
while (iter < iterMax && zx2 + zy2 < 4.0) {
zy = 2.0 * zx * zy + cy;
zx = zx2 - zy2 + cx;
zx2 = zx * zx;
zy2 = zy * zy;
iter++;
}
return iter;
}
</syntaxhighlight>
====Java Script====
Here is JavaScript function which does not give last iteration but LastIteration modulo maxCol. It makes colour cycling ( if maxCol < maxIt ).
<syntaxhighlight lang="javascript">
function iterate(Cr,Ci) {
// JavaScript function by Evgeny Demidov
// http://www.ibiblio.org/e-notes/html5/fractals/mandelbrot.htm
var I=0, R=0, I2=0, R2=0, n=0;
if (R2+I2 > max) return 0;
do { I=(R+R)*I+Ci; R=R2-I2+Cr; R2=R*R; I2=I*I; n++;
} while ((R2+I2 < max) && (n < maxIt) );
if (n == maxIt) return maxCol; else return n % maxCol;
}
</syntaxhighlight>
Above functions do not use explicit definition of [[w:complex number|complex number]].
====Khan Academy====
* [https://www.khanacademy.org/computer-programming/mandelbrot-set/1274517860 khan academy mandelbrot-set]
====Lisp program ====
Whole Lisp program making ASCII graphic based on code by [http://www.frank-buss.de/ Frank Buss]
<ref>[http://groups.google.com/group/comp.lang.lisp/msg/dd505fd509fc8512 LIsp Program by Frank Buss]</ref>
<ref>[http://bc.tech.coop/blog/040811.html Mandelbrot Set ASCII art at Bill Clementson's blog]</ref>
<syntaxhighlight lang=lisp>
; common lisp
(loop for y from -1.5 to 1.5 by 0.1 do
(loop for x from -2.5 to 0.5 by 0.04 do
(let* ((i 0)
(z (complex x y))
(c z))
(loop while (< (abs
(setq z (+ (* z z) c)))
2)
while (< (incf i) 32))
(princ (code-char (+ i 32))))) ; ASCII chars <= 32 contains non-printing characters
(format t "~%"))
</syntaxhighlight>
====MathMap plugin for [[GIMP|Gimp]]====
<pre>
filter mandelbrot (gradient coloration)
c=ri:(xy/xy:[X,X]*1.5-xy:[0.5,0]);
z=ri:[0,0]; # initial value z0 = 0
# iteration of z
iter=0;
while abs(z)<2 && iter<31
do
z=z*z+c; # z(n+1) = fc(zn)
iter=iter+1
end;
coloration(iter/32) # color of pixel
end
</pre>
====Pov-Ray====
Pov-Ray has a built-in function mandel<ref>[http://www.povray.org/documentation/view/3.6.1/377/ mandel function from 2.5.11.14 Fractal Patterns at Pov-Ray docs]</ref>
====Wolfram Mathematica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]
===Level Curves of escape time Method = LCM/M===
[[Image:LCMM.jpg|right|thumb|edge detection of Level sets]]
[[Image:Lemniscates5.png|thumb|right|Lemniscates of Mandelbrot set]]
Lemniscates are boundaries of Level Sets of escape time ( LSM/M ). They can be drawn using :
* edge detection of Level sets.
** Algorithm described in paper by M. Romera et al.<ref>[http://www.iec.csic.es/~miguel/Preprint3.ps Drawing the Mandelbrot set by the method of escape lines. M. Romera et al.]</ref> This method is fast and allows looking for high iterations.
*boundary trace<ref>http://www.metabit.org/~rfigura/figura-fractal/math.html boundary trace by Robert Figura</ref>
* drawing curves <math>L_n(T)=\{c: abs(z_n)=ER \}\,</math>, see [[:Image:Lemniscates5.png| explanation and source code]]. This method is very complicated for iterations > 5.
===Decomposition of target set for Mandelbrot set drawing===
Decomposition is modification of escape time algorithm.
The '''target set''' is divided into parts (2 or more).
Very large escape radius is used, for example ER = 12.
====Binary decomposition of LSM/M====
[[Image:Mandel_bd.png|thumb|binary decomposition: image with full code in C]]
Here target set <math>T\,</math> on dynamic plane is divided into 2 parts (binary decomposition = 2-decomposition ):
* upper half ( white) <math>T_u = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) > 0\}\,</math>
* lower half (black) <math>T_l = \{ z : |z| > ER ~~\mbox{and}~~ Im (z) \le 0 \}\,</math>
Division of target set induces decomposition of level sets <math>L_n\,</math> into <math>2^{n+1}\,</math> parts ( cells, subsets):
* <math>L_{n,u} =\{ c: |z_n| > ER ~~\mbox{and}~~ Im (z_n) > 0 \}\,</math> which is colored white,
* <math>L_{n,l} = \{ c : |z_n| > ER ~~\mbox{and}~~ Im (z_n) \le 0 \}\,</math> which is colored black.
"The Level Sets and Field Lines are superimposed, creating a sort of grid, and the "squares" of the grid are filled with N-digit binary numbers giving the first N binary digits of the external angles of field lines passing through the square. (Alternately, only the Nth binary digit is used.) Each level set is divided into 2n squares. It is easy to "read" the external arguments of points in the boundary of the Mandelbrot Set using a binary decomposition." Robert P. Munafo
For binary decomposition use exp(pi) as escape radius, so that the boxes appear square (a tip from mrob).
External rays of angles (measured in turns):
<math>angle = (k / 2^n ) ~~\mbox{mod }~1\,</math>
can be seen as borders of subsets.
Difference between binary decomposition algorithm and Mandel or LSM/M is in only in part of instruction , which computes pixel color of exterior of Mandelbrot set. In binary decomposition is :
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set = LSM */
else if (Zy>0)
{
color[0]=0; /* Red */
color[1]=0; /* Green */
color[2]=0; /* Blue */
}
else
{
color[0]=255; /* Red */
color[1]=255; /* Green */
color[2]=255; /* Blue */
};
</syntaxhighlight>
also GLSL code from [[Fractals/fragmentarium|Fragmentarium]] :
<syntaxhighlight lang=GLSL>
#include "2D.frag"
#group Simple Mandelbrot
// maximal number of iterations
uniform int iMax; slider[1,100,1000] // increase iMax
// er2= er^2 wher er= escape radius = bailout
uniform float er2; slider[4.0,1000,10000] // increase er2
// compute color of pixel
vec3 color(vec2 c) {
vec2 z = vec2(0.0); // initial value
// iteration
for (int i = 0; i < iMax; i++) {
z = vec2(z.x*z.x-z.y*z.y,2*z.x*z.y) + c; // z= z^2+c
if (dot(z,z)> er2) // escape test
// exterior
if (z.x>0){ return vec3( 1.0);} // upper part of the target set
else return vec3(0.0); //lower part of the target set
}
return vec3(0.0); //interior
}
</syntaxhighlight>
<syntaxhighlight lang=GLSL>
// zoomasm -- zoom video assembler
// (c) 2019,2020,2021,2022 Claude Heiland-Allen
// SPDX-License-Identifier: AGPL-3.0-only
// recommended KF bailout settings: linear smoothing, custom radius 25
vec3 colour(void)
{
if (getInterior())
{
return vec3(1.0, 0.0, 0.0);
}
bool decomp = getT() < 0.5;
return vec3(decomp ? 0.0 : 1.0);
}
</syntaxhighlight>
Point c is plotting white or black if [[w:complex number|imaginary value]] of last iteration ( Zy) is positive or negative.<ref>http://web.archive.org/20010415125044/www.geocities.com/CapeCanaveral/Launchpad/5113/fr27.htm| An open letter to Dr. Meech from Joyce Haslam in FRACTAL REPORT 27</ref>
==== nth-decomposition ====
This method is extension of binary decomposition.
The target set T = { z : |zn| > R } with a very large escape radius ( for example R = 12 ) is divided into more than 2 parts ( for example 8).<ref>[http://fraktal.republika.pl/mset_decomposition.html mandelbrot set n-th-decomposition ]</ref>
===Real Escape Time===
Other names of this method/algorithm are :
* the fully-renormalized fractional iteration count ( by Linas Vepstas in 1997)<ref>[http://linas.org/art-gallery/escape/escape.html linas.org : Renormalizing the Mandelbrot Escape]</ref>
* smooth iteration count for generalized Mandelbrot sets ( by Inigo Quilez in 2016)<ref>[http://www.iquilezles.org/www/articles/mset_smooth/mset_smooth.htm I Quilez : mset_smooth]</ref>
* continuous iteration count for the Mandelbrot set
* Normalized Iteration Count Algorithm
* Continuous coloring
* smooth colour gradient
* fractional iterations
* fractional escape time
Here color of exterior of Mandelbrot set is proportional not to Last Iteration ( which is integer number) but to real number :
: <math>\nu(z) = \lim_{i \to \infty} (i - \log_2 \log_2 |z_i|)\,</math>
Other methods and speedups
Colouring formula in Ultrafractal :<ref>[http://www.fractalforums.com/programming/what-rangeprecision-for-fractional-escape-counts-for-mandelbrotjulia-sets/ fractalforums : What range/precision for fractional escape counts for Mandelbrot/Julia sets? ]</ref>
smooth iter = iter + 1 + ( log(log(bailout)-log(log(cabs(z))) )/log(2)
where :
* log(log(bailout) can be precalculated
*
====theory====
Description by Claude :
'''First description :'''
If R is large, the first z to escape satisfies (approximately)<ref>[https://fractalforums.org/noobs-corner/76/gradient-pallet-with-two-colors/4498 fractalforums : gradient-pallet-with-two-colors]</ref>
<math>R < |z| < R^p</math>
so taking logs
<math>\log(R) < \log(|z|) < p \log(R)</math>
so taking logs again
<math>\log(\log(R)) < \log(\log(|z|)) < \log(p) + \log(\log(R))</math>
so by algebra
<math>0 < \frac{\log(\log(|z|)) - \log(\log(R))}{\log(p)} < 1</math>
when <math>|z|</math> at escape is bigger, the smooth iteration count should be smaller, so this value needs to be subtracted from the integer iteration count
Alternatively this fraction can be used for interpolation, or used with arg(z) for exterior tiling / binary decomposition.
'''Second description'''<ref>[https://fractalforums.org/programming/11/can-anyone-help-me-understand-smooth-coloring/4597/msg37885 fractalforums.org : can-anyone-help-me-understand-smooth-coloring]</ref>
pick a radius R > 2, then |Z| > R implies that |Z^2 + C| > |Z| and more generally that |Z| -> infinity, this gives R the name escape radius. proof is on math.stackexchange.com somewhere
now suppose R is large, and n is the first iteration where |Z_n| > R.
consider what happens when |Z_n| increases as you move the point C a bit further from the Mandelbrot set boundary.
eventually |Z_n| > R^2, but then |Z_{n-1}| > R, so the iteration count should be n - 1.
for smoothing, we want a value to add to n that is 0 when |Z_n| = R and -1 when |Z_n| = R^2.
taking logs, get log |Z| is between log(R) and 2 log(R)
taking logs again, get log log |Z| is between log log R and log log R + log 2
dividing by log 2, get log_2 log |Z| is between log_2 log R and log_2 log R + 1
subtracting log_2 log R gives (log_2 log |Z| - log_2 log R) is between 0 and 1
negating it gives a value between 0 and -1, as desired
so the smooth iteration count is
<math>n - (log_2 log |Z| - log_2 log R)</math>
(replace 2 by P if you do Z^P + C)
see also http://linas.org/art-gallery/escape/escape.html which makes a value independent of R, but that is not so useful for some colouring algorithms (e.g. smooth part of escape count doesn't align with angle of final iterate)
====C====
To use log2 function add :
<nowiki> #include <math.h> </nowiki>
at the beginning of program.
<syntaxhighlight lang=C>
if (Iteration==IterationMax)
{ /* interior of Mandelbrot set = black */
color[0]=0;
color[1]=0;
color[2]=0;
}
/* exterior of Mandelbrot set */
else GiveRainbowColor((double)(Iteration- log2(log2(sqrt(Zx2+Zy2))))/IterationMax,color);
</syntaxhighlight>
where :
* Zx2 = Zx*Zx
* Zy2 = Zy*Zy
Here is another version by Tony Finch<ref>[http://dotat.at/prog/mandelbrot/ Making Mandelbrot Set Movies by Tony Finch]</ref>
<syntaxhighlight lang=C>
while (n++ < max &&
x2+y2 < inf) {
y = 2*x*y + b;
x = x2-y2 + a;
y2 = y*y;
x2 = x*x;
}
nu = n - log(log(x2+y2)/2)/ log(2);
</syntaxhighlight >
based on equation <ref>[http://linas.org/art-gallery/escape/escape.html Linas Vepstas. Renormalizing the mandelbrot escape.]</ref>
: <math>\nu(z) = n - \log_2 \log (z_n)\,</math>
====C++====
<syntaxhighlight lang=cpp>
// based on cpp code by Geek3 from http://en.wikibooks.org/wiki/File:Mandelbrot_set_rainbow_colors.png
sqrxy = x * x + y * y;
double m = LastIteration + 1.5 - log2(log2(sqrxy));
</syntaxhighlight>
====java====
<syntaxhighlight lang=java>
/**
Smooth coloring algorithm
https://gitlab.com/shreyas.siravara/mandelbrot-with-smooth-coloring/blob/master/Mandelbrot.java
Mandelbrot with Smooth Coloring by Shreyas Siravara
*/
double nsmooth = (iterations + 1 - Math.log(Math.log(Zn.getMagnitude())) / Math.log(ESCAPE_RADIUS));
double smoothcolor = nsmooth / MAX_ITERATIONS;
if (iterations < MAX_ITERATIONS) {
int rgb = Color.HSBtoRGB((float) (0.99f + 1.9 * smoothcolor), 0.9f, 0.9f);
g2d.setColor(new Color(rgb));
} else {
g2d.setColor(Color.black.darker());
}
</syntaxhighlight>
====Matemathica====
Here is [http://www.bugman123.com/Fractals/index.html code by Paul Nylander]. It uses different formula :
<math>cet = n + log_2ln(R) - log_2ln|z|</math>
====Python====
Python code using mpmath library<ref>[http://code.google.com/p/mpmath/ mpmath Python library]</ref>
<syntaxhighlight lang=python>
def mandelbrot(z):
c = z
for i in xrange(ITERATIONS):
zprev = z
z = z*z + c
if abs(z) > ESCAPE_RADIUS:
return ctx.exp(1j*(i + 1 - ctx.log(ctx.log(abs(z)))/ctx.log(2)))
return 0
</syntaxhighlight>
==Distance estimation DEM/M==
<gallery>
File:Demm_2000_Mandelbrot_set.jpg|Exterior DEM/M
File:Boundary mandelbrot set.png|simple boundary with DEM/M
File:Mandelbrot DEM Sobel.png|Boundary with DEM/M and Sobel filter
</gallery>
Variants :
* exterior DEM/M
* interior DEM/M
[[Fractals/Iterations in the complex plane/demm|Description]]
==Complex potential==
[[Fractals/Iterations_in_the_complex_plane/MandelbrotSetExteriorComplex_potential|Description]]
=See also=
* https://web.archive.org/web/20071008112609/http://rgba.scenesp.org/iq/trastero/fieldlines/
* http://fraktal.republika.pl/mset_bottcher.html
=References=
<references/>
{{BookCat}}
h2b866jopco4uq7o5vjwbpn5udcl7p1
User:PeterEasthope/sandbox
2
382752
4639817
4639534
2026-06-10T19:25:04Z
PeterEasthope
660399
Fixed the link to youtube for bare X86 PC.
4639817
wikitext
text/x-wiki
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
|1=Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
|2=[[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon. [[w:Oberon_(operating_system)#Native_Oberon|Wikipedia]] 
|3=[https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]. [[Oberon/ETH_Oberon/install|ETHZ, real diskettes]]. [[Oberon/ETH_Oberon/QEMUinstall|Hypervisor with diskette images]]. [https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials at YouTube]<ref name="YouTube"/>
|4=100px}}
{{User:PeterEasthope/ThreeBoxes
| [[w:X86|X86 PC]] with [[w:MS-DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge] and [https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:X86|X86 PC]]
| DOS Oberon System3, Version 2.0.
| [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge] and [https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/> including [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| [http://www.modulaware.com/zel/aos/ modulaware.com]. [http://www.modulaware.com/zel/aos/ OpenVMS Alpha]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| [http://oberon.wikidot.com/ P. Matthias]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| [http://www.mathematik.uni-ulm.de/oberon/ftp/ HTTP server] at [[w:University_of_Ulm|UUlm]]. [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/> at [https://ssw.jku.at/Research/Projects/Oberon.html JKU Linz]. [https://sourceforge.net/projects/oberon/files/ SourceForge]. [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]. [https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
| 120px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]].
| [http://blackboxframework.org/index.php <!-- ?cID=goto-download-page --> BB Community download area].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github]<br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| Josef Templ, [https://github.com/jtempl/ofront/ github]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| [https://ecs.openbrace.org/releases/ Releases] and [https://ecs.openbrace.org/manual User Manual].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| Various Oberon dialects. [https://github.com/Oleg-N-Cher/OfrontPlus/ github]
| 100px}}
exp46timu19ac0meqgzdgu6kyk15nmv
4639821
4639817
2026-06-10T19:51:40Z
PeterEasthope
660399
Removed redundant line.
4639821
wikitext
text/x-wiki
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
|1=Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
|2=[[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon. [[w:Oberon_(operating_system)#Native_Oberon|Wikipedia]] 
|3=[https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]. [[Oberon/ETH_Oberon/install|ETHZ, real diskettes]]. [[Oberon/ETH_Oberon/QEMUinstall|Hypervisor with diskette images]]. [https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials at YouTube]<ref name="YouTube"/>
|4=100px}}
{{User:PeterEasthope/ThreeBoxes
| [[w:X86|X86 PC]] with [[w:MS-DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge] and [https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/> including [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| [http://www.modulaware.com/zel/aos/ modulaware.com]. [http://www.modulaware.com/zel/aos/ OpenVMS Alpha]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| [http://oberon.wikidot.com/ P. Matthias]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| [http://www.mathematik.uni-ulm.de/oberon/ftp/ HTTP server] at [[w:University_of_Ulm|UUlm]]. [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/> at [https://ssw.jku.at/Research/Projects/Oberon.html JKU Linz]. [https://sourceforge.net/projects/oberon/files/ SourceForge]. [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]. [https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
| 120px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]].
| [http://blackboxframework.org/index.php <!-- ?cID=goto-download-page --> BB Community download area].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github]<br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| Josef Templ, [https://github.com/jtempl/ofront/ github]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| [https://ecs.openbrace.org/releases/ Releases] and [https://ecs.openbrace.org/manual User Manual].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| Various Oberon dialects. [https://github.com/Oleg-N-Cher/OfrontPlus/ github]
| 100px}}
9p7jt3ultydu0qfu4mndhop1babuscj
4639822
4639821
2026-06-10T19:56:01Z
PeterEasthope
660399
Consolidated redundant links.
4639822
wikitext
text/x-wiki
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
|1=Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
|2=[[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon. [[w:Oberon_(operating_system)#Native_Oberon|Wikipedia]] 
|3=[https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]. [[Oberon/ETH_Oberon/install|ETHZ, real diskettes]]. [[Oberon/ETH_Oberon/QEMUinstall|Hypervisor with diskette images]]. [https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials at YouTube]<ref name="YouTube"/>
|4=100px}}
{{User:PeterEasthope/ThreeBoxes
| [[w:X86|X86 PC]] with [[w:MS-DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge] and [https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/> including [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| [http://www.modulaware.com/zel/aos/ modulaware.com, OpenVMS Alpha]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| [http://oberon.wikidot.com/ P. Matthias]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| [http://www.mathematik.uni-ulm.de/oberon/ftp/ HTTP server] at [[w:University_of_Ulm|UUlm]]. [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/> at [https://ssw.jku.at/Research/Projects/Oberon.html JKU Linz]. [https://sourceforge.net/projects/oberon/files/ SourceForge]. [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]. [https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
| 120px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]].
| [http://blackboxframework.org/index.php <!-- ?cID=goto-download-page --> BB Community download area].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github]<br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| Josef Templ, [https://github.com/jtempl/ofront/ github]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| [https://ecs.openbrace.org/releases/ Releases] and [https://ecs.openbrace.org/manual User Manual].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| Various Oberon dialects. [https://github.com/Oleg-N-Cher/OfrontPlus/ github]
| 100px}}
aww2f31j1gsf8ls7uycw8yx9mthz9gn
4639823
4639822
2026-06-10T20:08:30Z
PeterEasthope
660399
Removed dead link.
4639823
wikitext
text/x-wiki
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
|1=Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
|2=[[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon. [[w:Oberon_(operating_system)#Native_Oberon|Wikipedia]] 
|3=[https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]. [[Oberon/ETH_Oberon/install|ETHZ, real diskettes]]. [[Oberon/ETH_Oberon/QEMUinstall|Hypervisor with diskette images]]. [https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials at YouTube]<ref name="YouTube"/>
|4=100px}}
{{User:PeterEasthope/ThreeBoxes
| [[w:X86|X86 PC]] with [[w:MS-DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge] and [https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/> including [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| [http://www.modulaware.com/zel/aos/ modulaware.com, OpenVMS Alpha]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| [http://oberon.wikidot.com/ P. Matthias]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/> at [https://ssw.jku.at/Research/Projects/Oberon.html JKU Linz]. [https://sourceforge.net/projects/oberon/files/ SourceForge]. [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]. [https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
| 120px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]].
| [http://blackboxframework.org/index.php <!-- ?cID=goto-download-page --> BB Community download area].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github]<br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| Josef Templ, [https://github.com/jtempl/ofront/ github]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| [https://ecs.openbrace.org/releases/ Releases] and [https://ecs.openbrace.org/manual User Manual].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| Various Oberon dialects. [https://github.com/Oleg-N-Cher/OfrontPlus/ github]
| 100px}}
0n49rflcwwg4x9tcvkb3u9ugdg7usle
4639827
4639823
2026-06-10T20:28:18Z
PeterEasthope
660399
Removed redundant link.
4639827
wikitext
text/x-wiki
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
|1=Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
|2=[[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon. [[w:Oberon_(operating_system)#Native_Oberon|Wikipedia]] 
|3=[https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]. [[Oberon/ETH_Oberon/install|ETHZ, real diskettes]]. [[Oberon/ETH_Oberon/QEMUinstall|Hypervisor with diskette images]]. [https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials at YouTube]<ref name="YouTube"/>
|4=100px}}
{{User:PeterEasthope/ThreeBoxes
| [[w:X86|X86 PC]] with [[w:MS-DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge] and [https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/> including [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| [http://www.modulaware.com/zel/aos/ modulaware.com, OpenVMS Alpha]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| [http://oberon.wikidot.com/ P. Matthias]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/>. [https://sourceforge.net/projects/oberon/files/ SourceForge]. [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]. [https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
| 120px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]].
| [http://blackboxframework.org/index.php <!-- ?cID=goto-download-page --> BB Community download area].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github]<br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| Josef Templ, [https://github.com/jtempl/ofront/ github]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| [https://ecs.openbrace.org/releases/ Releases] and [https://ecs.openbrace.org/manual User Manual].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| Various Oberon dialects. [https://github.com/Oleg-N-Cher/OfrontPlus/ github]
| 100px}}
3kbjaydleopaeejn29wt1t5fn1v8bsv
4639828
4639827
2026-06-10T20:45:45Z
PeterEasthope
660399
Updated link for BB Component builder download.
4639828
wikitext
text/x-wiki
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
|1=Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
|2=[[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon. [[w:Oberon_(operating_system)#Native_Oberon|Wikipedia]] 
|3=[https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]. [[Oberon/ETH_Oberon/install|ETHZ, real diskettes]]. [[Oberon/ETH_Oberon/QEMUinstall|Hypervisor with diskette images]]. [https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials at YouTube]<ref name="YouTube"/>
|4=100px}}
{{User:PeterEasthope/ThreeBoxes
| [[w:X86|X86 PC]] with [[w:MS-DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge] and [https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/> including [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| [http://www.modulaware.com/zel/aos/ modulaware.com, OpenVMS Alpha]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| [http://oberon.wikidot.com/ P. Matthias]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/>. [https://sourceforge.net/projects/oberon/files/ SourceForge]. [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]. [https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
| 120px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]].
| [https://github.com/BlackBoxCenter BB Component Builder download].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github]<br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| Josef Templ, [https://github.com/jtempl/ofront/ github]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| [https://ecs.openbrace.org/releases/ Releases] and [https://ecs.openbrace.org/manual User Manual].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| Various Oberon dialects. [https://github.com/Oleg-N-Cher/OfrontPlus/ github]
| 100px}}
nlfe6skjmvd35qia7dx8xsicmv5qfec
4639831
4639828
2026-06-10T21:02:45Z
PeterEasthope
660399
Small clarification.
4639831
wikitext
text/x-wiki
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
|1=Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
|2=[[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon. [[w:Oberon_(operating_system)#Native_Oberon|Wikipedia]] 
|3=[https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]. [[Oberon/ETH_Oberon/install|ETHZ, real diskettes]]. [[Oberon/ETH_Oberon/QEMUinstall|Hypervisor with diskette images]]. [https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials at YouTube]<ref name="YouTube"/>
|4=100px}}
{{User:PeterEasthope/ThreeBoxes
| [[w:X86|X86 PC]] with [[w:MS-DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge] and [https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/> including [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| [http://www.modulaware.com/zel/aos/ modulaware.com, OpenVMS Alpha]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| [http://oberon.wikidot.com/ P. Matthias]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/>. [https://sourceforge.net/projects/oberon/files/ SourceForge]. [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]. [https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
| 120px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]].
| [https://github.com/BlackBoxCenter BB Component Builder download].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github]<br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| Josef Templ, [https://github.com/jtempl/ofront/ github]
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| [https://ecs.openbrace.org/releases/ Releases] and [https://ecs.openbrace.org/manual User Manual].
| 100px}}
{{b:User:PeterEasthope/ThreeBoxes
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| [https://github.com/Oleg-N-Cher/OfrontPlus/ OfrontPlus at github] for various Oberon dialects.
| 100px}}
nvdgzwrg3heqfckcl1c2sttjxxnldoo
4639834
4639831
2026-06-10T21:31:39Z
PeterEasthope
660399
Reduced heights of boxes.
4639834
wikitext
text/x-wiki
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
|1=Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
|2=[[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon. [[w:Oberon_(operating_system)#Native_Oberon|Wikipedia]] 
|3=[https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]. [[Oberon/ETH_Oberon/install|ETHZ, real diskettes]]. [[Oberon/ETH_Oberon/QEMUinstall|Hypervisor with diskette images]]. [https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials at YouTube]<ref name="YouTube"/>
|4=90px}}
{{User:PeterEasthope/ThreeBoxes
| [[w:X86|X86 PC]] with [[w:MS-DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge] and [https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| 50px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/> including [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt].
| 25px}}
{{b:User:PeterEasthope/ThreeBoxes
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| [http://www.modulaware.com/zel/aos/ modulaware.com, OpenVMS Alpha]
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| [http://oberon.wikidot.com/ P. Matthias]
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/>. [https://sourceforge.net/projects/oberon/files/ SourceForge]. [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]. [https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
| 65px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]].
| [https://github.com/BlackBoxCenter BB Component Builder download].
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github]<br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 65px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| Josef Templ, [https://github.com/jtempl/ofront/ github]
| 25px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| [https://ecs.openbrace.org/releases/ Releases] and [https://ecs.openbrace.org/manual User Manual].
| 25px}}
{{b:User:PeterEasthope/ThreeBoxes
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| [https://github.com/Oleg-N-Cher/OfrontPlus/ OfrontPlus at github] for various Oberon dialects.
| 45px}}
ian5q1bdqfst78visozj97v9bn07oxa
4639880
4639834
2026-06-11T03:18:29Z
PeterEasthope
660399
Created the list of systems having source texts in Active Oberon.
4639880
wikitext
text/x-wiki
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
| Bare [[w:X86|X86 PC]]
| [[Oberon/A2|A2 = AOS = Bluebottle]]. [[w:Bluebottle_OS|Bluebottle in Wikipedia]]
| [https://sourceforge.net/projects/a2oberon/files/ SourceForge]<br>[[Oberon/A2#The_A2_Repository|Contemporary instructions]]<ref name="portability"/>
| 50px}}
{{User:PeterEasthope/ThreeBoxes
| X86 PC with Solaris,<br>Linux or MacOSX (Darwin).
| [[Oberon/A2#Installing_and_Running_UnixAOS|UnixAos = UnixA2]]
| [http://www.informatik.uni-bremen.de/~fld/UnixAos/Readme.txt Uni-Bremen, G. Feldmann]
| 50px}}
{{User:PeterEasthope/ThreeBoxes
| X86 PC with A2 or UnixA2 or WinA2
| [[Oberon/A2#Oberon_Subsystem|Oberon subsystem of A2]]
| Included in A2, UnixA2 and WinA2
| 50px}}
eyxzrgj17ex190sv37kgjh6ll1fczcx
4639881
4639880
2026-06-11T03:35:30Z
PeterEasthope
660399
Improved the link to contemporary instructions.
4639881
wikitext
text/x-wiki
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
| Bare [[w:X86|X86 PC]]
| [[Oberon/A2|A2 = AOS = Bluebottle]].<br>[[w:Bluebottle_OS|Bluebottle in Wikipedia]]
| [https://sourceforge.net/projects/a2oberon/files/ SourceForge]<br>[[Oberon/A2#Installing_and_Running_UnixAOS|Contemporary instructions]]<ref name="portability"/>
| 50px}}
{{User:PeterEasthope/ThreeBoxes
| X86 PC with Solaris,<br>Linux or MacOSX (Darwin).
| [[Oberon/A2#Installing_and_Running_UnixAOS|UnixAos = UnixA2]]
| [http://www.informatik.uni-bremen.de/~fld/UnixAos/Readme.txt Uni-Bremen, G. Feldmann]
| 50px}}
{{User:PeterEasthope/ThreeBoxes
| X86 PC with A2 or UnixA2 or WinA2
| [[Oberon/A2#Oberon_Subsystem|Oberon subsystem of A2]]
| Included in A2, UnixA2 and WinA2
| 50px}}
3f66s6tvbi9sm68zh8zafv9a8xxldf0
Wikibooks:Edit filter/False positives
4
396216
4639885
4638311
2026-06-11T08:10:42Z
ArchiverBot
1227662
Bot: Archiving 2 threads (older than 75 days) to [[Wikibooks:Edit filter/False positives/Archive 4]]
4639885
wikitext
text/x-wiki
__NONEWSECTIONLINK__ __NOINDEX__ {{Wikibooks:Edit filter/False positives/Header}} {{shortcut|WB:EFFP}} {{User:MiszaBot/config
|archive = Wikibooks:Edit filter/False positives/Archive %(counter)d
|algo = old(75d)
|counter = 4
|maxarchivesize = 150K
|minthreadstoarchive = 1
|minthreadsleft = 3
}}
== ~2026-21344-85 ==
;Username
: [[:b:User:~2026-21344-85|~2026-21344-85]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:~2026-21344-85|discuss]]
|[[:b:Special:Emailuser/~2026-21344-85|email]]
|[[:b:Special:Contributions/~2026-21344-85|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:~2026-21344-85}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:~2026-21344-85}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=%7E2026-21344-85}} filter log]</span>)
;Page you were editing
: [[I am looking to link the youtube videos corresponding to each episode]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=I+am+looking+to+link+the+youtube+videos+corresponding+to+each+episode}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=I+am+looking+to+link+the+youtube+videos+corresponding+to+each+episode&wpSearchUser=%7E2026-21344-85}} user filter log])</span>
;Description
:
;Date and time
: 04:47, 12 April 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== ~2026-21344-85 ==
;Username
: [[:b:User:~2026-21344-85|~2026-21344-85]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:~2026-21344-85|discuss]]
|[[:b:Special:Emailuser/~2026-21344-85|email]]
|[[:b:Special:Contributions/~2026-21344-85|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:~2026-21344-85}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:~2026-21344-85}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=%7E2026-21344-85}} filter log]</span>)
;Page you were editing
: [[SJMFTVF/sandbox (keep as sandbox, is for Screen Junkies Movie Fights & TV Fights)]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=SJMFTVF%2Fsandbox+%28keep+as+sandbox%2C+is+for+Screen+Junkies+Movie+Fights+%26+TV+Fights%29}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=SJMFTVF%2Fsandbox+%28keep+as+sandbox%2C+is+for+Screen+Junkies+Movie+Fights+%26+TV+Fights%29&wpSearchUser=%7E2026-21344-85}} user filter log])</span>
;Description
: Looking to update info for about 80 episodes, including links to the associated youtube videos. This has been done for previous episode summaries. Also, I have no way to prove this, but I am the creator of the page. I don't have access to the email associated with the SJMFTVF account anymore.
;Date and time
: 06:56, 12 April 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== ~2026-22598-75 ==
;Username
: [[:b:User:~2026-22598-75|~2026-22598-75]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:~2026-22598-75|discuss]]
|[[:b:Special:Emailuser/~2026-22598-75|email]]
|[[:b:Special:Contributions/~2026-22598-75|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:~2026-22598-75}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:~2026-22598-75}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=%7E2026-22598-75}} filter log]</span>)
;Page you were editing
: [[History Books/Who Was Alexander the Great/Introduction]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=History+Books%2FWho+Was+Alexander+the+Great%2FIntroduction}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=History+Books%2FWho+Was+Alexander+the+Great%2FIntroduction&wpSearchUser=%7E2026-22598-75}} user filter log])</span>
;Description
: The page was tagged for speedy deletion due to being a subpage of a nonexistent book, but I have since created the parent books. However, it won’t let me remove the tag, now that the problem has been addressed.
Leave the rest of this page intact. -->
;Date and time
: 17:39, 12 April 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|done}} – [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 22:15, 12 April 2026 (UTC)
== Idavidmiller ==
;Username
: [[:b:User:Idavidmiller|Idavidmiller]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:Idavidmiller|discuss]]
|[[:b:Special:Emailuser/Idavidmiller|email]]
|[[:b:Special:Contributions/Idavidmiller|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:Idavidmiller}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:Idavidmiller}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=Idavidmiller}} filter log]</span>)
;Page you were editing
: [[Maxima/Installation]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=Maxima%2FInstallation}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=Maxima%2FInstallation&wpSearchUser=Idavidmiller}} user filter log])</span>
;Description
: Revising this page as it is way too complex for the intended audience. The external links prevent copying extensive sections from project installation instruction pages.
;Date and time
: 15:10, 20 April 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: <span class="template-ping">@[[:User:Idavidmiller|Idavidmiller]]:</span> I temporarily granted you confirmed user access so that the filter should not prevent you. It's in effect until Thursday, 10:14 AM CDT/15:14 UTC. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:16, 21 April 2026 (UTC)
== Usp4pg ==
;Username
: [[:b:User:Usp4pg|Usp4pg]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:Usp4pg|discuss]]
|[[:b:Special:Emailuser/Usp4pg|email]]
|[[:b:Special:Contributions/Usp4pg|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:Usp4pg}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:Usp4pg}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=Usp4pg}} filter log]</span>)
;Page you were editing
: [[Lentis/AI: More Human Than You Think]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=Lentis%2FAI%3A+More+Human+Than+You+Think}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=Lentis%2FAI%3A+More+Human+Than+You+Think&wpSearchUser=Usp4pg}} user filter log])</span>
;Description
: It is saying the edits I am making are unconstructive even though I added actual content to prevent it from falsely deleting the page. It will not allow me to publish changes. This is for a class project, and I am just starting to get the skeleton done.
;Date and time
: 14:56, 21 April 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|done}} <span class="template-ping">@[[:User:Usp4pg|Usp4pg]]:</span> I removed the tag as it was not a test page. – [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:12, 21 April 2026 (UTC)
== LeventBulut ==
;Username
: [[:b:User:LeventBulut|LeventBulut]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:LeventBulut|discuss]]
|[[:b:Special:Emailuser/LeventBulut|email]]
|[[:b:Special:Contributions/LeventBulut|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:LeventBulut}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:LeventBulut}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=LeventBulut}} filter log]</span>)
;Page you were editing
: [[Objective Projection: Why the Brain Never Forgets Some Stories]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=Objective+Projection%3A+Why+the+Brain+Never+Forgets+Some+Stories}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=Objective+Projection%3A+Why+the+Brain+Never+Forgets+Some+Stories&wpSearchUser=LeventBulut}} user filter log])</span>
;Description
: I am the author of the Objective Projection methodology. I was trying to add a legitimate educational book to Wikibooks under CC BY-SA 4.0. The filter blocked my edits twice — once for external links, once for content volume. All content is my own original work written specifically for Wikibooks. The Turkish version of the same book is already live on tr.wikibooks.org Open license declaration at leventbulut.com/acik-lisans-bildirimi-wikibooks/
;Date and time
: 06:35, 25 April 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: [[User:LeventBulut|LeventBulut]], the filters were working as intended, but I can adjust them. However, I've temporarily given you confirmed user access until 2026-04-29. Please note that this will exclude you from some commonly-hit filters, but not all of them to be exact. Thank you. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:07, 26 April 2026 (UTC)
== SHE-LOVES-BRIAN ==
;Username
: [[:b:User:SHE-LOVES-BRIAN|SHE-LOVES-BRIAN]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:SHE-LOVES-BRIAN|discuss]]
|[[:b:Special:Emailuser/SHE-LOVES-BRIAN|email]]
|[[:b:Special:Contributions/SHE-LOVES-BRIAN|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:SHE-LOVES-BRIAN}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:SHE-LOVES-BRIAN}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=SHE-LOVES-BRIAN}} filter log]</span>)
;Page you were editing
: Page not specified
;Description
:
;Date and time
: 14:35, 5 May 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== ~2026-32360-90 ==
{{subst:False positive |skipusername=yes
<!-- Do not edit above this line -->
| page = Chess Opening Theory/1. e4/1...e5/2. Bc4/2...Bc5/3. Qh5/3...Qe7
<!-- Immediately above this line, indicate what page you were editing/moving – just the name of the page, not the URL or any description please. -->
| description = Trying to add a language ([[fi:Shakki/rnb1k1nr;ppppqppp;8;2b1p2Q;2B1P3;8;PPPP1PPP;RNB1K1NR w KQkq) was being flagged as unconstructive by the edit filter.
<!-- Immediately above this line, describe what you were trying to do. Do not add your signature, please.
Leave the rest of this page intact. -->}}
nkhadqkku3u9qfx2v9zl3wptxx03z0p
Mirad Grammar/Vocabulary Formation
0
417655
4639812
4639371
2026-06-10T17:02:35Z
Tyoyafud
6233
/* Product Names */
4639812
wikitext
text/x-wiki
{{TOC right|limit=3}}
== Introduction ==
: In order to facilitate word-building and to maximize comprehension and decipherability of words, certain meanings and functions have been attached to consonants and vowels.
: The vocabulary of Mirad is composed of '''''base words''''' and '''''derived words'''''.
: The vocabulary is built on '''''base words''''', that is, indivisible, building-block words. The choice of the root of these words (formed generally from two or three letters) is determined by:
::* The meaning of each letter of the word.
::* The importance of the group of ideas that this word evokes in its proper sense and in the sense that is directly opposite it, eg.: ''fixed'' vs. ''variable''.
::* How frequently the word and its derivations are used in the language.
::* The geometric system of vocabulary construction (see a later section on what this is all about).
::* The logic of its composition.
::* The mnemonic associations this word suggests.
: The words derived from base words in turn follow very simple laws called '''''vocabulary-building rules''''', which are spelled out below.
== Base Words ==
: '''''Base words''''' are elements of vocabulary that cannot be broken down any further and which serve as the basis for many derived words in the language. Base words are divided into two groups:
::* Group 1: consisting of '''''nouns'''''
::* Group 2: consisting of '''''prepositions, adjectives, adverbs, conjunctions, determiners, and verbs'''''.
== Base words of Group 1 ==
: Base words of Group 1 (nouns) are composed of three letters:
:::* The first, a consonant called the '''''classifier'''''
:::* The second, a vowel called the '''''ordinal'''''
:::* The third, a consonant called the '''''generic'''''
These words can be thought of as noun templates.
:: Examples:
{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em"
|+ Base Word Composition
|-
! Classifier !! Ordinal !! Generic !! Meaning
|-
| '''t''' || '''o''' || '''b''' || ''man''
|-
| '''d''' || '''o''' || '''t''' || ''society''
|-
| '''p''' || '''o''' || '''t''' || ''animal''
|-
| '''f''' || '''o''' || '''b''' || ''plant''
|}
== Base words of Group 2 ==
: Base words of Group 2 (everything but nouns) are composed of one or two letters, not including grammatical endings. If one letter, it is a consonant or sometimes a vowel(*). If two letters, they consist of a consonant + vowel combination or a vowel + consonant combination. Here are some examples (the hyphen at the end means that the base word does not stand alone, but is followed in usage by a grammatical ending such as '''-er''' (verb infinitive marker) or '''-a''' (adjective marker):
::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em"
|+ Some Examples of Group 2 Base Words
| '''b-'''....''put'' || '''p-'''....''go''
|-
| '''s-'''....''be'' || '''x-'''....''do''
|-
| '''d-'''....''say'' || '''t-'''....''know''
|-
| '''ab'''....''on'' || '''ob'''....''off''
|-
|'''bu'''....''to'' || '''bi'''....''from''
|-
|'''if-'''....''love'' || '''uf-'''....''hate''
|-
|'''fi-'''....''good'' || '''fu-'''....''bad''
|-
|'''va'''....''yes'' || '''vo'''....''no''
|-
|'''vya-'''<sup>*</sup>....''true'' || '''vyo-'''....''false''
|-
| '''a'''....''one'' || '''o'''....''zero''
|}
: *<small> As mentioned above, "vowel" in this case may include glided vowels, i.e. those preceded and/or followed by one of the glides '''y''' or '''w'''. So, for purposes here, '''ya''', '''ye''', '''yi''', '''yo''', '''yu''', '''wa''', and other pre- and post-glided vowels, are considered "glided vowels".</small>
== Consonants and Their Meanings ==
: The classifier (initial letter) and generic (final letter) in group 1 base words (nouns) are consonants. Also, group 2 base words almost always have one consonant. So, you need to be familiar with the general meaning of the consonants in the Mirad alphabet, as shown in the following chart:
::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em"
|+ Consonants and Their Meanings
|-
! Consonant !! Group 1 Classifier !! Group 1 Generic !! Group 2 Classifier !! In Numbers
|-
| '''b''' || organ, health || organism || gesture, position ||
|-
| '''d''' || society || family || communicating ||
|-
| '''f''' || vegetation || textile, clothing || volition, attributes ||
|-
| '''g''' || -- || measurement || quantity, attributes ||
|-
| '''j''' || time || time || time ||
|-
| '''k''' || -- || health || change, risk, attributes ||
|-
| '''l''' || -- || element, food, liquid, nature || -- || '''l''' = ten
|-
| '''m''' || nature || place, building, furniture || temperature, light || '''ml''' = million<br>'''mr''' = billion
|-
| '''n''' || commerce || -- || -- ||
|-
| '''p''' || animal, vehicle || motion || movement ||
|-
| '''r''' || -- || tool, machine, cosmos || -- || '''r''' = thousand
|-
| '''s''' || form, image, furniture || thing || being, form, thing || '''s''' = hundred
|-
| '''t''' || human, body || person, animal || intelligence, knowing ||
|-
| '''v''' || plant, color || linen || truth, attributes ||
|-
| '''x''' || action || -- || action, doing, making ||
|-
| '''z''' || -- || precious, art || spatial, attributes ||
|}
: The following consonants functions rather than, or in addition to, semantic values:
::* '''l''' and '''r''': Liquids used after vowels to intensify the semantics of a word, eg.: '''baer'''....''to lean'', '''baler'''....''to press'', '''barer'''....''to crush'';
::* '''y''': Glide used 1) before a stem vowel to intensify the semantics of a word, eg. '''voa'''....''negative'' -> '''vyoa'''....''false'', or 2) after a vowel to de-intensify the semantics of a word, eg. '''ama'''....''hot'' -> '''ayma'''....''warm''.
::* '''h''': Used functionally only in certain interjections like '''hoy'''....''goodbye'' and determiners like '''his'''....''this'', and has no semantic value.
::* '''w''': Has no semantic value of its own, but is used only 1) to form the masculine gender of nouns and pronouns, eg. '''tob'''....''person'' -> '''twob'''....''man'', or 2) to form the passive voice of verbs, eg. '''uber'''....''to send'' -> '''ubwer'''....''to be sent'', or 3) to form a numerical unit marker, eg. '''awa'''....''one'', or 4) sometimes to substitute for '''y''' when this letter would cause ambiguity or difficulty in pronunciation with other consonants eg. '''jwo'''....''late'', instead of '''jyo'''.
::* '''n''': In addition to its semantic values, functions often 1) as a buffer letter, as in '''ana'''....''only'', or 2) as a suffix to derive a nominal abstraction from an adjective, such as '''fian'''....''goodness'' from '''fia'''....''good'', or from a verb, such '''axnen'''....''behaving'' from '''axner'''....''to behave''.
== Vowels and Their Meanings ==
: Ordinal vowels in Mirad have meanings or values of the following types:
::* meronymic
::* hierarchical
::* geo-specific
::* oppositional/polar
::* vectorial
::* directional and positional
::* special
=== Ordinal Vowel Values ===
:: The numerical value of ordinal vowels is shown in the chart below. The vowels beginning with '''y''' are considered pre-y-glided vowels. These numeric values serve as the "ordinal vowel" in scaled base words. See the section on [[Mirad Grammar/Phonology and Orthography#Vowels|Vowels]].
::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em"
|+ Numeric Values of Vowels
|-
! Ordinal Vowel !! '''o''' !! '''a''' !! '''e''' !! '''i''' !! '''u''' !! '''yo''' !! '''ya''' !! '''ye''' !! '''yi''' !! '''yu'''
|-
!row=1| Cardinal Number
| 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9
|}
=== Meronymic Vowel Gradation ===
:: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|meronymic}}''''' series. (This gradation can also be called '''''taxonomic'''''. The top element, or hypernym, has zero ('''o''') as its defining vowel. The others are hyponyms or meronyms (= parts of the whole), and have incrementally higher numbers of their ordinal vowel. '''T<u>a</u>b''' (''body'') is the first meronym of '''t<u>o</u>b''' (''human being''), the hypernym or zeroth element.
::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em"
|+ Meronymic Series
|-
!colspan=1| Rank
!colspan=7| Meronymic or Taxonomic
|-
! 0
| '''tob'''....''human'' || '''fob'''....''plant'' || '''vob'''....''crop''|| '''mos'''....''floor''||'''som'''....''furniture''||'''tom'''....''building''||'''job'''....''time''
|-
! 1
| '''tab'''....''body'' || '''fab'''....''tree'' || '''vab'''....''grass''|| '''mas'''....''wall''||'''sam'''....''chest of drawers''||'''tam'''....''house''||'''jab'''....''year''
|-
! 2
| '''teb'''....''head'' || '''feb'''....''fruit'' || '''veb'''....''tuft''|| '''mes'''....''door''||'''sem'''....''table''||'''tem'''....''hall''||'''jeb'''....''season''
|-
! 3
| '''tib'''....''trunk'' || '''fib'''....''trunk'' || '''vib'''....''stalk''|| '''mis'''....''window''||'''sim'''....''chair''||'''tim'''....''room''||'''jib'''....''month''
|-
! 4
| '''tub'''....''arm'' || '''fub'''....''branch'' || '''vub'''....''shoot''||'''mus'''....''stairs''||'''sum'''....''bed''||'''tum'''....''closet''||'''jub'''....''day''
|-
! 5
| '''tyob'''....''leg'' || '''fyob'''....''root'' || '''vyob'''....''tuber''|| || || ||'''jwob'''<sup>*</sup>....''hour''
|-
! 6
| || || || || || ||'''jwab'''<sup>*</sup>....''minute''
|-
! 7
| || || || || || ||'''jweb'''<sup>*</sup>....''second''
|}
* The letter '''w''' replaces the letter '''y''' following a '''j''', for ease of pronunciation.
: The words that descend from the base word are called '''''meronyms'''''. A hypernym is a word that is higher in scale.
=== Hierarchical Vowel Gradation ===
:: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|hierarchical}}''''' series where the top element has zero ('''o''') as its defining vowel. The others are subordinate elements and have incrementally higher numbers that define a descending series related to that top element.
{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em"
|+ Hierarchical Vowel Gradation
|-
!colspan=1| Rank
!colspan=4| Hierarchy
|-
! 0
| '''dob'''....''state'' || '''dot'''....''society'' || '''tod'''....''family''||'''xob'''....''organization''
|-
! 1
| '''dab'''....''government'' || '''dat'''....''friend'' || '''tad'''....''spouse''||'''xab'''....''staff''
|-
! 2
| '''deb'''....''leader'' || '''det'''....''associate'' || '''ted'''....''parent''||'''xeb'''....''boss''
|-
! 3
| '''dib'''....''ministry'' || '''dit'''....''citizen'' ||'''tid'''....''sibling''||'''xib'''....''department''
|-
! 4
| '''dub'''....''minister'' || '''dut'''....''gentleman'' || '''tud'''....''child''||'''xub'''....''branch''
|}
=== Geo-specific Vowel Gradation ===
: Ordinals can have '''''{{color|blue|geo-specific}}''''' values, that is values, related to the sky, land, sea, outer space, and underground.
{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em"
|+ Geo-specific Vowel Values
|-
! Ordinal
! Geo-sphere
! colspan=7| Examples
|-
| align=center | '''o''' || ''outer space, top level'' || '''m<u>o</u>p'''....''orbit'' || '''mom'''....''outer space''|| '''mol'''....''nature''||'''dop'''....''military''||'''pop'''....''voyage''||'''mol'''....''nature''||'''pot'''....''wild animal''
|-
| align=center | '''a''' || ''air, gas, sky'' || '''m<u>a</u>p'''....''wind'' || '''mam'''....''sky'' ||'''mal'''....''air''||'''dap'''....''air force''||'''pap'''....''flight''||'''mal'''....''wind''||'''pat'''....''bird''
|-
| align=center | '''e''' || ''ground, soil, solid'' || '''m<u>e</u>p'''....''road'' || '''mem'''....''land''|| '''mel'''....''soil''||'''dep'''....''army''||'''pep'''....''ride''||'''mel'''....''soil''||'''pet'''....''domestic land animal''
|-
| align=center | '''i''' || ''liquid'', ''water'', ''sea'' || '''m<u>i</u>p'''....''river'' || '''mim'''....''sea''|| '''mil'''....''water''||'''dip'''....''marines''|| '''pip'''....''navigation/sail''||'''mil'''....''water''||'''pit'''....''fish''
|-
| align=center | '''u''' || ''underground'', ''mineral'', ''substance'' || '''m<u>u</u>p'''....''tunnel''|| '''mum'''....''underground'' || '''mul'''....''mineral''|| ||'''pup'''....''tunneling''||'''mul'''....''matter''||
|}
=== Spectral Ordinal Vowel Gradation ===
: The basic color terms use the natural order of the spectrum to determine the ordinal vowels:
{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em"
|+ Spectral Ordinal Vowel Gradation
|-
! Order || Mirad !! English
|-
| 0 || '''olza'''<sup>1</sup> || ''blank, of no color''
|-
| 1 || '''alza''' || ''red''
|-
| 2 || '''elza''' || ''orange''
|-
| 3 || '''ilza''' || ''yellow''
|-
| 4 || '''ulza''' || ''green''
|-
| 5 || '''yolza''' || ''blue''
|-
| 6 || '''yalza''' || ''purple''
|-
| 7 || '''yelza''' || ''indigo''
|}
{{small/top}}
: 1) In the natural spectrum, there really is no 0th order.
{{small/end}}
: The colors black and white are:
:* '''malza'''....''white''
:* '''molza'''....''black''
: Some colors are hybrids of two colors:
{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em"
|+ Hybrid Colors
|-
! Mirad !! English
|-
| '''aolza''' || ''pink'' (a blend of ''blank'' and ''red'')
|-
| '''youlza''' || ''blue-green''
|-
| '''maolza''' || ''gray'' (a blend of ''black'' and ''white'')
|}
: The word for ''brown'' is based on the word for ''soil'':
:* '''melza'''....''brown'' (< '''mel'''....''soil'')
: Two other colors are based on metals:
:* '''agelkza'''....''silver'' (based on '''agelk'''....''silver metal''
:* '''aulkza'''....''gold'' (based on '''aulk'''....''gold metal''
=== Oppositional (or Polar) Vowel Values ===
: In Group 2 stems:
{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em"
|+ Oppositional Vowel Values
|-
| '''a''' <big>⇔</big> '''ya''' || intermediate || '''i''' <big>⇔</big> '''yi'''
|-
| <big>⇑</big> positive<br><big>⇓</big>negative || '''e''' <big>⇔</big> '''ye''' || <big>⇑</big> positive<br><big>⇓</big>negative
|-
| '''o''' <big>⇔</big> '''yo''' || value || '''u''' <big>⇔</big> '''yu'''
|}
::* positive '''a''' contrasts with negative '''o''' ('''av'''....''for'' vs. '''ov'''....''against'')
::* positive '''ya''' contrasts with negative '''yo''' ('''yava'''....''innocent'' vs. '''yova'''....''guilty'')
::* positive '''i''' contrasts with negative '''u''' ('''fia'''....''good'' vs. '''fua'''....''bad'')
::* positive '''yi''' contrasts with negative '''yu''' ('''yiva'''....''free'' vs. '''yuva'''....''bound'')
::* '''e''' and '''ye''' are in-between values ('''eva'''....''neutral'', '''yeva'''....''fair'')
::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em"
|+ Group 1 Oppositional Vowel Gradation
|-
! positive !! intermediate !! negative
|-
| '''aga'''....''big'' || '''ega'''....''normal'' || '''oga'''....''small''
|-
| '''yava'''....''innocent'' || '''yeva'''....''just''|| '''yova'''....''guilty''
|-
| '''ava'''....''for'' || '''eva'''....''neutral'' || '''ova'''....''against''
|-
| '''aker'''....''to win'' || '''eker'''....''to risk'' || '''oker'''....''to lose''
|-
| '''yak'''....''expectation'' || '''yek'''....''attempt'' || '''yok'''....''surprise''
|-
| '''fia'''....''good'' || || '''fua'''....''bad''
|-
| '''ifer'''....''love'' || || '''ufer'''....''hate''
|-
| '''yifa'''....''brave'' || || '''yufa'''....''afraid''
|}
: Some Group 1 base words have ordinal vowel stems that exhibit '''''oppositional''''' values:
: The Group 1 base word '''bok''' (''illness'') is a good example:
:{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em"
|+ Group 1 base word with oppositional values
|-
! Positive !! Intermediate !! Negative
|- valign=top
|'''bak'''....''health''||'''bek'''....''treatment''||'''bok'''....''illness''
|-
|'''byak'''....''hygiene''||'''byek'''....''cure''||'''byok'''....''pain''<br>'''byoyk'''....''ache''<br>'''blok'''....''suffering''<br>'''brok'''....''agony''
|-
|'''baak'''....''sanitation''|| ||'''book'''....''fatigue''
|-
|'''bik'''....''care''|| ||'''buk'''....''wound''<br>'''buyk'''....''sore''
|}
=== Vectorial Vowel Values ===
: These ordinal vowels have to do with directions, up, down, south, left, etc.
{{big/top}}
::::::'''a'''
::::::↑
::::'''u''' ← '''e''' → '''i'''
::::::↓
::::::'''o'''
{{big/end}}
:::'''a'''....''on, above, north'' ('''ab'''....''on'', '''zamer'''....''north'')
:::'''e'''....''center, middle, equator'' ('''eb'''....''between'', '''ze'''....''center'')
:::'''o'''....''off, below, south'' ('''ob'''....''off'', '''zomer'''....''south'')
:::'''i'''....''right, east'' ('''zi'''....''right'', '''zimer'''....''east'')
:::'''u'''....''left, west'' ('''zu'''....''left'', '''zumer'''....''west'')
=== Directional and Positional Vowel Values ===
{| class="wikitable" style="background:lightyellow; margin-left:3.2em"
|+ Directional and Positional Vowel Values
|-
| colspan=8 align=center | '''A'''
|-
| rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I'''
|-
| '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i'''
|-
| → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' →
|-
| → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' →
|-
| '''yu''' → || || || || || → '''yi'''
|-
| || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' ||
|-
| colspan=8 align=center| '''O'''
|}
:: Explanation of the above chart:
:::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words.
:::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values.
:::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs
:::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words.
{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em"
|+ Explanation of the Vowel Meanings Chart
|-
| '''A''' || position || || on, above, north || '''z<u>a</u>mer'''....''north''
|-
| '''a''' || movement || (free) || ''on'' || '''b<u>a</u>er'''....''lean''
|-
| '''<u>a</u>''' || movement || (contact) || ''onto''||'''<u>a</u>ber'''....''put on''
|-
| '''ya''' || movement || (free) || ''up, ascend''|| '''b<u>ya</u>er'''....''lift''
|-
| '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''<u>ya</u>ber'''....''raise''
|-
| '''O''' || position || || under, lower, south|| '''z<u>o</u>mer'''....''south''
|-
| '''yo''' || movement || (free) || ''off''|| '''b<u>yo</u>er'''....''hang''
|-
| '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''<u>o</u>per'''....''get off''
|-
| '''yo''' || movement || (free) || ''down''|| '''p<u>yo</u>ser'''....''fall''
|-
| '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''<u>yo</u>per'''....''rise''
|-
| '''U''' || position || || left, west|| '''z<u>u</u>mer'''....''west''
|-
| '''u''' || movement || (free) || ''move toward the center, come''|| '''<u>u</u>ber'''....''send''
|-
| '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''p<u>yu</u>er'''....''reach''
|-
| '''yu''' || movement || (free) || ''near, approach''|| '''<u>yu</u>ber'''....''approach''
|-
| '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''b<u>yu</u>ser'''....''touch''
|-
| '''I''' || position || || right, east|| '''z''i''mer'''....''east''
|-
| '''i''' || movement || (free) || ''from the center out, go away''|| '''p<u>i</u>er'''....''go away''
|-
| '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''<u>i</u>per'''....''leave''
|-
| '''yi''' || movement || (free) || ''away, go far''|| '''<u>yi</u>per'''....''go far''
|-
| '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''p<u>yi</u>ser'''....''originate''
|-
| '''E''' || position || || center, equator|| '''z<u>e</u>mer'''....''equator''
|-
| '''e''' || rest || || ''between''|| '''<u>e</u>b'''....''between''
|-
| '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''b<u>e</u>xer'''....''hold''
|-
| '''ye''' || movement || || ''in, into, enter''|| '''<u>ye</u>per'''....''enter''
|-
| '''<u>ye</u>''' || ||(contact) || ''contain''|| '''b<u>ye</u>er'''....''contain''
|}
=== Special value of certain letters ===
: The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular''.
::* '''aot'''....''person''
::* '''anot'''....''individual''
: Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''.
::* '''yanber'''....''to compose''
::* '''yonber'''....''to separate''
: The letter '''y''' is prefixed to the vowels of personal pronouns to make them plural:
::* '''at'''....''I, me'' as opposed to '''yat'''....''we, us''
::* '''et'''....''you'' as opposed to '''yet'''....''you (pl.), you all''
::* '''it'''....''he, she, him, her'' as opposed to '''yit'''....''they, them''
::* '''is'''....''it'' as opposed to '''yis'''....''they, them''
: The letter '''y''' is post-fixed to vowels to change the gender to specifically feminine:
::* '''it'''....''he, she, him, her'' as opposed to '''iyt'''....''she, her''
::* '''tob'''....''person, human being'' as opposed to '''toyb'''....''woman''
: The letter '''w''' is prefixed to vowels to change the gender to specifically masculine:
::* '''it'''....''he, she, him, her'' as opposed to '''wit'''....''he, him''
::* '''tob'''....''person, human being'' as opposed to '''twob'''....''man''
=== The Meaning of Group 1 Base Words ===
:: The meaning of the base words of Group 1 comes from the combination of the values of the classifier (initial) and the generic (final) consonants.
:: The ordinal vowel of those Group 1 base words has a 1) scalar/hierachical, 2) geo-spatial, 3) oppositional, 4) vectorial/positional, or 5) mnemonic values.
:: The following table shows some Group 1 bases words, the meaning of their consonants, and the type of ordinal vowel scalarity:
{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em"
|+ Group 1 Zeroth-level Scalar Base Words and Meanings of the Consonants
|-
! Base Word !! Classifier Consonant !! Generic Consonant !! Scalarity Type
|-
| '''tob'''....''person'' || '''t''' = ''human'' || '''b''' = ''organism'' || meronymic
|-
| '''tof'''....''clothing'' || " " " || '''f''' = ''fabric'' || meronymic
|-
| '''tod'''....''family'' || " " " || '''d''' = ''society'' || meronymic
|-
| '''tom'''....''building'' || " " " || '''m''' = ''place'' || meronymic
|-
| '''tov'''....''lingerie'' || " " " || '''v''' = ''linen'' || meronymic
|-
| '''tol'''....''nourishment'' || " " " || '''l''' = ''food'' || oppositional
|-
| '''top'''....''soul, spirit'' || " " " || '''p''' = ''motion'' || meronymic
|-
| '''dob'''....''state'' || '''d''' = ''society'' || '''b''' = ''organism''||hierarchical
|-
| '''dop'''....''military'' || " " " || '''p''' = ''movement'' || geo-specific
|-
| '''dot'''....''society'' || " " " || '''t''' = ''human''|| hierarchical
|-
| '''dom'''....''city'' || " " " || '''m''' = ''place''|| geo-specific
|-
| '''job'''....''time'' || '''j''' = ''time'' || '''b'''....''organism''|| hierarchical
|-
| '''fob'''....''vegetation'' || '''f''' = ''vegetable'' || '''b''' = ''organism''|| meronymic
|-
| '''vob'''....''crop'' || '''v''' = ''plant'' || '''b''' = ''organism''|| meronymic
|-
| '''vos'''....''flower'' || " " " || '''s''' = ''thing''|| meronymic
|-
| '''volz'''....''color'' || " " " || '''lz''' = ''color, art''|| spectral
|-
| '''som'''....''furniture'' || '''s''' = ''thing'' || '''m''' = ''place''|| meronymic
|-
| '''mos'''....''floor'' || '''m''' = ''place, nature'' || '''s''' = ''thing''|| meronymic
|-
| '''mor'''....''universe'' || " " " || '''r''' = ''machine, system''|| geo-specific
|-
| '''mom'''....''outer space'' || " " " || '''m''' = ''place''|| geo-specific
|-
| '''mol'''....''nature'' || " " " || '''l''' = ''substance''|| geo-specific
|-
| '''mop'''....''orbit'' || " " " || '''p''' = ''movement''|| geo-specific
|-
| '''pot'''....''animal'' || '''p''' = ''movement'' || '''t''' = ''human, animal''|| geo-specific
|-
| '''bok'''....''illness'' || '''b''' = ''organ'' || '''k''' = ''condition''|| oppositional
|-
| '''nom'''....''place'' || '''n''' = ''commercial'' || '''m''' = ''place''|| special
|-
| '''nog'''....''degree'' || " " " || '''g''' = ''measurement''|| special
|-
| '''nof'''....''cloth'' || " " " || '''f''' = ''cloth''|| special
|-
| '''nov'''....''linen'' || " " " || '''v''' = ''linen''|| special
|-
| '''nod'''....''point'' || " " " || '''d''' = ''communication''|| special
|-
| '''xob'''....''organization'' || '''x''' = ''action'' || '''b''' = ''organism''|| hierarchical
|}
==== Special Arrangement ====
: Other Group 1 nouns, listed in the chart below, have an ordinal vowel which is not so much geo-specific or hierarchical per se, but rather special in some fashion. The consonants, especially the classifier consonant, have meanings like those in the above chart.
{| border=0 {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em"
|+ Other Group 1 Base Words
|- valign=top
|
{| class="wikitable" style="background:lightyellow"
|-
! d- <br>communication
|-
| '''daz'''<br>''dance''
|-
| '''dyaz'''<br>''ballet''
|-
| '''dyez'''<br>''cinema''
|-
| '''drez'''<br>''poetry''
|-
| '''dez'''<br>''theater''
|-
| '''diz'''<br>''comedy''
|-
| '''din'''<br>''story''
|-
| '''dun'''<br>''word''
|-
| '''duz'''<br>''music''
|-
| '''dyun'''<br>''name''
|-
| '''dyan'''<br>''sentence''
|-
| '''dyes'''<br>''book''
|-
| '''deup'''<br>''rhythm''
|}
|
{| class="wikitable" style="background:lightyellow"
|-
! dr- <br>write
|-
| '''drof'''<br>''board''
|-
| '''draf'''<br>''card''
|-
| '''dref'''<br>''paper''
|-
| '''drov'''<br>''cardboard''
|-
| '''drav'''<br>''notebook''
|-
| '''drev'''<br>''page''
|-
| '''drez'''<br>''poetry''
|-
| '''drar'''<br>''pencil''
|-
| '''drir'''<br>''typewriter''
|-
| '''drur'''<br>''printer''
|}
|
{| class="wikitable" style="background:lightyellow"
|-
! m- <br>nature
|-
| '''mag'''<br>''fire''
|-
| '''mak'''<br>''electricity''
|-
| '''mog'''<br>''ash''
|-
| '''meg'''<br>''stone''
|-
| '''mef'''<br>''brick''
|-
| '''mug'''<br>''metal''
|-
| '''muk'''<br>''mineral''
|-
| '''mez'''<br>''crystal''
|-
| '''mek'''<br>''dust''
|-
| '''myek'''<br>''powder''
|-
| '''mav'''<br>''flame''
|-
| '''mov'''<br>''smoke''
|-
| '''maf'''<br>''cloud''
|-
| '''maj'''<br>''daytime''
|-
| '''moj'''<br>''night''
|-
| '''man'''<br>''light''
|-
| '''maz'''<br>''shine''
|-
| '''mon'''<br>''shade''
|-
| '''moz'''<br>''dark''
|}
|
{| class="wikitable" style="background:lightyellow"
|-
! n- <br>commerce
|-
| '''naz'''<br>''value''
|-
| '''nas'''<br>''money''
|-
| '''nax'''<br>''price''
|-
| '''nyaz'''<br>''wealth''
|-
| '''nyan'''<br>''stack''
|-
| '''nox'''<br>''expense''
|-
| '''nyox'''<br>''waste''
|-
| '''nex'''<br>''saving''
|-
| '''nyex'''<br>''storing''
|-
| '''nix'''<br>''earning''
|-
| '''nyix'''<br>''order''
|-
| '''nux'''<br>''pay''
|-
| '''nyux'''<br>''supply''
|-
| '''nun'''<br>''merchandise''
|-
| '''nyun'''<br>''product''
|-
| '''nuz'''<br>''jewel''
|-
| '''nem'''<br>''location''
|-
| '''nyem'''<br>''place''
|-
| '''nyeb'''<br>''box''
|-
| '''nab'''<br>''row''
|-
| '''nap'''<br>''order''
|-
| '''nad'''<br>''line''
|-
| '''nod'''<br>''point''
|-
| '''ned'''<br>''plane''
|-
| '''nyed'''<br>''grid''
|-
| '''nyad'''<br>''chain''
|-
| '''nid'''<br>''volume''
|-
| '''nag'''<br>''measure''
|-
| '''nak'''<br>''metric value''
|-
| '''nog'''<br>''degree''
|-
| '''nig'''<br>''space''
|}
|
{| class="wikitable" style="background:lightyellow"
|-
! j- <br>time
|-
| '''jag'''<br>''age''
|-
| '''jud'''<br>''date''
|-
| '''jod'''<br>''instance''
|-
| '''jop'''<br>''sequence''
|-
| '''jep'''<br>''process''
|-
| '''jwap'''<br>''moment''
|-
| '''jwep'''<br>''instant''
|}
|
{| class="wikitable" style="background:lightyellow"
|-
! s- <br>thing
|-
| '''sag'''<br>''number''
|-
| '''saz'''<br>''sculpture''
|-
| '''san'''<br>''form''
|-
| '''saun'''<br>''kind''
|-
| '''son'''<br>''matter (abstract)''
|-
| '''sin'''<br>''image''
|-
| '''siz'''<br>''painting''
|-
| '''sun'''<br>''thing (concrete)''
|-
| '''syan'''<br>''class''
|-
| '''syen'''<br>''style''
|-
| '''syin'''<br>''subject''
|-
| '''syun'''<br>''object''
|-
| '''sar'''<br>''instrument''
|-
| '''sir'''<br>''machine''
|-
| '''sor'''<br>''engine''
|-
| '''sur'''<br>''motor''
|}
|
{| class="wikitable" style="background:lightyellow"
|-
! t- <br>human / knowledge
|-
| '''taz'''<br>''statue''
|-
| '''tap'''<br>''physique''
|-
| '''tep'''<br>''mind''
|-
| '''top'''<br>''spirit''
|-
| '''tuz'''<br>''art''
|-
| '''toz'''<br>''skin color''
|-
| '''tez'''<br>''culture''
|-
| '''tyez'''<br>''magic''
|-
| '''tin'''<br>''doctrine''
|-
| '''tun'''<br>''science''
|-
| '''tyan'''<br>''class''
|-
| '''tyen'''<br>''skill''
|-
| '''tyun'''<br>''idea''
|-
| '''tos'''<br>''sensation''
|-
| '''tes'''<br>''meaning''
|-
| '''tot'''<br>''god''
|-
| '''tat'''<br>''angel''
|}
|}
=== The Meaning of Group 2 Base Words ===
:: The meaning of Group 2 base word stems comes from the combination of the values of the classifier consonant and the ordinal (stem) vowel. The stem does not include adjectival ('''-a'''), adverbial ('''-ay'''), and verbal inflections ('''-er''', '''-ser''', '''-xer''', etc.), which are shown in a smaller typeface after the stem.
:: The ordinal (stem vowel) holds oppositional values like positive, intermediary, and negative.
:: Examples:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Stems of Group 2 Base Words
|-
! Classifier Consonant !! Positive !! Intermediate !! Negative !! Positive !! Negative
|-
! rowspan=4|'''j''' <br>(''time'')
| '''ja'''<br>''before'' || '''je'''<br>''during'' || '''jo'''<br>''after''||'''ji'''<br>''since'' || '''ju'''<br>''until''
|-
| '''aj'''<br>''past'' || '''ej'''<br>''present'' || '''oj'''<br>''future'' || '''ij<sup>er</sup>'''<br>''beginning/begin'' || '''uj/<sup>er</sup>'''<br>''end/end''
|-
| '''taj<sup>er</sup>'''<br>''birth/to be born'' || '''tej<sup>er</sup>'''<br>''life/to live'' || '''toj<sup>er</sup>'''<br>''death/to die'' || '''tij<sup>er</sup>'''<br>''awake state/to be awake'' || '''tuj<sup>er</sup>'''<br>''sleep/to sleep''
|-
| '''jwa'''<br>''early'' || '''jwe'''<br>''on time'' || '''jwo'''<br>''late'' || '''yij<sup>a</sup>'''<br>''opening/open'' || '''yuj<sup>a</sup>'''<br>''closing/closed''
|-
!rowspan=4| '''g'''<br>(''measurement'')
| '''ga'''<br>''more'' || '''ge'''<br>''equal'' || '''go'''<br>''less''|| '''gi'''<sup>n</sup><br>''point'' || '''gu'''<sup>n</sup><br>''angle''
|-
| '''ag'''<sup>a</sup><br>''big'' || '''eg<sup>a</sup>'''<br>''normal'' || '''og'''<sup>a</sup><br>''small'' || '''ig'''<sup>a</sup><br>''fast'' || '''ug'''<sup>a</sup><br>''slow''
|-
| '''yag'''<sup>a</sup><br>''long'' || '''yeg'''<sup>a</sup><br>''normal'' || '''yog'''<sup>a</sup><br>''short'' || '''yig'''<sup>a</sup><br>''hard'' || '''yug'''<sup>a</sup><br>''soft''
|-
| '''gya'''<sup>a</sup><br>''thick'' || '''gye'''<sup>a</sup><br>''enough'' || '''gyo-'''<br>''thin'' || '''gyi'''<sup>a</sup><br>''solid'' || '''gyu'''<sup>a</sup><br>''fragile''
|-
!rowspan=4| '''k'''<br>(''randomness'')
| '''ka'''<sup>xer</sup><br>''find'' || '''ke'''<sup>xer</sup><br>''seek'' || '''ko'''<sup>xer</sup><br>''hide'' || '''ki'''<sup>a</sup><br>''oblique''|| '''ku'''<sup>a</sup><br>''lateral''
|-
| '''ak'''<sup>er</sup><br>''win'' || '''ek'''<sup>er</sup><br>''play'' || '''ok'''<sup>er</sup><br>''lose'' || '''ik'''<sup>a</sup><br>''full'' || '''uk'''<sup>a</sup><br>''empty''
|-
| '''yak'''<sup>er</sup><br>''expect'' || '''yek'''<sup>er</sup><br>''try'' || '''yok'''<sup>er</sup><br>''suprise'' || '''yik'''<sup>a</sup><br>''difficult'' || '''yuk'''<sup>a</sup><br>''easy''
|-
| '''kya'''<sup>a</sup><br>''mobile'' || '''kye'''<sup>a</sup><br>''haphazard'' || '''kyo'''<sup>a</sup><br>''fixed'' ||'''kyi'''<sup>a</sup><br>''heavy'' || '''kyu'''<sup>a</sup><br>''light''
|-
! '''m'''<br>(''nature'')
| '''am'''<sup>a</sup><br>''hot'' || -- || '''om'''<sup>a</sup><br>''cold'' || '''im'''<sup>a</sup><br>''wet'' || '''um'''<sup>a</sup><br>''dry''
|-
! rowspan=4|'''f'''<sup>er</sup><br>(''want'', qualities)
| || || || '''fi'''<sup>a</sup><br>''good'' || '''fu'''<sup>a</sup><br>''bad''
|-
| '''fya'''<sup>a</sup><br>''holy'' || '''fye'''<sup>a</sup><br>''mythical'' || '''fyo'''<sup>a</sup><br>''profane''|| '''fyi'''<sup>a</sup><br>''useful'' || '''fyu'''<sup>a</sup><br>''harmful''
|-
| '''yaf'''<sup>er</sup><br>''be able'' || '''yef'''<sup>er</sup><br>''must''|| '''yof'''<sup>er</sup><br>''cannot'' || '''yif'''<sup>er</sup><br>''dare'' || '''yuf'''<sup>er</sup><br>''fear''
|-
| '''af'''<sup>er</sup><br>''may'' || '''ef'''<sup>er</sup><br>''need'' || '''of'''<sup>er</sup><br>''be prohibited'' || '''if'''<sup>er</sup><br>''love'' || '''uf'''<sup>er</sup><br>''hate''
|-
!rowspan=6| '''v'''<br>(''truth, qualities'' )
| '''va'''<br>''yes'' || '''ve'''<br>''maybe'' || '''vo'''<br>''no''|| '''vi'''<sup>a</sup><br>''beautiful'' || '''vu'''<sup>a</sup><br>''ugly''
|-
| '''vay'''<br>''really''||'''vey'''<br>''may''||'''voy'''<br>''not'' || ||
|-
| '''av'''<br>''for'' || '''ev'''<sup>a</sup><br>''neutral'' || '''ov'''<br>''against''|| '''iv'''<sup>a</sup><br>''happy'' || '''uv'''<sup>a</sup><br>''sad''
|-
| '''vya'''<sup>a</sup><br>''true'' || '''vye'''<sup>a</sup><br>''relative'' || '''vyo'''<sup>a</sup><br>''false''|| '''vyi'''<sup>a</sup><br>''clean'' || '''vyu'''<sup>a</sup><br>''dirty''
|-
| '''yav'''<sup>a</sup><br>''innocent'' || '''yev'''<sup>a</sup><br>''fair'' || '''yov'''<sup>a</sup><br>''guilty''|| '''yiv'''<sup>a</sup><br>''free'' || '''yuv'''<sup>a</sup><br>''captive''
|-
| '''van'''<br>''that'' || '''ven'''<br>''if'' || '''von'''<br>''lest''|| ||
|-
! rowspan=5|'''z'''<br>(spatial)
| '''za'''<br>''in front of'' || '''ze'''<br>''in the middle of'' || '''zo'''<br>''in back of''|| '''zi'''<sup>a</sup><br>''right'' || '''zu'''<sup>a</sup><br>''left''
|-
| '''zay'''<br>''ahead'' || '''zey'''<br>''across'' || '''zoy'''<br>''back, re-''|| ||
|-
| '''zya'''<sup>a</sup><br>''wide'' || '''zye'''<br>''through'' || '''zyo'''<sup>a</sup><br>''narrow''||'''zyi'''<sup>a</sup><br>''flat'' || '''zyu'''<sup>a</sup><br>''round''
|-
| '''az'''<sup>a</sup><br>''strong'' || '''ez'''<sup>a</sup><br>''moderate'' || '''oz'''<sup>a</sup><br>''weak''|| '''iz'''<sup>a</sup><br>''straight'' || '''uz'''<sup>a</sup><br>''curved''
|-
| '''yaz'''<sup>a</sup><br>''convex'' || '''yez'''<br>''along'' || '''yoz'''<sup>a</sup><br>''concave'' || '''yiz'''<sup></sup><br>''beyond'' || '''yuz'''<br>''around''
|-
! rowspan=4|'''b-'''<sup>er</sup><br>(''put'')
| '''ba'''<sup>y</sup>/(<sup>xer</sup>)<br>''with, (agitate)'' || '''be'''<sup>y</sup>/(<sup>(xer)</sup>)<br>''at/by, (hold)'' || '''bo'''<sup>y</sup>(<sup>xer</sup>)<br>''without/(calm)''|| '''bi<sup>(er/xer)</sup>'''<br>''from, (take/pull)'' || '''bu'''<sup>(er/xer)</sup><br>''to, (give/push)''
|-
| '''ab'''<sup>(er)</sup><br>''on,(put on)'' || '''eb'''<sup>(er)</sup><br>''between,(block)'' || '''ob'''(<sup>er</sup>)<br>''off,(take off)'' || '''ib'''<sup>(er)</sup><br>''away,(receive)'' || '''ub'''<sup>(er)</sup><br>''toward,(send)''
|-
| '''bya'''<sup>ser/xer</sup><br>''stand/erect'' || '''bye'''<sup>xer</sup><br>''tap'' || '''byo'''<sup>ser/xer</sup><br>''hang/hang''|| '''byi'''<sup>(ser)</sup><br>''since,(originate)'' || '''byu'''<sup>(ser/xer)</sup><br>''up to,(contact/touch)''
|-
| '''yab'''<sup>(er)</sup><br>''up,(raise)'' || '''yeb'''<sup>(er)</sup><br>''in,(put in)''<br>'''oyeb'''<sup>(er)</sup><br>''out,(take out)'' || '''yob'''<sup>(er)</sup><br>''down,(lower)''|| '''yib'''<sup>(er)</sup><br>''far,(remove)'' || '''yub'''<sup>(er)</sup><br>''near,(bring)''
|-
! rowspan=4|'''p'''<sup>er</sup><br>(''go'')
| '''pa'''<sup>ser/xer</sup><br>''move/move'' || '''pe'''<sup>ser/xer</sup><br>''wait/trap'' || '''po'''<sup>ser/xer</sup><br>''stop/stop''|| '''pi'''<sup>er/ser/xer</sup><br>''leave/withdraw/catch'' || '''pu'''<sup>er/ser/xer</sup><br>''arrive/jump/throw''
|-
| '''pya'''<sup>er/ser/xer</sup><br>''hover/jump up/launch'' || '''pye'''<sup>ser/xer</sup><br>''encounter/strike'' || '''pyo'''<sup>ser/xer</sup><br>''fall/drop''|| '''pyi'''<sup>ser/xer</sup><br>''emanate/derive'' || '''pyu'''<sup>ser/xer</sup><br>''reach/impact''
|-
| '''yap'''<sup>er</sup><br>''rise'' || '''yep'''<sup>er</sup><br>''enter'' || '''yop'''<sup>er</sup><br>''descend''|| '''yip'''<sup>er</sup><br>''go far'' || '''yup'''<sup>er</sup><br>''approach''
|-
| '''ap'''<sup>er</sup><br>''get on'' || '''ep'''<sup>er</sup><br>''intervene'' || '''op'''<sup>er</sup><br>''get off'' || '''ip'''<sup>er</sup><br>''go away'' ||'''up'''<sup>er</sup><br>''come''
|-
!rowspan=2| '''s'''<sup>er</sup><br>(''be'')
| '''sa'''<sup>n/s/xer</sup><br>''shape/evolve/make'' ||'''se'''<sup>xer</sup><br>''build'' || '''so'''<sup>n/xer</sup><br>''matter/destroy''|| '''si'''<sup>n/yn</sup><br>''image/sign'' || '''su'''<sup>n/er/xer</sup><br>''thing/provide/realize''
|-
| '''as'''<sup>er</sup><br>''become'' || '''es'''<sup>er</sup><br>''exist'' || '''os'''<sup>er</sup><br>''cease to be'' || ||
|-
! rowspan=3|'''x'''<sup>er</sup><br>(''do'' )
| '''xa'''<sup>ler</sup><br>''execute'' || '''xe'''<sup>ler</sup><br>''practice'' || '''xo'''<sup>ler</sup><br>''fail'' || '''xi'''<sup>ler</sup><br>''undertake'' || '''xu'''<sup>ler</sup><br>''provoke''
|-
|'''ax'''<sup>ler</sup><br>''act'' || '''ex'''<sup>er</sup><br>''function'' || '''ox'''<sup>ler</sup><br>''abstain'' || '''ix'''<sup>er</sup><br>''effect'' || '''ux'''<sup>er</sup><br>''cause''
|-
| '''yax'''<sup>er</sup><br>''be busy'' || '''yex'''<sup>er</sup><br>''work'' || '''yox'''<sup>er</sup><br>''be idle'' || '''yix'''<sup>er</sup><br>''use'' || '''yux'''<sup>er</sup><br>''help''
|-
! '''t'''<sup>er/rer/yer</sup><br>(''know/recognize/know how'')
| '''ta'''<sup>xer</sup><br>''remember'' || '''te'''<sup>xer</sup><br>''think'' || '''to'''<sup>xer</sup><br>''forget'' || '''ti'''<sup>er/xer</sup><br>''learn/study''<br>'''tri'''<sup>er</sup><br>''get to know''<br>'''tyi'''<sup>er</sup><br>''learn how'' || '''tu'''<sup>er/xer/uxer</sup><br>''inform/teach/raise''<br>'''tru'''<sup>er</sup><br>''familiarize''<br>'''tyu'''<sup>er</sup><br>''train''
|-
! '''d'''<sup>er/rer</sup><br>(''say/write'')
| '''da'''<sup>ler</sup><br>''talk'' || '''de'''<sup>ler</sup><br>''state''<br>'''dye'''<sup>er</sup><br>''read'' || '''do'''<sup>ler</sup><br>''be silent''<br>'''dro'''<sup>er</sup><br>''erase'' || '''di'''<sup>er/ler/rer</sup><br>''ask/beg/require'' || '''du'''<sup>er/ler/rer</sup><br>''suggest/insist/demand''<br>'''dyu'''<sup>er</sup><br>''call''
|-
! rowspan=2|'''h-'''<br>(determiners)
| '''ha'''<sup>(a)</sup><br>''the'' || '''he'''<sup>a</sup><br>''some'' || '''ho'''<sup>a</sup><br>''which'' || '''hi'''<sup>a</sup><br>''this'' || '''hu'''<sup>a</sup><br>''that''
|-
| '''hya'''<sup>(a)</sup><br>''all'' || '''hye'''<sup>a</sup><br>''any'' || '''hyo'''<sup>a</sup><br>''no'' || '''hyi'''<sup>a</sup><br>''same'' || '''hyu'''<sup>a</sup><br>''other''
|-
! rowspan=2| (conjunctions)
|'''ay'''<br>''and'' || '''ey'''<br>''or'' || '''oy'''<br>''but'' || ||
|-
|'''ya'''<sup>n</sup><br>''together'' || ||'''yo'''<sup>n</sup><br>''apart''|| ||
|-
! rowspan=2| (numbers)
| '''a'''<br>''one''|| '''e'''<br>''two''|| '''o'''<br>''zero''|| '''i'''<br>''three''|| '''u'''<br>''four''
|-
| '''ya'''<br>''six''|| '''ye'''<br>''seven''|| '''yo'''<br>''five''|| '''yi'''<br>''eight''|| '''yu'''<br>''nine''
|-
! rowspan=1| (privatives)
| || || '''lo-''' (''dis-/un-'')<br>'''lyo-''' (''dis-'')<br>'''oy-''' (''-less'')|| ||
|}
:: <small>* Mixed root. '''taj/tej/toj''' instead of '''yaj/yej/yoj''', because the human letter root '''t''' is more intuitive.</small>
:: Note: The opposition '''(y)a'''-'''(y)e'''-'''(y)o''' is a three-way opposition with an intermediary sense, but '''(y)i-(y)u''' is two-way, without any intermediary sense.
== Derived Word Formation Rules ==
: Derived words are formed in accordance with certain simple rules of word-building:
: These consist of the following rules:
::# Compounding
::# Affixation
::# Ordinal Vowel Scaling
::# Overlapping
::# Adding Ordinal Vowels
::# Swapping Generic Consonants
::# Marking Words for Gender
::# Deriving Words with Geo-specific Vowels
::# Deriving Words with Directional and Positional Vowels
::# Deriving Words with a Mnemonic Pattern
::# Deriving Nuanced Words Phonetically
=== Rule #1: Compounding ===
[[File:Compound 6 (maraviroc development).svg|thumb|]]
: Compound words are obtained through the combination of two or more whole words or stub words. In the combining process, the determining word is placed quite simply in front of the word it determines. Compounds consist mainly of noun + noun, but there can be other part-of-speech combinations.
: Examples:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Compounding
|-
! Component 1 !! Component 2 !! Compound
|-
| '''mor'''....''cosmos'' || '''tun'''....''science, -ology'' || '''mortun'''....''cosmology''
|-
| '''mag'''....''fire'' || '''memyaz'''....''mountain'' || '''magmemyaz'''....''volcano''
|-
| '''dob'''....''state'' || '''mem'''....''land'' || '''dobmem'''....''territory''
|-
| '''tul'''....''dish'' || '''dras'''....''something written'' || '''tuldras'''....''menu''
|-
| '''sin'''....''picture'' || '''dras'''....''something written'' || '''sindras'''....''description''
|-
| '''tam'''....''house'' || '''kyoxer'''....''to fix (in place)'' || '''tamkyoxer'''....''to settle''
|-
| '''tax'''....''memory'' || '''drer'''....''to write'' || '''taxdrer'''....''to record''
|-
| '''kyo-'''....''fixed'' || '''tep-'''....''mind'' || '''kyotepa'''....''stubborn''
|}
: Sometimes, the first element can be a stub of a whole word, i.e. the word with the final consonant dropped. The word for ''rain'', for example, is '''ma(m)''' (''sky'') + '''mil''' (''water''), where the final consonant of the first word is dropped, thus, '''mamil'''.
: When compounding an adjective with a noun, if the adjective begins with a vowel, often it will be suffixed to the noun, otherwise prefixed, (but this is not a strict rule), eg:
:* '''uzra'''....''twisted'' + '''tep'''....''mind'' ---> '''tepuzra'''....''crazy''
:* '''kyoa'''....''fixed'' + '''tep'''....''mind'' ----> '''kyotepa'''....''stubborn, obsessed''
:* '''aza'''....''strong'' + '''tep'''....''mind'' ----> '''tepaza'''....''intelligent''
:* '''fua'''....''bad'' + '''tip'''....''mood'' ----> '''futipa'''....''cross, ill-tempered''
:* '''aga'''....''big'' + '''tip'''....''mood'' ----> '''tipaga'''....''magnanimous, generous''
=== Rule #2: Affixation ===
[[File:Word Cloud of Various Prefixes.png|thumb|]]
: Most adverbs and prepositions can be used as prefixes:
==== Prefixes ====
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Adverbs and Prepositions as Prefixes
|-
! Prefix !! Base !! Compound
|-
| '''ja'''....''before'' ||'''per'''....''to go'' || '''japer'''....''to precede''
|-
| '''jo'''....''after'' ||'''per'''....''to go'' || '''joper'''....''to follow''
|-
| '''va'''....''yes'' ||'''der'''....''to say'' || '''vader'''....''to affirm''
|-
| '''jo'''....''after'' ||'''dras'''....''something written'' || '''jodras'''....''postscript''
|-
| '''za'''....''ahead'' ||'''jub'''....''day'' || '''zajub'''....''tomorrow''
|-
| '''yon'''....''apart'' ||'''mel'''....''land'' || '''yonmel'''....''island''
|}
: Prepositional prefixes ending in '''b''' with verbs '''per''' and '''ber''' (and their derivations) lose the '''b''' before verbal elements based on '''per''' (''go'') and '''ber''' (''put''), as shown in the following chart:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Assimilation of b and p
|-
! Prefix !! Base Verb !! New Verb
|-
| '''yab'''....''up'' || '''ber'''....''put'' || '''yaber'''....''raise'' (NOT: '''yabber''')
|-
| '''yab'''....''up'' || '''per'''....''go'' || '''yaper'''....''rise'' (NOT: '''yabper''')
|-
| '''ab'''....''on'' || '''ber'''....''put'' || '''aber'''....''put on, apply''
|-
| '''ab'''....''on'' || '''per'''....''go'' || '''aper'''....''get on, mount''
|-
| '''yob'''....''down'' || '''ber'''....''put'' || '''yober'''....''take down''
|-
| '''yob'''....''down'' || '''per'''....''go'' || '''yoper'''....''descend''
|-
| '''ob'''....''off'' || '''ber'''....''put'' || '''ober'''....''take off, remove''
|-
| '''ob'''....''on'' || '''per'''....''go'' || '''oper'''....''get off, dismount''
|-
| '''yeb'''....''in'' || '''bux'''....''a push'' || '''yebux'''....''impulse''
|-
| '''yeb'''....''in'' || '''pyoser'''....''fall'' || '''yepyoser'''....''collapse''
|}
: The loss of the '''b''' in the above words in one of the only cases of '''''fusion''''' in Mirad's grammar. Mirad is by and large an agglutinative language where building-blocks are juxtaposed with no change of form. Another case of fusion is when so-called '''''stubs''''' are combined. For example, '''doyijem''' (''public square''), which is composed of '''do(m)'''....''city'' + '''yij(a)'''....''open'' + '''(n)em'''....''place''. The morphemes (= building-block words) of Mirad always have one and only one meaning, unlike in English where the prefix '''a-''' can have many different meanings.
: The adjective ending '''a''' is often dropped<sup>1</sup>, as is the '''er''' or prefixes taken from verbs. Longish noun prefixes are sometimes clipped, so that '''tyoyab''' becomes '''tyoya-'''.
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Prefixes Built on Words and Word Stubs
|-
! Prefix !! Base Verb !! Compound Verb
|-
| '''oza'''....''weak'' || '''der'''....''say'' || '''ozder'''....''whisper''
|-
| '''yaga'''....''long'' || '''der'''....''say'' || '''yagder'''....''ramble''
|-
| '''aja'''....''past'' || '''der'''....''say'' || '''ajder'''....''evoke''
|-
| '''yoga'''....''short'' || '''der'''....''say'' || '''yogder'''....''summarize''
|-
| '''tyoyab'''....''foot'' || '''per'''....''go'' || '''tyoyaper'''....''walk''
|-
| '''dreer'''....''write'' || '''sar'''....''tool'' || '''dresar'''....''pencil''
|-
| '''tuyob'''....''hand'' || '''dren'''....''writing'' || '''tuyodren'''....''manuscript''
|-
| '''mam'''....''sky'' || '''mil'''....''water'' || '''mamil'''....''rain''
|}
: <small><sup>1</sup>: Sometimes, the adjective ending '''a''' is retained when an adjective is compounded with '''xer''' or '''ser'''. This device may be used to distinguished two differently nuanced verbs. For example, '''aga''' + '''xer''' can produce '''agaxer'''....''to magnify'' or '''agxer'''....''to grow''. Usually, the compound where the adjective suffix has been eclipsed has the more idiomatic meaning.</small>
==== Most Common Mirad Prefixes ====
{| class="wikitable sortable collapsable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Common Prefixes
|-
! Prefix !! Examples
|-
|'''a(n)-'''....''uni-, one-, mono-''||'''anzyukpar'''....''unicycle''<br> '''antotin'''....''monotheism''<br>'''adeb'''....''emperor''
|-
|'''aa-'''....''arch-, first-, prime''||'''aadub'''....''prime minister''<br>'''aatat'''....''archangel''<br>'''aavyan'''....''principle''<br>'''aasaun'''....''prototype''
|-
|'''aag-'''....''arch-, main, macro-''||'''aagmep'''....''highway''<br> '''aagdovyab'''....''constitution''<br> '''aagovekut'''....''archrival''
|-
|'''aaj-'''....''paleo-, proto-''||'''aajtobtun'''....''paleoanthropology''<br> '''aajsiyn'''....''fossil''
|-
|'''ab-'''....''ad-, top, on, epi-''||'''abtob'''....''superman''<br> '''abtim'''....''attic''<br> '''abzen'''....''epicenter''
|-
|'''aj-'''....''former, ex-'' || '''ajtayd'''....''ex-wife''<br>'''ajdeb'''....''former leader''
|-
|'''ayb-'''....''over-, super-, hyper-, sur-''||'''aybmep'''....''overpass''<br>'''aybdresin'''....''superscript''<br>'''aybdyun'''....''hypernym''
|-
|'''ag-'''....''mega(lo)-'' || '''agvyotos'''....''megalomania''<br>'''agtoj'''....''megadeath''
|-
|'''alo(n)-'''....''deca-, ten-''||'''alojaga'''....''ten years old''<br> '''alojab'''....''decade''<br> '''alonsuna'''....''decimal''
|-
|'''aloy(n)-'''....''deci-, tenth-''||'''aloynux'''....''tithe''<br> '''aloyngoler'''....''decimate''
|-
|'''am-'''....''thermo-''||'''amzemula'''....''thermonuclear''<br> '''amvyabxar'''....''thermostat''
|-
|'''amlo(n)-'''....''mega-''||'''amloagvunak'''....''megavolt''<br> '''amlotoj'''....''megadeath''
|-
|'''amloyn-'''....''micro-''||'''amloynjweb'''....''microsecond''
|-
|'''anyen-'''....''idio-''||'''anyenboka'''....''idiopathic''<br> '''anyendyan'''....''idiom''<br> '''anyentepa'''....''idiotic''
|-
|'''ao(b/p)-'''....''north-south, up-down, vertical, vertically, y-axis''||'''aonab'''....''column'', ''x-y-axis''<br> '''aopuys yuzpar'''....''hop-on-hop-off bus''<br> '''aonada'''....''vertical''
|-
|'''aoye(b/p)-'''....''in-and-out''||'''aoyebar'''....''piston''<br> '''aoyebelen'''....''import-exports''<br> '''aoyepaper'''....''fly in and out''
|-
|'''aro(n)-'''....''kilo-''||'''aronminak'''....''kilometer''<br> '''arobanak'''....''kilobit''
|-
|'''aroyn-'''....''milli-''||'''aroynvunak'''....''millivolt''<br> '''aoynwunak'''....''milliwatt''
|-
|'''(a)so(n)'''....''cent-''||'''asojagat'''....''centenarian''<br> '''asolinak'''....''hectoliter''<br> '''sojab'''....''century''
|-
|'''asoy(n)-'''....''cent-, centi-''||'''asoygenak'''....''centigram''<br> '''asoylinak'''....''centiliter''
|-
|'''av-'''....''pro-''||'''avYanotina'''....''pro-Communist''
|-
|'''ayn-'''....''full-, holo-, whole-''||'''aynnuut'''....''wholesaler''<br> '''aynsin'''....''hologram''<br> '''aynteptija'''....''fully-conscious''
|-
|'''e(b/p)-'''....''inter-''||'''ebmos'''....''mezzanine''<br> '''ebyanmulxer'''....''intermingle''<br> '''eper'''....''intercede''
|-
|'''ejna-'''....''neo-''||'''ejnadun'''....''neologism''<br> '''ejnaobdabin'''....''neocolonialism''
|-
|'''e(n)-'''....''ambi-, bi-, di-, duo-, two-''||'''entyoba'''....''bipedal''<br> '''enzyuspar'''....''bicycle''<br> '''envolza'''....''dichromatic''
|-
|'''eon-'''....''duo-, double-, twin-''||'''eonin'''....''dualism''<br> '''eondal'''....''double-speak''<br> '''eonsum'''....''twin bed''
|-
|'''ev-'''....''a-, neutral'' ||'''evdofina'''....''amoral''<br>'''evdabtuna'''....''apolitical''
|-
|'''ey(b/p)-'''....''intra-, among''||'''eybmasa'''....''intramural''<br> '''eybmimkuma'''....''intracoastal''
|-
|'''eyn-'''....''demi-, half-, hemi-, mixed-, pen-, quasi-, semi-''||'''eynzyus'''....''semi-circle''<br> '''eynzyup'''....''half-turn''<br> '''eyntilsyeb'''....''demitassee''<br> '''eynyonmel'''....''peninsula''
|-
|'''fi-'''....''bene-, eu-, good-, nice-, well-''||'''fixut'''....''benefactor''<br> '''fidrawa'''....''well-written''<br> '''fitos'''...''euphoria''
|-
|'''fu-'''....''dys-, ill-, mal-, mis-, poorly-''||'''futos'''....''dysphoria''<br> '''futuwa'''....''ill-informed''<br> '''fuxeyn'''....''malfeasance''
|-
|'''fya-'''....''hiero-, holy-, sancti-''||'''fyasdresiyn'''....''hieroglyphic''<br> '''fyader'''....''sanctify''<br> '''fyatwed'''....''holy father''
|-
|'''fye-'''....''mythical, fantasy''||'''fyetop'''....''phantom''<br> '''fyetobet'''....''elfin''<br> '''fyetexer'''...''fantacize''<br> '''fyedin'''....''fantasy''
|-
|'''fyo-'''....''evil, profane'' ||'''fyotez'''....''occult''<br>'''fyotat'''....''devil''<br>'''fyotyez'''....''witchcraft''
|-
|'''gaw-'''....''re-, again'' || '''gawteaper'''....''revisit''<br> '''gawaker'''....''regain''
|-
|'''garale-'''....''tera-''||'''garaleagbanak'''....''terabyte''
|-
|'''garalyi-'''....''exa-''||'''garalyibanak'''....''exabit''
|-
|'''garalyo-'''....''peta-''||'''galayoagbanak'''....''petabyte''
|-
|'''garela-'''....''zetta-''||'''garelaagbanak'''....''zettabyte''
|-
|'''garelu-'''....''yotta-''||'''gareluagbanak'''....''yottabyte''
|-
|'''ge-'''....''equal to, equi-, even-''||'''geyafwa'''....''equipollent''<br> '''genaza'''....''equivalent''
|-
|'''gel-'''....''homo-, like-, simul-''||'''gelzena'''....''homocentric''<br> '''gelvolza'''....''homochromatic''
|-
|'''geyl-'''....''simul-''||'''geyldyan'''....''simile''<br> '''geylxer'''....''assimilate''
|-
|'''gla-'''....''many-, multi-, poly-''||'''glatyenika'''....''multi-skilled''<br> '''glatwada'''....''polyandrous''<br> '''glavolza'''....''many-hued''
|-
|'''glo-'''....''mini-, little-, few-''||'''gloduna'''....''succint, of few words''<br> '''glonixea'''....''low-earning''
|-
|'''gorale-'''....''pico-''||'''goraleagfenak'''....''picofarad''
|-
|'''goralyi-'''....''atto-''||'''goralyigenak'''....''attogram''
|-
|'''goralyo-'''....''femto-''||'''goralyoon'''....''quadrillionth''
|-
|'''goralyu-'''....''nano-''||'''goralyusonak'''....''nanosecond''
|-
|'''gorela-'''....''zepto-''||'''gorelagenak'''....''zeptogram''
|-
|'''gorelu-'''....''yocto-''||'''gorelugenak'''....''yoctogram''
|-
|'''gra-'''....''extra-, hyper-, over-, ultra-''||'''gratosea'''....''hypersensitive''<br> '''grazoyaxler'''....''overreact''<br> '''granoxea'''....''extravagant''
|-
|'''gro-'''....''hypo-, under-''||'''groyixlawa'''....''underemployed''<br> '''groaman'''....''hypothermia''
|-
|'''gwa-'''....''hyper-, maxi-, -most, pleisto-, uber-, ultra-, pure, macro-''||'''gwayelza'''....''pure pink''<br> '''gwayafa'''....''supreme''<br> '''gwauja'''....''ultimate''<br> '''gwazoa'''....''hindmost''
|-
|'''gwo-'''....''least-, mini-, micro-''||'''gwosag'''....''minimum''<br> '''gwoyuzpur'''....''minibus''<br>'''gwoexlus'''....''microprocessor''
|-
|'''hi-'''....''hither, these, this''||'''his'''....''this''<br> '''hisi'''....''these''<br> '''him'''....''here''
|-
|'''hya(s)-'''....''pan(to)-, omni-, all-, every-''||'''hyas'''....''everything''<br> '''hyati'''....''all of them''<br> '''hyastea'''....''omniscient''<br> '''hyataadifa'''....''pansexual''
|-
|'''hu-'''....''that''||'''hus'''....''that''<br> '''huj'''....''then''<br> '''huyen'''...''that way''
|-
|'''huim-'''....''here-and-there, here-and-yon''||'''huimkexer'''....''search high and low''<br> '''huimpaper'''....''fly here and there''<br> '''hyuimpoper'''....''travel here-and-there''
|-
|'''huu-'''....''so, such''||'''huugla'''....''so, so very''<br> '''hus'''....''such''<br> '''huyen'''....''in such a way, so, thus''
|-
|'''hyaewa-'''....''ambi-''||'''hyaewati'''....''both of them''<br> '''hyaewaziza'''....''ambidextrous''<br> '''hyaewatoobifa'''....''ambi-sexual''
|-
|'''hye-'''....''-ever, any, whatever, whichever''||'''hyem'''....''anywhere, wherever''<br> '''hyempea'''....''erratic''<br> '''hjej'''....''ever, anytime''
|-
|'''hyi-'''....''homo-, like-, same, syn-''||'''hyitoobifa'''....''homosexual''<br> '''hyis'''....''same thing''<br> '''hyijoba'''....''synchronous''
|-
|'''hyo(s)-'''....''nothing, a-'' || '''hyostosea'''....''apathetic''
|-
|'''hyu(t/s)-'''....''alter-, hetero-, other-, xeno-, else''||'''hyutoobifa'''....''heterosexual''<br> '''hyua'''....''another, alternate''<br> '''hyutufa'''....''xenophobic''<br> '''hyus'''....''something else''
|-
|'''hyui(t/s)-'''....''cross-, mutual, one thing and another, reciprocal''||'''hyuitvikaxen'''....''mutual admiration''<br> '''hyuixer'''....''reciprocate''<br> '''hyuisa'''....''mutual, reciprocal''<br> '''hyuitif'''....''mutual love''
|-
|'''i-'''....''toward the speaker''||'''iber'''....''receive''<br>'''ixer'''....''result''
|-
|'''ik-'''....''fully, thoroughly''||'''iktoxer'''....''forget completely''<br> '''iktos'''....''satisfaction''<br> '''ikyebixer'''....''engulf, swallow up completely''
|-
|'''in-'''....''three-, tri-, tripl-, tern-''||'''inzyuspar'''....''tricycle''<br> '''inaga'''....''three-dimensional''<br> '''injiba'''....''trimensual''<br> '''insuna'''....''ternary''<br> '''intotan'''....''trinity''
|-
|'''iyn-'''....''terci-, third''||'''iyna'''....''terciary''<br> '''iynxer'''....''cut into thirds''
|-
|'''iz-'''....''ortho-, recti-, right-, straight-''||'''iznada'''....''rectilinear''<br> '''izguna'''....''orthogonal''<br> '''iztin'''....''orthdoxy''<br> '''izdea'''....''forthright''
|-
|'''ja-'''....''ante-, fore-, pre-''||'''jaupya'''....''foregone''<br> '''jauper'''....''precede''<br> '''jadropeka'''....''antebellum''
|-
|'''je-'''....''per-, continuously, ever-''||'''jetejer'''....''persevere''<br>'''jeteaxer'''....''watch''<br>'''jexrer'''....''perpetuate''
|-
|'''jo-'''....''after-, meta-, post-''||'''joexlen'''....''postprocessing''<br> '''jomir'''....''metasphere''<br> '''jotej'''....''afterlife''
|-
|'''jwa-'''....''early-, eo-, preter-, proto-''||'''jwaber'''....''prepare''<br> '''jwatuun'''....''premonition''<br> '''jwadodin'''....''early history, protohistory''<br> '''jwamola'''....''preternatural''<br> '''jwajoeb'''....''eocene''
|-
|'''jwo-'''....''ceno-, late-, latter-, tard-''||'''jwonux'''....''late payment''<br> '''jwoa'''....''tardy''<br> '''jwoteja'''....''cenozoic''
|-
|'''ko-'''....''cover-, hidden, secret-, stealth-''||'''koa'''....''covert''<br> '''koexut'''....''spy''<br> '''koyeper'''....''sneak in''
|-
|'''(ko)vyo-'''....''pseudo-, mis-, wrong-''||'''kovyotun'''....''pseudoscience''<br>'''vyobekuer'''....''to mistreat''
|-
|'''ku-'''....''para-''||'''kuifut'''....''paramour''<br> '''kuteliut'''....''parasite''<br> '''kuteptun'''....''parapsychology''
|-
|'''kya-'''....''alternate, dia-, re-, trans-, vari-, cross-''||'''kyaember'''....''relocate''<br> '''kyajoba'''....''diachronic''<br> '''kyatajnad'''....''crossbreed''<br> '''kyatooba'''....''transgendered''<br> '''kyavolza'''....''variegated, motley''
|-
|'''kyao-'''....''falteringly, unsteadily''||'''kyaoper'''....''stagger''<br> '''kyaotexer'''....''vacillate''
|-
|'''kye-'''....''chance-, hap-, random-''||'''kyea'''....''haphazard''<br> '''kyebyus'''....''chance encounter''<br> '''kyeteater'''....''happen to see''<br> '''kyesauna'''....''of a random type''
|-
|'''kyo-'''....''fixed-, still-, stereo-, stat-''||'''kyosaun'''....''stereotype''<br> '''kyopa'''....''stable, static, stationary''<br> '''kyoson'''....''status''
|-
|'''lo-'''....''dis-, semantic reversing prefix, un-''||'''lozeb'''....''disequilibrium''<br> '''loyuvlaxer'''....''disengage''<br> '''loyuzyuber'''....''uncoil''<br> '''lomulvyusber'''....''decontaminate''
|-
|'''logel-'''....''hetero-, different-''||'''logelsauna'''....''heterogenous''<br>'''logelaxer'''....''differentiate''
|-
|'''maz-'''....''bright-''||'''mazteaba'''....''bright-eyed''
|-
|'''mial-'''....''hygro-, atmo-, vapori-''||'''mialama'''....''hygrothermal''<br>'''mialnagar'''....''atomometer, vaporimeter''
|-
|'''mil-'''....''aqua-, hydro-, water-''||'''milyexun'''....''aquaculture''<br> '''milmaka'''....''hydroelectric''<br> '''miltilsyeb'''....''water glass''
|-
|'''mul-'''....''hylo-, substance''||'''mulsana'''....''hylomorphic''
|-
|'''o(l)-'''....''a-, dis-, non-, un-, in-''||'''ovyilxwa'''....''unwashed''<br> '''omalza'''....''non-white''<br> '''ototina'''....''atheist''<br> '''otepzexea'''....''inattentive''
|-
|'''o(b/p)-'''....''de-, hypo-, off-, sub-, vice-''||'''oper'''....''get off''<br> '''obneg'''....''sublevel''<br> '''obxeb'''....''sous-chef, sub-officer''<br>'''obtyodeb'''....''vice-president''
|-
|'''oog-'''....''micro-'' || '''oogpob'''....''microorganism''
<nowiki>-</nowiki>
|-
| '''oj-'''....''future'' || '''ojtayd'''....''bride, future wife''
|-
|'''gaw-'''....''re-'' ||'''gawder'''....''to repeat''<br>'''gawdyeer'''....''to re-read''
|-
|'''gwo-'''....''micro-, mini-'' || '''ogalmor'''....''microcosm''<br>'''ogalteaxer'''....''microscope''<br>'''gowaxer'''....''minimize''
|-
|'''of-'''....''prohibited'' ||'''ofbier'''....''steal''<br>'''ofbekul'''....''prohibited drug''<br>'''ofemkyoxer'''....''to squat''
|-
|'''ov-'''....''contra-, counter-, dis-, non-, the opposite of, un-''||'''ovalxer'''....''countervail''<br> '''ovper'''....''contravene''<br> '''ovkyin'''....''counterweight''<br> '''ovdat'''....''enemy''<br> '''olovmasbwa'''....''undefended''
|-
|'''oy-'''....''-less, a(n)-, without''||'''oytofa'''...''naked''<br> '''oyxer'''....''deprive''<br> '''oytosen'''....''apathy''<br> '''oyteupiba'''....''toothless''
|-
|'''oyb-'''....''hypo-, infra-, sub-, under-''||'''oybnadrer'''....''underline''<br> '''oybtomsan'''....''infrastructure''<br> '''oybseuxa'''....''subsonic''<br> '''oybtayoba'''....''hypodermic''
|-
|'''oyeb-'''....''ex-, extra-, out-''||'''oyebnad'''....''outline''<br> '''oyebyujber'''....''exclude''<br> '''oyebdoabuer'''....''extradite''
|-
|'''oyv-'''....''contra-, opposite, reverse''||'''oyvkuma'''...''opposite''<br> '''oyvder'''....''contradict''<br>'''oyvduer'''....''contraindicate''<br>'''oyvaxer'''....''reverse''
|-
|'''tayi(b)-'''....''neuro-, nerve''||'''tayibteptun'''....''neuropsychology''<br> '''tayibyok'''....''neuralgia''
|-
|'''teeb-'''....''auri-, oto-, ear-''||'''teebbekut'''....''aurist''<br> '''teeteiteyobtut'''....''otorhinolaryngologist''<br> '''teebyel'''....''earwax''
|-
|'''tee(s/x/t)-'''....''audio-, son-, phono-''||'''teesnagen'''....''audiography''<br> '''teestaxdras'''....''phonogram''<br> '''teestun'''....''audiology''<br> '''teexdras'''....''audiogram''<br> '''teetyofwa'''....''inaudible''
|-
|'''tei(b)-'''....''nasal, nose, rhino-, aroma-, olfact-, osmo-''||'''teibbok'''....''rhinitis''<br> '''teibyeg'''....''nostril''<br> '''teiz'''....''perfume''<br> '''teizuka'''....''aroma-free''<br> '''teityaf'''....''olfactory sense''
|-
|'''tiibil-'''....''blood-, hema-, hemato-, hemo-, sanguin-''||'''tiibililp'''....''hemorrhage''<br> '''tiibiliut'''....''bloodsucker''<br> '''tiibloker'''....''exsanguinate''<br> '''tiibiltun'''....''hematology''
|-
|'''tuj-'''....''hypno-, somni-, sopor-''||'''tujbek'''....''hyptotherapy''<br> '''tujbyea'''....''somniferous, soporific''
|-
|'''u(b/p)-'''....''toward''||'''uber'''....''send''<br>'''ubaer'''....''lean toward''
|-
|'''ui-'''....''horizontal, left-right, x-axis''||'''uinab'''....''row'', ''x-axis''<br> '''uinada'''....''horizontal''
|-
|'''uib-'''....''back-and-forth, toward-and-away, transmit-receive''||'''uibar'''....''transceiver''
|-
|'''uig-'''....''fast-and-slow''||'''uigpar'''....''scooter''
|-
|'''uij-'''....''begin-and-end, start-and-stop''||'''uijdaler'''....''stutter''
|-
|'''uip-'''....''come-and-go''||'''uipen'''....''traffic, coming and going''
|-
|'''uiz-'''....''straight-then-crooked''||'''uizbaser'''....''swagger''<br> '''uizdrer'''....''scribble''<br> '''uizpaser'''....''swerve''
|-
|'''u(n)-'''....''four-, quadri-, tetra-, quater-''||'''ungona'''....''quadripartite''<br> '''unnednid'''....''tetrahedron''<br> '''unsuna'''....''quaternary''
|-
|'''uyn-'''....''fourth-, quarti-''||'''uynxer'''....''quarter''<br> '''uynjab'''....''quarter (of a year)''
|-
|'''ut-'''....''auto-, self-, sui-, ego-''||'''utifon'''....''egoism''<br> '''utgober'''....''autodecrement''<br> '''utfuyix'''....''self-abuse''<br> '''uttujben'''....''suicide''
|-
|'''uz-'''....''crooked, di-''||'''uzper'''....''diverge''
|-
|'''va-'''....''yes''||'''vayovder'''....''convict''<br> '''vabier'''....''accept''<br> '''vatexer'''....''believe''
|-
|'''vao-'''....''yes-no''||'''vaoder'''....''decide''<br> '''vaodaler'''....''waffle''<br> '''vaonaza'''....''boolean''
|-
|'''vi-'''....''bell-, eu-, fine-, pulchri-''||'''vituzyan'''....''fine arts, beaux arts''<br> '''vidun'''....''euphemism''<br> '''vidrenyan'''....''literature, belles lettres''<br> '''visuana'''....''classic''
|-
|'''vo-'''....''non-, neg-''||'''voyafxer'''....''veto''<br> '''voxer'''....''negate''<br> '''voyovder'''....''acquit, declare not guilty''
|-
|'''vya-'''....''justi-, recti-, true-, reg-''||'''vyadin'''....''true story''<br> '''vyader'''....''avow''<br> '''vyamol'''....''essence''
|-
| '''vyao-'''....''right or wrong'' ||'''vyaoyek'''....''test''
|-
|'''vyak-'''....''ortho-, correct-''||'''vyakdred'''....''orthography''<br> '''vyakxer'''....''correct''
|-
|'''vyo-'''....''mis-, para-, wrong-''||'''vyoyufa'''....''paranoid''<br> '''vyoyux'''....''perfidy''<br> '''vyoyixer'''....''misuse''
|-
|'''ya-'''....''more than one, multi-''||'''yaota'''....''communal''
|-
|'''yab-'''....''hyper-, supra-, sur-, up-, upper-''||'''yabdom'''....''uptown''<br> '''yabdoneg'''....''upper class''<br> '''yabduzneg'''....''high pitch''<br> '''yabexer'''....''support''<br> '''yabzyobix'''....''hypertension''
|-
|'''yabnan-'''....''height-, hypso-, alti-''||'''yabnanagar'''....''hypsometer, altimeter''
|-
|'''yag-'''....''long-''||'''yagyiban'''....''long distance''<br> '''yagyeker'''....''strive''<br> '''yagblokea'''....''long-suffering''
|-
|'''yan-'''....''co(n)-, fellow-, -mate''||'''yanzena'''....''concentric''<br> '''yanyeker'''....''compete''<br> '''yandit'''....''fellow-citizen''
|-
|'''yao(b/p)-'''....''up-and-down''||'''yaopuyser'''....''skip''<br> '''yaopsim'''....''seesaw''<br> '''yaoblir'''....''elevator''<br> '''yaobaser'''....''bounce''
|-
|'''ya(on)-'''....''six-, hexa-, sex-''||'''yaonat'''....''sextet''<br> '''yaongun'''....''hexagon''<br> '''yaona'''....''six-fold, sextuple''<br>'''yagol'''....''sextile''
|-
|'''yaov-'''....''guilty-or-innocent''||'''yaovder'''....''adjudicate''<br> '''yaovdutyan'''....''jury''<br> '''yaovkader'''....''plead''<br> '''yaovyek'''....''trial''
|-
|'''yaoz-'''....''serrated, bumpy, jagged''||'''yaozaxer'''....''serrate''<br> '''yaozgoblar'''....''saw''<br> '''yaozper'''....''bump along''
|-
|'''yayb-'''....''supra-''||'''yaybdooba'''....''supranational''
|-
|'''yayn-'''....''sex-, sixth''||'''yayna'''...''sixth''
|-
|'''ye(on)-'''....''hept-, hepta-, septi-, seven-''||'''yejub'''....''week''<br> '''yeongun'''....''heptagon''<br> '''yeonat'''....''septuplet''
|-
|'''ye(b/p)-'''....''en-, endo-, in-, intra-, intro-''||'''yebuzaser'''....''.inflect''<br> '''yebzoytiibufa'''....''intravenous''<br> '''yebyujer'''....''enclode''<br> '''yebtayoba'''....''endodermal''<br> '''yeper'''....''enter''<br> '''yeber'''....''introduce''
|-
|'''yeov-'''....''fair or not ''|| '''yeovdut'''....''umpire''
|-
|'''yeyb-'''....''intra-''||'''yeybmepyan'''....''intranet''<br> '''yeybdoeba'''....''intrastate''
|-
|'''ye-'''....''hepto-, seven-, septi-''||'''yejub'''....''week''
|-
|'''yeyn-'''....''seventh''|| '''yeynxer'''....''split into sevenths''
|-
|'''yez'''....''para-, alongside''|| '''yezteptun'''....''parapsychology''<br>'''yezuper'''....''come alongside''
|-
|'''yi(on)-'''....''oct-, eight-''||'''yiona'''...''eight-fold''<br>''octuple''
|-
|'''yib-'''....''far-, tele-, remote''||'''yibsin'''....''televison''<br> '''yibteata'''....''far-sighted''<br> '''yibtrawa'''....''famous''
|-
|'''yibaj-'''....''archai-, archeo-, ancient''||'''yibajtun'''....''archaeology'','''yibajtun'''....''archeology''
|-
|'''yiyn-'''....''eighth''||'''yiynxer'''....''divide into eighths''
|-
|'''yiz-'''....''beyond, extra-, meta-, out-, para-, past, super-, supra-, trans-, ultra-''||'''yiztyun'''...''metaphor''<br> '''yizeza'''....''paranormal''<br> '''yizmeirat'''....''extraterrestrial''<br> '''yizseux'''....''utrasound''
|-
|'''yoon-'''....''five-, penta-, quint-''||'''yoongun'''....''pentagon''<br> '''yoongol'''...''quintile''<br> '''yoon'''....''group of five''<br> ''quintet''
|-
|'''yo(b/p)-'''....''down-, hypo-, sub-''||'''yobdom'''...''downtown''<br> '''yoper'''....''go down''<br> '''yobgoler'''....''subdivide''
|-
|'''yon-'''....''apart, dis-, se-''||'''yonzyaber'''....''disperse''<br> '''yonxer'''....''separate''<br> '''yonsauna'''....''distinct''
|-
|'''yoyn-'''....''fifth-, quinti-''||'''yoynnaga'''....''quintic''<br> '''yoyn'''....''a fifth''
|-
|'''yu(n)-'''....''nine-, nona-''||'''yunapa'''....''ninth (in order)''<br> '''yungunid'''....''nonagon''<br> '''yunkunid'''....''nonahedron''
|-
|'''yub-'''....''near-, proxi-, para-''||'''yuboj'''....''near future''<br> '''yubna'''....''next''<br> '''yubteas'''....''closeup (view)''<br> '''yubge'''....''almost''<br> '''yubfia'''....''intimate''<br> '''yubgeser'''....''approximate''<br>'''yubdopa'''....''paramilitary''
|-
|'''yui(b/p)-'''....''near-and-far''||'''yuibjo'''....''sooner or later''<br> '''yuibteabar'''....''bifocals''<br> '''yuipoper'''....''travel near and far''
|-
|'''yuij-'''....''open-and-shut''||'''yuijar'''....''valve''<br> '''yuijer'''....''blink'', ''wink''<br> '''manyuijer'''....''blink''<br> '''makyuijar'''....''switch''
|-
|'''yuyb-'''....''quasi-, pen-, almost''||'''yuybyonmel'''....''peninsula''<br> '''yuybega'''....''quasi-normal''
|-
|'''yuon-'''....''ninth-, novi-''||'''yuonat'''....''nonuplet''
|-
|'''yuz-'''....''circ-, circum-, peri-, roto-, round-''||'''yuzper'''....''circulate''<br> '''yuznad'''....''perimeter''<br> '''yuzof'''....''wrap-around''<br> '''yuznadrer'''....''circumscribe''
|-
|'''za-'''....''ante-, fore-, front-, pre-, pro-, north''||'''zatim'''....''antechamber''<br> '''zamimuf'''....''foremast''<br> '''zagab'''....''prefix''<br> '''zajuber'''....''procrastinate''<br>'''zamer'''....''north''
|-
|'''zao-'''....''back-and-forth, front-and-back''||'''zaopaser'''....''wobble''<br> '''zaokuper'''....''slalom''<br> '''zaopyoser'''....''pendulate''
|-
|'''zay-'''....''forth-, pro-, forward, ahead''||'''zaypuyser'''....''skip ahead''<br> '''zaypuxer'''....''propel''<br> '''zayper'''....''go forward, procede''<br> '''zayupea'''....''forthcoming''
|-
|'''ze-'''....''mid-, central, medio-''||'''zetej'''....''midlife''<br> '''zepoxer'''....''interrupt, stop midway''<br> '''zetem'''....''central hall''
|-
|'''zey-'''....''cross-, meta-, over-, trans-, across''||'''zeyper'''....''transit, get across''<br> '''zeynod'''....''crosspoint''<br> '''zeytyun'''....''metaphor''
|-
|'''zi-'''....''right, east, dextro-''||'''zim'''....''right side''<br>'''zimera'''....''eastern''
|-
|'''zo-'''....''back-, hind-, retro-, south''||'''zotib'''....''back''<br> '''zotiub'''....''hindquarters''<br> '''zonapa'''....''retrograde''<br>'''zomer'''....''south''
|-
|'''zoy-'''....''back-, retro-, re-''||'''zoyper'''....''recede, go back''<br> '''zoybeler'''....''carry back''<br> '''zoyzyublen'''....''backspin''
|-
|'''zu-'''....''left-, west-''||'''zutinut'''....''leftist''<br> '''zukum'''....''left side''<br>'''zumera'''....''western''
|-
|'''zui-'''....''left-and-right, zig-zag, east-west''||'''zuibyoser'''....''dangle, hang left-and-right''<br> '''zuiper'''....''zigzag''<br> '''zuituyaba'''....''ambidextrous''<br>'''zuimera'''....''east-west''
|-
|'''zya-'''....''-wide, wide-, broad-, all about''||'''zyauber'''....''broadcast''<br> '''zyateaba'''....''wide-eyed''<br> '''zyasauna'''....''general''<br> '''zyapoper'''....''cruise, wander''<br> '''zyamira'''....''global, worldwide''
|-
|'''zye-'''....''per-, thorough-, thru-, trans-''||'''zyetejer'''....''live through, experience''<br> '''zyeteaxer'''....''peruse''<br> '''zyeteatyafwa'''....''transparent''<br> '''zyemep'''....''thoroughfare''<br> '''zyeper'''....''permeate, transit''
|-
|'''zyo-'''....''narrow, steno-'' || '''zyotepa'''....''narrow-minded''<br>'''zyoteat'''....''tunnel vision''<br>'''zyoyija'''....''stenopeic''
|-
|'''zyu-'''....''cyclo-, rot-, round-, gyro''||'''zyutim'''....''rotunda''<br> '''zyusem'''....''roundtable''<br> '''zyuper'''....''cycle, gyrate, rotate''
|}
==== Suffixes ====
: Mirad has semantic stub suffixes, derivational suffixes, and normal semantic suffixes.
: '''Semantic Stub Suffixes'''
:: Semantic stub suffixes are generally formed from the last letters of a base word minus the initial consonant. They serve to put a word into some category, such as liquid, place, person, or material.
{| class="wikitable sortable" style="background:lightyellow; margin-left:4.8em; font-size:smaller"
|+ Semantic Stub Suffixes
|- valign=top
! Suffix Stub !! Suffix Full Form !! Suffixed Example < Base Word
|-
| '''-il'''....''liquid, drink'' || '''mil'''....''water'' || '''teab<u>il</u>'''....''tear'' < '''teab'''....''eye''<br>'''teub<u>il</u>'''....''saliva'' < '''teub'''....''mouth''<br>'''tayeb<u>il</u>'''....''sweat'' < '''tayeb'''....''skin''<br>'''mam<u>il</u>'''....''rain'' < '''mam'''....''sky''
|-
| '''-al'''....''gas'' || '''mal'''....''air'' || '''tieb<u>al</u>'''....''breath'' < '''tieb'''....''lung''
|-
| '''-(e)l'''....''food'' || '''tel'''....''food'' || '''sup<u>el</u>'''....''pork'' < '''<u>sup</u>et'''....''swine''<br>'''ta<u>ol</u>''' < '''taob'''....''flesh''<br>'''fe<u>l</u>''' < '''feb'''....''fruit''
|-
| '''-ul'''....''stuff'' || '''mul'''....''substance'' || '''vix<u>ul</u>'''....''cosmetic'' < '''vix-'''....''to beautify''<br>'''bek<u>ul</u>'''....''medecine'' < '''bek'''....''treatment''
|-
| '''-yel'''....''oil, gel, wax, pulp'' || '''yel'''....''oil'' || '''olf<u>yel</u>'''....''olive oil'' < '''olfeb'''....''olive''<br>'''appelat<u>yel</u>'''....''wax'' < '''appelat'''....''bee''<br>'''mag<u>yel</u>'''....''grease'' < '''mag'''....''fire''<br>'''bek<u>yel</u>'''....''salve'' < '''bek'''....''treatment''<br>'''meg<u>yel</u>'''....''cement'' < '''meg'''....''stone''<br>'''yan<u>yel</u>'''....''paste'' < '''yan'''....''together''
|-
| '''-am'''....''house'' || '''tam'''....''house'' || '''apat<u>am</u>'''....''chicken coop'' < '''apat'''....''chicken''<br>'''apellat<u>am</u>'''....''beehive'' < '''apellat'''....''bee''<br>'''melyex<u>am</u>'''....''farmhouse'' < '''melyex'''....''agriculture''<br>'''datib<u>am</u>'''....''hostel'' < '''datib'''....''guest-reception''
|-
| '''-(e)m'''....''place'' || '''nem'''....''place'' || '''vobyex<u>em</u>'''....''plantation, farm'' < '''vob'''....''plant'' + '''yex'''....''work''<br>'''vab<u>em</u>'''....''field'' < '''vab'''....''grass''<br>'''ab<u>em</u>'''....''top, surface'' < '''ab'''....''above, upper''<br>'''ze<u>m</u>'''....''middle'' < '''ze(a)'''....''middle'' <br> '''tim'''....''room''
|-
| '''-im'''....''room'' || '''tim'''....''room'' || '''tul<u>im</u>''' < '''tul'''....''cuisine''<br>'''tuj<u>im</u>'''....''bedroom'' < '''tuj'''....''sleep''
|-
| '''-um'''....''cell, booth'' || '''tum'''....''compartment''|| '''pex<u>um</u>'''....''cage'' < '''pexer'''....''catch''<br>'''ilzyapux<u>um</u>'''....''shower stall'' < '''ilzyapux'''....''shower''
|-
| '''-yem'''....''space'' || '''nyem'''....''enclosure'' || '''yom<u>yem</u>'''....''icebox'' < '''yom'''....''ice''
|-
| '''-yeb'''....''container'' || '''nyeb'''....''container'' || '''z<u>yeb</u>'''....''bottle'' < '''zye(f)'''....''glass''<br>'''vos<u>yeb</u>'''....''vase'' < '''vos'''....''flower''
|-
| '''-of'''....''material'' || '''nof'''....''cloth'' || '''t<u>of</u>'''....''clothes'' < '''t-'''....''human''<br>'''mis<u>of</u>'''....''curtain'' < '''mis'''....''window''<br>'''fa<u>of</u>'''....''wood'' < '''fa(b)-'''....''tree''<br>'''tay<u>of</u>'''....''leather'' < '''tayo(b)'''....''skin''
|-
| '''-ov'''....''linen'' || '''nov'''....''linen'' || '''tey<u>ov</u>'''....''collar'' < '''teyob'''....''neck''
|-
| '''-ar'''....''instrument'' || '''sar'''....''tool'' ||'''p<u>ar</u>'''....''cart'' < '''p-'''....''motion''<br>'''zyup<u>ar</u>'''....''rotor'' < '''zyup'''....''turn''<br>'''gobr<u>ar</u>'''....''knife'' < '''gobrar'''....''cut''<br>'''jwob<u>ar</u>'''....''watch'' < '''jwob'''....''hour''
|-
| '''-ir'''....''machine'' || '''sir'''....''machine'' || '''dr<u>ir</u>'''....''typewriter'' < '''dr-'''....''write''<br>'''gwob<u>ir</u>'''....''clock''
|-
| '''-ur'''....''large machine'' || '''sur'''....''engine'' || '''p<u>ur</u>r'''....''car''<br>'''jwob<u>ur</u>r'''....''grandfather clock'' < '''jwob'''....''hour''
|-
| '''-(u)n'''....''thing'' || '''sun'''....''thing'' || '''d<u>un</u>'''....''word'' < '''d-'''....''utter, say''<br>'''gofr<u>un</u>'''....''piece, scrap'' < '''gofrer'''....''rip, shread, tear''<br>'''zyi<u>un</u>'''....''plaque, plate'' < '''zyia'''....''flat''<br>'''vyu<u>n</u>'''....''spot'' < '''vyua'''....''dirty''
|-
| '''-on'''....''abstract thing'' || '''son'''....''issue'' || '''yov<u>on</u>'''....''tort, wrong'' < '''yov'''....''guilt''
|-
| '''yen'''....''manner, kind'' || '''byen'''....''manner'' || '''tex<u>yen</u>'''....''opinion'' < '''tex'''....''thought''<br>'''hi<u>yen</u>'''....''this way, thus'' < '''hi-'''....''this''<br>'''es<u>yen</u>'''....''status'' < '''es-'''....''exist''
|-
| '''-in'''....''-ism'' || '''tin'''....''doctrine'' || '''tot<u>in</u>'''....''theism, religion'' < '''tot-'''....''god''<br>'''Krist<u>in</u>'''....''Christianity'' < '''Krist'''....''Christ''<br>'''vyisat<u>in</u>'''....''puritanism'' < '''vysiat'''....''puritan, clean person''<br>'''oytof<u>in</u>'''....''nudism'' < '''oytofa'''....''nude''
|-
| '''-ufyeg'''....''cylinder'' || '''mufyeg'''....''pipe'' || '''man<u>ufyeg</u>'''....''candle'' < '''man'''....''light''<br>'''tiib<u>ufyeg</u>'''....''artery'' < '''tiib'''....''heart''<br>'''mil<u>ufyeg</u>'''....''toilet'' < '''mil'''....''water''<br>'''mov<u>ufyeg</u>'''....''cheminee'' < '''mov'''....''smoke''
|-
| '''-ab'''....''government'' || '''dab'''....''government'' || '''dit<u>ab</u>'''....''democracy'' < '''dit'''....''citizen''
|-
| '''-eb'''....''leader'' || '''deb'''....''leader'' || '''x<u>eb</u>'''....''boss'' < '''x-'''....''do''<br>'''tam<u>eb</u>'''....''master of the house'' < '''tam'''....''house''
|-
| '''-ub'''....''branch'' || '''tub'''....''arm'' || '''pat<u>ub</u>'''....''wing'' < '''pat'''....''bird''
|-
| '''-ad'''....''language'' || '''-a''' + '''d(alzeyn)'''....''language'' || '''Frans<u>ad</u>'''....''French (language)''
|-
| '''-uz'''....''jewelry'' || '''nuz'''....''jewel'' || '''teyob<u>uz</u>'''....''necklace'' < '''teyob'''....''neck''<br>'''teeb<u>uz</u>'''....''earring'' < '''teeb'''....''ear''
|-
| '''-u(er)'''....''give'' || '''buer'''....''give'' || '''tiebal<u>u</u>er'''....''exhale'' < '''tieb'''....''lung'' + '''al'''....''air''
|-
| '''-i(er)'''....''take'' || '''bier'''....''take'' || '''tiebal<u>i</u>er'''....''inhale'' < '''tieb'''....''lung'' + '''al'''....''air''
|-
| '''-ui(er)'''....''exchange'' || '''buier'''....''exchange'' || '''tiebal<u>u</u>ier'''....''breathe'' < '''tieb'''....''lung'' + '''al'''....''air''
|}
==== Derviational Suffixes ====
::: Mirad has only a few derivational suffixes, i.e. suffixes that change the part of speech.
{| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller"
|+ Derivational Suffixes
|-
! Derivational<br>Suffix !! Function || Base Word <br><br>--> Suffixed<br>Derivation
|-
| '''-er''' || Noun <br>--> Verbal Infinitive || '''sag'''....''count'' <big><br>--></big> '''sag<u>er</u>'''....''to count''
|-
| '''-n''' || Present Tense Verb <br>--> Verbal Noun (Gerund)<br>Adjective <br>--> Abstract Noun || '''yexe'''....''(he/she/...) works'' <big><br>--></big> '''yexe<u>n</u>'''....''working''<br>'''via'''....''beautiful'' <big><br>--></big> '''via<u>n</u>'''....''beauty''<br>'''yuba'''....''near'' <big><br>--></big> '''yuba<u>n</u>'''....''proximity, nearness''
|-
| '''-a''' || Noun <br>--> Adjective<br>Active Verb<br>--> Verbal Adjective (Present Participle)<br>Past Passive Verb <br>--> Perfect Passive Participle (Adjective)||'''mor'''....''universe'' <big><br>--></big> '''mor<u>a</u>'''....''universal''<br>'''ake'''....''wins'' <big><br>--></big> '''ake<u>a</u>'''....''winning''<br>'''teatwa'''....''was seen'' <big><br>--></big>'''teatwa<u>a</u>''' (or, shortened to: '''teatw<u>a</u>'''....''seen'')
|-
| '''-ya''' || INTRANSITIVE VERB STEM <br>--> PAST ACTIVE PARTICIPLE || '''ip-'''....''go away'' <big><br>--></big> '''ip<u>ya</u>'''....''gone away''
|-
| '''-yea''' || VERB STEM <br>--> HABITUAL PRESENT PARTICIPLE (ADJECTIVE) || '''zaypas-'''....''progress'' <big><br>--></big> '''zaypas<u>yea</u>'''....''progressive''
|-
| '''-y''' || ADJECTIVE <br>--> ADVERB || '''iga'''....''quick'' <big><br>--></big> '''iga<u>y</u>'''....''quickly''<br>'''tea-'''....''knowing''<big><br>--></big>'''tea<u>y</u>'''....''knowingly''
|-
| '''-ut''' || VERB STEM <br>--> ANIMATE AGENT NOUN ''one who Xes, -er'' || '''ak-'''....''win'' <big><br>--></big> '''ak<u>ut</u>''' ....''winner''
|-
| '''-us''' || VERB STEM <br>--> INANIMATE AGENT NOUN ''thing that Xes, -er'' || '''gol-'''....''divide'' <big><br>--></big> '''gol<u>us</u>''' ....''divisor''
|-
|- '''-t''' || ADJECTIVE <br>--> ANIMATE NOUN (human, one who is...) || '''yibtrawa'''....''well-known'' <big>-<br>--></big>'''yibtrawa<u>t</u>'''....''celebrity''
|-
|- '''-s''' || ADJECTIVE <br>--> INANIMATE NOUN (thing, something X) || '''otwa'''....''unknown'' <big><br>--></big>'''otwa<u>s</u>'''....''mystery''
|}
::: <small>*Derivational affixes change the part of speech of a base word, whereas inflexional affixes change the status of a word within a grammatical paradigm. Verb tense/mood/voice affixes and the plural marker '''-i''' fall under the latter category.</small>
==== Normal Semantic Suffixes====
:* Augmentative Suffixes
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Augmentative Suffixes
|-
! Augmentative Suffix !! Base Word !! Suffixed Derivation
|-
| '''-ag''' (augmentative) || '''tam'''....''house'' || '''tamag'''....''mansion''
|-
| '''-ayg''' (affectionate augmentative) || '''sem'''....''chair'' || '''semayg'''....''big old chair''
|-
| '''-yag''' (pejorative augmentative) || '''apet'''....''horse'' || '''apetyag'''....''nag''
|}
:* Diminutive Suffixes
{| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller"
|+ Diminutive Suffixes
|-
! Diminutive Suffix !! Base Word !! Suffixed Derivation
|-
| '''-og''' (diminutive) || '''tam'''....''house'' || '''tamog'''....''hut''
|-
| '''-oyg''' (affectionate diminutive) || '''tam'''....''house'' || '''tamoyg'''....''cottage''
|-
| '''-yog''' (pejorative diminutive) || '''tam'''....''house'' || '''tamyog'''....''shack''
|-
| '''-et''' (a smaller person) || '''twob'''....''man'' || '''twobet'''....''boy''
|-
| '''-es''' (thing of lesser importance) || '''nas'''....''money'' || '''nases'''....''change, coin''
|-
| '''-ud''' (child of, offspring) || '''tob'''....''man'' || '''tobud'''....''infant''
|}
:* Semantic Adjectival Suffixes
{| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller"
|+ Semantic Adjectival Suffixes
|-
! Adjectival Suffix !! Meaning !! Base Word !! Suffixed Derivation
|-
| '''-a''' || '''mor'''....''universe'' || ''related to, -al, -ic'' || '''mora'''....''universal''
|-
| '''-aya''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekaya'''....''dusty''
|-
| '''-oya''' || '''vyun'''....''spot'' || ''empty of, -less, -free'' || '''vyunoya'''....''spotless''
|-
| '''-ika''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekika'''....''dusty''
|-
| '''-uka''' || '''miek'''....''dust'' || ''empty of, -less, -free'' || '''miekuka'''....''dust-free''
|-
| '''-yea''' || '''vyod'''....''lie'' || ''given to doing X, -ive'' || '''vyodyea'''....''mendacious, given to lying''
|-
| '''-yena''' || '''tat'''....''angel'' || ''like, -ly, -ic'' || '''tatyena'''....''angelic''
|}
:* Other Semantic Suffixes
{| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller"
|+ Other Semantic Suffixes
|-
! Suffix !! Base Word || Derivation
|-
| '''-tun'''....''science, ...ology'' || '''tej'''....''life'' || '''tej<u>tun</u>'''....''biology''
|-
| '''-tut'''....''-ologist, expert, -ist'' || '''dar'''....''language'' || '''dar<u>tut</u>'''....''linquist''
|-
| '''-tuin'''....''theory'' || '''tob'''....''mar'' || '''mar<u>tuin</u>'''....''astrology''
|-
| '''-yan'''....''collection, aggregate'' || '''fab'''....''tree''|| '''fab<u>yan</u>'''....''forest''
|-
|'''-tyen'''....''trade, -ics'' || '''sir'''....''machine'' || '''sir<u>tyen</u>'''....''mechanics''
|-
| '''-if'''....''pet name'' || '''twed'''....''father'' || '''twed<u>if</u>'''....''papa''
|-
| '''ifa'''....''-philic, -loving'' || '''dyes'''....''book'' || '''dyes<u>ifa</u>'''....''bibliophilic''
|-
| '''ifwa'''....''liked by'' || '''tyod'''....''people'' || '''tyod<u>ifwa</u>'''....''popular''
|-
| '''ufa'''....''-phobic, -hating'' || '''toyb'''....''woman'' || '''toyb<u>ufa</u>'''....''misogynous''
|-
| '''ufwa'''....''hated by'' || '''tyod'''....''people'' || '''tyod<u>ufwa</u>'''....''unpopular''
|-
| '''yafa'''....''able to'' || '''tyoyap-'''....''walk'' || '''tyoyap<u>yafa</u>'''....''ambulatory''
|-
| '''yafwa'''....''possible to'' || '''teat-'''....''see'' || '''teat<u>yafwa</u>'''....''visible''
|-
| '''yofa'''....''unable to'' || '''teat-'''....''see'' || '''teat<u>yofa</u>'''....''blind''
|-
| '''yofwa'''....''impossible to'' || '''dye-'''....''read'' || '''dye<u>yofwa</u>'''....''illegible''
|-
| '''yika'''....''hard of...ing'' || '''teet-'''....''hear'' || '''teet<u>yika</u>'''....''hard of hearing''
|-
| '''yikwa'''....''hard to'' || '''teet-'''....''hear'' || '''teet<u>yikwa</u>'''....''hard to hear''
|-
| '''yuka'''....''easy at...ing'' || '''vatex-'''....''believe'' || '''vatex<u>yuka</u>'''....''gullible''
|-
| '''yukwa'''....''easily...ed'' || '''test-'''....''understand'' || '''test<u>yukwa</u>'''....''easily understood''
|-
| '''yufa'''....''fearful of, -phobic'' || '''tot'''....''god'' || '''tot<u>yufa</u>'''....''god-fearing''
|-
| '''yufwa'''....''feared'' || '''hyat'''....''everybody'' || '''hyat<u>yufwa</u>'''....''feared by all''
|-
| '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose''
|-
| '''efa'''....''needful of'' || '''tel'''....''food'' || '''tel<u>efa</u>'''....''hungry''
|-
| '''efwa'''....''necessary to'' || '''tej'''....''life'' || '''tej<u>efa</u>'''....''vital''
|-
| '''yefa'''....''duty-bound to, -worthy of'' || '''dud'''....''answer'' || '''dud<u>yefa</u>'''....''responsible''
|-
| '''yefwa'''....''due, -worthy of'' || '''fid-'''....''laud'' || '''fid<u>yefwa</u>'''....''praiseworthy''
|-
| '''afa'''....''authorized to'' || '''dokebi-'''....''vote'' || '''dokebi<u>afa</u>'''....''franchised''
|-
| '''ofwa'''....''prohibited to'' || '''movi-'''....''smoke'' || '''movi<u>ofwa</u>gonem'''....''no-smoking zone''
|-
| '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose''
|-
| '''yivwa'''....''free to be ...ed'' || '''kebi-'''....''choose'' || '''kebi<u>yivwa</u>'''....''optional''
|-
| '''yuva'''....''bound'' || '''tam'''....''house'' || '''tam<u>yuva</u>'''....''house-bound''
|-
| '''ova'''....''resistant, anti-'' || '''aagdovyab'''....''constitution'' || '''aagdovyab<u>ova</u>'''....''anti-constitutional''
|-
| '''ava'''....''in favor of, pro-'' || '''tyodab'''....''democracy'' || '''tyodab<u>ava</u>'''....''pro-democracy''
|-
| '''eva'''....''neutral'' || '''toos'''....''gender'' || '''toos<u>eva</u>'''....''gender-neutral''
|}
==== Inflectional Suffixes ====
: Mirad has only one noun inflectional suffix, namely, '''-''', which makes a singular noun plural:
::* '''tam'''....''house'' --> '''tam<u>i</u>'''....''houses''
: The only other inflectional affixes are the following verb infixes and suffixes:
::* '''-er'''....infinitive
::* '''-e'''....present tense
::* '''-a'''....past tense
::* '''-o'''....future tense
::* '''-u'''....hypothetical mood
::* '''-e-'''....''progressive aspect''
::* '''-a-'''....''perfect aspect''
::* '''-o-'''....''immediate aspect''
::* '''-u-'''....''conditional aspect''
::* '''-y-'''....''active voice''
::* '''-w-'''....''passive voice''
: Example:
:* '''Wit tuj<u>eya</u> hoj van at pua.'''....''He <u>was sleeping</u> when I arrived.''
::* '''-e-''' = progressive aspect infix
::* '''-y-''' = active voice infix
::* '''-a''' = past tense suffix
=== Rule #3: Ordinal Vowel Scaling ===
: Creating a hierarchy of scalar terms applies only to base words of the Group 1. The hierarchy of scalar terms is built by increasing the numeric value of the ordinal vowel of the base word as the importance or relevance of the word decreases from the topmost, zeroth object. This process is called '''''first-level ordinal scaling'''''.
==== First-level Ordinal Scaling ====
{| class="wikitable" style="background:lightyellow; font-size:smaller"
|+ First-level Ordinal Scaling
|- valign=top
! ORDINAL VOWEL !! t...b !! m...r !! j...b !! m...s !! t...m !! d...b || f...b || s...m || d...t || t...d
|-
!row=1| '''o''' = 0
|'''tob'''<br>''man'' || '''mor'''<br>''universe'' || '''job'''<br>''time'' || '''mos'''<br>''floor''|| '''tom'''<br>''building'' || '''dob'''<br>''state'' || '''fob'''<br>''plant'' || '''som'''<br>''furniture''||'''dot'''<br>''society''||'''tod'''<br>''family''
|-
!row=1| '''a''' = 1
|'''tab'''<br>''body'' || '''mar'''<br>''sun'' || '''jab'''<br>''year'' || '''mas'''<br>''wall'' || '''tam'''<br>''house'' || '''dab'''<br>''government'' || '''fab'''<br>''tree'' || '''sam'''<br>''armoire''||'''dat'''<br>''friend'' || '''tad'''<br>''spouse''
|-
!row=1| '''e''' = 2
|'''teb'''<br>''head'' || '''mer'''<br>''planet'' || '''jeb'''<br>''season''|| '''mes'''<br>''door'' || '''tem'''<br>''hall'' || '''deb'''<br>''leader'' || '''feb'''<br>''fruit'' || '''sem'''<br>''table''||'''det'''<br>''associate'' || '''ted'''<br>''parent''
|-
!row=1| '''i''' = 3
|'''tib'''<br>''trunk'' || '''mir'''<br>''earth'' || '''jib'''<br>''month'' || '''mis'''<br>''window'' || '''tim'''<br>''room'' || '''dib'''<br>''office'' || '''fib'''<br>''tree trunk'' || '''sim'''<br>''chair''||'''dit'''<br>''citizen'' || '''tid'''<br>''sibling''
|-
!row=1| '''u''' = 4
|'''tub'''<br>''arm'' || '''mur'''<br>''moon'' || '''jub'''<br>''day'' || '''mus'''<br>''stairs'' || '''tum'''<br>''cell'' || '''dub'''<br>''minister'' || '''fub'''<br>''branch'' || '''sum'''<br>''bed''||'''dut'''<br>''gentleperson'' || '''tud'''<br>''child''
|-
!row=1| '''yo''' = 5
|'''tyob'''<br>''leg'' || || '''jyob*'''<br>''hour'' || || || || '''fyob'''<br>''root'' || || || '''tyod'''<br>''people''
|}
::: <small>* The palatal glide '''y''' in these words, which follows a palatal '''j''' is hard to pronounce, so the '''y''' is replaced with a '''w''', giving '''jwob''', '''jwab''', and '''jweb'''.</small>
==== Second-level Ordinal Scaling ====
:: A second-level hierarchy of scalar words can be creating by adding an ordinal vowel immediately after a word's stem vowel.
::: Examples:
{| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller"
|+ Second-level Ordinal Scaling
|-
! '''mi...p''' !! '''me...p''' !! '''tu...b''' !! '''tyo...b'''!! '''ma...f''' !! '''me...g''' !! '''do...b'''
|-
| '''mip'''<br>''river'' || '''mep'''<br>''way'' || '''tub'''<br>''arm'' || '''tyob'''<br>''leg'' || '''maf'''<br>''cloud'' || '''meg'''<br>''stone'' || '''dob'''<br>''state''
|-
| '''mi<u>a</u>p'''<br>''stream'' || '''meap'''<br>''road'' || '''tuab'''<br>''shoulder'' || '''tyoab'''<br>''hip''|| '''maaf'''<br>''stratus'' || '''meag'''<br>''marble'' || '''doab'''...''fatherland''
|-
| '''mi<u>e</u>p'''<br>''brook'' || '''meep'''<br>''path'' || '''tueb'''<br>''upper arm'' || '''tyoeb'''<br>''thigh''|| '''maef'''<br>''cumulus'' || '''meeg'''<br>''slate'' || '''doeb'''<br>''province, state''
|-
| '''mi<u>i</u>p'''<br>''rivulet'' || '''meip'''<br>''trail'' || '''tuib'''<br>''elbow'' || '''tyoib'''<br>''knee''|| '''maif'''<br>''stratocumulus'' || '''meig'''<br>''granite'' || '''doib'''<br>''county, shire''
|-
| '''mi<u>u</u>p'''<br>''torrent'' || '''meup'''<br>''track'' || '''tuub'''<br>''forearm'' || '''tyoub'''<br>''shin''|| '''mauf'''<br>''cumulonimbus'' || '''meug'''<br>''clay, dough'' || '''doub'''<br>''district''
|-
| '''mi<u>yo</u>p'''<br>''trickle'' || || '''tuyob'''<br>''wrist'' || '''tyoyob'''<br>''ankle''||'''mayof'''<br>''nimbostatus'' || '''meyog'''<br>''china'' ||
|-
| || || '''tu<u>ya</u>b'''<br>''hand'' || '''tyoyab'''<br>''foot''||'''mayaf'''<br>''altostratus'' || '''meyag'''<br>''chalk'' ||
|-
| || || '''tu<u>ye</u>b'''<br>''fist'' || '''tyoyeb'''<br>''heel''|| '''mayef'''<br>''altocumulus'' || '''meyeg'''<br>''limestone'' ||
|-
| || || '''tu<u>yi</u>b'''<br>''palm'' || '''tyoyib'''<br>''sole''|| '''mayif'''<br>''cirrus'' || '''meyig'''<br>''alabaster'' ||
|-
| || || '''tu<u>yu</u>b'''<br>''finger'' || '''tyoyub'''<br>''toe''|| '''mayuf'''<br>''cirrostratus'' || '''meyug'''<br>''gypsum''||
|-
| || || '''tu<u>lo</u>b'''<br>''fingernail'' || '''tyolob'''<br>''toenail''||'''malof'''<br>''cirrocumulus'' ||
|}
==== Third-level Ordinal Scaling ====
::: A third-level hierarchy can be created by prefixing an ordinal number vowel to the word.
::: Example:
{| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller"
|+ Third-level Ordinal Scaling
|-
! '''tuyub'''....''finger''
|-
| '''<u>a</u>tuyub'''....''thumb''
|-
| '''<u>e</u>tuyub'''....''index''
|-
| '''<u>i</u>tuyub'''....''middle finger''
|-
| '''<u>u</u>tuyub'''....''ring finger''
|-
| '''<u>yo</u>tuyub'''....''pinky''
|}
::: So, to sum up, we have:
{| class="wikitable" style="background:lightyellow; margin-left:6.4em; font-size:smaller"
|+ Summary of Scaling
|-
! '''t...b''' !! '''tob''' = ''human being''
|-
| FIRST-LEVEL || '''tub'''....''arm''
|-
| SECOND-LEVEL || '''tuyub'''....''finger''
|-
| THIRD-LEVEL || '''atuyub'''....''thumb''
|}
==== Scaling with Prefixed Numbering ====
::: We can also obtain a very convenient classification for new words by prefixing an ordinal vowel even though there is no first-level or second-level numbering. In this case, the first level usually begins with '''a'''.
::: Example:
{| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller"
|+ Prefix Numbering
|-
! align=left | NUMBER || '''dob'''....''state'' !! '''deb'''....''leader'' !! '''mez'''....''gem'' !! '''mer'''....''planet'' || '''maf'''....''cloud'' || '''sagtun'''....''mathematics''
|-
! 1
| '''<u>a</u>dob'''....''empire'' || '''adeb'''....''emperor'' || '''amez'''....''diamond'' || '''Amer'''....''Mercury'' || '''amaf'''....''nimbus'' || '''asagtun'''....''arithmetic''
|-
! 2
| '''<u>e</u>dob'''....''kingdom'' || '''edeb'''....''king'' || '''emez'''....''topaz'' || '''Emer'''....''Venus'' || '''emaf'''....''stratus'' || '''esagtun'''....''geometry''
|-
! 3
| '''<u>i</u>dob'''....''principality'' || '''ideb'''....''prince'' || '''imez'''....''ruby'' || '''Imer'''....''Earth'' || '''imaf'''....''nimbostatus'' || '''isagtun'''....''algebra''
|-
! 4
| '''<u>u</u>dob'''....''duchy'' || '''udeb'''....''duke'' || '''umez'''....''emerald'' ||'''Umer'''....''Mars'' || '''umaf'''....''cumulus'' || '''usagtun'''....''trigonometry''
|-
! 5
| '''<u>yo</u>dob'''....''marquisate'' || '''yodeb'''....''marquis'' || '''yomez'''....''saphire'' || '''Yomer'''....''Jupiter'' || '''yomaf'''....''cumulostatus'' || '''yosagtun'''....''calculus''
|-
! 6
| '''<u>ya</u>dob'''....''county'' || '''yadeb'''....''count'' || '''yamez'''....''lapis lazuli'' || '''Yamer'''....''Saturn'' || '''yamaf'''....''stratocumulus'' ||
|-
! 7
| '''<u>ye</u>dob'''....''dominion'' || '''yedeb'''....''lord'' || '''yemez'''....''amthyst'' || '''Yemer'''....''Uranus'' || '''yemaf'''....''altocumulus'' ||
|-
! 8
| '''<u>yi</u>dob'''....''viscounty'' || '''yideb'''....''viscount'' || '''yimez'''....''amber'' ||'''Yimer'''....''Pluto'' || '''yimaf'''....''altostratus'' ||
|-
! 9
| '''<u>yu</u>dob'''....''barony'' || '''yudeb'''....''baron'' || '''yumez'''....''topaz'' || || '''yumaf'''....''cirrocumulus'' ||
|-
! 10
| '''<u>alo</u>dob'''....''tribe'' || '''alodeb'''....''tribal chief'' || '''alomez'''....''opal'' || || '''alomaf'''....''cirrus'' ||
|}
=== Rule #4: Overlapping ===
: When combining two words, if the generic (final) consonant of the first word is the same as the classifier (first) consonant of the second word, the generic consonant of the determining word is dropped. This results in '''''overlapping''''' or a '''''portmanteau'''''.
: Examples:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Overlapping in Compounds
|-
! First Word !! Second Word !! Portmanteau
|-
| '''dom'''....''city'' || '''mep'''....''road'' || '''domep'''....''boulevard''
|-
| '''pat'''....''bird'' || '''teub'''....''mouth'' || '''pateub'''....''beak''
|-
| '''pat'''....''bird'' || '''tub'''....''arm'' || '''patub'''....''wing''
|-
| '''teupib'''....''tooth'' || '''byok'''....''pain'' || '''teypibyok'''....''toothache''
|}
: In some cases, this type of overlapping can cause ambiguity, and is therefore avoided.
=== Rule #5: Adding Ordinal Vowels ===
: When forming a compound word with the words of a same family of terms, if the ordinal vowel is an '''o''', replace it with the ordinal vowel of the determinant word.
: Examples:
::* '''edob'''....''kingdom'' -> '''deb'''....''chief'' -> '''edeb'''....''monarch'' ('''edweb'''....''king'', '''edeyb'''....''queen'')
::* '''udob'''....''principality'' -> '''deb'''....''chief'' -> '''udeb'''....''prince'' ('''udweb'''....''prince'', '''udeyb'''....''princess'')
: By contrast, if the two words are already ordered, the vowel of the determinant (first word) is inserted between the ordinal vowel of the determined (second) word and the generic (final) consonant:
: Examples:
: '''mil'''....''water'' + '''mal'''....''air'' -> '''mial'''....''vapor, steam''
=== Rule #6: Swapping Generic Consonants ===
: When the generic (final) consonant of a base word is replaced by that of another base word, the entire family of the latter undergoes the transformation by the new generic consonant.
: Example:
<b>to<u>b</u></b> ⇘ (<b>-b</b> = <i>organism</i>)
(<b>t-</b> = <i>human</i>) ⇒ <b>tof</b>....<i>clothing, apparel</i>
(<b>n-</b> = <i>commercial</i>) ⇒ <b>nof</b>....<i>cloth, fabric</i>
<b>no<u>f</u></b> ⇗ (<b>-f</b> = <i>cloth</i>)
{| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller"
|+ Swapping Generic Consonants
|-
! Base Word 1 !! Base Word 2 !! Derived Word
|-
| '''tob'''....''human'' || '''nov'''....''linen'' || '''tov'''....''lingerie''
|-
| '''tab'''....''body'' || '''nof'''....''cloth'' || '''taf'''....''suit''
|-
| '''teb'''....''head'' || '''nof'''....''cloth'' || '''tef'''....''hat''
|-
| '''tib'''....''trunk'' || '''nof'''....''cloth'' || '''tif'''....''vest''
|-
| '''tyoyab'''....''foot'' || '''nof'''....''cloth'' || '''tyoyaf'''....''shoe''
|-
| '''tyoyab'''....''foot'' || '''nov'''....''linen'' || '''tyoyav'''....''sock''
|-
| '''tuyab'''....''hand'' || '''nof'''....''cloth'' || '''tuyaf'''....''glove''
|-
| '''doob'''<sup>*</sup>....''nation'' || '''nof'''....''cloth'' || '''doof'''....''flag''
|-
| '''taob'''<sup>*</sup>....''flesh'' || '''tol'''....''food'' || '''taol'''....''meat''
|}
:<small>* This is a derived, not base, word, but the principle holds.</small>
=== Rule #7: Marking Words for Gender ===
: Words in Mirad are neutral with respect to gender, but specifically masculine or feminine gender can be marked in nouns and pronouns with the use of the masculine infix '''w''' and the feminine infix '''y'''. If the noun or pronoun is animate, then gender can marked. If the noun or pronoun is inanimate, then it can be marked for predominate use by or reference to a male or female.
::* To make a neutral animate noun or pronoun specifically male, precede the ordinal (stem) vowel with '''w'''.
::* To make a neutral animate noun or pronoun specifically female, follow the ordinal (stem) vowel with '''y'''.
: Examples:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Marking Animate Nouns for Gender
|-
! Gender-Neutral !! Male !! Female
|-
| '''tob'''....''human being'' || '''twob'''....''man'' || '''toyb'''....''woman''
|-
| '''tobet'''....''young person'' || '''twobet'''....''boy'' || '''toybet'''....''girl''
|-
| '''ted'''....''parent'' || '''twed'''....''father'' || '''teyd'''....''mother''
|-
| '''it'''....''he/she/it'' || '''wit'''....''he'' || '''iyt'''....''she''
|-
| '''apat'''....''cock'' || '''apwat'''....''rooster'' || '''apayt'''....''hen''
|-
| '''toob'''....''gender'' || '''twoob'''....''male'' || '''tooyb'''....''female''
|}
::* Inanimate objects, such as items of clothing or body pats, can be "feminized" in a similar way. In such a case, the feminized form refers to an object that is for women, rather than men, eg.:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Making Inanimate Objects Female-related
|-
! Male-oriented or Neutral !! Female-oriented
|-
| '''taf'''....''suit'' || '''tayf'''....''dress''
|-
| '''tyoyav'''....''sock'' || '''tyoyayv'''....''stockings''
|-
| '''tiav'''....''shirt'' || '''tiayv'''....''blouse''
|}
::* Some body parts can be marked for maleness or femaleness:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Body Parts Genderized
|-
! Neutral !! Male-oriented !! Female-oriented
|-
| '''tilab'''....''breast'' || '''twilab'''....''male breast'' || '''tilayb'''....''female breast''
|-
| || '''twiyib'''....''testicals'' || '''tiyiyb'''....''ovary''
|-
| '''tiyub'''....''sexual organ'' || '''twiyub'''....''penis'' || '''tiyuyb'''....''vagina''
|}
::* In nouns that end in '''-ut''', the agentive suffix meaning ''-er, one who...'', the nouns can be feminized by changing '''-ut''' to '''-uyt''', eg. '''dezut'''....''actor'' -> '''dezuyt'''....''actress''. Because the stem of such words is often a verb, prefixing '''-ut''' with '''w''' to make it specifically male is normally not done, because the '''w''' can sometimes be confused with the passive voice marker. For this reason, a word like '''dezut''' can mean ''actor'' of neutral or male gender.
::* Animate nouns having the ending '''-et''' (smaller version of some person), are genderized by adding '''w''' or '''y''' to the semantic base of the word, eg. '''tobet'''....''child, youth'' -> '''toybet'''....''girl'' or '''twobet'''....''boy''.
=== Rule #8: Deriving Words with Geo-specific Vowels ===
: A series of related words can be derived from a Group 1 base word by replacing the ordinal vowel with one of the following vowels, which have certain specific geographic meanings.
: Geo-specific Vowels:
<div style="background: lightyellow">
::* '''o'''<big> = </big>'''outer space, abstract object, initial stuff'''
::* '''a'''<big> = </big>'''sky, air, gas'''
::* '''e'''<big> = </big>'''land, soil, solid'''
::* '''i'''<big> = </big>'''sea, water, liquid'''
::* '''u'''<big> = </big>'''underground, mineral, concrete object, other'''
</div>
:: Examples:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Deriving Words with Geo-specific Vowels
|-
! !!'''m...p''' !! '''m...m''' !! '''d...p''' !! '''p...t''' !! '''m...l'''
|-
! Space
| '''mop'''....''orbit'' || '''mom'''....''space'' || '''dop'''....''military'' || '''pot'''....||'''mol'''....''nature''
|-
! Sky
| '''map'''....''wind'' || '''mam'''....''sky'' || '''dap'''....''air force'' || '''pat'''....''bird'' || '''mal'''....''air''
|-
! Land
| '''mep'''....''road''|| '''mem'''....''land''|| '''dep'''....''army'' || '''pet'''....''land animal'' || '''mel'''....''soil''
|-
! Water
| '''mip'''....''river''|| '''mim'''....''sea''|| '''dip'''....''marine force'' || '''pit'''....''fish'' || '''mil'''....''water''
|-
! Underground (or other)
| '''mup'''....''tunnel''|| '''mum'''....''underground'' || || || '''mul'''....''stuff''
|}
: This vowel codification also allows generating other categories of words by infixing, just before the generic (final) consonant, a vowel having the value that is attributed to it in Rule #9. This creates "hybrid" nouns. See the chapter on [[Mirad Grammar/Hybrids|Hybrids]] for more on this subject.
:: Examples:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Hybrid nouns
|-
! First-level Derivation !! + Geospecific Vowel !! Second-level Derivation
|-
| '''pet'''....''land animal'' || '''i'''....''water, sea''|| '''pe<u>i</u>t'''....''aquatic mammal''
|-
| '''pelt'''....''insect'' || '''a'''....''air, sky''|| '''pel<u>a</u>t'''....''flying insect''
|-
| '''mel'''....''soil'' || '''i'''....''water, sea'' || '''me<u>i</u>l'''....''mud''
|-
| '''mil'''....''water'' || '''a'''....''air, gas'' || '''mi<u>a</u>l'''....''vapor''
|}
=== Rule #9: Deriving Words with Vectorial Vowels ===
: The rule for deriving words with vectorial ( = directional and positional) vowels starts with the following schema:
{| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller"
|+ Vectorial Vowel Values
|-
| colspan=8 align=center | '''A'''
|-
| rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I'''
|-
| '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i'''
|-
| → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' →
|-
| → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' →
|-
| '''yu''' → || || || || || → '''yi'''
|-
| || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' ||
|-
| colspan=8 align=center| '''O'''
|}
:: Explanation of the above chart:
:::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words.
:::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values.
:::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs and involves contact.
:::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words and involves free movement.
{| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" border="0"
|+ Explanation of the Vectorial Vowels Chart
|-
| '''A''' || position || || on, above, north || '''amer'''....''north''
|-
| '''a''' || movement || (free) || ''on'' || '''baer'''....''lean''
|-
| '''<u>a</u>''' || movement || (contact) || ''onto''||'''aber'''....''put on''
|-
| '''ya''' || movement || (free) || ''up, ascend''|| '''byaer'''....''lift''
|-
| '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''yaber'''....''raise''
|-
| '''O''' || position || || under, lower, south|| '''omer'''....''south''
|-
| '''o''' || movement || (free) || ''off''|| '''boer'''....''hang''
|-
| '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''oper'''....''get off''
|-
| '''yo''' || movement || (free) || ''down''|| '''pyoser'''....''fall''
|-
| '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''yoper'''....''rise''
|-
| '''U''' || position || || left, west|| '''umer'''....''west''
|-
| '''u''' || movement || (free) || ''move toward the center, come''|| '''uber'''....''send''
|-
| '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''pyuer'''....''reach''
|-
| '''yu''' || movement || (free) || ''near, approach''|| '''yuber'''....''approach''
|-
| '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''byuser'''....''touch''
|-
| '''I''' || position || || right, east|| '''imer'''....''east''
|-
| '''i''' || movement || (free) || ''from the center out, go away''|| '''pier'''....''go away''
|-
| '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''iper'''....''leave''
|-
| '''yi''' || movement || (free) || ''away, go far''|| '''yiper'''....''go far''
|-
| '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''pyiser'''....''originate''
|-
| '''E''' || position || || center, equator|| '''emer'''....''equator''
|-
| '''e''' || rest || || ''between''|| '''eb'''....''between''
|-
| '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''bexer'''....''hold''
|-
| '''ye''' || movement || || ''in, into, enter''|| '''yeper'''....''enter''
|-
| '''<u>ye</u>''' || ||(contact) || ''up against, strike''|| '''pyexer'''....''strike''
|}
==== Special value of certain vowels ====
: The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular'':
::* '''aot'''....''person, individual''
::* '''anota'''....''alone, solitary''
::* '''anay'''....''only''
::* '''aun'''....''unit''
: The prefixes '''ya-''' or '''yan-''' meaning ''collection, plural'':
::* '''yat'''....''we, us''
::* '''yanot'''....''constituent''
::* '''yanota'''....''communal''
::* '''yanotyan'''....''community''
::* '''yan'''....''together''
: Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''.
::* '''yon'''....''apart''
::* '''yanota'''....''communal'' vs. '''yonota'''....''private''
::* '''yanxer'''....''to combine'' vs. '''yonxer'''....''to separate''
=== Rule #10: Deriving Words with Mnemonic Patterns ===
: Sometimes part of a derived word can serve as a mnemonic pattern for forming other words having some relationship or parallelism in meaning.
: For example, the mnemonic '''eu''' pattern from the word for mouth, '''teud''' can be used to form many other words having an oral, acoustic, vocal, or sound-related meaning:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Mnemonic Pattern Derivation
|-
! Pattern Word<br>'''teub'''....''mouth'' !! Classifier !! Generic
|-
| '''teud'''....''shout'' || '''t''' = human || '''d''' = communication
|-
| '''teuz'''....''voice'' || '''t''' = human || '''z''' = art
|-
| '''deuz'''....''song'' || '''d''' = communication || '''z''' = art
|-
| '''seuz'''....''tone'' || '''s''' = thing || '''z''' = art
|-
| '''seux'''....''sound'' || '''s''' = thing || '''x''' = action
|-
| '''xeus'''....''noise'' || '''x''' = action || '''s''' = thing
|-
| '''teuf'''....''muzzle'' || '''t''' = human || '''f''' = apparel
|-
| '''teuv'''....''mask'' || '''t''' = human || '''v''' = linen
|-
| '''teus'''....''taste''|| '''t''' = human || '''s''' = thing
|-
| '''deup'''....''rhythm''|| '''d''' = communication || '''p''' = ''motion''
|}
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ More Mnemonic Pattern Derivations
|-
! Pattern Word<br>'''teab'''....''eye'' !! '''(t)ea-''' = ''see'' !! Generic
|-
| '''teaper'''....''visit'' || " " " || '''p''' = ''go''
|-
| '''teader'''....''witness'' || " " " || '''d''' = ''say''
|-
| '''teaxer'''....''look'' || " " " || '''x''' = ''do''
|-
| '''teaser'''....''seem'' || " " " || '''s''' = ''be''
|-
| '''teater'''....''see'' || " " " || '''t''' = ''know''
|-
| '''keaxer'''....''scan'' || '''ke-''' = ''seek'' || '''x''' = ''do''
|-
| '''vyaleaxer'''....''check'' || '''vyal-''' = ''certain''|| '''x''' = ''do''
|-
| '''yoneater'''....''distinguish'' || '''yon-''' = ''apart''|| '''t''' = ''know''
|-
| '''beaxer'''....''guard'' || '''be-''' = ''hold'' || '''x''' = ''do''
|-
| '''teatier'''....''perceive'' || || '''-i-''' = subject-directed
|-
| '''teatuer'''....''show'' || || '''-u-''' = object-directed
|-
! Pattern Word<br>'''teeb'''....''ear'' !! '''(t)ee-''' = ''hear'' !! Generic
|-
| '''teeper'''....''attend'' || " " " || '''p''' = ''go''
|-
| '''teeder'''....''testify'' || " " " || '''d''' = ''say''
|-
| '''teexer'''....''listen'' || " " " || '''x''' = ''do''
|-
| '''teeser'''....''sound (like)'' || " " " || '''s''' = ''be''
|-
| '''teeter'''....''hear'' || " " " || '''t''' = ''know''
|-
| '''keexer'''....''scan (acoustically)'' || '''ke-''' = ''seek'' || '''x''' = ''do''
|-
| '''koteexer'''....''snoop on'' || '''ko-''' = ''hide'' || '''x''' = ''do''
|-
| '''vyaleexer'''....''sound out'' || '''vyal-''' = certain || '''x''' = ''do''
|-
| '''teetier'''....''get wind of'' || || '''-i-''' = subject-directed
|-
| '''teetuer'''....''make heard'' || || '''-u-''' = object-directed
|-
| '''zyateetuer'''....''rumor'' || '''zya-''' = ''all around'' || '''-u-''' = objected-directed
|}
: A syllable of a long compound can be suppressed as long as it does not cause ambiguity or confusion.
: Examples:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Shortening Long Compounds
|-
! Word 1 !! Word 2 !! Long Compound !! Shortened Compound
|-
| '''ekpet'''....''horse'' || '''teuder'''....''make a noise'' || *'''ekpeteuder''' || '''ekpeder'''....''neigh''
|-
| '''serpyet'''....''snake'' || '''teuder'''....''make a noise'' || *'''serpyeteuder''' || '''sepyeder'''....''hiss''
|-
| '''vifeb'''....''grape'' || '''il'''....''liquid'' || *'''vifebil'''....''grape juice'' || '''vifil'''....''wine''
|-
| '''povob'''....''grain'' || '''il'''....''liquid'' || *'''povobil''' || '''povil'''....''beer''
|}
: Sometimes, the last syllable of a compound or last letters of a word will give birth to a new stubs whose derivations, through the application of this rule, will not be long.
: Examples:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ From Full Words to Stubs
|-
! Compound !! New Stub !! Derivation
|-
| '''tilabil'''....''breast milk'' || '''bil'''....''milk''|| '''bilyug'''....''butter''
|-
| '''fauf'''....''log'' || '''-uf'''....(stub suffix for types of) ''cylinder''|| '''muf'''....''rod, stick''
|-
| '''zyeg'''....''hole'' || '''-yeg'''....(stub suffix for types of) ''hole'', ''hollow thing''|| '''mufyeg'''....''pipe''
|}
: The clipped word '''bil''' now gives rise to other compounds:
::* '''bilyig'''....''cheese''
::* '''bilyigem'''....''cheese factory''
::* '''bilyug'''....''butter''
::* '''bilyugyena'''....''butter-like''
: The word '''mufyeg''' (Lit: hollow stick) means '''pipe, reed, cylinder'''
=== Rule #11: Deriving Nuanced Words Phonetically ===
: Words which follow Rule #11 are those that are connected by a similarity of meaning or quality. These words differ by nuances and it is phonetic nuances that govern their formation.
: These nuances are obtained by:
:* Addition of a subordinal vowel of the same type as the ordinal vowel.
:: These vowels are:
::: '''a''' for '''a''' and '''ya'''
::: '''e''' for '''e''' and '''ye'''
::: '''i''' for '''i''' and '''yi'''
::: '''o''' for '''o''' and '''yo'''
::: '''u''' for '''u''' and '''yu'''
:: Examples:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Creating Nuances with a Doubled Vowel
|-
! Word !! Nuanced Derivation
|-
| '''nad'''....''line'' || '''naad'''....''rail''
|-
| '''dob'''....''state'' || '''doob'''....''nation''
|-
| '''vyab'''....''rule'' || '''vyayab'''....''system''
|-
| '''boka'''....''sick'' || '''booka'''....''tired''
|-
| '''nog'''....''degree'' || '''noog'''....''phase''
|-
| '''bil'''....''milk'' || '''biil'''....''juice''
|}
:* Post-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''less''''' intensity:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Deintensification with Post-y-gliding
|-
! Word !! Mitigated Derivation
|-
| '''ifer'''....''love'' || '''iyfer'''....''like''
|-
| '''iva'''....''happy'' || '''iyva'''....''glad''
|-
| '''zyutom'''....''tower'' || '''zyutoym'''....''turret''
|-
| '''ama'''....''hot'' || '''ayma'''....''warm''
|-
| '''oma'''....''cold'' || '''oyma'''....''cool''
|}
:* Pre-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''greater''''' intensity:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Intensification with Pre-y-Gliding
|-
! Word !! Enhanced Derivation
|-
| '''pot'''....''wild animal'' || '''pyot'''....''predator animal''
|-
| '''pat'''....''bird'' || '''pyat'''....''bird of prey''
|-
| '''tod'''....''family'' || '''tyod'''....''people''
|-
| '''oma'''....''cold'' || '''yoma'''....''frozen''
|-
| '''nuxer'''....''pay'' || '''nyuxer'''....''deliver''
|-
| '''nexer'''....''save'' || '''nyexer'''....''store''
|}
:* Following the ordinal vowel or the consonant with the intensifying liquid '''l''' or the further intensifying liquid '''r''':
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Intensification with L and R
|-
! Word !! L-Intensitifed || R-Intensified
|-
| '''ifer'''....''love'' || '''ifler'''....''be fond of'' || '''ifrer'''....''adore''
|-
| '''iva'''....''happy'' || '''ivla'''....''content'' || '''ivra'''....''delighted''
|-
| '''vaa'''....''affirmative'' || '''vlaa'''....''sure'' || '''vraa'''....''indubitable''
|-
| '''aga'''....''big'' || '''agla'''....''huge'' || '''agra'''....''immense''
|-
| '''ga'''....''more'' || '''gala'''....''multiple'' || '''gara'''....''exponential''
|-
| '''baer'''....''lean on'' || '''baler'''....''press'' || '''barer'''....''crush''
|-
| '''yexer'''....''work'' || '''yexler'''....''labor'' || '''yexrer'''....''toil, slave''
|-
| '''yixer'''....''use'' || '''yixler'''....''hire'' || '''yixrer'''....''exploit''
|}
:* Adding consonants other than '''l''' or '''r''' as the generic consonant:
: Some words have so many nuanced varieties that other letters like '''t''', '''f''', '''s''', '''k''', and '''z''' are used, eg.:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Creating Nuances with Other Consonants
|-
! Word !! Nuanced Derivation
|-
| '''fia'''....''good'' || '''fika'''....''perfect''<br>'''fira'''....''excellent''
|-
| '''fua'''....''bad'' || '''futa'''....''wicked''<br>'''fura'''....''rotten''
|-
| '''gea'''....''equal'' || '''geta'''....''identical''<br>'''gela'''....''alike''
|-
| '''vyaa'''....''true'' || '''vyaka'''....''correct''<br>'''vyama'''....''real''
|-
| '''vyoa'''....''false'' || '''vyoka'''....''incorrect''<br>'''vyoma'''....''fake''
|-
| '''yiga'''....''hard'' || '''yigza'''....''sour''<br>'''yigla'''....''brusk''<br>'''yigra'''....''brutal''
|-
| '''yuga'''....''soft'' || '''yugfa'''....''smooth''<br>'''yugla'''....''tender''<br>'''yugra'''....''mild''
|}
:* Transforming the generic consonant from voiced to unvoiced or vice versa:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Voicing or Devoicing Consonants for Nuance
|-
! Word !! Nuanced Derivation
|-
| '''nab'''....''row'' || '''nap'''....''order''
|-
| '''vyava'''....''just'' || '''vyafa'''....''precise''
|-
| '''jwab'''....''minute'' || '''jwap'''....''moment''
|-
| '''jweb'''....''second'' || '''jwep'''....''instant''
|-
| '''tab'''....''body'' || '''tap'''....''physique''
|-
| '''tob'''....''person'' || '''top'''....''soul, animus''
|-
| '''nov'''....''linen'' || '''nof'''....''cloth''
|-
| '''naz'''....''value'' || '''nas'''....''money''
|-
| '''nag'''....''dimension'' || '''nak'''...''unit of measurement''
|}
== Technical Nomenclature ==
: The sections below describe how techical vocabulary is developed in Mirad. In most cases, there are common, ordinary words, but these are supplemented with less common, technical terms that are usually somehow based on an international nomenclature standard. Typically, the common words share a stem, which is prefixed with ordinal syllables that group words of the basis of some like features.
=== Zoological Nomenclature ===
{{status|100%}}
[[File:Animal diversity.jpg|thumb|]]
: The names of animals are formed in a systematic way.
==== Base Names ====
: First of all, the base stem of all animal names (except human) begin with '''p''' (mobile) and end with '''t''' (sentient), the idea being that animals are moving, sentient creatures.
: The vowels in the stem are geo-specific and indicate whether the animal inhabits the air ('''a'''), water ('''i'''), land ('''e'''), or a hybrid of these; whether it is wild ('''o'''), tame, or predatory ('''y'''); and a few other features, as shown in the chart below:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Animal Base Names in Geo-specific Terms
|-
! Type !! Air = a !! Water = i !! Land = e !! Anywhere = o
|- valign=top
!row=1| Ordinary
|'''pat'''....''bird'' || '''pit'''....''fish'' || '''pet'''....''domestic land animal'' || '''pot'''....''wild animal''
|- valign=top
!row=1| Predatory
|'''pyat'''....''raptor'' || '''pyit'''....''predatory fish'' || '''pyet'''....''reptile'' ||'''pyot'''....''predatory animal''
|- valign=top
!row=1| Hybrid
|'''piat'''....''waterfowl''<br>'''pelat'''....''flying insect''<br>'''paet'''....''flightless bird'' ||'''piit'''....''crustacean''<br>'''pilt'''....''marine invertebrate''<br>'''peit'''....''mammalian fish''<br>'''pyeit'''....''mollusk''|| '''payet'''....''flying reptile''<br>'''piyet'''....''batracian''<br>'''peyet'''....''worm''<br>'''pelt'''....''insect'' ||'''piot'''....''aquatic mammal''
|}
==== Derived Names ====
: The names of different species of animals are derived by prefixing syllables to the base names that are obtained from the Latin names in the [https://www.itis.gov/| Linnaean taxonomy]. In that taxonomy, all of the dog or dog-like animal species are ranked under the family name '''Canidae''' (''canids''). The family prefix is derived by taking the first syllable and spelling it in Mirad as it is pronounced in Latin. ''Ca'' in Latin is pronounced '''ka'''. See the table below in which Latin spellings are given in Mirad. In this family, one dog species is domestic, Canis familiaris, while all the others are wild or predatory. So, to derive the word for the common domesticated dog, we would affix the family taxonomic prefix '''ka''' to the base name for domestic land animal '''pet''', yielding '''kapet''' (''dog''). All other members of the dog family end in '''pot''' (feral animal) or '''pyot''' (predatory animal). The taxonomic prefix must contain at least one consonant and one vowel. If not, the prefix derived from the Latin taxon is extended until that rule is met. The taxonomic syllables are prefixed to the base animal type name in reverse order of the Linnaean; for example, ''prairie dog'' (which is not a dog, but a rodent) is rendered by '''ci<sup>3</sup>xi<sup>2</sup>ro<sup>1</sup>pot''' from '''<u>Ro</u><sup>1</sup>dentia <u>Sci</u><sup>2</sup>uridae <u>Cy</u><sup>3</sup>nomys''', where '''pot''' is the basic animal type ''wild animal''. All rodents have the taxonomic syllable '''ro''' from the Latin "order" taxon ''Rodentia'', while all squirrel names will have the syllable '''xi''' from a pronunciation spelling of the Latin "family" taxon ''<u>Sci</u>uridae'' ('''<u>xi</u>uriday'''). The following shows the system as it is applied to the dog family:
:: <u>Ca</u>nidae (''dog family'') >
::: '''<u>ka</u>pet'''...''the common domestic dog'' (only one species, ''Canis familiaris'')
::: '''<u>ka</u>pot'''...''wild dog''
::: '''<u>ka</u>pyot'''...''predatory dog''
: Species under '''kapyot''' are derived by taking the first syllables of the respective Latin binomial (and sometimes trinomial) species names:
:: ''Canis <u>lu</u>pus'' > '''<u>lu</u>kapyot'''...''gray wolf (or just wolf)''
:: ''Canis <u>la</u>trans'' > '''<u>la</u>kapyot'''...''coyote, prairie wolf''
::: ''Canis latrans <u>les</u>tes'' > '''<u>les</u>lakapyot'''...''mountain coyote''
:: ''Canis <u>au</u>rus'' > '''<u>aw</u>kapyot''' > ''jackal, golden jackal''
::: ''Canis aurus <u>cur</u>ensis'' > '''<u>kur</u>awkapyot'''....''Indochinese jackal''
:: ''Canis <u>vul</u>pus'' > '''<u>vul</u>kapyot'''...''fox, red fox''
: If the taxonomic syllable ends in a vowel and precedes another syllable beginning with a vowel, the first taxonomic syllable is extended until it ends in a consonant. In the case of the Indochinese jackal, the base is '''awkapyot''' and the taxonomic syllable to be prefixed from ''curensis'' would normally be '''ku''', but it has to be extended to '''kur''' because the base begins in a vowel.
: The conversion of Latin/Greek spellings to Mirad is governed by the following chart:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Latin/Greek - Mirad correspondences
|-
! Latin/Greek Spelling !! Latin Sound !! Mirad Spelling !! Example
|-
| ''au'' || ''aw'' || '''aw''' || ''<u>au</u>rus''....'''aw-'''
|-
| ''eu'' || ''ew'' || '''ew''' || ''<u>eu</u>ropa''....'''ew-'''
|-
| ''ai''<br>''ae'' || ''ay'' || '''ay''' || ''<u>ae</u>gyptus''....'''ay-'''
|-
| ''ei'' <br> ''ey'' || ''ey'' || '''ey''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>'''
|-
| ''oe'' || ''oy'' || '''oy''' || ''F<u>oe</u>niculum''....'''oy'''
|-
| ''ua'' || ''wa'' || '''wa''' || ''s<u>ua</u>vis''....'''s<u>wa</u>'''
|-
| ''ca/co/cu'' || ''ka/ko/ku'' || '''ka/ko/ku''' || ''<u>ca</u>nis''....'''<u>ka</u>'''
|-
| ''ce/ci/cy''' || ''che/chi/chi'' || '''ce/ci/cy''' || ''<u>cy</u>pris''....'''<u>ci</u>'''
|-
| ''y'' || ''i'' || '''i''' || ''c<u>y</u>pris''....'''<u>i</u>'''
|-
| ''g''' || ''g'' || '''g''' || ''<u>Ge</u>ococcyx''/''<u>Ga</u>stropoda''....'''<u>g</u>'''
|-
| ''ch'' || ''k'' || '''k''' || ''<u>Chi</u>roptera''....'''<u>ki</u>'''
|-
| ''ph'' || ''f'' || '''f''' ||''S<u>ph</u>yrapicus''....'''<u>f</u>'''
|-
| ''rh'' || ''r'' || '''r''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>'''
|-
| ''x'' || ''ks'' || '''ks''' || ''Lo<u>x</u>odonta''....'''<u>ks</u>'''
|-
| ''qu'' || ''kw'' || '''kw''' || ''<u>Qu</u>ercus''....'''<u>kw</u>'''
|-
| ''j'' || ''y'' || '''j''' || ''<u>ju</u>lianus''....'''<u>ju</u>'''
|-
| ''sci'' || ''shi'' || '''xi''' || ''<u>Sci</u>uridae''....'''<u>xi</u>'''
|-
| ''th'' || ''t'' || '''t''' || ''<u>Th</u>unnus''....'''<u>t</u>'''
|-
| ''cci'' || ''ksi'' || '''ksi''' || ''Va<u>cc</u>inus''....'''<u>ksi</u>'''
|}
: Note that double consonants are counted as being two consonants in different syllables. So, for example, the taxonomic syllable for ''Cinnamomum'' would be '''cin'''.
: The Latin letter ''j'' is represented in Mirad with '''j''' even though it is pronounced like a ''y''. This is for better recognizability.
==== Genderized and Other Forms ====
: Form the female of an animal by inserting a '''y''' before the '''t''' of the base adult name:
::* '''kapet'''....''dog'' ====> '''kape<u>y</u>t'''....''bitch''
::* '''vulkapyot'''....''fox'' ====> '''vulkapyo<u>y</u>t'''....''vixen''
: Form the specific male of an animal by inserting a '''w''' right after the '''p''' of the base adult name, unless the base name begins with '''py''' in which case the '''w''' is inserted just before the '''t''' of the base name:
::* '''ekpet'''....''horse'' ====> '''ekp<u>w</u>et'''....''stallion''
::* '''ovbopet'''....''sheep'' ====> '''ovbop<u>w</u>et'''....''ram''
::* '''vulkapyot'''....''fox'' ====> '''vulkpyo<u>w</u>t'''....''dog fox''
: Form the gelded version of an animal by inserting an '''o''' after the ordinal vowel of the base male adult name:
::* '''bopet'''....''bovine'' ====> '''bopwe<u>o</u>t'''....''ox''
::* '''gafapat'''....''cock'' ====> '''gafapwe<u>o</u>t'''....''capon''
: The offspring of an animal is formed by suffixing '''-ud''', the stub for '''tud'''....''child'':
::* '''ekpet'''....''horse'' ====> '''ekpet<u>ud</u>'''....''colt''
::* '''kapet'''....''dog'' ====> '''kapet<u>ud</u>'''....''pup''
::* '''ovbopet'''....''sheep'' ====> '''ovbopet<u>ud</u>'''....''lamb''
: The pet name of an animal is derived by suffixing '''-if''':
::* '''kapet'''....''dog'' ====> '''kapet<u>if</u>'''....''puppy''
::* '''fepet'''....''cat'' ====> '''fepet<u>if</u>'''....''kitty''
: The diminutive of an animal is formed by suffixing '''-og''':
::* '''supet'''....''pig'' ====> '''supet<u>og</u>'''....''piggy''
::* '''ekpet'''....''horse'' ====> '''ekpet<u>og</u>'''....''pony''
: Sometimes, the above derivations can be combined. The animal '''ekpet'''....''horse'' can serve as an example:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Derivations of Horse
|-
! Variation !! Mirad Name !! English Name
|-
!row=1| Adult
|'''ekpet'''||''horse''
|-
!row=1| Male
| '''ekpwet'''||''stallion''
|-
!row=1| Female
| '''ekpeyt'''||''mare''
|-
!row=1| Offspring
| '''ekpetud'''||''colt''
|-
!row=1| Female Offspring
| '''ekpetuyd'''||''filly''
|-
!row=1| Small adult
|'''ekpetog'''||''pony''
|-
!row=1| Gelded
| '''ekpweot'''||''gelding''
|}
==== Animal Sounds ====
: The sound that an animal makes can be derived by substituting the '''t''' of the base name with '''d''', the letter associated with communication. The verb form ends in '''-der''':
::* '''ekpet'''....''horse'' ====> '''ekpeder'''....''to neigh''
::* '''kapet'''....''dog'' ====> '''kapeder'''....''to bark''
::* '''pat'''....''bird'' ====> '''pader'''....''to tweet, chirp''
::* '''serpyet'''....''snake'' ====> '''serpyeder'''....''to hiss''
: A collection of animals can be derived by suffixing '''-yan''' or '''-nyan''':
::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotyan'''....''a pride of lions''
::* '''ovbopet'''....''sheep'' ====> '''ovbopetyan'''....''a herd of sheep''
::* '''pit'''....''fish'' ====> '''pityan'''....''a school of fish''
: Motions that animals make can be derived by replacing the final '''t''' of the base name with '''-per'''....''to go'':
::* '''serpyet'''....''snake'' ====> '''serpeper'''....''to slither''
::* '''lapet'''....''rabbit'' ====> '''lapeper'''....''to hop''
::* '''ekpet'''....''horse'' ====> '''ekpeper'''....''to gallop''
: The food name associated with an animal can be derived by ending the animal or animal part name in '''l''' (a stub for '''tel''', meaning ''food''):
::* '''supet'''....''pig'' ====> '''supel'''....''pork''
::* '''supetyob'''....''hog leg'' ====> '''supetyol'''....''ham''
::* '''bopet'''....''steer'' ====> '''bopel'''....''beef''
::* '''ovbopet'''....''sheep'' ====> '''ovbopel'''....''mutton''
::* '''bopetud'''....''calf'' ====> '''bopetul'''....''veal''
::* '''appelat'''....''bee'' ====> '''appelatel'''....''honey''
: The habitats of animals are formed by suffixing '''-am'''....''house'', '''-um'''....''cage'', etc. to the base name:
::* '''supet'''....''pig'' ====> '''supetam'''....''pigsty''
::* '''gafapayt'''....''chicken'' ====> '''gafapaytam'''....''chicken coop''
::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotam'''....''lion's den''
::* '''kapet'''....''dog'' ====> '''kapetam'''....''doghouse''
::* '''forpelt'''....''ant'' ====> '''forpeltam'''....''anthill''
::* '''appelat'''....''bee'' ====> '''appelatam'''....''bee hive''
::* '''pat'''....''bird'' ====> '''patum'''....''birdcage'', '''patsum'''....''nest'', '''patyanam'''...''aviary''
::* '''pot'''....''wild animal'' ====> '''potam'''....''lair''
==== Dog Breeds ====
[[File:The dog book - a popular history of the dog, with practical information as to care and management of house, kennel, and exhibition dogs, and descriptions of all the important breeds (1909) (20785715825).jpg|thumb|]]
: Dog breeds are created by prefixing elements to '''kapet'''....''dog'' that are based on the official World Canine Organization dog breed site [[https://www.fci.be/en/nomenclature/]]. This site organizes dog breeds by groups, sections, subsections, and country ownership.
: The base of the dog breed name is '''kapet'''....''dog''. The group number is converted to the lowercase alphabetic consonants ('''b''', '''c''', '''d''', etc.). The top or zeroth group is assigned to the ordinal vowel '''o''', so '''bokepet''' is a group category for sheepdogs and cattledogs. The sections underneath this group change the '''o'''....''zero'' to '''a'''....''one'', '''e'''....''two'', etc. The subsections below are enumerated with an initial ordinal vowel starting with '''a'''....''one'', '''e'''....''two'', etc. A particular breed is written as the country adjective representing the breed country of origin, followed a space, and the lowest section name preceded by the number of the country entry alphabetized. If there is only one entry of that country, no ordinal number is prefixed.
: As an example:
: To get the name for ''basset hound'':
::* Start with the word for dog: '''kapet'''.
: This animal is in Group 6 for scent hounds and related breeds, so the 6th consonant in the Mirad alphabet is '''h'''. This is prefixed to '''kapet''', with an ordinal vowel representing the section the breed is in, starting with '''a''' for ''one''. The ''basset hound'' is in Section 1 for "scent hounds", so the prefix becomes '''ha-'''.
::* '''hakapet''' is a "scent hound" (not to be confused with '''ha kapet'''....''the dog''.).
A basset hound is classified in subsection 1.3 as a "small-sized scent hound", so the ordinal vowel '''i'''.... ''three'' is prefixed:
::* '''ihakapet''' is a "small-sized scent hound"
: A basset hound is the 1st small-sized scent hound entry under the country Great Britain, so the Mirad word '''a'''.... ''one'' is prefixed (with a '''w''' buffer glide when prefixed to a vowel) and the adjectival word for Great Britain, '''Gebaroma''' is placed in front, separated by a space:
::* '''Gebaroma awahikapet''' is a ''basset hound'', a dog breed name owned by Great Britain. The name can usually be abbreviated by dropping the country owner name, thus: '''awahikapet'''
<gallery>
</gallery>
: Here is a partial representation of the hiararchy as obtained by the World Canine Organization (FCI) site. Other Mirad dog breed names can be created by consulting the site.
Group 1 = '''<u>b</u>okapet'''....sheepdogs/cattledogs
::* Section <u>1</u> = '''b<u>a</u>kapet'''....sheepdogs
::::* Belgian only entry = '''Belima bakapet'''....''Belgian shepherd dog''
::::* German only entry = '''Deuma bakapet'''....''German shepherd''
::* Section 2 = '''bekapet'''....cattledogs except Swiss cattledogs
::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>bekapet'''....''Welsh corgi (Cardigan)''
Group 2 = '''<u>c</u>okapet'''....pinscher/schnauzer/Molossoid/Swiss Mountain-/Cattle Dogs
::* Section <u>1</u> = '''c<u>a</u>kapet'''....pinscher/schnauzer type
::* Section <u>2</u> = '''c<u>e</u>kapet'''....Molossian type
::* Section <u>3</u> = '''c<u>i</u>kapet'''....''Swiss mountain/cattledogs''
Group 3 = '''<u>d</u>okapet'''....''terriers''
::* Section <u>1</u> = '''d<u>a</u>kapet'''....large and medium-sized terriers
::::* Great Britain <u>9</u>th entry = '''Gebaroma <u>yu</u>dakapet'''....''Welsh terrier''
::* Section <u>2</u> = '''d<u>a</u>kapet'''....small-sized terriers
::* Section <u>3</u> = '''d<u>e</u>kapet'''....bull type terriers
::::* Great Britain <u>3</u>rd entry = '''Gebaroma <u>i</u>dekapet'''....''Staffordshire bull terrier''
::* Section <u>4</u> = '''d<u>a</u>kapet'''....toy terriers
Group 4 = '''<u>f</u>okapet'''....<u>dachshunds</u>
::::* Germany only entry = '''fakapet'''....''dachshund''
Group 5 = '''<u>g</u>okapet'''....spitz and primitive types
::* Section <u>1</u> = '''g<u>a</u>kapet'''....nordic sledge dogs
:::: USA <u>1</u>st entry = '''<u>a</u>gakapet'''....''Siberian husky''
::* Section <u>2</u> = '''g<u>e</u>kapet'''....nordic hunting dogs
::* Section <u>3</u> = '''g<u>i</u>kapet'''....nordic watchdogs/herders
::* Section <u>4</u> = '''g<u>u</u>kapet'''....European spits
::* Section <u>5</u> = '''g<u>yo</u>kapet'''....Asian spitz and related breeds
::* Section <u>6</u> = '''g<u>ya</u>kapet'''....primitive types
::* Section <u>7</u> = '''g<u>ye</u>kapet'''....hunting dogs
Group 6 = '''<u>h</u>okapet'''....scent hounds and related breeds
::* Section <u>1</u> = '''h<u>a</u>kapet'''....''scent hounds''
:::* Subsection 1.<u>1</u> = '''<u>a</u>hakapet'''....large-sized hounds
::::* USA <u>1</u>st entry = '''Usoma <u>aw</u>ahakapet'''....''American foxhound''
:::* Subsection 1.<u>2</u> = '''<u>e</u>hakapet'''....medium-sized hounds
::::* Great Britain only entry = '''Gebaroma ehakapet'''....''harrier''
:::* Subsection 1.<u>3</u> = '''<u>i</u>hakapet'''....small-sized hounds
::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>aw</u>ihakapet'''....''basset hound''
::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>ew</u>ihakapet'''....''beagle''
Group 7 = '''<u>j</u>okapet'''....pointing dogs
::* Section <u>1</u> = '''j<u>a</u>kapet'''....''continental pointing dogs''
::* Section <u>2</u> = '''j<u>e</u>kapet'''....''British and Irish pointers and setters''
Group 8 = '''<u>k</u>akapet'''....retrievers/flushing dogs/water dogs
::* Section <u>1</u> = '''k<u>a</u>kapet'''....''retrievers''
::* Section <u>2</u> = '''k<u>e</u>kapet'''....''flushing dogs''
::* Section <u>3</u> = '''k<u>i</u>kapet'''....''water dogs''
Group 9 = '''<u>l</u>okapet'''....companion and toy dogs
::* Section <u>1</u> = '''l<u>a</u>kapet'''....bichons
::* Section <u>2</u> = '''l<u>e</u>kapet'''....poodles
::::* France only entry = '''Ferama lekapet'''....''poodle''
::* Section <u>3</u> = '''l<u>i</u>kapet'''....small Belgian dogs
::* Section <u>4</u> = '''l<u>u</u>kapet'''....hairless dogs
::* Section <u>5</u> = '''l<u>yo</u>kapet'''....Tibetan breeds
::::* Tibet <u>2</u>nd entry = '''Tibama <u>e</u>lekapet'''....''shih tzu''
::* Section <u>6</u> = '''l<u>ya</u>kapet'''....Chihuahueno
::::* Mexico only entry = '''Mexuma lyakapet'''....''chihuahua''
::* Section <u>7</u> = '''l<u>ye</u>kapet'''....English toy spaniels
::* Section <u>8</u> = '''l<u>yi</u>kapet'''....Japan Chin and Pekingese
::* Section <u>9</u> = '''l<u>yu</u>kapet'''....continental toy spaniel and others
::* Section <u>10</u> = '''l<u>alo</u>kapet'''....Kromforhländer
::* Section <u>10</u> = '''l<u>ale</u>kapet'''....small Molossian type dogs
Group 10 = '''<u>m</u>okapet'''....sight hounds
::* Section <u>1</u> = '''m<u>a</u>kapet'''....long-haired sighthounds
::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>a</u>makapet'''....''greyhound''
::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>makapet'''....''whippet''
::* Section <u>2</u> = '''m<u>e</u>kapet'''....rough-haired sighthounds
::* Section <u>3</u> = '''m<u>i</u>kapet'''....short-haired sighthounds
==== Cat Breeds ====
: The names for cat breeds are generated from the CFA organization's alphabetical list of cat breeds (See [https://cfa.org/breeds/]. You take the first letters of the CFA name up to the first non-initial consonant, and convert them to lowercase. If the next breed on the list has the same letters, add a Mirad number (1=a, 2=e, 3=i, ...) to distinguish them. Now, end the word with the Mirad word for cat '''fepet'''.
: This chart shows the process for the first few cat breeds in the CFA list:
{| class="wikitable" style="background: lightyellow; margin-left:1.6em; font-size:smaller"
|+ Creating Cat Breed Names
|-
! CFA Name !! First Letters<br>Lowercase !! Number<br>If Any + fepet!! Mirad Name
|-
| ''<u>Am</u>erican Shorthair'' || '''am''' || '''a + fepet'''|| '''amafepet'''
|-
| ''<u>Am</u>erican Wirehair'' || '''am''' || '''e + fepet'''|| '''amefepet'''
|-
| ''<u>Bal</u>inese'' || '''bal''' || '''bal + fepet''' || '''balfepet'''
|-
| ''<u>Ben</u>gal'' || '''ben''' || '''ben + fepet''' || '''benfepet'''
|}
=== Color Nomenclature ===
: The word for ''color'' in Mirad is '''volz''', which is mnemonically related to the word for ''flower'' ('''vos'''). The diminutive of ''color'' is '''voylz''', meaning ''tint, shade, hue''.
: The names of common color adjectives in Mirad are based on a scale relating to the natural spectrum, with the first part of the word being the a number representing the spectrum order and the last half being the color stub '''-lza'''. The zeroth-color is no color, simple ''blank'', ''clear'', or ''transparent''.
:: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;"
|+ Basic Color Words
|-
! 0 - clear !! 1 - red !!2 - orange !!3 - yellow !!4 - green !! 5 - blue !! 6 - purple !! 7 - indigo
|-
|<br><br><br> ||bgcolor="#d30000"| ||bgcolor="#fc6600"| ||bgcolor="#fff200"| ||bgcolor="#3bb143"| ||bgcolor="#0018f9"| || bgcolor="#b200ed"| || bgcolor="#4b0082"|
|-
| '''olza''' || '''alza''' || '''elza''' || '''ilza''' || '''ulza''' || '''yolza''' || '''yalza''' || '''yelza'''
|}
: There are some other common colors:
:: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;"
|+ Other Basic Color Words
|-
|bgcolor="white"| || '''malza'''....''white'' ||(Associated with '''man''' (''light'')
|-
|bgcolor="#7c4700"| || '''melza'''....''brown'' ||(Associated with '''mel''' (''soil'')
|-
|bgcolor="#222021"| ||'''molza'''....''black'' ||(Associated with '''mon''' (''dark'')
|-
|bgcolor="#828282"| ||'''maolza'''....''gray'' ||(A blend of '''malza''' and '''molza''')
|-
|bgcolor="#fc0fc0"| ||'''aolza'''....''pink'' ||(A blend of '''olza'''....''clear'' and '''malza'''....''red'')
|}
: All other colors are formed by prefixing a word or mnemonic word stub (usually flowers or fruits) to the basic color with hyphenation. For example:
::* '''mecirufeb-ulza'''....''lime green'' from '''mecirufeb'''....''lime fruit'' + '''ulza'''....''green''
::* '''mim-yalza'''....''aquamarine'' from '''mim'''....''sea'' + '''yalza'''....''blue''
::* '''licirufeb-ilza'''....''lemon yellow'' from '''licirufeb'''....''lemon'' + '''ilza'''....''yellow''
::* '''salpyit-alza'''....''salmon red''
::* '''magmef-alza'''....''firebrick red''
::* '''mim-yalza'''....''sea blue, aquamarine''
: Shaded variants of color terms can be achieved in the following manner:
::# A "light" shade by changing '''lza''' to '''ylza''': '''uylza'''....''light green''
::# A "-ish" shade by changing '''lza''' to '''lzyena''': '''ulzyena'''....''greenish''
::# A "bright" shade by changing '''lza''' to '''lzayna''': '''ulzayna'''....''bright green''
::# A "dark" shade by changing '''lza''' to '''lzoyna''': '''ulzoyna'''....''dark green''
: Shaded variants can also be created by prefixing adjectival components such as these:
:* '''oz-'''....''-ish, light-''
:* '''az-'''....''bright-, dark-''
:* '''kyu-'''....''light-''
:* '''maz-'''....''bright-''
:* '''eyn-'''....''semi-''
etc.
: Some hybrid colors can be created by mixing the ordinal vowel:
::* '''maolza'''....''gray'' from '''malza'''....''white'' and '''molza'''....''black''
::* '''yaulza'''....''blue-green, cyan'' from '''yalza'''....''blue'' and '''ulza'''....''green''
::* '''maelza'''....''beige'' from '''malza'''....''white'' and '''melza'''....''brown''
: Colors can be made into nouns by dropping the adjectival suffix '''-a''':
::* '''<u>Ulz</u> se via volz.'''....''<u>Green</u> is a beautiful color.''
::* '''At gafe <u>yalzayn</u>.'''....''I prefer <u>dark blue</u>.''
: Colors can also be used to form verbs:
::* '''Iyta teobi <u>alzasa</u>.'''....''Her cheeks <u>turned red (= blushed)</u>.''
::* '''His se fia <u>teubip malzaxus</u>.'''....''This is a good <u>teeth whitener</u>.''
::* '''Eta teupibi <u>ilzaseye</u>.'''....''Your teeth are <u>yellowing</u>.''
==== Rarely Used Colors ====
: The more exotic or rare colors can be expressed by the RAL number / 10 in the [[w:List_of_RAL_colors|Wikipedia Chart of RAL Colors]] expressed in Mirad + '''-lz'''. For example, the color ''golden yellow'' has the RAL number 1004. Divided by 10 yields the number 104 ('''ase''', in Mirad), thus, the color is named '''aselz'''. The adjectival form of this color is '''aselza'''. One advantage of this system is that the colors are grouped by nine classic colors represented by the thousands unit, then subdivided by up to 999 shades of those classic colors, although in practice, the number of shades belonging to each classic color is under 40. For that reason, the thousands unit is reduced to a hundreds unit in the formation of Mirad color names.
===== Skin colors =====
[[File:Coloured-family.jpg|thumb|]]
: When a color refers specifically to skin tone, the prefix '''tayo(b)-''' is used. The final '''-b''' of '''tayob''' is dropped before a consonant or glide. The word for ''skin-color'' itself is '''tayovolz'''. Thus:
::* '''(tayo-)molzat'''....''black(-skinned) person''
::* '''(tayo-)malzat'''....''white(-skinned) person''
::* '''(tayo-)melzat'''....''brown(-skinned) person''
::* '''(tayob)omalzat'''....''non-white(-skinned) person''
::* '''(tayob)omolzat'''....''non-black(-skinned) person''
::* '''(tayob)omelzat'''....''non-brown(-skinned) person''
::* '''(tayob)eymolzat'''....''half-black(skinned) person''
::* '''(tayob)eymalzat'''....''half-white(-skinned) person''
::* '''(tayo-)maolzat'''....''mulatto, mixed-skinned person''
::* '''(tayob)olzat'''....''albino''
::* '''hyetayovolza'''....''of any skin-tone''
::* '''hyatayovolzati'''....''people of all colors''
::* '''Iyt se duhotayovolza?'''....''What skin color is she?''
==== Hair Colors ====
: Hair colors are produced by suffixing the color to the word for hair, '''tayeb'''. The final '''-b''' of '''tayeb''' is dropped before a consonant or '''y'''. The word for ''hair color'' is '''tayevolz'''.
::* '''tayebalza'''....''red-headed, auburn''
::** '''tayebalzayt'''....''an auburn female''
::* '''tayemolza'''....''brunette''
::* '''tayemelza'''....''brown-haired''
::* '''tayebiylza'''....''blond''
::* '''tayemaolza'''....''gray, gray-haired''
:::* '''It gwa tayemaolzaso.'''....''He will go gray early.''
::* '''Duhotayevolza iyt se?'''....''What color hair is she?''
==== Eye Colors ====
: Eye colors are expressed by the prefix '''tea(b)''' followed by the color. The word for ''eye color'' is '''teavolz'''. In the following examples, '''teab''' (''eye'') becomes '''tea''' before any consonants or glides:
::* '''teayolza'''....''blue-eyed''
::* '''teabulza'''....''green-eyed''
::* '''teamelza'''....''brown-eyed''
:::* '''teamelzat'''....''brown-eyed person''
::* '''teamolz'''....''a black eye''
::* '''teamalz'''....''the white of the eye''
::* '''Duhoteavolza et se?'''....''What color eyes do you have?''
=== Chemical Nomenclature ===
[[File:14LaAc periodic table IIb.jpg|thumb|]]
: The names of chemical elements are formed by converting the abbreviation for the element into Mirad lowercase alphabetic equivalents, then adding '''lk''', a suffix stub for chemicals. For example, the abbreviation for ''hydrogen'' is ''H''. So we replace that with the word for lowercase '''h''' in Mirad: '''he'''. By adding the stub suffix '''lk''', we get '''helk'''.
: Use the names of the '''''small''''' letters of the alphabet as shown below. The letter name '''ca''' is pronounced '''cha''' as in English ''cha-cha''.
{| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller" valign=top; align=center
|+ Lowercase Alphabet with Letter Names
|-
! Lowercase !! a !! b !! c !! d !! !! e !! f !! g !! h !! !! i !! j !! k !! l !! m !! n !! !! o !! p !! q !! r !! s !! t !! !! u !! v !! w !! x !! y !! z
|- align=center |
!row=1| Mirad Name
| '''a''' || '''ba''' || '''ca''' || '''da''' ||bgcolor=lightgray| || '''e''' || '''fe''' || '''ge''' || '''he''' ||bgcolor=lightgray| || '''i''' || '''ji''' || '''ki''' || '''li''' || '''mi''' || '''ni''' ||bgcolor=lightgray| || '''o''' || '''po''' || '''ko''' || '''ro''' || '''so''' || '''to''' ||bgcolor=lightgray| || '''u''' || '''vu''' || '''wu''' || '''xu''' || '''yu''' || '''zu'''
|}
==== Coding Chemical Elements ====
: The following chart shows some examples of how words for chemical elements are formed:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Coding Chemical Elements
|-
! English Element Name !! Abbreviation !! Mirad Name
|-
| ''silver'' || ''Ar'' || '''arolk'''
|-
| ''iron'' || ''Fe'' || '''feelk'''
|-
| ''hydrogen'' || ''H'' || '''helk'''
|-
| ''nitrogen'' || ''N'' || '''nilk'''
|-
| ''mercury'' || ''Hg'' || '''hegelk'''
|-
| ''darmstadtium'' || ''Ds'' || '''dasolk'''
|}
: In chemical compounds, the '''lk''' is used only on the last element of the compound.
: Chemical compounds such as ''H<sub>2</sub>O (hydrogen dioxide)'' are coded in the following manner.
::# The ''H'' for ''hydrogen'' is rendered as '''he''' (without the '''-lk''').
::# The number 2 refers to two hydrogen atoms, so the Mirad prefix for ''two, bi-'', '''en-''' is prefixed to the '''h''', giving '''enhe'''.
::# The word for ''oxygen'', '''ol''' is added, and, since it is the last element in the compound, the '''lk''' is suffixed.
::# The English word ends in ''-ide'', which is rendered in Mirad as '''-iyd''', giving '''enheolkiyd'''
: Such chemical suffix equivalents are given below:
: Given the chemical element ''sulfur'', which has the abbreviation ''S'', the Mirad equivalent for this solid is '''solk'''. Possible variants of this chemical, plus others, are:
==== Chemical Compound Suffixes ====
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Chemical Suffix Equivalents
|-
! English Suffix !! Mirad Equivalent !! English Example !! Mirad Equivalent
|-
| ''-ide'' || '''-iyd''' || ''sulfide'' || '''solkiyd'''
|-
| ''-ite'' || '''-iyt''' || ''sulfite'' || '''solkiyt'''
|-
| ''-ate'' || '''-ayt''' || ''sulfate'' || '''solkayt'''
|-
| ''-ine'' || '''-iyn''' || ''iodine'' || '''ilkiyn'''
|-
| ''-ane'' || '''-ayn''' || ''methane'' || '''ahelkayn'''
|-
| ''-ene'' || '''-eyn''' || ''benzene'' || '''ehelkeyn'''
|-
| ''-one'' || '''-oyn''' || ''ketone'' || '''ketoyn'''
|-
| ''-ine'' || '''--iyn''' || ''alanine'' || '''alaniyn'''
|-
| ''-ic'' || '''-a''' || ''ferric'' || '''feelka'''
|-
| ''-ous'' || '''aya''' || ''ferrous'' || '''feelkaya'''
|}
: Note that the numeral prefixes in chemical formulae end in '''-n'''. : The numeral prefixes ''5'' and ''6'' end in '''-on''' instead of '''-n''' so as to distinguish them from the words '''yan'''....''together'' and '''yon'''....''apart''.
: The chart below shows some of the numeric prefixes:
{| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller"
|+ Numeric Prefixes
|-
! Number !! Prefix !! Example
|-
| '''a'''....''mono-'' || '''an''' || '''anolkiyd'''....''<u>mono</u>xide (O)''
|-
| '''e'''....''bi-/di-'' || '''en''' || '''encalkayt'''....''<u>bi</u>carbonate (C<sub>2</sub>)''
|-
| '''i'''....''tri-'' || '''in''' || '''inolkiyd-'''....''trioxide (O<sub>3</sub>)''
|-
| '''u'''....''tetr(a)-'' || '''un''' || '''unolkiyd-'''....''tetroxide (O<sub>4</sub>)''
|-
| '''yo'''....''pent(a)-'' || '''yoon''' || '''yoonolkiyd-'''....''pentoxide (O<sub>5</sub>)''
|-
| '''ya'''....''hex(a)-'' || '''yaon''' || '''yaonolkiyd'''....''hexoxide (O<sub>6</sub>)''
|-
| '''ye'''....''hept(a)-'' || '''yen''' || '''yenolkiyd'''....''heptoxide (O<sub>7</sub>)''
|-
| '''yi'''....''oct(o)-'' || '''yin''' || '''yinolkiyd-'''....''octoxide (O<sub>8</sub>)''
|-
| '''yu'''....''non(a)-'' || '''yun''' || '''yunolkiyd-'''....''nonoxide (O<sub>9</sub>)''
|-
| '''alo'''....''dec(a)-'' || '''alon''' || '''alonolkayt-'''....''decoxidate (O<sub>10</sub>)''
|}
: Examples:
::* ''carbon <u>di</u>oxide (C<sub>2</sub>O)''....'''calk <u>en</u>olkiyd'''
::* ''sodium <u>bi</u>carbonate (Na2C)''....'''nialk <u>en</u>calkayt'''
::* ''calcium <u>di</u>hydrogen phosphate''....'''caalk <u>en</u>helk polkayt'''
::* ''glucose (C<sub>6</sub>H<sub>12</sub>O<sub>6</sub>)''....'''<u>yaon</u>ca<u>alan</u>he<u>yaon</u>olk''' (or: '''sakolos''')
::* ''methanol (C<sub>3</sub>HOH)''....'''ca<u>in</u>heohelk'''
: Note: the '''-lk''' is added only at the end of a compound and before the endings '''-iyd''', '''-iyt''', and '''-ayt''', etc.
==== Names of Atomic Parts ====
: The word for ''atom'' in Mirad is '''gwomulk''', which literally is ''least particle''.
: The main particles in an atom are:
::* '''vamulk'''....''proton'' (positive)
::* '''vemulk'''....''neutron'' (neutral)
::* '''vomulk'''....''electron'' (negative)
: Every atom contains '''mulki''' (''subatomic particles'').
[[File:Standard Model of Elementary Particles.svg|thumb|392x392px|The [[Standard Model]] classification of particles]]
: The principle elementary atomic particles (quarks, leptons, bosons) are named from the alphabetic spellings of the letter abbreviations in the Standard Abbreviations chart to the right, some of which are Greek letters, both upper and lower case. (See [[wikipedia:Subatomic_particle]] ).
::* '''hamulk'''....''hadron''
:::* '''mi-hamulk'''....''meson''
::::* '''pimi-hamulk'''....''pion''
::::* '''kami-hamulk'''....''kaon''
:::* '''ba-hamulk'''....''baryon''
::::* '''lambda-ba-hamulk'''....''lambda baryon''
::* '''vamulk'''....''proton''
::* '''vemulk'''....''neutron''
::* '''vomulk'''....''electron''
::* '''zemulk'''....''nucleon''
::* '''alfamulk'''....''alpha particle''
::* '''fermimulk'''....''fermion''
::* '''goryumulk'''....''nanoparticle''
::* '''kyiazon mulk'''....''graviton''
::* '''bamulk'''....''boson particle''
:::* '''agha-bamulk'''....''higgs particle''
:::* '''agwu-bamulk'''....''W boson''
:::* '''agzu-bamulk'''....''Z boson''
:::* '''gamma-bamulk'''....''photon''
:::* '''ge-bamulk'''....''gluon''
::* '''qomulk'''....''quark''
:::* '''ba-qomulk'''....''bottom quark''
:::* '''ca-qomulk'''....''charm quark''
:::* '''da-qomulk'''....''down quark''
:::* '''ov-qomulk'''....''antiparticle, antiquark''
:::* '''penta-qomulk'''....''penta quark''
:::* '''tetra-qomulk'''....''tetra quark''
:::* '''to-qomulk'''....''top quark''
:::* '''u-qomulk'''....''up quark''
:::* '''so-qomulk'''....''strange quark''
::* '''limulk'''....''lepton''
:::* '''gamma-limulk'''....''photon'' (also: '''manmulk''')
:::* '''mu-limulk'''....''muon''
:::* '''pi-limulk'''....''pion''
:::* '''tau-limulk'''....''tau''
:::* '''vu-e-limulk'''....''electron neutrino''
:::* '''vu-mu-limulk'''....''muon neutrino''
:::* '''vu-tau-limulk'''....''tau neutrino''
:::* '''e-limulk'''....''electron'' (also: '''vomulk''')
: The nucleus of an atom is called '''zemulk'''. Therefore, '''zemulka''' means ''nuclear''.
=== Musical Nomenclature ===
==== Musical Instruments ====
: The musical instruments are encoded as follows, where all instruments contain the word for musical instrument ('''duzar''' < '''duz''' (''music'') + '''-ar''' (''instrument''). The system is based on a five-way classification system that relates to the way the instrument is played.
[[File:Madras musical instruments and snake charmer's music.jpg|thumb|<small>Madras_musical_instruments_and_snake_charmer's_music</small>]]
{| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller"
|+ Musical Instruments
|-
! Mirad !! English
|-
! colspan=2 | Bowed-String
|-
| '''aduzar''' || ''violin''
|-
| '''eduzar''' || ''violin alto''
|-
| '''iduzar''' || ''cello'', ''violoncello''
|-
| '''uduzar'''<br>'''eona uduzar''' || ''bass''<br>''double bass''
|-
| '''yoduzar''' || ''viola''
|-
| '''yaduzar''' || ''fiddle''
|-
| '''yeduzar''' || ''viol''
|-
|- '''yiduzar''' || ''erhu''
|-
| '''yuduzar''' || ''hardanger fiddle''
|-
| '''aloduzar''' || ''kemenche''
|-
| '''aladuzar''' || ''nyckelharpa''
|-
| '''aleduzar''' || ''rebab''
|-
! colspan=2 | Woodwind
|-
| '''faduzar''' || ''flute''
|-
| '''feduzar''' || ''oboe''
|-
| '''fiduzar''' || ''clarinet''
|-
| '''fuduzar''' || ''bassoon''
|-
| '''fyoduzar''' || ''French harp, harmonica''
|-
| '''fyaduzar''' || ''recorder''
|-
| '''fyeduzar''' || ''bagpipe''
|-
| '''fyiduzar''' || ''didgeridoo''
|-
| '''fyuduzar''' || ''piccolo''
|-
| '''faloduzar''' || ''fife, hornpipe''
|-
| '''faladuzar''' || ''ocarina, ocarine''
|-
| '''faleduzar''' || ''sheng''
|-
| '''faliduzar''' || ''duduk''
|-
| '''faluduzar''' || ''bansuri''
|-
| '''falyoduzar''' || ''suling''
|-
! colspan=2 | Brass 🎷
|-
| '''voduzar''' || ''horn''
|-
| '''vaduzar''' || ''trumpet''
|-
| '''veduzar''' || ''trombone''
|-
| '''vuduzar'''<br>-- '''avuduzar'''<br>-- '''evuduzar'''<br>--'''ivuduzar'''|| ''saxophone''<br>-- ''tenor saxophone''<br>-- ''alto saxophone''<br>-- ''bass saxophone''
|-
| '''vyoduzar''' || ''tuba''
|-
| '''vyaduzar''' || ''bugle''
|-
| '''vyeduzar''' || ''French horn''
|-
| '''vyiduzar''' || ''cornet''
|-
| '''vyuduzar''' || ''baritone horn''
|-
| '''valoduzar''' || ''alto horn''
|-
| '''valaduzar''' || ''euphonium''
|-
| '''valeduzar''' || ''flugelhorn''
|-
| '''validuzar''' || ''sousaphone''
|-
| '''valuduzar''' || ''clarion''
|-
| '''valyoduzar''' || ''mellophone''
|-
| '''valyaduzar''' || ''climbasso''
|-
| '''valyeduzar''' || ''ophicleide''
|-
! colspan=2 | Percussion
|-
| '''kaduzar'''<br>-- '''akaduzar'''<br>-- '''ekaduzar'''<br>-- '''ikaduzar'''<br>-- '''ukaduzar'''<br>-- '''yokaduzar'''<br>-- '''yakaduzar'''<br>-- '''yekaduzar'''<br>-- '''yikaduzar'''<br>-- '''yukaduzar'''<br>-- '''alokaduzar'''<br>-- '''alakaduzar'''<br>-- '''alekaduzar'''<br>-- '''alikaduzar'''<br>-- '''alukaduzar''' || ''drum''<br>-- ''snare drum''<br>-- ''bass drum''<br>-- ''tenor drum''<br>-- ''steel drum''<br>-- ''bongo drum''<br>-- ''timbrel''<br>-- ''kettledrum''<br>-- ''hang drum''<br>-- ''tupan''<br>-- ''taiko''<br>-- ''spring drum''<br>-- ''octoban''<br>-- ''candombe drum''<br>-- ''steel tongue drum''
|-
| '''keduzar''' || ''glockenspiel''
|-
| '''kiduzar''' || ''vibraphone''
|-
| '''kuduzar''' || ''marimba''
|-
| '''kyoduzar''' || ''tubular bell''
|-
| '''gaduzar''' || ''triangle''
|-
| '''geduzar''' || ''gong''
|-
| '''giduzar''' || ''castanet''
|-
| '''guduzar''' || ''rattle''
|-
| '''gyoduzar''' || ''xylophone''
|-
| '''gyaduzar''' || ''maraca''
|-
| '''gyeduzar''' || ''cajón''
|-
| '''gyiduzar''' || ''cymbal''
|-
| '''gyuduzar''' || ''tambourine''
|-
| '''galoduzar''' || ''steelpan''
|-
| '''galaduzar''' || ''wind chime''
|-
| '''galeduzar''' || ''chime bar''
|-
| '''galiduzar''' || ''celeste''
|-
| '''galuduzar''' || ''clapper''
|-
| '''galyoduzar''' || ''Jew's harp''
|-
| '''galyaduzar''' || ''bazooka''
|-
| '''galyeduzar''' || ''waterphone''
|-
| '''galyiduzar''' || ''balafon''
|-
| '''galyuduzar''' || ''boomwhackers''
|-
| '''geloduzar''' || ''udu''
|-
| '''geladuzar''' || ''thunder sheet''
|-
! colspan=2 | Keyboard 🎹
|-
| '''raduzar'''<br>-- '''utekea raduzar'''<br>-- '''agala raduzar'''<br>-- '''sem raduzar''' || ''piano''<br>-- ''player piano''<br>-- ''grand piano''<br>-- ''keyboard''
|-
| '''reduzar''' || ''clavichord''
|-
| '''riduzar''' || ''harpsichord''
|-
| '''ruduzar'''<br>-- '''mufyeg ruduzar'''<br>-- '''maka ruduzar''' || ''organ''<br>-- ''pipe organ''<br>-- ''electric organ''
|-
| '''ryoduzar''' || ''accordion''
|-
| '''ryaduzar''' || ''dulcimer''
|-
| '''ryeduzar''' || ''calliope''
|-
| '''ryiduzar''' || ''melodica''
|-
| '''ryuduzar''' || ''concertina''
|-
! colspan=2 | Guitar 🎸
|-
| '''baduzar'''<br>-- '''seuxa baduzar'''<br>-- '''maka baduzar'''<br>-- '''yoba baduzar''' || ''guitar''<br>-- ''accoustic guitar''<br>-- ''electric guitar''<br>-- ''bass guitar''
|-
| '''beduzar''' || ''banjo''
|-
| '''biduzar''' || ''lute''
|-
| '''buduzar''' || ''harp''
|-
| '''byoduzar''' || ''mandolin''
|-
| '''byaduzar''' || ''ukelele''
|-
| '''byeduzar''' || ''zither''
|-
| '''byiduzar''' || ''lyre''
|-
| '''byuduzar''' || ''cithara, kithara''
|-
| '''baloduzar''' || ''sitar''
|-
| '''baladuzar''' || ''veena''
|-
| '''baleduzar''' || ''koto''
|-
| '''baliduzar''' || ''balalaika''
|-
| '''baluduzar''' || ''charango''
|-
| '''balyoduzar''' || ''hurdy-gurdy''
|}
==== Voice Ranges ====
{| class="wikitable" style="background:lightyellow; font-size:smaller"
|+ Voice Ranges (Deuz nabyani)
|-
! Mirad !! English !! Meaning
|-
! colspan=3 | Women
|-
| '''yabdeuztoyb''' || ''soprano'' || "high-voice-female"
|-
| '''zeyabdeuztoyb''' || ''mezzo-soprano'' || "high-ish-voice-female"
|-
| '''yobdeuztoyb''' || ''alto, contralto'' || "low-voice-female"
|-
! colspan=3 | Men
|-
| '''yabdeuztwob''' || ''tenor'' || "high-voice-male"
|-
| '''ze-yabdeuztwob''' || ''baritone'' || "middle-high-voice-male"
|-
| '''yobdeuztwob''' || ''bass''||"low-voice-male"
|-
| '''vyo-yabdeuztwob''' || ''falsetto'' || "false-high-voice-male"
|-
! colspan=3 | Boys
|-
| '''yabdeuztwobet''' || ''treble'' || "high-voice-boy"
|}
: Suffix these nouns with '''-a''' to make them adjectives, eg.:
::* '''His se <u>yabdeuztwoba</u> duznod.'''....''This is a <u>tenor</u> note.''
==== Solmization Syllables ====
: The syllables used in Mirad to spell out musical notes is like the system used in the English-speaking world:
{| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller"
|+ Solmization Syllables
|-
| '''do''' || '''re''' || '''mi''' || '''fa''' || '''sol''' || '''la''' || '''ti''' || '''do'''
|}
==== Musical Score Elements ====
[[File:Gigault-dernier-kyrie-mm9-12.png|thumb]]
: The semitone or accidental symbols are:
{| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller"
|+ Accidentals
|-
! ENGLISH NAME !! SYMBOL !! MIRAD NAME !! ENGLISH EXAMPLE !! MIRAD EXAMPLE || MIRAD PRONUNCIATION
|-
| ''flat'' || <big>𝄬</big>|| '''yobwa''' (=''lowered'')|| ''B flat'' || '''B yobwa''' || '''ba YOBwa'''
|-
| ''sharp'' || <big>𝄰</big> || '''yabwa''' (=''raised'')|| ''C sharp'' || '''C yabwa''' || '''ca YABwa'''
|-
| ''natural'' || <big>𝄮</big> || '''egxwa''' (=''normalized'')|| ''F natural'' || '''F egxwa''' || '''fe EGxwa'''
|}
: Some staff notation:
{| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller"
|+ Staff Notation
|-
! English Name !! Symbol !! Mirad Name
|-
| ''staff'' || <big>𝄙</big> || '''nuidyan'''
|-
| ''treble clef, G clef'' || <big>𝄞</big> || '''G yijar'''
|-
| ''C clef'' || <big>𝄡</big> || '''C yijar'''
|-
| ''base clef, F clef'' || <big>𝄢</big> || '''F yijar'''
|-
| ''note'' || || '''nod'''
|-
| ''half note'' || <big>𝅗𝅥</big> || '''eyna nod'''
|-
| ''quarter note'' || <big>𝅘𝅥</big> || '''uyna nod'''
|-
| ''whole note'' || <big>𝅝</big> || '''ayna nod'''
|-
| ''quarter rest'' || <big>𝄽 </big> || '''uyna poys'''
|-
| ''eighth note'' || <big>𝅘𝅥𝅮 </big> || '''yiyna nod'''
|-
| ''bar, measure'' || <big>𝄀</big> || '''nodzyan'''
|-
| ''ligature'' || || '''yanxus'''
|}
==== Characteristic Features of Music ====
{| class="wikitable sortable" style="background:lightyellow; font-size:smaller"
|+ Characteristic Features of Music
! Mirad !! English
|-
|'''deup'''||'' beat''
|-
|'''seupan'''||'' cadence''
|-
|'''jes'''||'' duration''
|-
|'''zoyteuz'''||'' echo''
|-
|'''yanseuz'''||'' harmony''
|-
|'''duzneg'''||''pitch''
|-
|'''ijduzneg'''||'' key''
|-
|'''druz'''||'' lyric''
|-
|'''agala duzmus'''||'' major scale''
|-
|'''duznag'''||'' measure''
|-
|'''duznad'''||'' melody''
|-
|'''duzjob''' ||''tempo''
|-
|'''nak'''||'' meter''
|-
|'''ogala duzmus'''||'' minor scale''
|-
|'''duz'''||'' music''
|-
|'''yinig'''||'' octave''
|-
|'''byes'''||'' pulse''
|-
|'''zoyseuzen'''||'' resonance''
|-
|'''deupyan'''||'' rhythm''
|-
|'''duzmus'''||'' scale''
|-
|'''duzdreyn'''||'' score''
|-
|'''seux'''||'' sound''
|-
|'''duzigan'''||'' tempo''
|-
|'''seuzvolz'''||'' timbre''
|-
|'''seuz'''||'' tone''
|-
|'''yanseuz'''||''chord, harmonic''
|-
|'''aybseuz'''||''overtone''
|-
|'''deuzunog'''||'' tune''
|-
|'''deuz'''||'' voice''
|-
|'''seuxnid'''||'' volume''
|}
==== Dynamics ====
: Notations having to do with musical dynamic accents are usually in Italian and are recognized the world over. For this reason, they are left ''as is'' in Mirad.
: These include:
<div style="background:lightyellow; font-style:italics">
: <i>a tempo, accelerando, accelerando, crescendo, decrescendo, diminuendo, fermata, forte, fortissimo, glissando, legato, lento, marcato, mezzo forte, mezzo piano, pianissimo, piano, poco a poco, portamento, rallentando, ritardanto, rubato, sforzando, staccatissimo, staccato, subito piano, tenuto, tremolo</i>, and others.
</div>
==== Types of Arrangements ====
{| class="wikitable sortable" style="background: lightyellow; font-size:smaller"
|+ Musical Arrangements
! English !! Mirad
|-
|''a capella song''||'''a kapella deuzun, deuzun boy duzari'''
|-
|''anthem''||'''fizdeuzun, tezdeuzun'''
|-
|''antiphon''||'''duiddeuzun'''
|-
|''aria''||'''arya, awat deuzun'''
|-
|''arrangement''||'''napbeyn'''
|-
|''art song''||'''tuz deuz'''
|-
|''ballad''||'''daz deuz, ifonkex deuzun'''
|-
|''battle hymn''||'''dropek deuzun'''
|-
|''bird song''||'''pat deuzun'''
|-
|''broadway song''||'''Broadway deuzun'''
|-
|''campfire song''||'''tamoftem deuzun'''
|-
|''cantata''||'''kantata'''
|-
|''canticle''||'''efyadeuzun'''
|-
|''carol''||'''ivdeuzun'''
|-
|''chant''||'''yagdeuzun'''
|-
|''choral arrangement''||'''deuzutyan napxeyn'''
|-
|''Christmas carol''||'''Kristtaj ivdeuzun'''
|-
|''classical song''||'''visauna deuzun'''
|-
|''composition''||'''duzdrun'''
|-
|''concerto''||'''koncerto'''
|-
|''country song''||'''odom deuzun, meimtyoda deuzun'''
|-
|''dance song''||'''daz deuzun'''
|-
|''dirge''||'''uvdeuzun'''
|-
|''ditty''||'''deuzog'''
|-
|''doggerel verse''||'''dizdeuzun'''
|-
|''drinking song''||'''tilien deuzun'''
|-
|''duet''||'''ewat (deuzun)'''
|-
|''folksong''||'''tyoyd deuzun'''
|-
|''glee''||'''Gebama deuzun'''
|-
|''gospel song''||'''fyadin deuzun'''
|-
|''hip hop song''||'''hip hop deuzun'''
|-
|''hit song''||'''agakus deuzun'''
|-
|''hymn''||'''fyadeuzun '''
|-
|''instrumental''||'''duzarun'''
|-
|''jingle''||'''nundeuzunog'''
|-
|''karaoke song''||'''karaoke deuzun'''
|-
|''love song''||'''ifon deuzun'''
|-
|''lullaby''||'''tudet deuzun'''
|-
|''lute song''||'''riduzar deuzun'''
|-
|''madrigal''||'''duzuka deuzun'''
|-
|''marching song''||'''doptyopen deuzun'''
|-
|''medley''||'''ebmulxwa deuzyan'''
|-
|''metal song''||'''mug deuzun'''
|-
|''musical number''||'''duzun'''
|-
|''old standard''||'''ajdeuzun'''
|-
|''opera''||'''dyuz, dyuzun'''
|-
|''oratorio''||'''oratoryo'''
|-
|''paean''||'''akrun deuzun'''
|-
|''partsong''||'''gon deuzun'''
|-
|''patter song''||'''deuzig'''
|-
|''pop song''||'''tyoda deuzun'''
|-
|''psalm''||'''afyadeuzun'''
|-
|''rock song''||'''rok deuzun'''
|-
|''round''||'''zoydea deuzun'''
|-
|''sea shanty''||'''mim deuz'''
|-
|''show tune''||'''duez deuzun'''
|-
|''signature song''||'''ujak deuzun'''
|-
|''slow jam''||'''bluz deuzun'''
|-
|''soliloquy''||'''awat, awat deuzun'''
|-
|''solo''||'''awat (duzun), awat (deuzun)'''
|-
|''song''||'''deuzun'''
|-
|''spiritual, negro spiritual''||'''topa deuzun'''
|-
|''sporting song''||'''tapifek deuzun'''
|-
|''symphony''||'''viduzunyag'''
|-
|''theme song''||'''texzena deuz'''
|-
|''torch song''||'''ifonok uvdeuzun'''
|-
|''vaudeville song''||'''Vaudeville deuzun'''
|-
|''Wienerlied''||'''Viena deuzun'''
|}
==== Musicians ====
{| class="wikitable sortable" style="background: lightyellow; font-size:smaller"
|+ Musicians
! English !! Mirad
|-
|''musician''||'''duzut, duztoyb, duzuyt, duztwob'''
|-
|''instrumentalist''||'''duzarut'''
|-
|''violinist''||'''aduzarut'''
|-
|''conductor''||'''duzdeb''', '''duzutyaneb'''
|-
|''soloist''||'''anduzut'''
|-
|''singer, vocalist''||'''deuzut'''
|-
|''danseur''||'''dyaztwob'''
|-
|''ballerina''||'''dyazuyt, dyaztoyb'''
|-
|''dancer''||'''dazut, dazuyt'''
|-
|''opera singer''||'''dyuzut, dyuzuyt'''
|-
|''operatist, librettist''||'''dyuzdrut'''
|-
|''composer''||'''duzdrut'''
|-
|''lyricist, songwriter''||'''deuzdrut'''
|-
|''dance conductor''||'''dazeb'''
|-
|''(symphony) orchestra''||'''duzarutyan'''
|-
|''philharmonic orchestra''||'''duzarutyanag'''
|-
|''chorus, chorale'' ||'''deuzutyan'''
|-
|''dance troupe''||'''dazutyan'''
|}
==== Song Parts ====
{| class="wikitable sortable" style="background:lightyellow; font-size:smaller"
|+ Song Parts
! Mirad !! English
|-
|'''ujgon'''||''coda''
|-
|'''ijgon'''||''intro''
|-
|'''ebek'''||''interlude''
|-
|'''ijek'''||''finale''
|-
|'''gawijun'''||''reprise''
|-
|'''gawdeuzun'''||''refrain''
|-
|'''agalduznad'''||''theme''
|-
|'''nadyan'''||''verse''
|-
|'''zeymep'''||''bridge''
|-
|'''gawdwas'''||''chorus''
|-
|'''ujnadyan'''||''outro''
|}
==== Music Genres ====
: Some genres and styles of music:
{| class="wikitable sortable" style="background:lightyellow; font-size:smaller"
|+ Genres of Music
! Mirad !! English
|-
|'''a kapella, boy duzari'''||''a capella''
|-
|'''yugtaxea duz'''||''ambiant''
|-
|'''Usoma tyoyduz'''||''American folk''
|-
|'''Usoma egona duz'''||''American standard''
|-
|'''yizejna'''||''avant garde''
|-
|'''Baroka'''||''Baroque''
|-
|'''yolza vab'''||''bluegrass''
|-
|'''bluz'''||''blues''
|-
|'''Bolliwud'''||''Bollywood''
|-
|'''bossa nova'''||''bossa nova''
|-
|'''kalipso'''||''calypso''
|-
|'''Kelta yagdeuz'''||''Celtic chant''
|-
|'''Canima tyoyduz'''||''Chinese folk''
|-
|'''Canima ajutbyena dyuz'''||''Chinese traditional opera''
|-
|'''jejoba deupyan ay bluz'''||''contemporary R&B''
|-
|'''maima bluz'''||''country blues''
|-
|'''maima duz'''||''country music''
|-
|'''maima pop'''||''country pop''
|-
|'''maima rap'''||''country rap''
|-
|'''maima rok'''||''country rock''
|-
|'''dazam pop'''||''dancehall pop''
|-
|'''disko'''||''disco''
|-
|'''du-wop'''||''doo-wop''
|-
|'''maka dauz'''||''electronic dance music (EDM)''
|-
|'''yugtaxea duz'''||''elevator music''
|-
|'''Euma disko'''||''Euro-disco''
|-
|'''jwayeka'''||''experimental''
|-
|'''flamenko'''||''flamenco''
|-
|'''funk'''||''funk''
|-
|'''Gregoria yagdeuz'''||''Gregorian chant''
|-
|'''hip-hop'''||''hip-hop''
|-
|'''honki-tonk'''||''honky-tonk''
|-
|'''hyusuna rok'''||''Indie rock''
|-
|'''jaz'''||''jazz''
|-
|'''makjaz'''||''jazztronica''
|-
|'''juju'''||''juju''
|-
|'''fyaxela duz'''||''liturgical music''
|-
|'''majika'''||''majika''
|-
|'''mamo'''||''mambo''
|-
|'''merengwe'''||''merengue''
|-
|'''mesitzo'''||''mesitzo''
|-
|'''mug'''||''metal''
|-
|'''Mixuma duz'''||''Mexican''
|-
|'''seuz bi Naxvil'''||''Nashville sound''
|-
|'''Ejna Orleans bluz'''||''New Orleans blues''
|-
|'''dyuz'''||''opera''
|-
|'''rancera'''||''ranchera''
|-
|'''rap'''||''rap''
|-
|'''rege'''||''reggae''
|-
|'''deupyan ay blus, ro-ay-ba'''||''rhythm & blues''
|-
|'''rok-ay-rol'''||''rock & roll''
|-
|'''salsa'''||''salsa''
|-
|'''samba'''||''samba''
|-
|'''ska'''||''ska''
|-
|'''galoduzaruta duz'''||''steel band music''
|-
|'''swing'''||''swing''
|-
|'''Tehano'''||''Tejano''
|-
|'''eyntuj duz'''||''trance music''
|-
|'''Zumera visauna'''||''Western classical''
|-
|'''Zumeryena'''||''Western''
|-
|'''zideko'''||''zydeco''
|}
=== Geographic Placenames ===
: As in English, Geograpic placenames are capitalized, including the languages and inhabitants.
==== Countries of the World ====
[[File:Flickr - …trialsanderrors - Johnson's new chart of national emblems, 1868.jpg|thumb|]]
Below is a complete list of the current officially assigned ISO 3166-1 alpha-3 codes, with country names being English short country names officially used by the ISO 3166 Maintenance Agency (ISO 3166/MA). The Mirad equivalents are formed by replacing the letters of the ISO code with the lowercase Mirad alphabetic spells, except if the letter is followed by a vowel, in which case the ISO letter is kept as is, but lower-cased. The letter '''m''' is suffixed as a stub for "place" and then the word-initial letter is capitalized, eg.:
: Example 1:
: ''Burundi'' is translated as follows:
::* The ISO 3166-1 alpha-3 code is BDI.
::* ''BDI'' is lowercased to ''bdi''
::* '''b''' is convered to the Mirad alphabetic spell '''ba'''.
::* Since ''d'' is followed by a vowel, it is left as is: '''d'''.
::* The vowel ''i'' is left as is: '''i'''
::* '''m''' is appended for ''place'': '''badim'''
::* The initial letter of the country name is capitalized: '''Badim'''
::* BDI (Burundi) = '''Badim'''.
: Example 2:
: ''Uzbekistan'' is translated as follows:
::* The ISO 3166-1 alpha-3 code is UZB.
::* ''UZB'' is lowercased to ''uzb''
::* '''u''' is left as is: '''u'''.
::* '''z''' is converted to the Mirad alphabetic spell: '''zu'''
::* '''b''' is converted to the Mirad alphabetic spell: '''ba'''
::* '''m''' is appended for ''place'': '''uzubam'''
::* The initial letter of the country name is capitalized: '''Uzubam'''
::* UZB (Uzbekistan) = '''Uzubam'''.
{| class="wikitable sortable" style="background: lightyellow; margn-left:1.6em; font-size:smaller;"
|+ Country Names (click on arrows to sort a column)
! ISO !! English !! Mirad
|-
| ABW || ''Aruba''||'''Abawum'''
|-
| AFG || ''Afghanistan''||'''Afegem'''
|-
| AGO || ''Angola''||'''Agom'''
|-
| AIA || ''Anguilla''||'''Aiam'''
|-
| ALA || ''[[w:Åland|Åland Islands]]''||'''Alam'''
|-
| ALB || ''Albania''||'''Alibam'''
|-
| AND || ''Andorra''||'''Anidam'''
|-
| ANT || ''Netherlands Antilles''||'''Anitom'''
|-
| ARE || ''United Arab Emirates''||'''Arem'''
|-
| ARG || ''Argentina''||'''Arogem'''
|-
| ARM || ''Armenia''||'''Aromim'''
|-
| ASM || ''American Samoa''||'''Asomim'''
|-
| ATA || ''Antarctica''||'''Atam'''
|-
| ATF || ''French Southern Territories''||'''Atofem'''
|-
| ATG || ''Antigua and Barbuda''||'''Atogem'''
|-
| AUS || ''Australia''||'''Ausom'''
|-
| AUT || ''Austria''||'''Autom'''
|-
| AZE || ''Azerbaijan''||'''Azem'''
|-
| BDI || ''Burundi''||'''Badim'''
|-
| BEL || ''Belgium''||'''Belim'''
|-
| BEN || ''Benin''||'''Benim'''
|-
| BFA || ''Burkina Faso''||'''Bafam'''
|-
| BGD || ''Bangladesh''||'''Bagedam'''
|-
| BGR || ''Bulgaria''||'''Bagerom'''
|-
| BHR || ''Bahrain''||'''Baherom'''
|-
| BHS || ''[[w|The Bahamas|Bahamas]]''||'''Bahesom'''
|-
| BIH || ''Bosnia and Herzegovina''||'''Bihem'''
|-
| BLM || ''Saint Barthélemy''||'''Balimim'''
|-
| BLR || ''Belarus''||'''Balirom'''
|-
| BLZ || ''Belize''||'''Balizum'''
|-
| BMU || ''Bermuda''||'''Bamum'''
|-
| BOL || ''Bolivia''||'''Bolim'''
|-
| BRA || ''Brazil''||'''Baram'''
|-
| BRB || ''Barbados''||'''Barobam'''
|-
| BRN || ''[[w:Brunei|Brunei Darussalam]]''||'''Baronim'''
|-
| BTN || ''Bhutan''||'''Batonim'''
|-
| BVT || ''Bouvet Island''||'''Bavutom'''
|-
| BWA || ''Botswana''||'''Bawam'''
|-
| CAF || ''Central African Republic''||'''Cafem'''
|-
| CAN || ''Canada''||'''Canim'''
|-
| CCK || ''Cocos Islands''||'''Cacakim'''
|-
| CHE || ''Switzerland''||'''Cahem'''
|-
| CHL || ''Chile''||'''Cahelim'''
|-
| CHN || ''[[w:People's Republic of China|China]]''||'''Cahenim'''
|-
| CIV || ''Côte d'Ivoire''||'''Civum'''
|-
| CMR || ''Cameroon''||'''Camirom'''
|-
| COD || ''Democratic Republic of the Congo''||'''Codam'''
|-
| COG || ''Republic of the Congo''||'''Cogem'''
|-
| COK || ''Cook Islands''||'''Cokim'''
|-
| COL || ''Colombia''||'''Colim'''
|-
| COM || ''Comoros''||'''Comim'''
|-
| CPV || ''Cape Verde''||'''Capovum'''
|-
| CRI || ''Costa Rica''||'''Carim'''
|-
| CUB || ''Cuba''||'''Cubam'''
|-
| CXR || ''Christmas Island''||'''Caxurom'''
|-
| CYM || ''Cayman Islands''||'''Cayumim'''
|-
| CYP || ''Cyprus''||'''Cayupom'''
|-
| CZE || ''Czechia''||'''Cazem'''
|-
| DEU || ''Germany''||'''Deum'''
|-
| DJI || ''Djibouti''||'''Dajim'''
|-
| DMA || ''Dominica''||'''Damam'''
|-
| DNK || ''Denmark''||'''Danikim'''
|-
| DOM || ''Dominican Republic''||'''Domim'''
|-
| DZA || ''Algeria''||'''Dazam'''
|-
| ECU || ''Ecuador''||'''Ecum'''
|-
| EGY || ''Egypt''||'''Egeyum'''
|-
| ERI || ''Eritrea''||'''Erim'''
|-
| ESH || ''Western Sahara''||'''Esohem'''
|-
| ESP || ''Spain''||'''Esopom'''
|-
| EST || ''Estonia''||'''Esotom'''
|-
| ETH || ''Ethiopia''||'''Etohem'''
|-
| FIN || ''Finland''||'''Finim'''
|-
| FJI || ''Fiji''||'''Fejim'''
|-
| FLK || ''Falkland Islands (Malvinas)''||'''Felikim'''
|-
| FRA || ''France''||'''Feram'''
|-
| FRO || ''Faroe Islands''||'''Ferom'''
|-
| FSM || ''Federated States of Micronesia''||'''Fesomim'''
|-
| GAB || ''Gabon''||'''Gabam'''
|-
| GBR || ''United Kingdom''||'''Gebarom'''
|-
| GEO || ''Georgia''||'''Geom'''
|-
| GGY || ''Guernsey''||'''Gegeyum'''
|-
| GHA || ''Ghana''||'''Geham'''
|-
| GIB || ''Gibraltar''||'''Gibam'''
|-
| GLP || ''Guadeloupe''||'''Gelipom'''
|-
| GMB || ''Gambia''||'''Gemibam'''
|-
| GNB || ''Guinea-Bissau''||'''Genibam'''
|-
| GNQ || ''Equatorial Guinea''||'''Geniqom'''
|-
| GRC || ''Greece''||'''Gerocam'''
|-
| GRD || ''Grenada''||'''Gerodam'''
|-
| GRL || ''Greenland''||'''Gedolim'''
|-
| GTM || ''Guatemala''||'''Getomim'''
|-
| GUF || ''French Guiana''||'''Gufem'''
|-
| GUM || ''Guam''||'''Gumim'''
|-
| GUY || ''Guyana''||'''Guyum'''
|-
| HKG || ''Hong Kong''||'''Hekigem'''
|-
| HMD || ''Heard Island and McDonald Islands''||'''Hemidam'''
|-
| HND || ''Honduras''||'''Henidam'''
|-
| HRV || ''Croatia''||'''Herovum'''
|-
| HTI || ''Haiti''||'''Hetim'''
|-
| HUN || ''Hungary''||'''Hunim'''
|-
| IDN || ''Indonesia''||'''Idanim'''
|-
| IMN || ''Isle of Man''||'''Iminim'''
|-
| IND || ''India''||'''Inidam'''
|-
| IOT || ''British Indian Ocean Territory''||'''Iotom'''
|-
| IRL || ''Republic of Ireland''||'''Irolim'''
|-
| IRN || ''Iran''||'''Ironim'''
|-
| IRQ || ''Iraq''||'''Iroqom'''
|-
| ISL || ''Iceland''||'''Isolim'''
|-
| ISR || ''Israel''||'''Isorom'''
|-
| ITA || ''Italy''||'''Itam'''
|-
| JAM || ''Jamaica''||'''Jamim'''
|-
| JEY || ''Jersey''||'''Jeyum'''
|-
| JOR || ''Jordan''||'''Jorom'''
|-
| JPN || ''Japan''||'''Jiponim'''
|-
| KAZ || ''Kazakhstan''||'''Kazum'''
|-
| KEN || ''Kenya''||'''Kenim'''
|-
| KGZ || ''Kyrgyzstan''||'''Kigezum'''
|-
| KHM || ''Cambodia''||'''Kihemim'''
|-
| KIR || ''Kiribati''||'''Kirom'''
|-
| KNA || ''Saint Kitts and Nevis''||'''Kinam'''
|-
| KOR || ''[[w:South Korea|Korea, Republic of]]''||'''Korom'''
|-
| KWT || ''Kuwait''||'''Kiwutom'''
|-
| LAO || ''Laos''||'''Laom'''
|-
| LBN || ''Lebanon''||'''Libanim'''
|-
| LBR || ''Liberia''||'''Libarom'''
|-
| LBY || ''Libya''||'''Libayum'''
|-
| LCA || ''Saint Lucia''||'''Licam'''
|-
| LIE || ''Liechtenstein''||'''Liem'''
|-
| LKA || ''Sri Lanka''||'''Likam'''
|-
| LSO || ''Lesotho''||'''Lisom'''
|-
| LTU || ''Lithuania''||'''Litum'''
|-
| LUX || ''Luxembourg''||'''Luxum'''
|-
| LVA || ''Latvia''||'''Livam'''
|-
| MAC || ''[[W:Macau|Macao]]''||'''Macam'''
|-
| MAF || ''Saint Martin''||'''Mafem'''
|-
| MAR || ''Morocco''||'''Marom'''
|-
| MCO || ''Monaco''||'''Micom'''
|-
| MDA || ''Moldova''||'''Midam'''
|-
| MDG || ''Madagascar''||'''Midagem'''
|-
| MDV || ''Maldives''||'''Midavum'''
|-
| MEX || ''Mexico''||'''Mexum'''
|-
| MHL || ''Marshall Islands''||'''Mihelim'''
|-
| MKD || ''Republic of Macedonia''||'''Mikidam'''
|-
| MLI || ''Mali''||'''Milim'''
|-
| MLT || ''Malta''||'''Militom'''
|-
| MMR || ''Myanmar''||'''Mimirom'''
|-
| MNE || ''Montenegro''||'''Minem'''
|-
| MNG || ''Mongolia''||'''Minigem'''
|-
| MNP || ''Northern Mariana Islands''||'''Minipom'''
|-
| MOZ || ''Mozambique''||'''Mozum'''
|-
| MRT || ''Mauritania''||'''Mirotom'''
|-
| MSR || ''Montserrat''||'''Misorom'''
|-
| MTQ || ''Martinique''||'''Mitoqom'''
|-
| MUS || ''Mauritius''||'''Musom'''
|-
| MWI || ''Malawi''||'''Miwim'''
|-
| MYS || ''Malaysia''||'''Miyusom'''
|-
| MYT || ''Mayotte''||'''Miyutom'''
|-
| NAM || ''Namibia''||'''Namim'''
|-
| NCL || ''New Caledonia''||'''Nicalim'''
|-
| NER || ''Niger''||'''Nerom'''
|-
| NFK || ''Norfolk Island''||'''Nifekim'''
|-
| NGA || ''Nigeria''||'''Nigam'''
|-
| NIC || ''Nicaragua''||'''Nicam'''
|-
| NOR || ''Norway''||'''Norom'''
|-
| NIU || ''Niue''||'''Nium'''
|-
| NLD || ''Netherlands''||'''Nilidam'''
|-
| NPL || ''Nepal''||'''Nipolim'''
|-
| NRU || ''Nauru''||'''Nirum'''
|-
| NZL || ''New Zealand''||'''Nizulim'''
|-
| OMN || ''Oman''||'''Ominim'''
|-
| PAK || ''Pakistan''||'''Pakim'''
|-
| PAN || ''Panama''||'''Panim'''
|-
| PCN || ''Pitcairn Islands''||'''Pocanim'''
|-
| PER || ''Peru''||'''Perom'''
|-
| PHL || ''Philippines''||'''Pohelim'''
|-
| PLW || ''Palau''||'''Poliwum'''
|-
| PNG || ''Papua New Guinea''||'''Ponigem'''
|-
| POL || ''Poland''||'''Polim'''
|-
| PRI || ''Puerto Rico''||'''Porim'''
|-
| PRK || ''North Korea''||'''Porikim'''
|-
| PRT || ''Portugal''||'''Porotom'''
|-
| PRY || ''Paraguay''||'''Poroyum'''
|-
| PSE || ''Palestinian territories''||'''Posem'''
|-
| PYF || ''French Polynesia''||'''Poyufem'''
|-
| QAT || ''Qatar''||'''Qatom'''
|-
| REU || ''Réunion''||'''Reum'''
|-
| ROU || ''Romania''||'''Roum'''
|-
| RUS || ''Russia''||'''Rusom'''
|-
| RWA || ''Rwanda''||'''Rowam'''
|-
| SAU || ''Saudi Arabia''||'''Saum'''
|-
| SDN || ''Sudan''||'''Sodanim'''
|-
| SEN || ''Senegal''||'''Senim'''
|-
| SGP || ''Singapore''||'''Sogepom'''
|-
| SGS || ''South Georgia and the South Sandwich Islands''||'''Sogesom'''
|-
| SHN || ''Saint Helena''||'''Sohenim'''
|-
| SJM || ''Svalbard and Jan Mayen''||'''Sojimim'''
|-
| SLB || ''Solomon Islands''||'''Solibam'''
|-
| SLE || ''Sierra Leone''||'''Solem'''
|-
| SLV || ''El Salvador''||'''Solivum'''
|-
| SMR || ''San Marino''||'''Somirom'''
|-
| SOM || ''Somalia''||'''Somim'''
|-
| SPM || ''Saint Pierre and Miquelon''||'''Sopomim'''
|-
| SRB || ''Serbia''||'''Sorobam'''
|-
| STP || ''São Tomé and Príncipe''||'''Sotopom'''
|-
| SUR || ''Suriname''||'''Surom'''
|-
| SVK || ''Slovakia''||'''Sovukim'''
|-
| SVN || ''Slovenia''||'''Sovunim'''
|-
| SWE || ''Sweden''||'''Sowem'''
|-
| SWZ || ''Swaziland''||'''Sowuzum'''
|-
| SYC || ''Seychelles''||'''Soyucam'''
|-
| SYR || ''Syria''||'''Soyurom'''
|-
| TCA || ''Turks and Caicos Islands''||'''Tocam'''
|-
| TCD || ''Chad''||'''Tocadam'''
|-
| TGO || ''Togo''||'''Togom'''
|-
| THA || ''Thailand''||'''Toham'''
|-
| TJK || ''Tajikistan''||'''Tojikim'''
|-
| TKL || ''Tokelau''||'''Tokilim'''
|-
| TKM || ''Turkmenistan''||'''Tokimim'''
|-
| TLS || ''East Timor''||'''Tolisom'''
|-
| TON || ''Tonga''||'''Tonim'''
|-
| TTO || ''Trinidad and Tobago''||'''Totom'''
|-
| TUN || ''Tunisia''||'''Tunim'''
|-
| TUR || ''Turkey''||'''Turim'''
|-
| TUV || ''Tuvalu''||'''Tuvum'''
|-
| TWN || ''Taiwan''||'''Towunim'''
|-
| TZA || ''Tanzania''||'''Tozam'''
|-
| UGA || ''Uganda''||'''Ugam'''
|-
| UKR || ''Ukraine''||'''Ukirom'''
|-
| UMI || ''United States Minor Outlying Islands''||'''Umim'''
|-
| URY || ''Uruguay''||'''Uroyum'''
|-
| USA || ''United States''||'''Usam'''
|-
| UZB || ''Uzbekistan''||'''Uzubam'''
|-
| VAT || ''Vatican City''||'''Vatom'''
|-
| VCT || ''Saint Vincent and the Grenadines''||'''Vucatom'''
|-
| VEN || ''Venezuela''||'''Venim'''
|-
| VGB || ''British Virgin Islands''||'''Vugebam'''
|-
| VIR || ''United States Virgin Islands''||'''Virom'''
|-
| VNM || ''Vietnam''||'''Vunimim'''
|-
| VUT || ''Vanuatu''||'''Vutom'''
|-
| WLF || ''Wallis and Futuna''||'''Wulifem'''
|-
| WSM || ''Samoa''||'''Wusomim'''
|-
| YEM || ''Yemen''||'''Yemim'''
|-
| ZAF || ''South Africa''||'''Zafem'''
|-
| ZMB || ''Zambia''||'''Zumibam'''
|-
| ZWE || ''Zimbabwe''||'''Zuwem'''
|}
: The adjective for these Mirad country names can be formed by suffixing the adjective marker '''a''', eg:
::* '''Feram'''....''France'' ==> '''Ferama'''....''French''
::* '''Usam'''....''United States'' ==> '''Usama'''....''American''
::* '''Deum'''....''Germany'' ==> '''Deuma'''....''German''
: The inhabitant of a country is formed by changing the final '''m''' of the placename to '''t''' (meaning person), eg:
::* '''Feram'''....''French'' ==> '''Ferat'''....''a French person, a Frenchman''
: The names of country inhabitants can be pluralized and genderized, as other animate nouns, eg:
::* '''Ferat'''....''a French person'' ==> '''ha Ferati'''....''the French''
::* '''Etohet'''....''an Ethiopian'' ==> '''Etohwat'''....''an Ethiopian male''
::* '''Finit'''....''a Finn'' ==> '''Finiyt'''....''a Finnish woman''
: Do not confuse the adjectival name of a country with the language: '''Ferama''' refers to the country of ''France'', not the language ''French''. ''French'' the language is '''Ferad.'''
==== Continents ====
[[File:Continental models.gif|thumb]]
: The word for ''continent'' in Mirad is '''yanmel''' (= "together-soil"). The names of the continents in Mirad are formed from the word '''yanmel''' with vectorial prefixes.
{| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;"
|+ Continent Names
|-
! Mirad !! English
|-
| '''Ayanmal''' || ''North America''
|-
| '''Oyanmel''' || ''South America''
|-
| '''Iyanmel''' || ''Asia''
|-
| '''Uyanmel''' || ''Europe''
|-
| '''Eyanmel''' || ''Africa''
|-
| '''Yoyanmel''' || ''Oceania''
|}
: The adjective counterparts of these placenames are derived by suffixing '''-a''':
:* '''Iyanmela'''....''Asian''
:* '''Uyanmela'''....''European''
: By appending '''-t(i)''' to the adjectival names, we get the inhabitants:
:* '''Eyanmelat'''....''an African''
:* '''Ayanmelati'''....''North Americans''
: Note:
<div style="background: lightyellow">
:* The ''Americas'' is expressed in Mirad with the hybrid word '''Aoyanmel''' (a combination of North and South America).
:* ''Central America'' is expressed in Mirad by '''Zea Aoyanmel''' (''Central America'')
:* The word '''Usam''' means ''United States of America'' or ''USA''. The word ''America'' by itself is not used in Mirad; only ''North America'' or ''South America''.
:* The word '''Usamati''' is used for ''Americans'' when referring to inhabitants of the U.S.
:* The word '''Ayanmelati''' is used to refer to North Americans (U.S. and Canada).
:* The word '''Eyanmel-Usamat''', or more briefly, '''Eusamat''' is used for ''African American''.
:* ''Latin America'' is expressed as '''Liada Oyanmel'''.
:* ''A Latino, Latina, or Latinx'' in the U.S. is called '''Liadwut, Liaduyt, or Liadut'''.
:* In some geographic systems, '''Ausom'''....''Australia'' is considered a continent.
</div>
: The word for ''island'' is '''yonmel''' (= ''separate land''). An islander is '''yonmelat'''.
==== Oceans ====
: The Mirad word for ocean is '''mimag'''. The ocean names are formed by prefixing a vectorial ordinal to the word '''mimag''':
{| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;"
|+ Ocean Names
|-
! Mirad !! English
|-
| '''Amimag''' || ''Arctic Ocean''
|-
| '''Omimag''' || ''Southern Ocean''
|-
| '''Imimag''' || ''Pacific Ocean''
|-
| '''Umimag''' || ''Atlantic Ocean''
|-
| '''Emimag''' || ''Indian Ocean''
|}
==== Compass Directions and Poles ====
: The compass directions ('''merizoni''') and poles ('''mernodi''') are as follows:
::* '''zamer'''....''north'' / '''zamera'''....''northern'' / '''zamernod'''....''north pole''
::* '''zomer'''....''south'' / '''zomera'''....''southern'' / '''zomernod'''....''south pole''
::* '''zimer'''....''east'' / '''zimera'''....''eastern''
::* '''zumer'''....''west'' / '''zumera'''....''western''
: The words '''Yibzamer'''....''Arctic'' and '''Yibzomer'''...''Antarctic(a)'' both use the prefix '''yib'''....''far''.
: Prefixing the directions with '''iz-'''....''due-'' yields:
::* '''iz zamer'''....''due north''
::* '''iz zomer'''....''due south'', etc.
: Directional words can be hybridized, eg:
::* '''zaomera'''....''north-south''
::* '''zuimera'''....''east-west''
::* '''zaumera'''....''north-west''
::* '''zaimera'''....''north-east''
==== Earth Grid Lines ====
: The earth grid lines ('''mernadi''') are as follows:
::* '''zamernad'''....''Arctic Circle''
::* '''zomernad'''....''Antarctic Circle''
::* '''zaomernad'''....''longitude''
::* '''zuimernad'''....''latitude''
::* '''zemernad'''....''equator''
:::* '''abzemernad'''....''Tropic of Capricorn''
:::* '''obzemernad'''....''tropic, Tropic of Cancer''
::::* '''yizobzemernad'''....''subtropic''
::* '''eymernad'''....''meridian''
::* '''mamnad'''....''horizon''
::* '''aonada'''....''vertical''
::* '''uinada'''....''horizontal''
::* '''zyenada'''....''perpendicular''
==== Languages of the World ====
[[File:Wiktionary-logo.svg|thumb|]]
: Mirad names of languages are based on either:
::* the name of the country most associated with the language (English < England, French < France), or:
::* the ISO 639-2 alpha-3 three-letter code. (See [[https://www.loc.gov/standards/iso639-2/php/code_list.php|Library of Congress ISO639-2 Codes]].
: If formed from the country name, the language name is acquired by replacing the final '''m''' or the country name with '''d'''. For example, '''Enigem''' (''England''), becomes '''Eniged''' (''English''). See [[Mirad_Grammar#Countries of the World|Countries of the World]].
: If formed from the ISO 639-2 code, because their is no particular country associated with the language, the letters of the code are replaced with the Mirad lowercase alphabetic spells. The initial letter is capitalized and '''d''' is suffixed to the word. A Mirad alphabetic spell in the shape of consonant+vowel loses its vowel before a spell consisting of just a vowel. For example, '''ba''' + '''e''' becomes '''be'''.
:{| class="wikitable sortable" style="background:lightyellow; font-size:smaller;"
|+ Mirad Language Names
|-
! ISO Language Name !! Country or ISO Code !! Mirad Language Name
|-
| Abkhazian || abk || '''Abakid'''
|-
| Afar || aar || '''Aarod'''
|-
| Afrikaans || '''Zafem'''....''South Africa'' || '''Zafed'''
|-
| Akan || aka || '''Akad''' (< a + ki + a +d, where ki + a = ka)
|-
| Albanian || '''Alibam'''....''Albania'' || '''Alibad'''
|-
| Amharic || amh || '''Amihed'''
|-
| Arabic || ara || '''Arad'''
|-
| Aragonese || arg || '''Aroged'''
|-
| Armenian || '''Aromim''' || '''Heyud'''
|-
| Assamese || asm || '''Asomid'''
|-
| Avaric || ava || '''Avad'''
|-
| Avestan || ave || '''Aved'''
|-
| Aymara || aym || '''Ayumid'''
|-
| Azerbaijani || '''Azem'''....''Azerbaijan'' || '''Azed'''
|-
| Bambara || bam || '''Bamid'''
|-
| Bashkir || bak || '''Bakirod'''
|-
| Basque || baq || '''Baqod'''
|-
| Belarusian || '''Balirom'''....''Belarusia'' || '''Balirod'''
|-
| Bengali || '''Bagedim'''....''Bangladesh'' || '''Bagedid'''
|-
| Bislama || bis || '''Bisod'''
|-
| Bosnian || '''Bihem'''....''Bosnia'' || '''Bihed'''
|-
| Breton || bre || '''Bared'''
|-
| Bulgarian || '''Bagerom'''....''Bulgaria'' || '''Bagerod'''
|-
| Burmese || '''Mimirom'''....''Miyanmar'' || '''Mimirod'''
|}
...and so on...
: The language names can be adjectivized by suffixing '''-a''', eg:
::* '''Eniged'''....''(the) English (language)'' ==> '''Enigeda'''....''(in the) English (language)''
::* '''Hia Enigeda dreun se testiyofwa.'''....''This English language document is incomprehensible.''
: The language names can be verbalized with the addition of '''-der'''....''to say'', '''-daler'''....''to speak'', and '''-xer'''....''to translate into'', eg:
::* '''Ferad'''....''French'' ==> '''Ferader'''....''to say in French''
::* '''Esopod'''....''Spanish'' ==> '''Esopodaler'''....''to speak Spanish''
::* '''Arad'''....''Arabic'' ==> '''Aradxer'''....''to Arabicize/translate into Arabic''
::* '''Ferad bayse gla Enigedxwasi.'''....''French has many Anglicizations.''
: The speaker of a language is created by adding '''-ut''' or '''-alut''', eg:
::* '''Eniged'''....''English'' ==> '''Enigedut (or) Enigedalut'''....''English speaker''
::* '''Duven et Enigedale?'''....''Do you speak English?''
::* '''Aradu hia dun.'''....''Say this word in Arabic.''
::* '''At se Itadut/Itadalut.'''....''I am a speaker of Italian.''
: Specialized forms, dialects, levels, and regional variants of languages are expressed as follows:
:{| class="wikitable" style="background:lightyellow; font-size:smaller;"
|+ Language Variants
|-
! Variation Category !! Example
|-
| '''Ajna'''....''Old/Ancient'' || '''Ajna Eniged'''....''Old English, Anglo-Saxon''
|-
| '''Ejoba'''....''Modern'' || '''Ejoba Perod'''....''Modern Persian, Farsi''
|-
| '''Visauna'''....''Classical'' || '''Visauna Gerocad'''....''Classical Greek''
|-
| '''Vyirina'''....''Puristic'' || '''Vyirina Gerocad'''....''Katharevousa (Puristic Greek)''
|-
| '''Tyoda'''....''Vulgar/Popular/Demotic'' || '''Tyoda Latod'''....''Vulgar Latin''<br>'''Tyoda Gerocad'''....''Demotic Greek''
|-
| '''Fyaxela'''....''Liturgical'' || '''Fyaxela Hebad'''....''Liturgical Hebrew''
|-
| '''Fyadyesa'''....''Biblical'' || '''Fyadyesa Hebad'''....''Biblical Hebrew''
|-
| '''Egona'''....''Standard'' || '''Ejoba Egona Arad'''....''Modern Standard Arabic''
|-
| '''Egema'''....''Egyptian'' || '''Egema Arad'''....''Egyptian Arabic''
|-
| '''Usoma'''....''American'' || '''Usoma Eniged'''....''American English''
|}
: There are some languages with no ISO code that have to be formed in another way, in particular, Mirad itself.
::* '''Mirad'''....''Mirad'' ('''Mir'''....''world'')
::* '''Meurad'''....''Martian'' ('''Meur'''...''Mars'')
::* ''Celtic'', which is the name of a family of languages, is represented by the ISO code "cel" and is therefore called '''Celid''' in Mirad.
::* ''Indo-European'', with the code "ine", translates to '''Inied''' in Mirad.
==== Cities and Their Residents ====
: Here are some key cities, their adjectival forms, and inhabitants. The adjective can end in '''-a''' or '''-yena'''.
:{| class="wikitable" style="background:lightyellow; font-size:smaller;"
|+ Cities and Their Residents
|-
! City !! Adjective !! Inhabitant
|-
| '''Paris'''....''Paris'' || '''Paris<u>yena</u>'''....''Parisian'' || '''Paris<u>at</u>'''....''Parisian''
|-
| '''Ejna York'''....''New York'' || '''Ejna York<u>a</u>'''....''of New York'' || '''Ejna York<u>at</u>'''....''New Yorker''
|-
| '''Rom'''....''Rome'' || '''Rom<u>a</u>'''....''Roman'' || '''Rom<u>at</u>'''....''Roman''
|-
| '''Beijing'''....''Beijing'' || '''Beijing<u>a</u>'''....''of Beijing'' || '''Beijing<u>at</u>'''....''resident of Beijing''
|-
| '''Berlin'''....''Berlin'' || '''Berlin<u>a</u>'''....''from Berlin'' || '''Berlin<u>at</u>'''....''Berliner''
|}
: Examples:
:* '''Berlina diti dyunwe Berlinati.'''....''Berlin citizens are called Berliners.''
:* '''Bostonati bayse Bostonyena deus.'''....''Bostonians have a Bostonian accent.''
=== Playing Cards Notation ===
: The playing card suits and prime denominations are:
::{| class="wikitable" style="background:lightyellow; font-size:smaller"
|+ Playing Card Suits
|-
! Mirad !! English !! Image
|-
| '''tiib''' || ''heart''|| <big>{{cards|h}}</big>
|-
| '''melukar''' || ''spade''|| <big>{{cards|s}}</big>
|-
| '''amez''' || ''diamond''|| <big>{{cards|d}}</big>
|-
| '''infayeb''' || ''club''|| <big>{{cards|c}}</big>
|}
::{| class="wikitable" style="background: lightyellow; font-size:smaller"
|+ High Cards plus the Joker
|-
! Mirad !! English !! Image
|-
| '''Az bi tiibi''' || ''ace of hearts''||[[File:Simple_h_a.svg|40px|thumb]]
|-
| '''Edweb bi melukari'''||''king of spades''||[[File:Simple_s_k.svg|40px|thumb]]
|-
| '''Edeyb bi amezi'''||''queen of diamonds''||[[File:Simple_d_q.svg|40px|thumb]]
|-
| '''Yuxtwobet bi infayebi''' || ''jack of clubs''||[[File:Simple_c_j.svg|40px|thumb]]
|-
| '''hihiduut''' || ''joker''|| [[File:Simple_jk_b.svg|40px|thumb]]
|}
: Some useful terms:
::* '''eker drafi'''....''to play cards''
::* '''zyabuer ha drafi'''....''to deal the card''
::* '''ebnapxer ha drafi'''....''to shuffle the cards''
::* '''goler ha nyan'''....''to cut the deck''
::* '''ujber'''....''to fold''
::* '''durer'''....''to bid''
::* '''lokoxer draf'''....''to turn over a card''
::* '''lokoxer ota tuyab'''....''to show one's hand''
::* '''abnabxer'''....''to trump''
::* '''ekdrafnyan'''....''deck of cards''
::* '''nab'''....''suit''
::* '''joper nab'''...''to follow suit''
::* '''kyesdraf'''....''wild card''
::* '''abnaba draf'''....''trump card''
::* '''ha yannas'''....''the pot''
::* '''ha nax'''....''the ante''
::* '''yaber ha nax'''....''to up/raise the ante''
=== Chess Piece Nomenclature ===
{{chess diagram
| tright
|
|=
8 |rd|nd|bd|qd|kd|bd|nd|rd|=
7 |pd|pd|pd|pd| |pd|pd|pd|=
6 | | | | | | | | |=
5 | | | | |pd| | | |=
4 | | | | |pl|pl| | |=
3 | | | | | | | | |=
2 |pl|pl|pl|pl| | |pl|pl|=
1 |rl|nl|bl|ql|kl|bl|nl|rl|=
a b c d e f g h
| The King's Gambit
}}
: The game of chess is called '''xahifek''' in Mirad.
: The chess pieces ('''xahifek goyni''') are as follows:
:{| class="wikitable" style="background: lightyellow; font-size:smaller;"
|+ Chess Piece Names
|-
! Mirad !! English !! Image
|-
| '''edweb''' || ''king'' || [[File:Chess_klt45.svg|thumb|30px]]
|-
| '''edeyb''' || ''queen'' || [[File:Chess_qlt45.svg|30px|thumb]]
|-
| '''efyaxeb''' || ''bishop'' || [[File:Chess_blt45.svg|30px|thumb]]
|-
| '''ekpetob''' || ''knight'' || [[File:Chess_nlt45.svg|30px|thumb]]
|-
| '''tamaz''' || ''rook'' || [[File:Chess_rlt45.svg|30px|thumb]]
|-
| '''melyexut''' || ''pawn'' || [[File:Chess_plt45.svg|30px|thumb]]
|}
: Some chess terms:
::* ''to checkmate''....'''xahpexer'''
::* ''Check!''....''Xah!''
::* ''Checkmate!''....'''xahpexwa!'''
::* ''chess board''....'''xahifek seym, xahifek drof'''
::* ''to move a piece''....'''paxer goun'''
::* ''to capture a piece''....'''pixler goun'''
::* ''chess clock''....'''xahifek jwobar'''
::* ''chess set''....''xahifek gounyan''
::* ''chess tournament''....'''xahifekanyan'''
::* ''chess player''....'''xehifekut'''
::* ''my turn''....'''ata zyuj'''
::* ''score''....'''aoksag'''
::* ''world champion''....'''miraklut'''
=== Botanical Nomenclature ===
: The plant world is a mighty big place and the names of all those flowers, fruits, vegetables, plants, etc. are very difficult to put into a rational naming scheme any better that the existing one using Latin appelations classified into phyla, classes, orders, families, genera, and species. This botanical world in Mirad, much like the system for coding the zoological world, is coded by a system of syllables that relate to the [https://rationalwiki.org/wiki/Linnaean_taxonomy|international Linnaean taxonomy].
==== Base Names ====
: So, in Mirad, botanical organism names have at their base the following words:
::* '''fab'''....trees
:::* '''feb'''....''fruits and nuts''
::* '''fayb'''....''vines and shrubs''
:::* '''feyb'''....''berries''
::* '''vob'''....''crops''
::* '''vol'''....''vegetables''
::* '''veel'''....''legumes and beans''
::* '''vos'''....''flowers''
==== Specific Names ====
: To create more specific names, syllables derived from the Greco-Latin Linnaean Taxonomy, spelled to conform to Mirad pronuncation, are prefixed left-to-right onto one of the above base categories, with the left-most syllable representing the most specific taxon. So, for example, ''pine'' tree is rendered as '''pifab'''. The '''pi''' prefix is the first syllable of the family of pine trees ''<u>Pi</u>naceae''. The '''fab''' ending applies to all trees. To specify other trees in this family, other syllables are prepended, eg. ''cedar tree'' is '''<u>ce</u>pifab''' from ''Pianaceae <u>Ce</u>drus''. A ''cedar of Lebanon'' is '''<u>li</u>cepifab''' from the more specific ''Pinaceae Cedrus <u>li</u>bani''.
: By constructing botanical terms this way, all pine trees can be listed by searching for all names ending in '''pifab'''.
[[File:171 Magnolien.JPG|thumb|]]
{| class="wikitable" style="background: lightyellow; font-size:smaller;"
|+ '''Basic Botanical Terms'''
|-
|valign=top|'''fob'''....''plant''||valign=top|'''vob'''....''crop''||valign=top|'''vol'''....''vegetable''||valign=top|'''vos'''....''flower''
|-
|valign=top|'''fab'''....''tree''<br>'''fayeb'''....''leaf''<br>'''faob'''....''wood''<br>'''fayob'''....''bark''||valign=top|'''vab'''....''grass''<br>'''vayob'''....''peel''|| ||'''vosayeb'''....''petal''<br>'''vosayob'''....''sepal''
|-
|valign=top|'''feb'''....''fruit/nut''||valign=top|'''veb'''....''ear/tuft''<br>'''veeb'''....''seed''<br>'''veeyb'''....''grain''||valign=top|'''veel'''....''legume''||'''voseb'''....''capitulum''
|-
|valign=top|'''fib'''....''trunk''||valign=top|'''vib'''....''stem'' || || '''vosib'''....''receptacle''
|-
|valign=top|'''fub'''....''branch''||valign=top|'''vub'''....''blade''<br>'''vulob'''....''thorn'' || ||
|-
|valign=top|'''fyob'''....''root''||valign=top|'''vyob'''....''tuber'' || || '''vosyob'''....''peduncle''
|}
===== Product Names =====
: Products derived from plants are formed with the following words:
::* '''-fiil'''....''juice (from a pome)''
:::* '''licirufeil'''....''lemon juice'' < '''licirufeb'''....''lemon''
::* '''-feel'''....''-ade''
:::* '''licirufeel'''....''lemonade'' < '''licirufeb'''....''lemon''
::* '''-feyl'''....''juice (from a berry or bean)''
:::* '''kofeyl'''....''coffee'' < '''kofeyb'''....''coffee bean''
::* '''-fayel'''....''leaf juice''
:::* '''tefayel'''....''tea'' < '''tefayeb'''....''tea leaf''
::* '''-fil'''....''alcoholic drink/cider''
:::* '''zepofil'''....''bourbon whiskey'' < '''zepovob'''....''corn''
::* '''-fyel'''....''oil/jam/syrup''
:::* '''frarofyel'''....''strawberry jam'' < '''frarofeyb'''....''strawberry''
::* '''-fyeyl'''....''jelly''
:::* '''frarofyeyl'''....''strawberry jelly''
::* '''-ol'''....''grounds/powder''
:::* '''sakol'''....''sugar'' < '''sakvob'''....''sugar cane''
: Individual derivations of these base words are formed exactly as the names of animals in the section [[Mirad_Grammar#Zoological_Nomenclature|Zoological Nomenclature]]. For example, an ''apple'' is from the <u>Ro</u>saceae family of trees, the genus being ''<u>Ma</u>lus''. So the word for ''apple'' becomes '''marofeb'''. ''Apple tree'' is '''marofab''' and ''apple juice'' is '''marofiil'''. Thus, ''apple cider'' is '''marofil'''.
===== Crops =====
: Crops are grassy plants that humans cultivate for clothing, food, medicine, or other social needs. Individual crop names are formed by prefixing the base '''vob''' with taxonomic syllables.
[[File:Usdaemmer1.jpg|thumb|]]
: The base words of this group are:
::* '''-vob'''....''crop''
::* '''-vab'''....''grass''
::* '''-vayeb'''....''leaf''
::* '''-veb'''....''ear, cob, head, spike, tuft''
::* '''-veeb'''....''seed, germ''
::* '''-veel'''....''bean, legume''
::* '''-veeyb'''....''grain, kernel, pip''
::* '''-vib'''....''stem''
::* '''-vub'''....''blade, sprig, twig''
::* '''-vyob'''....''tuber''
::* '''-vel'''....''edible product''
::* '''-vil'''....''drinkable product, beer''
::* '''-vyel'''....''syrup''
::* '''-vol'''....''vegetable''
: From the above base words are derived these products, among others:
::* '''sakol'''....''sugar'' < '''sakvob'''....''sugarcane''
::* '''povel'''....''bread'' < '''povob'''....''cereal''
::* '''zepovyel'''....''corn syrup, corn oil'' < '''zepovob'''....''corn''
::* '''zepovil'''....''whiskey, bourbon''
::* '''sepovil'''....''rye whiskey'' < '''zepovob'''....''rye''
::* '''povil'''....''beer''
::* '''epovil'''....''ale''
::* '''avpovob mekil'''....''oatmeal'' < '''avpovob'''....''oat''
::* '''orpovob zyiglal'''....''rice cake'' < '''orpovob'''....''rice''
::* '''mekuvol'''....''melon''
===== Vegetables and Legumes =====
: Vegetables are crops grown by human for food. Individual vegetable names are formed by prefixing the base '''vol''' (''vegetable'') or '''veel''' (''legume, bean'') with classifier syllables derived from the international Linnean Taxonomy. Vegetables can consist of bulbs, flowers, fruits, fungi, leaves, roots, seeds, legumes, beans, or stalks.
[[File:Hrushikesh kulkarni vegetables.JPG|thumb|]]
{| class="wikitable" style="background: lightyellow; font-size:smaller;"
|+ Vegetables
|-
! Edible Crop !! Taxonomy
|-
! colspan=2| LEGUMES: EDIBLE SEEDS
|-
|'''faveel'''....''bean'' || ''Fabaceae Phaseolus vulgaris''
|-
|'''lensfaveel'''....''lentil'' || ''Fabaceae Lens culinaris''
|-
|'''glifaveel'''....''soybeen'' || ''Fabaceae Glycine max''
|-
|'''vigfaveel'''....''black-eyed pea'' || ''Fabaceae Faseolus vigna unguiculata''
|-
! colspan=2 | Vegetables: Berries/Fruits
|-
|'''lisovol'''....''tomato'' || ''Solanaceae Solanum lycopersicum''
|-
|'''mesovol'''....''eggplant'' || ''Solanaceae Solanum melongena''
|-
|'''perlawvol'''....''avocado'' || ''Lauraceae Persea americana''
|-
|'''sakuvol'''....''cucumber'' || ''Cucurbitaceae Cucumis sativus''
|-
|'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus''
|-
|'''akapsovol'''....''chili pepper'' || ''Solanaceae Capsicum annuum''
|-
|'''abmalvol'''....''okra'' || ''Malvaceae Abelmoschus esculentus''
|-
! colspan=2 |bulbs
|-
|'''amalvol'''....''leek'' || ''Allium ampeloprasum''
|-
|'''cepalvol'''....''onion'' || ''Allium cepa''
|-
|'''alkalvol'''....''shallot'' || ''Alium ascalonicum''
|-
|'''satalvol'''....''garlic'' || ''Allium sativum''
|-
|'''zinvol'''....''ginger'' || ''Zingiberaceae Zingiber officinale''
|-
|'''skoynalvol'''....''chive'' || ''Allium Schoenoprasum''
|-
|'''foynapvol'''....''fennel'' || ''Apiaceae Phoenix dactylifera''
|-
! colspan=2 | melons/gourds
|-
|'''kuvol'''....''squash, gourd''|| ''Cucurbitaceae Cucurbita''
|-
|'''makuvol'''....''pumpkin'' || ''Cucurbitaceae Cucurbita maxima''
|-
|'''mekuvol'''....''melon, honeydew, cantaloupe'' || ''Cucurbitaceae Cucumis melon''
|-
|'''cikuvol'''....''watermelon'' || ''Cucurbitaceae Citrullus lanatus''
|-
|'''pekuvol'''....''zucchini'' || ''Cucurbitaceae Cucurbita pepo''
|-
! colspan=2 | Tubers/Root Vegetables
|-
|'''tusovol'''....''potato'' || ''Solanaceae Solanum tuberosum''
|-
|'''betamvol'''....''beet, beetroot'' || ''Amaranthaceae Beta vulgaris''
|-
|'''rafbravol'''....''radish''|| ''Brassicaceae Raphanus raphanistrum sativus''
|-
|'''kadawapvol'''....''carrot''||''Apiaceae Daucus carota''
|-
|'''nabravol'''....''turnip''|| ''Brassica napus''
|-
|'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus''
|-
|'''pasavol'''....''parsnip'' ||''Apiaceae Pastinaca sativa''
|-
|'''eskolaravol'''....''taro'' ||''Araceae Colocasia esculenta''
|-
|'''divol'''....''yam'' ||''Dioscoreaceae Dioscorea''
|-
! colspan=2| Leafy/Flowering Vegetables
|-
|'''bravol'''....''cabbage'' || ''Brassicaceae''
|-
|'''botrolbravol'''....''cauliflower''||''Brassica oleracea botrytis''
|-
|'''gemolbravol'''....''Brussels sprouts''|| ''Brassica oleracea gemmifera''
|-
|'''valkavol'''....''corn salad, lamb's lettuce''|| ''Caprifocilaceae Valerianella locusta''
|-
|'''lakasvol'''....''lettuce''|| ''Asteraceae Lactuta sative''
|-
|'''spinamvol'''....''spinach'' || ''Amaranthaceae Spinancia oleracea''
|-
|'''rupolivol'''....''sorrel''|| ''Polygonaceae Rumex acetosa''
|-
|'''tarasvol'''....''mustard greens''|| ''Asteraceae Taraxacum officinale''
|-
|'''itolbravol'''....''broccoli''|| ''Brassica Oleracea italica''
|-
|'''abmalvol'''....''okra''|| ''Malvaceae Abelmoschus esculentus''
|-
|'''petapvol'''....''parsley''|| ''Apiaceae Petroselinum crispum''
|-
|'''basoclamvol'''....''basil''|| ''Lamiaceae Ocimum basilicum''
|-
|'''orlamvol'''....''thyme''|| ''Lamiaceae Origanum vulgare''
|-
|'''encivol'''....''chicory, endive''|| ''Cichorium endivia''
|-
|'''nasbravol'''....''watercress''|| ''Brassicaceae Nasturtium officinale''
|-
|'''korapvol'''....''coriander''|| ''Apiaceae Coridandrum sativum''
|-
! colspan=2 | Stalks
|-
|'''aspavol'''....''asparagus''|| ''Asparagaceae Asparagus officinalis''
|-
|'''gravapvol'''....''celery''|| ''Apiaceae Apium graveolens''
|-
|'''rewmpolivol'''....''rhubarb''|| ''Polygonaceae Rheum hybridum''
|-
|'''kurzinvol'''....''turmeric''|| ''Zingiberaceae Curcuma longa''
|-
|'''kokarvol'''....''heart of palm, swamp cabbage''|| ''Arecaceae Cocos''
|-
|'''cimpovol'''....''lemongrass''|| ''Poaceae Cymbopogon''
|}
==== Common Flower Names ====
[[File:Madeira-flowers hg.jpg|thumb|]]
===== Flower Parts =====
: Flower names are built on the base name '''vos''', meaning ''flower''. First, here is a list of flower parts:
::* '''vosayob'''....''sepal''
::* '''vosayeb'''....''petal''
::* '''vosib'''....''receptacle''
::* '''veeybpexus''' or '''vosmekibar'''....''stigma''
::*'''vosij'''....''bud, flower bud''
::* '''tooybgon'''....''pistil''
::* '''veeybyan'''....''pollen''
::* '''twoobgon'''....''stamen''
::* '''twoobgonyif'''....''filament''
::* '''veeybyem''' or '''vosmekuar'''....''anther''
::* '''vosyob'''....''peduncle''
===== Flower Names =====
[[File:Tulipa suaveolens floriade to Canberra.jpg|thumb|]]
: Common flower names are generated by prefixing classifying syllables to the base '''vos''' that reflect the Linnaean taxonomic specification. Here are some examples:
: '''<u>som</u>pavos'''....''opium poppy'' (''<u>Pa</u>paver <u>som</u>niferum'')
: '''<u>mag</u>vos'''....''magnolia'' (''<u>Mag</u>noliaceae Magnolia'')
: '''<u>or</u>vos'''....''orchid'' (''<u>Or</u>chidaceae Orchis'')
: '''<u>krokir</u>vos'''....''crocus'' (''<u>Ir</u>idaceae <u>Cro</u>cus'')
=== Computer Terminology ===
[[File:Generic-office-desktop2.svg|thumb]]
: This section will be ever-changing as new technology emerges.
{| class="wikitable sortable collapsable" style="background: lightyellow; font-size:smaller;"
|+ Computerese
|-
! Mirad !! English
|-
|'''agna saibyan syaagir'''||''mainframe computer''
|-
|'''absem syaagir'''||''desktop computer''
|-
|'''agbanak'''||''byte''
|-
|'''ajnexer'''||''to archive''
|-
|'''amloagbanak'''||''megabyte''
|-
|'''anay dyewa tax'''||''read-only memory, ROM''
|-
|'''aota syaagir'''||''personal computer''
|-
|'''aottuunyan'''||''profile''
|-
|'''meys'''||''port''
|-
|'''apaxler'''||''to swipe''
|-
|'''aroagbanak'''||''kilobyte''
|-
|'''baler buxnuf'''||''to press/hit a key''
|-
|'''banak'''||''bit''
|-
|'''agdresin kyoxea buxnuf'''||''caps lock key''
|-
|'''buxnuf'''||''key''
|-
|'''buxnufsemes'''||''keyboard''
|-
|'''buxnufseym'''||''keypad''
|-
|'''izeaxus'''||''cursor''
|-
|'''byuxseym'''||''touchpad''
|-
|'''datier'''||''to friend''
|-
|'''dodrer ebdras'''||''to post a message''
|-
|'''dota zeyni'''||''social media''
|-
|'''ebdrer'''||''to text''
|-
|'''dreun'''||''document''
|-
|'''dreuzyufer'''||''to scroll, pan''
|-
|'''droer naab'''||''to delete a file''
|-
|'''drou buxnuf'''||''delete key''
|-
|'''drur'''||''printer''
|-
|'''drurer naab'''||''to print out a file''
|-
|'''drurer'''||''to print out''
|-
|'''druru mays buxnuf'''||''print screen key''
|-
|'''drurun'''||''a printout''
|-
|'''dunexlus'''||''word processor''
|-
|'''dyessiyn'''||''bookmark''
|-
|'''dyezier'''||''to take a movie''
|-
|'''ebdayler'''||''to chat''
|-
|'''ebdaylim'''||''chatroom''
|-
|'''emojin'''||''emoji''
|-
|'''ex buxnuf'''||''function key''
|-
|'''exen vyaab'''||''operating system''
|-
|'''extuundras'''||''program, application''
|-
|'''extuundrasog'''||''app''
|-
|'''extuunmul'''||''software''
|-
|'''extuundrer'''||''to program''
|-
|'''fuk'''||''bug''
|-
|'''fukaya'''||''buggy''
|-
|'''fukober'''||''to debug''
|-
|'''garalyoagbanak'''||''petabyte''
|-
|'''gelxer naab'''||''to copy a file''
|-
|'''googler'''||''to google''
|-
|'''gyia kyos yebiar'''||''solid state drive, SSD''
|-
|'''gyia zyiun yebiar'''||''cd drive''
|-
|'''haydren dyun'''||''login name''
|-
|'''haydrer bay tuyubbal'''||''to log in with one's fingerprint''
|-
|'''haydrer'''||''to log in''
|-
|'''hoydrer'''||''to log out''
|-
|'''huisteaxar'''||''browser''
|-
|'''kyeteaxer'''||''to browse''
|-
|'''hyux buxnuf'''||''alt key''
|-
|'''iber naab'''||''to receive a file''
|-
|'''ila mez sinuar, IMS'''||''liquid crystal display, LDC''
|-
|'''izbex buxnuf'''||''control key''
|-
|'''izbexdrof'''||''motherboard''
|-
|'''kliker ab'''||''click on''
|-
|'''kodun'''||''password''
|-
|'''gawdyunxer naab'''||''to rename a file''
|-
|'''kyabu buxnuf'''||''shift key''
|-
|'''kyea yempuen tax'''||''random access memory, RAM''
|-
|'''kyisier naab'''||''to download a file''
|-
|'''kyisuer naab'''||''to upload a file''
|-
|'''kyisuar'''||''charger''
|-
|'''kyisuer'''||''to charge''
|-
|'''lodatier'''||''to unfriend''
|-
|'''makebdren'''||''email''
|-
|'''makebdrer'''||''to email''
|-
|'''man-oyebubea enmep sinuar, MOES'''||''LED''
|-
|'''mansin dyes'''||''photo album''
|-
|'''mis'''||''window''
|-
|'''naab'''||''file''
|-
|'''naedzyun'''||''trackball''
|-
|'''nagonxar'''||''modem''
|-
|'''neaf mansiniar'''||''web camera''
|-
|'''nexer naab'''||''to save a file''
|-
|'''num yibdalir'''||''cellphone''
|-
|'''belyafwa syaagir'''||''laptop computer''
|-
|'''ooggos'''||''microchip''
|-
|'''oogteexar'''||''microphone''
|-
|'''omijber'''||''to boot up''
|-
|'''omola tyep, OT'''||''artificial intelligence, AI''
|-
|'''gawomijber'''||''to reboot''
|-
|'''paxer naab'''||''to move a file''
|-
|'''paxyafwa yibdalir'''||''mobile phone''
|-
|'''poxu zyumuf buxnuf'''||''scroll lock key''
|-
|'''sagbexu buxnuf'''||''numlock key''
|-
|'''sagseym'''||''number pad''
|-
|'''sam'''||''console''
|-
|'''saunesber naab'''||''to sort a file''
|-
|'''semes syaagir'''||''tablet computer''
|-
|'''sindren semes'''||''graphics tablet''
|-
|'''sindrenyan exlen aun'''||''graphics processing unit, GPU''
|-
|'''sines'''||''icon''
|-
|'''sinuar'''||''screen, display, monitor''
|-
|'''syaager'''||''to compute''
|-
|'''syaagir'''||''computer''
|-
|'''syaagirdal'''||''computerese''
|-
|'''syaagirtun'''||''computer science''
|-
|'''syaagnyed'''||''spreadsheet''
|-
|'''taam mays'''||''home screen''
|-
|'''taampu buxnuf'''||''home key''
|-
|'''sirmul'''||''hardware, physical matter''
|-
|'''taxdrer'''||''to record''
|-
|'''taxmuf'''||''memory stick''
|-
|'''teataxdrer'''||''to video''
|-
|'''teataxdrun'''||''video''
|-
|'''tuunnabyan'''||''database''
|-
|'''tuyab izdar'''||''mouse''
|-
|'''uber naab'''||''to send a file''
|-
|'''uinig buxnuf'''||''tab key''
|-
|'''utmansin'''||''selfie''
|-
|'''yaybdreniv sindren dalzeyn (YSD)'''||''HTML''
|-
|'''yeber'''||''to enter, insert''
|-
|'''yebu buxnuf'''||''enter key, return key, insert key''
|-
|'''yiga zyiun yebiar'''||''hard disk drive, HDD''
|-
|'''yijber naab'''||''to open a file''
|-
|'''yujber naab'''||''to close a file''
|-
|'''yuzpemdrof'''||''circuitboard''
|-
|'''zea exlen aun'''||''central processing unit, CPU''
|-
|'''zoynigxu buxnuf'''||''backspace key''
|-
|'''zyiun yebiar'''||''disk drive''
|}
=== Medical and Pharmaceutical Terminology ===
: This is a vast field where the limited morpheme aggregate of Mirad cannot serve to translate all the technical vocabulary. It will, therefore, translate only very common words and leave the rest in Greco-Latin as do many natural languages.
==== Medical Diseases ====
: Some common medical conditions can be readily be translated in Mirad using its existing set of morphemes, eg.
::* '''tiebalyoganbok'''....''asthma'' (lit: shortness of breath illness)
::* '''tiebbok'''....''pneumonia'' (lit: lung illness)
::* '''teibbok'''....''rhinitis'' (lit: nose illness)
::* '''tayibblok'''....''neuropathy'' (lit: nerve suffering)
::* '''tebbyoyk'''....''headache'' (lit: head ache)
::* '''teibzyegikanbok'''....''osteoporosis'' (lit: bone porosity illness)
==== Pharmaceuticals ====
: Medicines can be referred to by their trade names, some of which have been genericized.
::* '''aspirin'''....''aspirin''
::* '''Ibupropen'''....''Ibupropen''
: Others can be translated by words indicating the purpose:
::* '''bukpoyxol, bukkyuxlol'''....''analgesic, painkiller'' (Lit: pain reliever)
::* '''tikebilokxol'''....''emetic'' (Lit: vomit-inducing-substance)
: Less common drugs, and any drugs for that matter, can be referred to by the official International Nonproprietary Name (INN) (see [https://www.who.int/teams/health-product-and-policy-standards/inn|International Nonproprietary Names]). For example, ''phenobarbital''. In case a Greco-Roman name is used, the following pronunciation guide applies to Mirad:
:{| class="wikitable" style="background: lightyellow; font-size:smaller;"
|+ INN names pronunciation
|-
! Greco-Roman<br>Spelling !! Mirad<br>Pronunciation
|-
| ch || '''k'''
|-
| ph || '''f'''
|-
| x || '''ks'''
|-
| y || '''i'''
|-
| qu || '''kw'''
|-
| rh || '''r'''
|-
| th || '''t'''
|-
| ae || '''ay'''
|-
| oe || '''oy'''
|-
| c before i, e, or y || '''c'''
|-
| c otherwise || '''k'''
|-
| final e || silent
|-
| double consonant || single consonant
|}
: Examples:
::* '''acetaminophen'''....''a-ce-ta-mi-no-FEN''
::* '''amphetamine'''....''am-fe-ta-MIN''
::* '''trimethroprim'''....''tri-me-tro-PRIM''
::* '''sulfamethoxazole'''....''sul-fa-me-to-ksa-ZOL''
::* '''oxacillin'''....''o-ksa-ci-LIN''
=== Mineral and Crystal Nomenclature ===
: Minerals end in '''-muk''' with a prefix related to the official 3-letter International Mineorological Association (IMA) symbol name (see [[Wikipedia:List_of_mineral_symbols|The Wikipedia List of Mineral Symbols]]). The IMA name is substituted with lower-case Mirad alphabetic spellings. For example:
:{| class="wikitable" style="background: lightyellow; font-size:smaller;"
|+ Some Mineral Names
|-
! English!! IMA Symbol !! Mirad Spellings !! Mirad Name
|-
| ''argyrodyte'' || Agy || '''a-ge-yu''' || '''ageyumuk'''
|-
|''brochantyte'' || Bct || '''ba-ca-to''' || '''bacatomuk'''
|-
|''chromite'' || Chr || '''ca-he-ro''' || '''caheromuk'''
|}
: There are some minerals having an IMA with a hyphenated suffix of one or two letters. In that case, the extra letters are added to the name (without the hyphen), eg.:
::* ''Lemmleinite-K'' (Lem-k) is '''liemikomuk''' in Mirad.
: Crystals end in '''-mez'''. The first part of the word is an enumeration.
: The common crystals are listed here:
:{| class="wikitable" style="background: lightyellow; font-size:smaller;"
|+ Names of Common Crystals
|-
! Mirad !! English
|-
| '''mez''' || ''crystal''
|-
| '''amez''' || ''diamond''
|-
| '''emez''' || ''topaz''
|-
| '''imez''' || ''ruby''
|-
| '''umez''' || ''emerald''
|-
| '''yomez''' || ''sapphire''
|-
| '''yamez''' || ''lapis lazuli''
|-
| '''yemez''' || ''amethyst''
|-
| '''yimez''' || ''amber''
|-
| '''yumez''' || ''quartz''
|-
| '''alomez''' || ''opal''
|-
| '''alamez''' || ''tourmaline''
|-
| '''alemez''' || ''garnet''
|-
| '''alimez''' || ''zirconia''
|-
| '''alumez''' || ''jasper''
|-
| '''alyomez''' || ''jade''
|-
| '''alyamez''' || ''marganite''
|}
: Other, less common crystals end in '''-mez''' and are formed from the Wikipedia list of mineral symbols.
: General words for earthen matter:
:* '''muk'''....''mineral''
:* '''muz'''....''ore''
:* '''mug'''....''metal''
:* '''mez'''....''crystal''
:* '''meg'''....''rock, stone''
::* '''megog'''....''pebble''
::* '''meges'''....''gravel''
:* '''mel'''....''soil''
:* '''meil'''....''mud''
:* '''mek'''....''dust''
:* '''miek'''....''sand''
:* '''mev'''....''porcelain''
:* '''mef'''....''brick''
==== Rock Classification ====
: The naming of individual rock types is based on the [[https://www.bgs.ac.uk/download/bgs-rock-classification-scheme-igneous/| BGS Rock Classification Scheme ]].
: All rocks (other than the general word for ''rock'', '''meg''') end in one of the following suffixes, depending on the main type:
::* '''ameg'''....''sedimentary rock''
::* '''emeg'''....''igneous rock''
::* '''imag'''....''metamorphic rock''
: The names for obscure rocks are taken from the BGS Rock Classification Scheme. The final ''e'' is dropped from names that end in ''yte'' or ''ite''. For example, ''trachydacite'' in the scheme becomes '''trachydacit''' in Mirad. This word is then followed by one of the rock types above ('''emeg''' ''igneous rock''). So ''trachydacite'' becomes '''trachydacitemeg''' in Mirad. For obvious reason, all the thousands of rock names cannot be listed here or included in the Mirad dictionary.
:The word '''meg''' ''rock'' has some common derivatives:
::* '''megag'''....''boulder''
::* '''meg'''....''stone''
::* '''megog'''....''pebble''
::* '''meges'''....''gravel''
::* '''megyel'''....''cement, asphalt, bitumen''
:::* '''megyelyig'''....''concrete''
::* '''megil'''....''lava''
::* '''meggos'''....''crag''
::* '''megyig'''....''flintstone, basalt''
::* '''meag'''....''marble''
::* '''meeg'''....''slate''
::* '''meig'''....''granite''
::* '''meug'''....''clay, dough''
::* '''meyog'''....''china''
::* '''meyag'''....''chalk''
:::* '''meyaz'''....''pastel''
:::* '''meyayg'''....''calcite''
::* '''meyeg'''....''limestone, sediment''
::* '''meyig'''....''alabaster''
::* '''meyug'''....''gypsum''
::* '''mealog'''....''sandstone, stoneware''
::* '''mameg'''....''coal''
:::* '''eymameg'''....''coke''
:::* '''maameg'''....''anthracite''
:::* '''maemeg'''....''peat''
:::* '''maimeg'''....''lignite''
: Related are:
::* '''mek'''....''dust''
:::* '''mekes'''....''grit''
:::* '''mekil'''....''grout''
:::* '''meyk'''....''grit''
::* '''myek'''....''powder''
::* '''miek'''....''sand''
::* '''mieg'''....''coral''
::* '''mel'''....''dirt''
::* '''muk'''....''mineral''
::* '''meil'''....''mud''
::* '''mez'''....''crystal''
:::* '''meyz'''....''spar''
:::* '''meyzag'''....''feldspar''
::* '''muz'''....''ore''
::* '''memol'''....''alkali''
::* '''mimol'''....''salt''
::* '''mef'''....''brick''
=== Metric Nomenclature ===
[[File:Conversion Factors.png|thumb|]]
: Mirad uses the [[Wikt:International System of Units (SI)|International System of Units (SI)]]) for rendering measurement units. These symbols are pronounced as if you were spelling each letter out (see [[Mirad_Grammar/Alphabet]]. Bear in mind that majuscules (uppercase letters are prefaced with the word '''ag-''' (''big''). Similarly, Greek letters are spelled with the Greek names ('''alpha''', '''gamma''', etc.) preceded with the word '''ag-''' if majuscule ('''aggamma''' for ''Γ'') The Mirad equivalent of the SI symbol for ''ohm'' (Ω) is '''agomega'''. All metric units end in the word '''nak'''.
==== SI Base Units ====
:{| class="wikitable" style="background:lightyellow; font-size:smaller;"
|+ <big>SI base units</big>
|-
!English<br>Unit<br>Name
!Symbolic<br>Abbeviation
!Quantity<br>Unit
!Mirad<br>Pronunciation
|-
!second
|style="text-align:center" |s
|time
|style="text-align:center" |'''sonak'''
|-
!meter
|style="text-align:center" |m
|length
|style="text-align:center" |'''minak'''
|-
!kilogram
|style="text-align:center" |kg
|mass
|style="text-align:center" |'''kigenak'''
|-
!ampere
|style="text-align:center" |A
|electric current
|style="text-align:center" |'''aganak'''
|-
!kelvin
|style="text-align:center" |K
|thermodynamic temperature
|style="text-align:center" |'''agkinak'''
|-
!Mole
|style="text-align:center" |mol
|amount of substance
|style="text-align:center" |'''miolinak'''
|-
!candela
|style="text-align:center" |cd
|luminous intensity
|style="text-align:center" |'''cadanak'''
|}
==== SI Derived Units ====
: Here are SI derived units with special names and symbols:
:{| class="wikitable" style="background:lightyellow; font-size:smaller;"
|+ <big>SI derived units with special names and symbols</big>
|-
! English<br>Name
! Symbolic<br>Written<br>Abbreviation
! Quantity<br>Unit
! Mirad<br>Pronunciation
|-
|'''radian'''
| align="center" | rad
| plane angle
| align="center" |'''roadanak'''
|-
|'''steradian'''
| align="center" | sr
| solid angle
| align="center" |'''soronak'''
|-
|'''hertz'''
| align="center" | Hz
| frequency
| align="center" |'''aghezunak'''
|-
|'''newton'''
| align="center" | N
| force, weight
| align="center" |'''agninak'''
|-
| '''pascal'''
| align="center" | Pa
| pressure, stress
| align="center" | '''agpoanak'''
|-
| '''joule'''
| align="center" | J
| energy
| align="center" | '''agjinak'''
|-
| '''watt'''
| align="center" | W
| power
| align="center" | '''agwunak'''
|-
| '''coulomb'''
| align="center" | C
| electric charge
| align="center" |'''agcanak'''
|-
| '''volt'''
| align="center" | V
| electrical potential difference
| align="center" | '''agvunak'''
|-
| '''farad'''
| align="center" | F
| capacitance
| align="center" | '''agfenak'''
|-
| '''ohm'''
| align="center" | Ω
| electrical resistance
| align="center" | '''agomeganak'''
|-
| '''Siemens'''
| align="center" | S
| electrical conductance
| align="center" | '''agsonak'''
|-
| '''Weber'''
| align="center" | Wb
| magnetic flux
| align="center" | '''agwubanak'''
|-
| '''tesla'''
| align="center" | T
| magnetic flux density
| align="center" | '''agtonak'''
|-
| '''henry'''
| align="center" | H
| inductance
| align="center" | '''aghenak'''
|-
| '''degree Celsius'''
| align="center" | °C
| temperature
| align="center" | '''nogagcanak'''
|-
| '''lumen'''
| align="center" | lm
| luminous flux
| align="center" | '''liminak'''
|-
| '''lux'''
| align="center" | lx
| illuminance
| align="center" | '''lixunak'''
|-
| '''becquerel'''
| align="center" | Bq
| radioactivity
| align="center" | '''agbakonak'''
|-
| '''gray'''
| align="center" | Gy
| absorbed dose (of ionizing radiation)
| align="center" | '''aggeyunak'''
|-
| '''sievert'''
| align="center" | Sv
| equivalent dose (of ionizing radiation)
| align="center" | '''agsovunak'''
|-
| '''katal'''
| align="center" | kat
| catalytic activity
| align="center" | '''kiatonak'''
|-
| '''byte'''
| align="center" | B
| 8 bits of information
| align="center" | '''agbanak'''
|-
| '''bit'''
| align="center" | b
| one bit of information
| align="center" | '''banak'''
|}
: Also, here are some non-SI units that are very convenient and acceptable:
==== Convenient Non-SI Units ====
::{| class="wikitable" style="background:lightyellow; font-size:smaller;"
|+ <big>Convenient non-SI units</big>
|-
! English<br>Name
! Symbolic<br>Written<br>Abbreviation
! Quantity<br>Unit
! Mirad<br>Pronunciation
|-
|'''litre'''
| align="center" | L
| volume
| align="center" |'''aglinak'''
|-
|'''hectare'''
| align="center" | ha
| area
| align="center" |'''heabak'''
|-
|'''ton'''
| align="center" | t
| area
| align="center" |'''tonak'''
|-
|'''decibel'''
| align="center" | dB
| loudness
| align="center" |'''daagbanak'''
|}
==== Metrical Formulae ====
: The following chart shows how in Mirad to pronounce coherent derived unit formulae in terms of base units. Note that the backslash means ''per'' or ''divided by'' and is pronounced '''gol'''. The symbol x means ''times'' and is pronounced '''gal'''. The superscript number is a power and is pronounced '''gar''' plus the number (with '''-wa''', if a unit number). The negative superscript number is pronounced '''gor''' plus the number (again, with '''-wa''' if a unit number). See [[Mirad Grammar/Determiners#Arithmetical Expressions|Arithmetical Expressions]] for further information on these terms.
::{| class="wikitable" style="background:lightyellow; font-size:smaller;"
|+ <big>Examples of coherent derived units in terms of base units</big>
|-
! Name
! Symbolic<br>Formula
! Derived<br>Quantity
! Typical <br>Symbol
! Mirad<br>Pronunciation
|-
| '''square meter'''
| align="center" | m<sup>2</sup>
| area
| align="center" |{{math|''A''}}
| align="center" | '''mi-gar-ewa'''
|-
| '''cubic meter'''
| align="center" | m<sup>3</sup>
| volume
| align="center" | {{math|''V''}}
| align="center" | '''mi-gar-iwa'''
|-
| '''meter per second'''
| align="center" | m/s
| speed, velocity
| align="center" | {{math|''v''}}
| align="center" | '''mi-gol-so'''
|-
| '''meter per second squared'''
| align="center" | m/s<sup>2</sup>
| acceleration
| align="center" | {{math|''a''}}
| align="center" | '''mi-gol-so-gar-ewa'''
|-
|rowspan=2| '''reciprocal meter'''
|rowspan=2 align="center" | m<sup>−1</sup>
| wavenumber
| align="center" | {{math|''σ''}}, {{math|''ṽ''}}
| align="center" | '''mi-gor-awa'''
|-
| vergence (optics)
| align="center" | {{math|''V''}}, 1/{{math|''f''}}
|-
| '''kilogram per cubic meter'''
| align="center" | kg/m<sup>3</sup>
| density
| align="center" | {{math|''ρ''}}
| align="center" | '''kige-gol-mi-gar-iwa'''
|-
| '''kilogram per square meter'''
| align="center" | kg/m<sup>2</sup>
| surface density
| align="center" | {{math|''ρ''}}<sub>A</sub>
| align="center" | '''kige-gol-mi-gar-ewa'''
|-
| '''cubic meter per kilogram'''
| align="center" | m<sup>3</sup>/kg
| specific volume
| align="center" | {{math|''v''}}
| align="center" | '''mi-gar-iwa-gol-kige'''
|-
| '''ampere per square meter'''
| align="center" | A/m<sup>2</sup>
| current density
| align="center" | {{math|''j''}}
| align="center" | '''aga-gol-mi-gar-ewa'''
|-
| Amperes per meter|'''ampere per meter'''
| align="center" | A/m
| magnetic field strength
| align="center" | {{math|''H''}}
| align="center" | '''aga-gol-mi'''
|-
| '''mole per cubic meter'''
| align="center" | mol/m<sup>3</sup>
| concentration
| align="center" |{{math|''c''}}
| align="center" | '''mioli-gol-mi-gar-iwa'''
|-
| '''kilogram per cubic meter'''
| align="center" | kg/m<sup>3</sup>
| Mass concentration (chemistry)|mass concentration
| align="center" | {{math|''ρ''}}, {{math|''γ'' }}
| align="center" | '''kige-gol-mi-gar-iwa'''
|-
| '''candela per square meter'''
| align="center" | cd/m<sup>2</sup>
| luminance
| align="center" | {{math|''L''}}<sub>v</sub>
| align="center" | '''cada-gol-mi-gar-ewa'''
|}
==== Metric Micro and Macro Prefixes ====
: The SI has a whole list of prefixes that act as multipliers (macro) or dividers (micro) of the above and other measurement units. For example, a ''kilometer'' is a meter times a 1,000 (macro unit), whereas a millimeter is a meter divided by a 1,000 (micro unit). The SI symbol for ''b'' (byte) is pronounced '''ba''' in Mirad. A terabyte ( ''Tb'') is therefore pronounced '''ag-to-ba''', which This amounts ''10<sup>12</sup> bytes''. Here is a table showing the Mirad macro and micro prefixes:
:{| class="wikitable" style="background:lightyellow; font-size:smaller;"
|+ Scalar Metrics
|-
! colspan=4 | Macro !! colspan=4 | Micro
|-
! Base<br>10!! US/UK Name!!Mirad Prefix<br>SI Prefix<br><br>Mirad Pron. !!SI Symbol !! Base<br>10 !! (US/UK Name) !! Mirad Prefix<br>SI Prefix !! SI Symbol<br><br>Mirad Pron.
|-
| 1 || one || '''an-''' ... ''mono-, uni-'' || ||1/1 ||whole || '''ayn-'''<br>''holo-, uni-'' ||
|-
| 2 ||two || '''en-'''<br>''bi-'' || || 1/2 ||half||'''eyn-'''<br>''demi-, di-''||
|-
| 3 ||three || '''in-'''<br>''tri-'' || || 1/3 ||third ||'''iyn-'''<br>''terci-''||
|-
| 4 ||four || '''un-'''<br>''tetra-'' || || 1/4 ||fourth || '''uyn-'''<br>''quadri-''||
|-
| 5 ||five || '''yoon-''' <br>''penta-'' || || 1/5 ||fifth ||'''yoyn'''<br>''quinti-''||
|-
| 6 ||six || '''yaon-'''<br>''hexa-'' || || 1/6 ||sixth ||'''yayn'''<br>''sexti-''||
|-
| 7 ||seven || '''yen-'''<br>''hepta-'' || || 1/7 ||seventh || '''yeyn'''<br>''septi-''||
|-
| 8 ||eight || '''yin'''<br>''octo-'' || || 1/8 ||eighth || '''yiyn'''<br>''octi-''||
|-
| 9 ||nine || '''yun'''<br>''nona-'' || || 1/9 ||ninth || '''yuyn'''<br>''novi-''||
|-
| 10 ||ten || '''alo-'''<br>''deca-'' || ''da''<br>'''da-a-''' || 1/10 ||tenth || '''aloy-'''<br>''deci-''|| ''d''<br>'''da-'''
|-
| 10<sup>2</sup> ||hundred || '''aso-'''<br>''hexa-'' || ''h''<br>'''hi-''' || 10<sup>-2</sup> ||hundredth || '''asoy-'''<br>''centi-''|| ''c''<br>'''ca-'''
|-
| 10<sup>3</sup> ||thousand || '''amso-'''<br>''kilo-'' ||''k''<br>'''ki-''' || 10<sup>-3</sup> ||thousandth)|| '''amsoy-'''<br>''milli-''|| ''m''<br>'''mi-'''
|-
| 10<sup>6</sup> ||million || '''amlo-'''<br>''mega-'' || ''M''<br>'''agmi-''' || 10<sup>-6</sup> ||millionth || '''amloy-'''<br>''micro-''|| ''r''<br>'''ro-'''
|-
| 10<sup>9</sup> ||billion /milliard || '''amro-'''<br>''giga-'' || ''G''<br>'''agge-''' || 10<sup>-9</sup> ||billionth/ milliardth || '''amroy-'''<br>''nano-''|| ''n''<br>'''ni-'''
|-
| 10<sup>12</sup> ||trillion /billion || '''garale-'''<br>''tera-'' || ''T''<br>'''agto-''' || 10<sup>-12</sup> ||trillionth / billionth)|| '''gorale-'''<br>''pico-''|| ''p''<br>'''po-'''
|-
| 10<sup>15</sup> ||quadrillion)/ billiard|| '''garalyo-'''<br>''peta-'' || ''P''<br>'''agpo-'''||10<sup>-15</sup> ||quadrillionth) / billiardth || '''goralyo-'''<br>''femto-''||''f''<br>'''fe-'''
|-
| 10<sup>18</sup> ||quintillion / trillion || '''garalyu-'''<br>''exa-'' || ''E''<br>'''age-'''||10<sup>-18</sup> ||quintillionth)/ trillionth || '''goralyu'''<br>''atto-''||''a''<br>'''a-'''
|-
| 10<sup>21</sup> ||sextillion)/ trilliard || '''garela-'''<br>''zetta-'' || ''Z''<br>'''agzu-'''||10<sup>-21</sup> ||sextillionth / trilliardth || '''gorela'''<br>''zepto-''||''z''<br>'''zu-'''
|-
| 10<sup>24</sup> ||septillion)/ quadrillion || '''garelu-'''<br>''yotta-'' || '' Y''<br>'''agyu''' ||10<sup>-27</sup> ||septillionth / quadrillionth|| '''gorelu'''<br>''yocto-''||''y''<br>'''yu-'''
|}
: *Note: The '''gar''' (''to a plus power'') and '''gor''' (''to a minus power'') forms are alternatives for the numeric prefixes beyond 100. For example, ''billion'' (10<sup>9</sup>) could be expressed as '''garyu-'''(ten) to the 9th power'', while ''billionth'' could be expressed by '''goryu''' (''(ten) to the minus 9th power). The prefix '''garya-''' is composed of the positive exponential operator '''gar''' (''to the power of''), followed by the number ''6''. The prefix '''gorale-''' is composed of the negative exponential operator '''gor''' (''to the root of''), followed by the number ''12''.
==== Abbreviated Symbols ====
: The macro and micro values can also be represented with abbreviated symbols, which can be pronounced in Mirad as spelled out alphabetics. Upper case equivalents are preceded with '''ag-'''. Here is a table showing grams:
:{| class="wikitable" style="background:lightyellow; font-size:smaller;"
|+ Kg Metrics With Abbreviated Symbols
|-
! colspan=2 | Macro !! colspan=2 | Micro
|-
! Symbol (Expansion) !! Mirad Pronunciation !! Symbol (Expansion) !! Mirad Pronunciation
|-
| ''dag'' (decagram)|| '''daage''' || ''dg'' |(decigram)||'''dage'''
|-
| ''hg'' (hexagram)|| '''hege''' || ''cg'' (centigram)||'''cage'''
|-
| ''kg'' (kilogram) || '''koge''' || ''mg'' (milligram) ||'''mige'''
|-
| ''Mg'' (megagram)|| '''agmige''' ||''rg'' or '''μg''' (microgram)|| '''roge''' or '''muge'''
|-
| ''Gg'' (gigagram)|| '''aggege''' || ''ng'' (nanogram)|| '''nige'''
|-
| ''Tg'' (teragram)|| '''agtoge''' || ''pg'' (picagram)|| '''poge'''
|-
| ''Pg'' ( petagram)|| '''agpoge''' || ''fg'' (femtogram)|| '''fege'''
|-
| ''Eg'' (exagram)|| '''agege''' || ''ag'' (attogram)|| '''age'''
|-
| ''Zg'' (zettagram)|| '''agzege''' || ''zg'' (zeptogram) || '''zege'''
|-
| ''Yg'' (yottagram)|| '''agyuge''' || ''yg'' (yoctogram) || '''yuge'''
|}
: The squared and cubed representations of the above are followed by '''gar ewa''' (''squared'') and '''gar iwa''' (''cubed''), respectively:
::* '''10 kg2'''....(pronounced as:) ''alo koge gar ewa''
::* '''12 mm3'''....(pronounced as:) ''ale mimi gar iwa''
=== Trigonometric Nomenclature ===
: This table shows trigonometry functions and their equivalents in Mirad. The function symbols are translated into Mirad by a succession of the pronounced Mirad values of the function abbreviation followed by '''-naz''' (''value'').
:{| class="wikitable" style="background:lightyellow; font-size:smaller;"
|+ Trigonometry Functions
|-
! Function (Symbol) !! Mirad Technical Name !! Mirad Ordinary Name
|-
| ''sine (sin)'' || '''soini-naz''' || '''uznaz'''
|-
| ''cosine (cos)'' || '''caoso-naz''' || '''yanuznaz'''
|-
| ''arccosine (arccos, cos<sup>-1</sup>)''<br>''anticosine''<br>''inverse cosine''|| '''arocacaoso-naz''' || '''ovuznaz'''
|-
| ''hyperbolic sine (sinh)'' || '''soinihe-naz'''|| '''enuza uznaz'''
|-
| ''hyperbolic cosine (cosh)'' || '''caosohe-naz''' || '''enuza yanuznaz'''
|-
| ''secant (sec)'' || '''soeca-naz''' || '''golus naz'''
|-
| ''cosecant (csc)'' || '''casoca-naz''' || '''yangolus naz'''
|-
| ''arccosecant (arccsc)'' || '''arocacasoca-naz''' || '''enuza yangolus naz'''
|}
=== Poetry Nomenclature ===
: Mirad uses the nonsense syllables '''di''' and '''da''' to form various poetic meter words that usually are formed with Greek words in English. The syllable '''di''' represents an ''unstressed'' syllable in verse, while the syllable '''da''' denotes a ''stressed'' syllable. These are hyphenated and followed with a space and the word '''deup''' as a noun, which means ''meter'' or ''rhythm''. The adjectival form of the word ends in '''deupa'''. Here are the most common poetic meters:
::* '''di-da deupa'''.... iambic
:::* '''di-da yoondeup'''.... ''iambic pentameter''
::* '''di-di-da deupa'''.... ''anapestic''
::* '''di-da-da deupa'''.... ''bacchius''
::* '''da-da deupa'''.... ''spondaic''
::* '''da-da-da deupa'''.... ''molossus''
::* '''da-da-di deupa'''.... ''antibacchius''
::* '''da-di deupa'''.... ''tochaic''
:::* '''da-di deup'''.... ''trochee, choree''
::* '''da-di-da deupa'''.... ''cretic, amphimacer''
::* '''da-di-di deupa'''.... ''dactylic''
::* '''da-di-di yaondeup'''.... ''dactylic hexameter''
::* '''da-di-di-da deupa'''.... ''amphibrachic''
: Other words representing elements of poetry are:
::* '''drez'''....''poetry, verse''
:::* '''dreza'''....''poetic''
:::* '''drezyen'''....''poesy''
:::* '''drezyan'''....''anthology'' (of poetry)
:::* '''drezut'''....''poet''
::::* '''drezuyt'''....''poetess''
::::* '''popdrezut'''....''minstrel''
::::* '''Vikinga drezut'''....''skald''
::::* '''dreuzut'''....''bard''
:::* '''odrez'''....''prose''
:::* '''vyasma drez'''....''concrete verse''
:::* '''tyoda drez'''....''folk poetry''
:::* '''indeupa drez'''....''trimeter''
:::* '''undeupa drez'''....''tetrameter''
:::* '''yoondeupa drez'''....''pentameter''
:::* '''yaondeupa drez'''....''hexameter''
:::* '''yendeupa drez'''....''heptameter''
:::* '''yindeupa drez'''....''octameter''
:::* '''ogelseuxwa drez'''....''blank verse''
:::* '''yiva drez'''....''free verse''
:::* '''drezun'''....''poem''
::::* '''deuzwa drezun'''....''sung poem, lay''
::::* '''dindrezun'''....''ballad''
::::* '''dizdrezun'''....''limerick''
::::* '''fiddrezun'''....''ode''
::::* '''fizdrezun'''....''epic poem''
::::* '''haikudrezun'''....''haiku''
::::* '''viysindrezun'''....''idyll''
::::* '''ifondrezun'''....''love poem, romantic poem''
::::* '''indrezun'''....''terzain''
::::* '''jodrezun'''....''epode''
::::* '''yindrezun'''....''sistina''
::::* '''klerihyudrezun'''....''clerihew''
::::* '''meimdrezun'''....''pastoral''
::::* '''melyexdrezun'''....''georgic''
::::* '''petnyanuta drezun'''....''pastoral, eclogue''
::::* '''popduzuta drezun'''....''troubadour poem''
::::* '''rondodrezun'''....''rondeau, rondel, roundel''
::::* '''seuz drezun'''....''sound poem''
::::* '''tadyandrezun'''....''prothalamion, epithalamion''
::::* '''tankadrezun'''....''tanka''
::::* '''taxdrezun'''....''epitaph''
::::* '''tuddrezun'''....''nursery rhyme''
::::* '''ulondrezun'''....''sonnet''
::::* '''ujdreznadeon'''....''envoi''
::::* '''undrezun'''....''quatrain''
::::* '''unnad drezun'''....''tetrastich''
::::* '''uvdrezun'''....''elegy''
::::* '''alyundrezun'''....''villanelle''
::::* '''virelaydrezun'''....''virelai, virelay''
::::* '''yizivtos drezun'''....''rhapsody''
::::* '''yoondrezun'''....''quintain''
::* '''dreznad'''....''line, -stich, verse''
:::* '''eyndreznad'''...''hemistich''
:::* '''endreznad'''....''couplet''
::* '''dreznadyan'''....''stanza''
::* '''gelseux'''....''rhyme''
:::* '''gelseuxyen'''....''rhyme scheme''
:::* '''dunija gelseuxen'''....''alliteration''
::* '''seuxzoyxen'''....''assonance''
::* '''geyldyan'''....''simile''
::* '''yiztyun'''....''metaphor''
::* '''yanseuzan'''....''consonance''
::* '''deup'''....''rhythm, beat, metrical foot, meter''
::* '''kyib'''....''stress''
::* '''seuz'''....''tone''
=== Dimensional Nomenclature ===
: This chart shows adjectives that describe dimensional relationships:
{| class="wikitable" style="background: lightyellow"
|+ Dimensional Words
|-
! Positive !! Intermediate !! Negative
|-
| '''yaba'''....''high(er)'' || '''yeba'''....''inner'' || '''yoba'''....''low(er)''
|-
| '''yaiba'''....''tall'' || '''yeiba'''....''deep inside'' || '''yoiba'''....''deep (down)''
|-
| '''yauba'''....''short'' || '''yeuba'''....''a short way in'' || '''youba'''....''shallow''
|-
| '''yaga'''....''long'' || || '''yoga'''....''short''
|-
| '''yiba'''....''far'' || || '''yuba'''....''near''
|-
| '''aonada'''....''vertical'' || || '''uinada'''....''horizontal''
|-
| '''kia'''....''diagonal'' || || '''kua'''....''lateral''
|-
| '''zyia'''....''flat'' || || '''zyua'''....''round''
|-
| '''yaza'''....''concave'' || '''yeza'''....''flush'' || '''yoza'''....''convex''
|}
=== Geologic Period Nomenclature ===
: The principal geochronologic units of the geologic time scale, from largest to smallest, are:
:** '''joob'''....''eon''
:*** '''ajoob'''....''Hadean Eon''
:*** '''ejoob'''....''Archean Eon''
:*** '''ijoob'''....''Proterozoic Eon''
:*** '''ujoob'''....''Phanerozoic Eon''
:** '''joab'''....''era''
:*** '''ajoab'''....''Eoarchean Era''
:*** '''ejoab'''....''Paleoarchean Era''
:*** '''ijoab'''....''Mesoarchean Era''
:*** '''ujoab'''....''Neoarchean Era''
:*** '''yojoab'''....''Paleoproterozoic Era''
:*** '''yajoab'''....''Mesoproterozoic Era''
:*** '''yejoab'''....''Neoproterozoic Era''
:*** '''yijoab'''....''Paleozoic Era''
:*** '''yujoab'''....''Mesozoic Era''
:*** '''alojoab'''....''Cenozoic Era''
:** '''joeb'''....''period''
:*** '''ajoeb'''....''Siderian Period''
:*** '''ejoeb'''....''Rhyacian Period''
:*** '''ijoeb'''....''Orosirian Period''
:*** '''ujoeb'''....''Statherian Period''
:*** '''yojoeb'''....''Calymmian Period''
:*** '''yajoeb'''....''Ectasian Period''
:*** '''yejoeb'''....''Stenian Period''
:*** '''yijoeb'''....''Tonian Period''
:*** '''yujoeb'''....''Cryogenian Period''
:*** '''alojoeb'''....''Ediacaran Period''
:*** '''alajoeb'''....''Cambrian Period''
:*** '''alejoeb'''....''Ordovician Period''
:*** '''alijoeb'''....''Silurian Period''
:*** '''alujoeb'''....''Devonian Period''
:*** '''alyojoeb'''....''Carboniferous Period''
:*** '''alyajoeb'''....''Permian Period''
:*** '''alyejoeb'''....''Triassic Period''
:*** '''alyijoeb'''....''Jurassic Period''
:*** '''alyujoeb'''....''Cretaceous Period''
:*** '''elojoeb'''....''Paleogene Period''
:*** '''elajoeb'''....''Neogene Period''
:*** '''elejoeb'''....''Quarternary Period''
:** '''joib'''....''epoch''
:*** '''ajoib'''....''Terreneuvian Epoch''
:*** '''ejoib'''....''Series 2 Epoch''
:*** '''ijoib'''....''Miaolingian Epoch''
:*** '''ujoib'''....''Furongian Epoch''
:*** '''yojoib'''....''Lower Epoch''
:*** '''yajoib'''....''Middle Epoch''
:*** '''yejoib'''....''Upper Epoch''
:*** '''yijoib'''....''Llandovery Epoch''
:*** '''yujoib'''....''Wenlock Epoch''
:*** '''alojoib'''....''Ludlow Epoch''
:*** '''alajoib'''....''Pridoli Epoch''
:** '''joub'''....''age''
:*** '''ajoub'''....''Fortunian Age''
:*** '''ejoub'''....''Stage 2 Age''
:*** '''ijoub'''....''Stage 3 Age''
:*** '''ujoub'''....''Stage 4 Age''
:*** '''yojoub'''....''Wulian Age''
:*** '''yajoub'''....''Drumian Age''
:*** '''yejoub'''....''Guzhangian Age''
:*** '''yijoub'''....''Paibian Age''
:*** '''yujoub'''....''Jianshanian Age''
:*** '''alojoub'''....''Stage 10 Age''
:*** '''alajoub'''....''Temadocian Age''
:*** '''alejoub'''....''Floian Age''
:*** '''alijoub'''....''Dapingian Age''
:*** '''alujoub'''....''Darriwilian Age''
:*** '''alyojoub'''....''Sandbian Age''
:*** '''alyajoub'''....''Katian Age''
:*** '''alyejoub'''....''Hirnantian Age''
:*** '''alyijoub'''....''Rhuddanian Age''
:*** '''alyujoub'''....''Aeronian Age''
:*** '''elojoub'''....''Telychian Age''
:*** '''elajoub'''....''Cheinwoodian Age''
:*** '''elejoub'''....''Homerian Age''
:*** '''elijoub'''....''Gorstian Age''
:*** '''elujoub'''....''Ludfordian Age''
:*** '''elyojoub'''....''Pridoli Age''
:*** '''elyajoub'''....''Lochkovian Age''
:*** '''elyejoub'''....''Pragian Age''
:*** '''elyijoub'''....''Emsian Age''
:*** '''elyujoub'''....''Eifelian Age''
:*** '''ilojoub'''....''Givetian Age''
:*** '''ilajoub'''....''Frasnian Age''
:*** '''ilejoub'''....''Famennian Age''
:*** '''ilijoub'''....''Tournaisian Age''
:*** '''ilujoub'''....''Visean Age''
:*** '''ilyojoub'''....''Serpukhovian Age''
:*** '''ilyajoub'''....''Bashkirian Age''
:*** '''ilyejoub'''....''Moscovian Age''
:*** '''ilyijoub'''....''Kasimovian Age''
:*** '''ilyujoub'''....''Gzhelian Age''
:*** '''ulojoub'''....''Asselian Age''
:*** '''ulajoub'''....''Sakmarian Age''
:*** '''ulejoub'''....''Artinskian Age''
:*** '''ulijoub'''....''Kungurian Age''
:*** '''ulujoub'''....''Roadian Age''
:*** '''ulyojoub'''....''Wordian Age''
:*** '''ulyajoub'''....''Capitanian Age''
:*** '''ulyejoub'''....''Wuchiapingian Age''
:*** '''ulyijoub'''....''Changhsingian Age''
:*** '''ulyujoub'''....''Induan Age''
:*** '''yolojoub'''....''Olenekian Age''
:*** '''yolajoub'''....''Anisian Age''
:*** '''yolejoub'''....''Ladnian Age''
:*** '''yolijoub'''....''Carnian Age''
:*** '''yolujoub'''....''Norian Age''
:*** '''yolyojoub'''....''Rhaetian Age''
:*** '''yolyajoub'''....''Hettangian Age''
:*** '''yolyejoub'''....''Sinemurian Age''
:*** '''yolyijoub'''....''Pliensbachian Age''
:*** '''yolyujoub'''....''Toarcian Age''
:*** '''yalojoub'''....''Aalenian Age''
:*** '''yalajoub'''....''Bajocian Age''
:*** '''yalejoub'''....''Bathonian Age''
:*** '''yalijoub'''....''Callovian Age''
:*** '''yalujoub'''....''Oxfordian Age''
:*** '''yalyojoub'''....''Kimmeridgian Age''
:*** '''yalyajoub'''....''Tithonian Age''
:*** '''yalyejoub'''....''Berriasian Age''
:*** '''yalyijoub'''....''Valanginian Age''
:*** '''yalyujoub'''....''Hauterivian Age''
:*** '''yelojoub'''....''Barremian Age ''
:*** '''yelajoub'''....''Aptian Age ''
:*** '''yelejoub'''....''Albian Age ''
:*** '''yelijoub'''....''Cenomanian ''
:*** '''yelujoub'''....''Turonian ''
:*** '''yelyojoub'''....''Coniacian ''
:*** '''yelyajoub'''....''Santonian ''
:*** '''yelyejoub'''....''Campanian ''
:*** '''yelyijoub'''....''Maastrichtian ''
:*** '''yelyujoub'''....''Danian ''
:*** '''yilojoub'''....''Selandian ''
:*** '''yilajoub'''....''Thanetian ''
:*** '''yilejoub'''....''Ypresian ''
:*** '''yilijoub'''....''Lutetian ''
:*** '''yilujoub'''....''Bartonian ''
:*** '''yilyojoub'''....''Priaboanian ''
:*** '''yilyajoub'''....''Rupelian ''
:*** '''yilyejoub'''....''Chattian ''
:*** '''yilyijoub'''....''Aquitanian ''
:*** '''yilyujoub'''....''Burdigalian ''
:*** '''yulojoub'''....''Langhian ''
:*** '''yulajoub'''....''Serravallian ''
:*** '''yulejoub'''....''Tortonian ''
:*** '''yulijoub'''....''Messinian ''
:*** '''yulujoub'''....''Zanclean ''
:*** '''yulyojoub'''....''Piacenzian ''
:*** '''yulyajoub'''....''Gelasian ''
:*** '''yulyejoub'''....''Calabrian ''
:*** '''yulyijoub'''....''Chibanian ''
:*** '''yulyujoub'''....''Tarantian ''
:*** '''asojoub'''....''Greenlandian ''
:*** '''asajoub'''....''Northgrippian ''
:*** '''asejoub'''....''Meghalayan ''
=== Names of Diacritics ===
: The Mirad words for diacritics (= accents) are based on the worldwide Unicode 4.0 standard. There are three kinds of diacritics based on where they are positioned relative to the base:
::* <b>aybsiyn</b>....<i>above mark</i>
::* <b>oybsiyn</b>....<i>below mark</i>
::* <b>absiyn</b>....<i>overlay mark</i>
: The names are based on some common shapes:
::* <b>nod</b>....<i>dot</i>
::* <b>grun</b>....<i>hook</i>
::* <b>nad</b>....<i>line</i>
::* <b>kin</b>....<i>slash</i>
::* <b>vu</b>....<i>wedge</i>
::* <b>pyaon</b>....<i>wave</i>
::* <b>zyus</b>....<i>ring</i>
::* <b>uz</b>....<i>arch</i>
::* <b>zeymep</b>....<i>bridge</i>
::* <b>izmufseb</b>....<i>arrowhead</i>
::* <b>mar</b>....<i>star</i>
: The above shapes can be modified by adjectives:
::* <b>kia</b>....<i>slanted</i>
::* <b>ao</b>....<i>vertical</i>
::* <b>yoga/yaga</b>....<i>short/long</i>
::* <b>en</b>....<i>double</i>
::* <b>yaba/yoba</b>....<i>up/down</i>
::* <b>zua/zia</b>....<i>left/right</i>
::* <b>oyvuzbwa</b>....<i>inverted</i>
: Here is a chart listing the most common diacritics in the world's languages. (Note: Mirad does not use diacritics for its native words.)
{| class="wikitable" style="background:lightyellow;"
|+ Mirad Names of Diacritics
|-
! Diacritic !! Unicode<br>Value !! Mirad !! Unicode Name
|-
|<big><b>́</b></big>|| 0301||<b> zukin aybsiyn</b>||<i>acute accent</i>
|-
|<big><b>̀</b></big>|| 0300||<b> zukin oybsiyn</b>||<i>acute accent below</i>
|-
|<big><b>̋</b></big>|| 030B||<b> enzukin aybsiyn</b>||<i>double acute accent</i>
|-
|<big><b>̀</b></big>|| 0300||<b> zikin aybsiyn</b>||<i>grave accent</i>
|-
|<big><b>̗</b></big>|| 0317||<b> zikin oybsiyn</b>||<i>grave accent below</i>
|-
|<big><b>̏</b></big>|| 030F||<b> enzikin aybsiyn</b>||<i>double grave accent</i>
|-
|<big><b>̉</b></big>|| 0309||<b> zigrun aybsiyn</b>||<i>hook above, hoi</i>
|-
|<big><b>̧</b></big>|| 0327||<b> zugrun oybsiyn</b>||<i>cedilla</i>
|-
|<big><b>̨</b></big>|| 0328||<b> zigrun oybsiyn</b>||<i>ogonek, nasal hook</i>
|-
|<big><b>̂</b></big>|| 0302||<b> yobvu aybsiyn</b>||<i>circumflex accent, hat</i>
|-
|<big><b>̭</b></big>|| 032D||<b> yobvu oybsiyn</b>||<i>circumflex accent below</i>
|-
|<big><b>̌</b></big>|| 030C||<b> vu aybsiyn</b>||<i>hachek, v above, caron</i>
|-
|<big><b>̬</b></big>|| 032C||<b> vu oybsiyn</b>||<i>caron below</i>
|-
|<big><b>̆</b></big>|| 0306||<b> yabuz aybsiyn</b>||<i>breve above</i>
|-
|<big><b>̑</b></big>|| 0311||<b> yobuz aybsin</b>||<i>inverted breve above</i>
|-
|<big><b>̯</b></big>|| 032F||<b> yobuz oybsin </b>||<i>inverted breve below</i>
|-
|<big><b>̡</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i>
|-
|<big><b>̈</b></big>|| 0308||<b> ennod aybsiyn</b>||<i>diaeresis above, double dot above, umlaut, trema</i>
|-
|<big><b>̤</b></big>|| 0324||<b> ennod oybsiyn</b>||<i>diaeresis below, double dot below</i>
|-
|<big><b>̇</b></big>|| 0307||<b> nod aybsiyn</b>||<i>dot above, overdot, tecka, tittle</i>
|-
|<big><b>̣</b></big>|| 0323||<b> nod oybsiyn</b>||<i>dot below, underdot, nang</i>
|-
|<big><b>͑</b></big>|| 0351||<b> zua eynzyus aybsiyn</b>||<i>left half ring above</i>
|-
|<big><b>̜</b></big>|| 031C||<b> zua eynzyus oybsiyn</b>||<i>left half ring below</i>
|-
|<big><b>͐</b></big>|| 0350||<b> zia eynzyus aybsign</b>||<i>right half ring above</i>
|-
|<big><b>̹</b></big>|| 0339||<b> zia eynzyus oybsiyn</b>||<i>right half ring below</i>
|-
|<big><b>̅</b></big>|| 0305||<b> nad aybsiyn</b>||<i>overline, overscore, vinculum</i>
|-
|<big><b>̿</b></big>|| 033F||<b> ennad aybsiyn</b>||<i>double overline</i>
|-
|<big><b>̲</b></big>|| 0332||<b> nad oybsiyn</b>||<i>single lowline below</i>
|-
|<big><b>̳</b></big>|| 0333||<b> ennad oybsiyn</b>||<i>double lowline, double underline, double underscore</i>
|-
|<big><b>̄</b></big>|| 0304||<b> nad aybsiyn</b>||<i>macron</i>
|-
|<big><b>̱</b></big>|| 0331||<b> nad oybsiyn</b>||<i>macron below</i>
|-
|<big><b>͞</b></big>|| 935E||<b> ennad aybsiyn</b>||<i>double macron, longum</i>
|-
|<big><b>͟</b></big>|| 035F||<b> ennad oybsiyn</b>||<i>double macron below</i>
|-
|<big><b>̊</b></big>|| 030A||<b> zyus aybsiyn</b>||<i>ring above, kroujek, overring</i>
|-
|<big><b>̥</b></big>|| 0325||<b> zyus oybsiyn</b>||<i>ring below</i>
|-
|<big><b>͆</b></big>|| 0346||<b> zeymep aybsiyn</b>||<i>bridge above</i>
|-
|<big><b>̪</b></big>|| 032A||<b> zeymep oybsiyn</b>||<i>bridge below</i>
|-
|<big><b>͆</b></big>|| 0346||<b> oyvuzbwa zeymep aybsiyn</b>||<i>inverted bridge above</i>
|-
|<big><b>̺</b></big>|| 033A||<b> oyvuzbwa zeymep oybsiyn</b>||<i>inverted bridge below</i>
|-
|<big><b>̉</b></big>|| 0309||<b> grun aybsiyn</b>||<i>hook above, hoi</i>
|-
|<big><b>̃</b></big>|| 0303||<b> pyaon aybsiyn</b>||<i>tilde</i>
|-
|<big><b>͂</b></big>|| 0342||<b> yagpyaon aybsiyn</b>||<i>Greek perispomeni</i>
|-
|<big><b>͠</b></big>|| 0360||<b> enpyaon aybsiyn</b>||<i>double tilde above</i>
|-
|<big><b>̰</b></big>|| 0330||<b> pyaon oybsiyn</b>||<i>tilde below</i>
|-
|<big><b>̫</b></big>|| 032B||<b> oyvuzbwa enuz oybsiyn</b>||<i>inverted double arch below</i>
|-
|<big><b>̾</b></big>|| 033E||<b> aonada pyaon aybsiyn</b>||<i>vertical tilde, yerik</i>
|-
|<big><b>̚</b></big>|| 031A||<b> zua gun aybsiyn</b>||<i>left angle above</i>
|-
|<big><b>̍</b></big>|| 030D||<b> aonad aybsiyn</b>||<i>vertical line above</i>
|-
|<big><b>̍</b></big>|| 030D||<b> enaonad aybsiyn</b>||<i>double vertical line above</i>
|-
|<big><b>̩</b></big>|| 0329||<b> aonad oybsiyn</b>||<i>vertical line below</i>
|-
|<big><b>̎</b></big>|| 030E||<b> enaonad aybsiyn</b>||<i>double vertical line above</i>
|-
|<big><b>̽</b></big>|| 033D||<b> xu aybsiyn</b>||<i>x above</i>
|-
|<big><b>͓</b></big>|| 0353||<b> xu oybsiyn</b>||<i>x below</i>
|-
|<big><b>̼</b></big>|| 033C||<b> lapiat oybsiyn</b>||<i>seagull below</i>
|-
|<big><b>̐</b></big>|| 0310||<b> nod ayb uz aybsiyn</b>||<i>candrabindu</i>
|-
|<big><b>͒</b></big>|| 0352||<b> nod oyb uz aybsiyn</b>||<i>fermata</i>
|-
|<big><b>̔</b></big>|| 0314||<b> zia grun aybsiyn</b>||<i>right comma above, dasia</i>
|-
|<big><b>̦</b></big>|| 0326||<b> zia grun oybsiyn</b>||<i>right comma below</i>
|-
|<big><b>̓</b></big>|| 0313||<b> zua grun aybsiyn</b>||<i>reversed comma above, psili</i>
|-
|<big><b>̠</b></big>|| 0320||<b> gobsiyn oybsiyn</b>||<i>minus sign below</i>
|-
|<big><b>̟</b></big>|| 031F||<b> gabsiyn oybsiyn</b>||<i>plus sign below</i>
|-
|<big><b>͌</b></big>|| 034C||<b> yubay ge aybsiyn</b>||<i>almost equals above</i>
|-
|<big><b>͉</b></big>|| 0349||<b> zua gun oybsiyn</b>||<i>left angle below</i>
|-
|<big><b>̻</b></big>|| 033B||<b> ungun oybsiyn</b>||<i>square below</i>
|-
|<big><b>̴</b></big>|| 0334||<b> Gereda nod-kin-nod aybsiyn</b>||<i>Greek dialytika tonos</i>
|-
|<big><b>͐</b></big>|| 0350||<b> zia izmufseb aybsiyn</b>||<i>right arrowhead above</i>
|-
|<big><b>ࣷ</b></big>|| 0356||<b> zia izmufseb ay yabizmufseb oybsiyn</b>||<i>right arrowhead and up arrowhead below</i>
|-
|<big><b>͕</b></big>|| 0355||<b> zia izmufseb oybsiyn</b>||<i>right arrowhead below</i>
|-
|<big><b>͔</b></big>|| 0354||<b> zua izmufseb oybsiyn</b>||<i>left arrowhead below</i>
|-
|<big><b>̘</b></big>|| 0318||<b> zua zyisebmuv oybsiyn</b>||<i>left tack below</i>
|-
|<big><b>̙</b></big>|| 0319||<b> zia zyisebmuv oybsiyn</b>||<i>right tack below</i>
|-
|<big><b>̝</b></big>|| 031D||<b> yob zyisebmuv oybsiyn</b>||<i>up tack below</i>
|-
|<big><b>̞</b></big>|| 031E||<b> yab zyisebmuv oybsiyn</b>||<i>down tack below</i>
|-
|<big><b>̷</b></big>|| 0337||<b> yoga kinad absiyn</b>||<i>short slash overlay, short solidus overlay</i>
|-
|<big><b≯</b></big>|| 0338||<b> yaga kinad absiyn</b>||<i>long slash overlay, long solidus overlay</i>
|-
|<big><b>̡</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i>
|-
|<big><b>̢</b></big>|| 0322||<b> zoykixwa grun oybsiyn</b>||<i>retroflex hook below</i>
|-
|<big><b>͙</b></big>|| 0359||<b> mar oybsiyn</b>||<i>asterisk below</i>
|-
|<big><b>͚</b></big>|| 035A||<b> enzyus oybsiyn</b>||<i>double ring below</i>
|-
|<big><b>͘</b></big>|| 0358||<b> zinod aybsiyn</b>||<i>dot above right</i>
|-
|<big><b>͜</b></big>|| 035C||<b> enyabuz oybsiyn</b>||<i>double breve below, ligature tie below</i>
|-
|<big><b>͝</b></big>|| 035D||<b> enyabuz aybsiyn</b>||<i>double breve</i>
|-
|<big><b>͡</b></big>|| 0361||<b> enyobuz aybsiyn</b>||<i>double inverted breve, top ligature, tie bar</i>
|-
|<big><b>͛</b></big>|| 035B||<b> uiznad aybsiyn</b>||<i>zigzag above</i>
|-
|<big><b>͇</b></big>|| 0347||<b> gese oybsiyn</b>||<i>equals sign below</i>
|-
|<big><b>͌</b></big>|| 034C||<b> yubgese aybsiyn</b>||<i>almost equal to above</i>
|-
|<big><b>͢</b></big>|| 0362||<b> enziizmuf oybsiyn</b>||<i>double rightwards arrow below</i>
|-
|<big><b>͎</b></big>|| 034E||<b> yabizmuf oybsiyn</b>||<i>upwards arrow below</i>
|-
|<big><b>̩</b></big>|| 0329||<b> ziizmuf aybsiyn</b>||<i>right arrowhead above</i>
|-
|<big><b>͊</b></big>|| 034A||<b> opyaon aybsiyn</b>||<i>not tilde above</i>
|-
|<big><b>ͺ</b></big>|| 037A||<b> iota oybsiyn</b>||<i>Greek ypogegrammeni, iota subscript</i>
|-
|<big><b>ʹ</b></big>|| 0374||<b> Gereda sag aybsiyn</b>||<i>Greek numeral sign, dexia keraia</i>
|-
|<big><b>͵</b></big>|| 0375||<b> Gereda sag oybsiyn</b>||<i>Greek lower numeral sign, aristeri keraia</i>
|-
|<big><b>ّ</b></big>|| 0651||<b> xadda aybsiyn</b>||<i>Arabic shadda</i>
|-
|<big><b>ٞ</b></big>|| 065E||<b> fatha aybsiyn</b>||<i>Arabic fatha with two dots</i>
|-
|<big><b>ؚ</b></big>|| 061A||<b> kasra oybsiyn</b>||<i>Arabic small kasra</i>
|-
|<big><b>ٌ</b></big>|| 064C||<b> damma aybsiyn</b>||<i>Arabic dammatan</i>
|-
|<big><b>ْ</b></big>|| 0652||<b> sukun aybsiyn</b>||<i>Arabic sukun</i>
|}
=== Grammar Terms ===
:*'''drevyab'''....''grammar''
:*'''dun'''....''word''
:*'''dyen'''....''phrase''
:*'''dyan'''....''sentence''
:** '''delyea'''....''declarative''
:** '''didyea'''....''interrogative''
:** '''azteudyea'''....''exclamatory''
:*'''dyangon'''....''clause''
:** '''agala dyangon'''....''main clause''
:** '''abyosyea dyangon'''....''dependent clause''
:** '''obdabyea dyangon'''....''subordinate clause''
:*'''anyendyen'''....''idiom''
:*'''dalzeyn'''....''language''
:*'''dalzeynes'''....''dialect''
:*'''dalyen'''....''locution''
:*'''dungon'''....''syllable''
:*'''dunog'''....''particle''
:*'''abun'''....''affix''
:** '''zabun'''....''prefix''
:** '''zobun'''....''suffix''
:** '''yebun'''....''infix''
:*'''kyid'''....''stress''
:*'''dredyen'''....''spelling, orthography''
:*'''seuxden'''....''pronunciation''
:*'''dalgon'''....''part of speech''
:**'''sundun'''....''noun''
:**'''avdun'''....''pronoun''
:**'''erdun'''....''verb''
:**'''adun'''....''adjective''
:**'''aydun'''....''adverb''
:**'''ebdun'''....''preposition''
:**'''yanxdun'''....''conjunction''
:**'''oybdun'''....''particle''
:**'''asaundun'''....''article, determiner''
:*'''jobyen'''....''tense''
:** '''eja'''....''present tense''
:** '''aja'''....''past tense''
:** '''oja'''....''future tense''
:** '''vensona'''....''conditional''
:* '''teagun'''....''aspect''
:** '''ikna'''....''perfect''
:** '''oikna'''....''imperfect''
:** '''zaypasyea'''....''progressive''
:*'''tipyen'''....''mood''
:** '''izeadyea'''....''indicative mood''
:** '''ovyamxwa'''....''subjunctive mood''
:*'''teuz'''....''voice''
:** '''axlyea'''....''active''
:** '''xolyea'''....''passive''
:** '''syundabea'''....''transitive''
:** '''osyundabea'''....''intransitive''
:** '''zyinzoyubea'''....''reflexive''
:*'''sankyas'''....''case''
:** '''syina'''....''nominative, subject''
:** '''bina'''....''genitive, possessive''
:** '''buna'''....''dative''
:** '''izsyuna'''....''accusative, direct object''
:** '''oizsyuna'''....''indirect object''
:** '''byina'''....''ablative''
:** '''dyuena'''....''vocative''
:*'''toob'''....''gender''
:** '''twooba'''....''masculine''
:** '''tooyba'''....''feminine''
:** '''evtwooba'''....''neuter''
:*'''sag'''....''number''
:** '''ansaga'''....''singular''
:** '''glasaga'''....''plural''
:*'''sagdun'''....''numeral''
== Forming Adjectives ==
: You can form an adjective by adding the suffix '''a''' to a substantive, any adverb not ending in '''-ay''', or preposition. By substantive is meant a noun, pronoun, or gerund. Any of these can be adjectivized.
: Examples:
:{| class="wikitable" style="background:lightyellow;font-size:smaller;"
|+ Deriving Adjectives
|-
! Noun !! Adjective
|-
| '''taam'''....''home'' || '''taama'''....''domestic''
|-
| '''doob'''....''nation'' || '''dooba'''....''national''
|-
| '''tej'''....''life'' || '''teja'''....''vital''
|-
| '''tyoyapyaf'''....''ability to walk'' || '''tyoyapyafa'''....''ambulatory''
|-
| '''martun'''....''astronomy'' || '''martuna'''....''astronomical''
|-
! Pronoun !! Adjective
|-
| '''at'''....''I, me'' || '''ata'''....''my''
|-
| '''eut'''....''yourself'' || '''euta'''....''your own''
|-
| '''hiyen'''....''this kind'' || '''hiyena'''....''this kind of''
|-
| '''duhot?'''....''who?'' || '''duhota?'''....''whose?''
|-
! Gerund !! Adjective
|-
| '''ifeken'''....''recreation'' || '''ifekena'''....''recreational''
|-
! Adverb !! Adjective
|-
| '''yib'''....''far'' || '''yiba'''....''distant''
|-
| '''yab'''....''up'' || '''yaba'''....''high, upper''
|-
! Verb Form !! Adjective (= Participle)
|-
| '''teje'''....''(he) lives'' || '''tejea'''....''living''
|-
| '''tojo'''....''will die'' || '''tojoa'''....''moribund, about to die''
|-
| '''tojbu'''....''would kill'' || '''tojbua'''....''lethal''
|-
| '''twa'''....''was known'' || '''twaa'''....''known'' (usu. shortened to '''twa''')
|}
=== Adjectival Suffixes ===
: Various types of adjectives can be created with adjectival suffixes beyond just '''a'''.
: Examples:
:{| class="wikitable" style="background:lightyellow;font-size:smaller;"
|+ Deriving Other Adjectives
|-
! Suffix !! Meaning !! Noun !! Adjective
|-
! rowspan=3|-ava !!rowspan=3| ''pro-, for'' !! !!
|-
| '''Usom'''<br>''U.S.'' || '''Usomava'''<br>''pro-U.S.''
|-
| '''yuvrin'''<br>''slavery'' || '''yuvrinava'''<br>''pro-slavery''
|-
! rowspan=3|-ova !!rowspan=3| ''anti-, against'' !! !!
|-
| '''dobvyabyan'''<br>''constitution'' || '''dovyabyanova'''<br>''anti-constitutional''
|-
| '''dot'''<br>''society'' || '''dotova'''<br>''anti-social''
|-
! rowspan=5|-aya !!rowspan=5| ''full of, having, -ous, -ful, -ly'' !! !!
|-
| '''volz'''<br>''color'' || '''volzaya'''<br>''colorful''
|-
| '''futax'''<br>''resentment'' || '''futaxaya'''<br>''resentful''
|-
| '''tiibil'''<br>''blood'' || '''tiibilaya'''<br>''bloody''
|-
| '''yiflan'''<br>''courage'' || '''yiflanaya'''<br>''courageous''
|-
! rowspan=3|-oya !!rowspan=3| ''bereft of, -less, un-'' !! !!
|-
| '''volz'''<br>''color'' || '''volzoya'''<br>''colorless, pale''
|-
| '''tajyaf'''<br>''talent'' || '''tajyafoya'''<br>''untalented''
|-
! rowspan=2|-ika !!rowspan=2| ''full of, -ous, -ful, -y'' !! !!
|-
| '''map'''<br>''wind'' || '''mapika'''<br>''windy''
|-
! rowspan=2|-uka !!rowspan=2| ''bereft of, without, -less'' !! !!
|-
| '''nas'''<br>''money'' || '''nasuka'''<br>''broke, penniless''
|-
! rowspan=4|-yena !! rowspan=4|''-like, -ous, -ly, -y, -ish, -ic, -al'' !! !!
|-
| '''tudet'''<br>''child'' || '''tudetyena'''<br>''childish, infantile''
|-
| '''tot'''<br>''god'' || '''totyena'''<br>''divine, godly''
|-
| '''pit'''<br>''fish'' || '''pityena'''<br>''fish-like, fishy''
|-
! rowspan=5|-wa or -awa !! rowspan=5|''-ed, past passive participle''<br>(added to verb stem) !! Verb Stem !! Past Passive Participle
|-
| '''t-'''<br>''know'' || '''twa'''<br>''known''
|-
| '''dal-'''<br>''speak'' || '''dalwa'''<br>''spoken, oral''
|-
| '''nixbu-'''<br>''sell'' || '''nixbuwa'''<br>''sold''
|-
| '''dr-'''<br>''write'' || '''drawa'''<br>''written''
|-
! rowspan=4|-ea !!rowspan=4| ''-ing''<br>(added to verb stem) !! Verb Stem !! Present Active Participle
|-
| '''ot-'''<br>''not know'' || '''otea'''<br>''ignorant''
|-
| '''tej-'''<br>''live'' || '''tejea'''<br>''living, alive''
|-
| '''tuj-'''<br>''die'' || '''tujea'''<br>''dying''
|-
! rowspan=5|-yea !!rowspan=5| ''-ive, prone to Xing, given to X''<br>(added to verb stem) !! Verb Stem !! Present Active Participle
|-
| '''tujb-'''<br>''kill'' || '''tujbyea'''<br>''murderous''
|-
| '''tex-'''<br>''think'' || '''texyea'''<br>''pensive, thoughtful''
|-
| '''tox-'''<br>''forget'' || '''toxyea'''<br>''forgetful''
|-
| '''axl-'''<br>''act'' || '''axlyea'''<br>''active''
|-
! rowspan=5|-uwa !!rowspan=5| ''-able, apt to be Xed''<br>(added to verb stem) !! Verb Stem !! Potential Passive Participle
|-
| '''ex-'''<br>''operate'' || '''exuwa'''<br>''operable''
|-
| '''tos'''<br>''feel'' || '''tosuwa'''<br>''palpable''
|-
| '''tex-'''<br>''think'' || '''texuwa'''<br>''conceivable''
|-
| '''tel-'''<br>''eat'' || '''teluwa'''<br>''edible''
|-
! rowspan=3|-yafa !!rowspan=3| ''-able, capable of Xing'' <br>(added to verb stem) !! Verb Stem !! Potential Subject-oriented
|-
| '''teat-'''<br>''see'' || '''teatyafa'''<br>''sightful, able to see''
|-
| '''dyed-'''<br>''read'' || '''dyedyafa'''<br>''literate''
|-
! rowspan=5|-yafwa !!rowspan=5| ''-able, possible to be Xed''<br> (added to verb stem) !! Verb Stem !! Potential Object-oriented
|-
| '''teat-'''<br>''see'' || '''teatyafwa'''<br>''visible''
|-
| '''tax-'''<br>''remember'' || '''taxyafwa'''<br>''memorable''
|-
| '''teet-'''<br>''hear'' || '''teetyafwa'''<br>''audible''
|-
| '''tel-'''<br>''eat'' || '''telyafwa'''<br>''edible''
|-
! rowspan=5|-yofa !!rowspan=5| ''incapable of Xing'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Subject-oriented
|-
| '''teat-'''<br>''see'' || '''teatyofa'''<br>''blind''
|-
| '''tyoyap-'''<br>''walk'' || '''tyoyapyofa'''<br>''lame''
|-
| '''teet-'''<br>''hear'' || '''teetyofa'''<br>''deaf''
|-
| '''dal-'''<br>''speak'' || '''dalyofa'''<br>''dumb, incapable of speaking''
|-
! rowspan=5|-yofwa !!rowspan=5| ''un-X-able'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Object-oriented
|-
| '''teat-'''<br>''see'' || '''teatyofwa'''<br>''invisible''
|-
| '''teet-'''<br>''hear'' || '''teetyofa'''<br>''inaudible''
|-
| '''tox-'''<br>''forget'' || '''toxyofa'''<br>''unforgetable''
|-
| '''dal-'''<br>''speak'' || '''dalyofa'''<br>''unspeakable''
|-
! rowspan=6|-ifa !!rowspan=6| ''fond of, -phile'' !! Noun Stem !! Adjective
|-
| '''pot'''<br>''animal'' || '''potifa'''<br>''pet-friendly''
|-
| '''hyitoob-'''<br>''same-gender'' || '''hyitoobifa'''<br>''homophile''
|-
| '''tobot'''<br>''child'' || '''tobotifa'''<br>''pedophile''
|-
| '''fitel'''<br>''food'' || '''fitelifa'''<br>''gourmand''
|-
| '''doob'''<br>''nation'' || '''doobifa'''<br>''patriotic''
|-
! rowspan=2|-ifwa !!rowspan=2| ''loved by'' !! Noun Stem !! Adjective
|-
| '''tyod'''<br>''people'' || '''tyodifwa'''<br>''popular''
|-
! rowspan=4|-ufa !!rowspan=4| ''adverse to, hating, miso-, -phobic'' !! Noun Stem !! Adjective
|-
| '''tob'''<br>''human'' || '''tobufa'''<br>''misanthropic''
|-
| '''hyut-'''<br>''other person'' || '''hyutufa'''<br>''xenophobic''
|-
| '''toyb-'''<br>''woman'' || '''toybufa'''<br>''misogynist''
|-
! rowspan=5|-ef(w)a !!rowspan=5|''needful of,<br>(necessary to be X-ed)'' !! Noun or Verb Stem !! Adjective
|-
| '''til'''<br>''drink'' || '''tilefa'''<br>''thirsty''
|-
| '''tel'''<br>''food'' || '''telefa'''<br>''hungry''
|-
| '''nas'''<br>''money'' || '''nasefa'''<br>''poor, needy''
|-
| '''yelb-'''<br>''to oil'' || '''yelbefwa'''<br>''squeaky, in need of oil''
|-
! rowspan=4|-yef(w)a !!rowspan=4| ''worthy of,<br> due to be (deserving of being X-ed)'' !! Noun or Verb Stem !! Adjective
|-
| '''fid'''<br>''praise'' || '''fidyefa'''<br>''praiseworthy''
|-
| '''dud'''<br>''answer'' || '''dudyefa'''<br>''responsible''
|-
| '''tax-'''<br>''remember'' || '''taxyefwa'''<br>''memorable''
|-
! rowspan=3|-yuk(w)a !!rowspan=3| ''easy to, (easily X-ed)'' !! Verb Stem !! Adjective
|-
| '''vatex-'''<br>''believe'' || '''vatexyuka'''<br>''gullible''
|-
| '''vatex-'''<br>''believe'' || '''vatexyukwa'''<br>''incredible, hard to believe''
|-
! rowspan=3|-yik(w)a !!rowspan=3| ''hard to,<br>(hard of X-ing)'' !! Verb Stem !! Adjective
|-
| '''teat-'''<br>''see'' || '''teatyikwa'''<br>''opaque''
|-
| '''teet-'''<br>''hear'' || '''teetyika'''<br>''hard of hearing''
|}
=== Adjectival Prefixes ===
==== Negating the Meaning of Adjectives ====
::: The semantics of an adjective can be reversed with the prefix '''o-'''.
::: Examples:
::::* '''vlea'''....''probable'' <big>→</big> '''<u>o</u>vlea'''....''improbable''
::::* '''fika'''....''perfect'' <big>→</big> '''<u>o</u>fika'''....''imperfect''
::::* '''twa'''....''known'' <big>→</big> '''<u>o</u>twa'''....''unknown''
::::* '''bosa'''....''quiet'' <big>→</big> '''<u>o</u>bosa'''....''upset, unquiet''
::: Note: Occasionally, the prefix '''lo-''' is used to avoid ambiguity, as in the following case:
::::* '''fwa'''....''wanted''
::::* <big>→</big> '''<u>o</u>fwa'''....''prohibited'' <big><</big> '''ofer'''....''to prohibit''
::::* <big>→</big> '''<u>yo</u>fwa'''....''impossible'' <big><</big> '''yofer'''....''to be unable''
::::* <big>→</big> '''<u>lo</u>fwa'''....''unwanted'' <big><</big> '''fer'''....''to want'' (disambiguated)
::: The prefixes '''lyo-''' and '''ov''' are more intense for reversing the meaning of an adjective:
::::* '''data'''....''friendly''
::::* '''odata'''....''unfriendly''
::::* '''ovdata'''....''hostile''
::::* '''lyodata'''....''inimical''
::::* '''dota'''....''social''
::::* '''odota'''....''unsocial''
::::* '''ovdota'''....''antisocial''
::::* '''lyodota'''....''savage''
==== Table of Adjective Prefixes ====
::: As in English, where the sense of adjectives can be altered by a number of prefixes of Germanic, Latin, and Greek origin, the sense of adjectives in Mirad can also be altered with prefixes. Here are the principal ones:
:::{| class="wikitable sortable collapsable" style="background:lightyellow;font-size:smaller;"
|+ Altering the Sense of Adjectives with Prefixes<br>Click on double arrow to alphabetize the column
|-
! Mirad Prefix !! English Prefix !! Altered Adjective Examples
|-
| '''o-''' || ''un-, a(n)-, in-, non-'' ||'''<u>o</u>baka'''....''unhealthy''<br>'''<u>o</u>yezyebeya'''....''incontinent'', '''<u>o</u>yelpea'''....''non-invasive''<br>'''<u>o</u>totina'''....''atheist''
|-
|'''ov-''' || ''anti-, counter-'' || '''<u>ov</u>zuina'''....''anti-leftist''<br>'''<u>ov</u>iztida'''....''counter-intuitive''
|-
|'''av-''' || ''pro-'' || '''<u>av</u>hyitoosifa'''....''pro-gay''
|-
| '''kovyo-''' ||''pseudo-'' || '''<u>kovyo</u>tepina'''....''pseudo-intellectual''
|-
| '''hya(s)-''' || ''all-, pan-, omni-'' || '''<u>hyas</u>tea'''....''all-knowing, omniscient''
|-
| '''voy-, gal-''' || ''re-'' || '''<u>voy</u>upya'''....''returned''<br>'''<u>gal</u>abwa'''....''<u>re</u>applied''
|-
| '''vyo-''' || ''mis-'' || '''<u>vyo</u>seudxwa'''....''mispronounced''
|-
| '''eyn-''' || ''semi-, half-'' ||'''<u>eyn</u>levelaya'''....''semi-sweet''<br>'''<u>eyn</u>tija'''....''half-awake''
|-
|'''yiz-''' || ''ultra-, super-'' || '''<u>yiz</u>doobina'''....''ultra-nationalist''<br>'''<u>yiz</u>mola'''....''supernatural''
|-
| '''gro-''' || ''under-, hypo-'' || '''<u>gro</u>jaga'''....''under-aged''
|-
| '''gra-''' || ''over-, hyper-, uber-'' || '''<u>gra</u>agxwa'''....''overgrown''<br>'''<u>gra</u>toseya'''....''hypersensitive''
|-
| '''gla-''' ||''multi-, many-, poly-'' || '''<u>gla</u>kuma'''....''multilateral''<br>'''<u>gla</u>tadaya'''....''polygamous''
|-
|'''fu-''' || ''mal-, ill-'' || '''<u>fu</u>teyenxwa'''....''ill-conceived''<br>'''<u>fu</u>sanxwa'''....''malformed''
|-
| '''fi-''' || ''well-'' || '''<u>fi</u>tofabwa'''....''well-dressed''
|-
| '''yuyb-''' ||''quasi-, almost'' || '''<u>yuyb</u>daba'''....''quasi-governmental''
|-
| '''ja-''' || ''pre-, (a)fore-, pro-'' ||'''<u>ja</u>teyenxwa'''....''pre-conceived''<br>'''<u>ja</u>igdawa'''....''aformentioned''
|-
| '''jo-''' || ''post-'' || '''<u>jo</u>dropeka'''....''post-war''
|-
| '''oyeb-'''|| ''extra-, exo-, '' || '''<u>oyeb</u>tada'''....''extra-marital''
|-
| '''yeb-''' || ''endo-'' || '''<u>yeb</u>tayoba'''....''endo-dermal''
|-
| '''agl(a)-''' || ''macro-'' || '''<u>agla</u>mora'''....''macrocosmic''
|-
| '''ogl(a)-''' || ''micro-'' || '''<u>ogla</u>mora'''....''microcosmic''
|-
| '''ut-''' || ''auto-, self-, sui-'' || '''<u>ut</u>pana'''....''automatic''<br>'''<u>ut</u>tojbua'''....''suicidal''
|-
| '''hyaewa-''' || ''ambi-'' || '''<u>hyaewa</u>tesea'''....''ambivalent''
|-
| '''en-''' || ''bi-'' || '''<u>en</u>toobifa'''....''bisexual''
|-
| '''yuz-''' || ''circum-'' || '''<u>yuz</u>teaxea'''....''circumspect''
|-
| '''gel-''' || ''homo-'' || '''<u>gel</u>sauna'''....''homogeneous''
|-
| '''ogel-''' || ''hetero-'' || '''<u>ogel</u>sauna'''....''heterogeneous''
|-
| '''oyb-''' || ''infra-, sub-'' || '''<u>oyb</u>ivoza'''....''infrared''
|-
| '''ge-''' || ''iso-, equi-'' || '''<u>ge</u>voza'''....''isochromatic''
|-
| '''agr(a)-''' || ''mega-'' || '''<u>agra</u>tipa'''....''megamaniacal''
|-
| '''ku-''' || ''para-'' || '''<u>ku</u>ega'''....''paranormal''
|-
| '''yuyb-''' || ''quasi-, almost, pen-'' || '''<u>yuyb</u>dobyena'''....''quasi-official''
|-
| '''yib-''' || ''tele-, far-'' || '''<u>yib</u>pyuxea'''....''far-reaching''
|-
| '''zey-''' || ''trans-, cross-'' || '''<u>zey</u>mimaga'''....''transoceanic''
|-
| '''aaj-''' || ''paleo-'' || '''<u>aaj</u>toba'''....''paleoloanthropic''
|-
| '''eej-''' || ''neo-'' || '''<u>eej</u>visauna'''....''neoclassical''
|-
| '''yibaj-''' || ''arch(a)eo-, ancient'' || '''yibajtuna'''....''archaeological''
|-
| '''yeb-''' || ''endo-, inner, intro-'' || '''yebzena'''....''endocentric''<br>'''yebuzbwa'''....''introverted''
|-
| '''oyeb-''' || ''exo-, outer, ex-, extr(a/o)-'' || '''oyebzena'''....''exocentric''<br>'''oyebuzbwa'''....''extroverted''
|-
| '''yab(an)-''' || ''high-, up'' || '''yabnoga'''....''upscale''<br>'''yabnayxa'''....''high-priced''
|-
| '''yaban-''' || ''acro-'' || '''yabanyufa'''....''acrophobic''
|-
| '''yob-''' || ''low-, down-'' || '''yobnoga'''....''low-grade, down-scale''
|}
=== English and Mirad Adjectival Suffix Comparison ===
: Here is a chart showing a comparison between English adjectival suffixes and their Mirad counterparts:
:{| class="wikitable sortable" style="background:lightyellow;font-size:smaller;"
|+ English and Mirad Adjectival Suffixes Compared
|-
! English Suffix !! Meaning !! Mirad Suffix !! Altered Adjective Examples
|-
| ''-ful'' || full of || '''-aya<br> -ika''' || '''voz<u>aya</u>'''....''colorful''<br> '''tuz<u>ika</u>'''....''skillful''
|-
| ''-ous'' || full of || '''-aya<br> -ika''' || '''naz<u>ika</u>'''....''precious''<br> '''mil<u>aya</u>'''....''aqueous''
|-
| ''-filled'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoke-filled''
|-
| ''-y'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoky''<br>
|-
| ''-ous'' || of<br> like || '''-a''' || '''totin<u>a</u>'''....''religious''<br> '''vyos<u>a</u>'''....''erroneous''
|-
| ''-ly'' || like || '''-yena''' || '''tot<u>yena</u>'''....''godly''<br> '''toyb<u>yena</u>'''....''womanly''
|-
| ''-like'' || like || '''-yena''' || '''pat<u>yena</u>'''....''bird-like''
|-
| ''-ish'' || like || '''-yena''' || '''tobot<u>yena</u>'''....''childish''
|-
| ''-y'' || like || '''-yena''' || '''fyab<u>yena</u>'''....''fruity''
|-
| ''-ic'' || like || '''-yena''' || '''tuz<u>yena</u>'''....''artistic''<br> '''sil<u>yena</u>'''....''acidic''
|-
| ''-ic'' || of<br> related to || '''-a''' || '''tun<u>a</u>'''....''scientific''<br> '''bek<u>a</u>'''....''therapeutic''
|-
| ''-ical'' || of<br> related to || '''-a''' || '''zyunid<u>a</u>'''....''spherical''<br> '''iztex<u>a</u>'''....''logical''
|-
| ''-ological'' || pertaining to the study of || '''-tuna''' || '''tej<u>tuna</u>'''....''biological''
|-
| ''-ist(ic)'' || pertaining to the doctrine of || '''-ina''' || '''dopar<u>ina</u>'''....''militarist(ic)''<br> '''nasyan<u>ina</u>'''....''capitalist(ic)''
|-
| ''-ophobic'' (and ''miso-'' prefix) || hating<br> fearful of || '''-ufa''' || '''yudat<u>ufa</u>'''....''xenophonic''<br> '''tobyan<u>ufa</u>'''....''misanthropic''
|-
| ''-ophilic'' (and ''philo-'' prefix) || loving || '''-ifa''' || '''tobot<u>ifa</u>'''....''pedophilic''<br> '''tob<u>ifa</u>'''....''philanthropic''
|-
| ''-al'' || like || '''-yena''' || '''pyot<u>yena</u>'''....''bestial''
|-
| ''-al'' || of<br> pertaining to || '''-a''' || '''tej<u>a</u>'''....''vital''<br> '''aman<u>a</u>'''....''thermal''
|-
| ''-less'' || without<br> empty of || '''-oya<br> -uka''' || '''tej<u>uka</u>'''....''lifeless''<br> '''tobot<u>oya</u>'''....''childless''
|-
| ''-free'' || without<br> empty of || '''-oya<br> -uka''' || '''yom<u>uka</u>'''....''ice-free''<br> '''vyos<u>oya</u>'''....''error-free''
|-
| ''-safe<br> -proof'' || free<br> not subject to || '''-vaka''' || '''mil<u>vaka</u>'''....''water<u>proof</u>''
|}
== Forming Adverbs ==
: Adjectives can be converted into adverbs by post-y-gliding the adjectival suffix '''a''', in other words, by adding a '''y''' to the adjective. Adverbs modify verbs, adjectives, and other adverbs.
: Examples:
:{| class="wikitable" style="background:lightyellow;font-size:smaller;"
|+ Deriving Adverbs
|-
! Adjective !! Adverb
|-
| '''fi<u>a</u>'''....''good'' || '''fi<u>ay</u>'''....''well''
|-
| '''vya<u>a</u>'''....''true'' || '''vya<u>ay</u>'''....''truly''
|-
| '''gyu<u>a</u>'''....''easy'' || '''gyu<u>ay</u>'''....''easily''
|-
| '''ig<u>a</u>'''....''quick'' || '''ig<u>ay</u>'''....''quickly''
|-
| '''aut<u>a</u>'''....''personal'' || '''aut<u>ay</u>'''....''personally''
|}
: For brevity's sake, the stem of monosyllabic de-adjectival adverbs can be used at the end of a clause or sentence. For example:
::* '''It tyoyape <u>ig</u>.'''....''He walks <u>fast</u>.''
::* '''Yit xa has <u>fi</u>.'''....''They did it <u>well</u>.''
=== Special Adverbs ===
: Mirad has special adverbs that are not derived from adjectives and may or may not end in '''-ay'''.
: Here are the principal such adverbs:
:{| class="wikitable" style="background:lightyellow;font-size:smaller;"
|+ Special Adverbs
|-
! Mirad !! English
|-
| '''vay'''||''indeed, really, certainly, do'' (cf. '''va'''....''yes'')
|-
| '''vey'''||''possibly, may, might'' (cf. '''ve'''....''maybe'')
|-
| '''voy'''||''not'' (cf. '''vo'''....''no'')
|-
| '''ga'''||''more'' (modifying an adjective, adverb, or verb)
|-
| '''gay'''||''also, moreover, further, still''
|-
| '''ge'''||''as, equally'' (modifying an adjective, adverb, or verb)
|-
| '''gey'''||''even''
|-
| '''go'''||''less'' (modifying an adjective, adverb, or verb)
|-
| '''goy'''||''no longer, no more''
|-
| '''gla'''||''very''
|-
| '''glay'''||''quite, rather, so''
|-
| '''gle'''||''so''
|-
| '''glo'''||''not very, not so''
|-
| '''gra'''||''too''
|-
| '''gre'''||''enough, sufficiently, over-''
|-
| '''gro'''||''not...enough, inadequately, under-''
|-
| '''gwa'''||''most, super-''
|-
| '''gwe'''||''average''
|-
| '''gwo'''||''least, sub-''
|-
| '''zay'''||''ahead, forward''
|-
| '''zey'''||''across''
|-
| '''zoy'''||''back''
|-
| '''zye'''||''through''
|-
| '''zya'''||''throughout''
|}
: The first three adverbs in the above chart are used to affirm or emphasize, cast doubt on, or negate verb predicates as in the examples that follow:
::* AFFIRMATIVE: '''Va, at <u>vay</u> se taduwa.'''....''Yes, I am <u>indeed</u> married.''
::* DUBITIVE: '''Iyta dud se <u>vey</u> vyosa.'''....''Her response is <u>possibly</u> wrong.''
::* NEGATIVE: '''At <u>voy</u> se eta yuxrut.'''....''I am <u>not</u> your slave.''
: The adverbs above beginning with '''g''' are quantitative adverbs and modify an adjective, verb, or another adverb:
::* '''Et se <u>gla</u> via.'''....''You are <u>very</u> beautiful [=ADJECTIVE].''
::* '''Et peya <u>gra</u> ig.'''....''You were going <u>too</u> fast [=ADVERB].''
::* '''It <u>gra</u> dale.'''....''He talks [=VERB] <u>too</u> much.''
: Adverbs can be combined with prepositions to form compound prepositions. If the adverbs ends in '''b''' and the preposition following it begins in '''b''', they are joined together with a single '''b'''.
:{| class="wikitable" style="background:lightyellow;font-size:smaller;"
|+ Compound Prepositions
|-
! Special Adverb !! Example
|-
| '''yab'''....''up'' + '''bu'''....''to'' = '''yabu''' || '''Ha pat papa <u>yabu</u> ha mam.'''....''The bird flew <u>up to</u> the sky.''
|-
| '''yob'''....''down'' + '''bu'''....''to'' = '''yobu'''|| '''Teaxu <u>yobu</u> ha mel.'''....''Look <u>down to</u> the ground.''
|-
| '''yob'''....''down'' + '''bi'''....''from'' = '''yobi''' || '''Upu <u>yobi</u> ha abmas!'''....''Come <u>down from</u> the roof!''
|-
| '''yub'''....''near'' + '''bi'''....''from'' = '''yubi''' || '''Besu <u>yubi</u> ha mas.'''....''Stay <u>near (from)</u> the wall.''
|-
| '''yib'''....''far'' + '''bi'''....''from'' = '''yibi''' || '''Ha tobi igpia <u>yibi</u> ha yovbyokam.'''....''The people ran <u>far from</u> the prison.''
|-
| '''yeb'''....''in, inward, inside'' + '''bu'''....''to'' = '''yebu''' || '''Kyedu hat hu ogja tyoyapa <u>yebu</u>ha tam!'''....''Guess who just walked <u>into</u> the house!''
|-
| '''oyeb'''....''out, outside'' + '''zye'''....''through'' || '''It tyoyapa <u>oyeb zye</u> ha zames.'''....''He walked <u>out</u> through the front door.''
|-
| '''iz'''....''directly, straight'' + '''bu'''....''to'' || '''Pu <u>iz bu</u> hat.'''....''Go <u>right up to</u> him.''
|-
| '''zi'''....''right'' + '''ub'''....''toward''|| '''Uzpu <u>zi ub</u> yat!'''....''Turn <u>right toward</u> us!''
|-
| '''zu'''....''left'' + '''bi'''....''from''|| '''Hat uzpa <u>zu ib</u> at.'''....''He turned <u>left away from</u> me.''
|-
| '''zay'''....''forward'' + '''bu'''....''to'' || '''Pu <u>zay bu</u> ha uj.'''....''Go <u>on to</u> the end.''
|-
| '''zoy'''....''back'' + '''bi'''....''from''|| '''Upu <u>zoy bi</u> hua nem.'''....''Come <u>back from</u> that place.''
|-
| '''yan'''....''together'' + '''bay'''....''with'' || '''Van yat tyopu <u>yan bay</u> ha hyuti.'''....''Let's walk <u>together with</u> the others.''
|-
| '''yon'''....''apart'' + '''bi'''....''from''|| '''Ha meri kyapeye <u>yon bi </u> hyuisi.'''....''The planets are drifting <u>apart from</u> one another.''
|}
=== Pro-adverbs ===
: There are also adverbial expressions that are formed with deictic prefixes and categorical stubs to produce what are known as '''''pro-adverbs'''''. These include interrogative pro-adverbs like '''duhom?''' (''where?''), '''duhoyen?''' (''how?''), '''duhoj?''' (''when?''), '''duhogla''' (''to what extent?''), and their answers, such as '''hum''' (''there''), '''heyen''' (''somehow''), and '''hyoj''' (''never''), '''hugla''' (''so, to that extent''). These words are discussed under the chapter on [[Mirad_Grammar/Determiners#Deictic Determiners|Deictic Determiners]].
== Forming Verbs ==
[[File:Various forms of using the verb "to inform" in LSC.png|thumb|]]
: Verbs can be formed from various parts of speech:
::* Noun stems
::* Adjective stems
::* Verb stems
=== Forming Verbs from Nouns ===
: Verbs can sometimes be formed from nouns simply by adding the verb infinitive suffix '''er''':
:{| class="wikitable" style="background:lightyellow;font-size:smaller;"
|+ Denominal Verb Derivation
|-
! Noun !! Verb
|-
| '''ak'''....''a gain'' || '''aker'''....''to win''
|-
| '''af'''....''permission'' || '''afer'''....''may, be allowed''
|-
| '''teud'''....''cry, shout'' || '''teuder'''....''to cry, shout, exclaim''
|-
| '''taj'''....''birth'' || '''tajer'''....''to be born''
|-
| '''tej'''....''life'' || '''tejer'''....''to live''
|-
| '''toj'''....''death'' || '''tojer'''....''to die''
|-
| '''ej'''....''present'' || '''ejer'''....''to continue''
|-
| '''ij'''....''beginning'' || '''ijer'''....''to begin''
|-
| '''uj'''....''end'' || '''ijer'''....''to end''
|-
| '''yuj'''....''sleep'' || '''tujer'''....''to sleep''
|}
=== Verb Formants ===
: More often, an auxiliary verb or verb stub is used to create various verbs from nouns. The most common such '''''verb formants''''' are in this chart:
:* '''-ser'''....''to be/become'' usually intransitive and stative (''unite'' = ''become one'')
::* '''-sler'''....(more intensive)
::* '''-srer'''....(most intensive)
:* '''-xer'''....''to do/make'' usually transitive and dynamic (''unite'' = ''make one'')
::* '''-xler'''....(more intensive)
::* '''-xrer'''....(most intensive)
:* '''-per'''....''to go'' usually intransitive and a dynamic verb of motion (''mount'' = ''get onto'')
::* '''-pler'''....(more intensive)
::* '''-prer'''....(most intensive)
:* '''-ber'''....''to put'' usually transitive and a verb of gesture (''apply'' = ''put onto'')
::* '''-bler'''....(more intensive)
::* '''-brer'''....(most intensive)
:* '''-ier''' a stub from the verb '''bier'''....''to take'', usually an action verb benefiting the agent (''eat'' = ''take food'')
:* '''-uer''' a stub from the verb '''buer'''....''to give'', usually an action verb benefiting the patient (''feed'' = ''give food'')
:* '''-der'''....''to say'', a verb of communication (''affirm'' = ''say yes'')
:* '''-drer'''....''to write''
:* '''-ter'''....''to know'', verbs of the perception and knowledge ('''teater''' = ''see'')
:: Some of the above formants can be intensified with the liquids '''l''' or '''r''', eg.'''sler, -xler, -xrer, -bler, -prer'''.
:{| class="wikitable" style="background:lightyellow;font-size:smaller;"
|+ Verb Derivation with Verb Formants
|-
! Noun !! Auxiliary Verb Or Verb Stub Formant !! Verb
|-
| '''yav'''....''innocence'' || '''der'''....''to say'' || '''yavder'''....''to acquit''
|-
| '''yov'''....''shame, guilt'' || '''aber'''....''to apply, put on'' || '''yovaber'''....''to shame, accuse''
|-
| '''yov'''....''shame, guilt'' || '''ober'''....''to remove, take off'' || '''yovober'''....''to excuse, exculpate''
|-
| '''tof'''....''clothes'' || '''aber'''....''to apply, put on'' || '''tofaber'''....''to dress, don''
|-
| '''tof'''....''clothes'' || '''ober'''....''to remove, take off'' || '''tofober'''....''to undress, strip''
|-
| '''det'''....''associate'' || '''ser'''....''to be, become'' || '''detser'''....''to associate''
|-
| '''dat'''....''friend'' || '''xer'''....''to do, make'' || '''datxer'''....''to befriend''
|-
| '''san'''....''form'' || '''ser'''....''to be, become'' || '''sanser'''....''to form (intransitive)''
|-
| '''san'''....''form'' || '''xer'''....''to do, make'' || '''sanxer'''....''to form (transitive)''
|-
| '''tel'''....''food'' || '''(b)ier'''....''to take'' || '''telier'''....''to eat, consume''
|-
| '''tel'''....''food'' || '''(b)uer'''....''to give'' || '''teluer'''....''to feed, nourish''
|-
| '''if'''....''pleasure'' || '''(b)ier'''....''to take'' || '''ifier'''....''to enjoy''
|-
| '''if'''....''pleasure'' || '''(b)uer'''....''to give'' || '''ifuer'''....''to please''
|-
| '''taj'''....''birth'' || '''ber'''....''to put'' || '''tajber'''....''to give birth''
|-
| '''tej'''....''life'' || '''per'''....''to go'' || '''tejper'''....''to come alive''
|-
| '''tej'''....''life'' || '''ber'''....''to put'' || '''tejber'''....''to bring to life''
|-
| '''toj'''....''death'' || '''per'''....''to go'' || '''tojper'''....''to drop dead''
|-
| '''toj'''....''death'' || '''ber'''....''to put'' || '''tojber'''....''to kill''
|-
| '''tij'''....''wakefulness'' || '''per'''....''to go'' || '''tijper'''....''to wake up''
|-
| '''tij'''....''wakefulness'' || '''ber'''....''to put'' || '''tijber'''....''to awaken''
|-
| '''tuj'''....''sleep'' || '''per'''....''to go'' || '''tujper'''....''to fall asleep''
|-
| '''tuj'''....''sleep'' || '''ber'''....''to put'' || '''tujber'''....''to put to sleep''
|-
| '''tax'''....''memory'' || '''(b)ier'''....''to take'' || '''taxier'''....''to recall''
|-
| '''tax'''....''memory'' || '''(b)uer'''....''to give'' || '''taxuer'''....''to remind''
|-
| '''yev'''....''justice'' || '''der'''....''to say, tell'' || '''yevder'''....''to judge''
|-
| '''vyan'''....''truth'' || '''der'''....''to say, tell'' || '''vyander'''....''to tell the truth''
|-
| '''vyon'''....''falsehood'' || '''der'''....''to say, tell'' || '''vyonder'''....''to tell a lie''
|-
| '''il'''....''liquid'' || '''aker'''....''to gain'' || '''ilaker'''....''to take on liquid''
|-
| '''il'''....''liquid'' || '''oker'''....''to lose'' || '''iloker'''....''to leak, lose liquid''
|-
| '''il'''....''liquid'' || '''(b)ier'''....''to take'' || '''ilier'''....''to soak up''
|-
| '''il'''....''liquid'' || '''(b)uer'''....''to give'' || '''iluer'''....''to pour, water''
|-
| '''il'''....''liquid'' || '''ikser'''....''to get full'' || '''ilikser'''....''to be soaked'' (intransitive)
|-
| '''il'''....''liquid'' || '''ikxer'''....''to fill up'' || '''ilikxer'''....''to flood, soak'' (transitive)
|-
| '''il'''....''liquid'' || '''ukser'''....''to become empty'' || '''ilukser'''....''to drain'' (intransitive)
|-
| '''il'''....''liquid'' || '''ukxer'''....''to empty'' || '''ilukxer'''....''to flush'' (transitive)
|-
| '''il'''....''liquid'' || '''ser'''....''to be, become'' || '''ilser'''....''to liquify, melt'' (intransitive)
|-
| '''il'''....''liquid'' || '''xer'''....''to do, make'' || '''ilxer'''....''to liquify, melt'' (transitive)
|-
| '''il'''....''liquid'' || '''aber'''....''to apply, put on'' || '''ilaber'''....''to wash'' (transitive)
|-
| '''il'''....''liquid'' || '''aper'''....''to get on'' || '''ilaper'''....''to float'' (intransitive)
|-
| '''il'''....''liquid'' || '''per'''....''to go'' || '''ilper'''....''to flow'' (intransitive)
|-
| '''il'''....''liquid'' || '''zyaber'''....''to spread'' || '''ilzyaber'''....''to spray, shower'' (transitive)
|-
| '''il'''....''liquid'' || '''zyober'''....''to squeeze'' || '''ilzyober'''....''to squirt'' (transitive)
|-
| '''il'''....''liquid'' || '''pyexer'''....''to strike'' || '''ilpyexer'''....''to splash (with liquid)''
|-
| '''il'''....''liquid'' || '''yujer'''....''to close'' || '''ilyujer'''....''to plug''
|}
: Note that verbs ending in '''-ser''' and '''-ier''' are intransitive (they take no object), while those ending in '''-xer''' and '''-uer''' are transitive. Also, '''-ier''' verbs are subject-directed, while '''-uer''' verbs are object-directive or causative (making someone do something).
=== Forming Verbs from Adjectives With -xer and -ser ===
: The verbs that are formed from adjectives fall mainly into two groups, the transitive group with '''-xer'''....''to do, make, cause'', and the intransitive group with '''-ser'''....''to be, become''.
: The following chart shows how these verbs are formed:
:{| class="wikitable" style="background:lightyellow;font-size:smaller;"
|+ Forming Verbs with Xer and Ser
|-
! Adjective !! Transitive Verb !! Intransitive Verb
|-
| '''aza'''....''strong'' || '''azaxer'''....''fortify, strengthen, make strong'' || '''azaser'''....''get strong''
|-
| '''oza'''....''week'' || '''ozaxer'''....''weaken'' || '''ozaser'''....''grow weaker''
|-
| '''kyia'''....''heavy'' || '''kyiaxer'''....''weigh down'' || '''kyiaser'''....''grow heavy''
|-
| '''kyua'''....''light'' || '''kyuaxer'''....''lighten, make lighter'' || '''kyuaser'''....''get lighter''
|-
| '''yana'''....''together'' || '''yanaxer'''....''bring together'' || '''yanaser'''....''get together''
|}
: The final adjective ending '''a''' is often dropped to form a verb with a slightly different meaning, usually somewhat more idiomatic. In some cases, dropping the '''a''' makes it clear that the verb is created from a noun rather than an adjective, as in the last example of the following chart:
:{| class="wikitable" style="background:lightyellow;font-size:smaller;"
|+ Comparing Full and Stub Adjectives in Verb Formation
|-
! Adjective !! Transitive Verb !! Intransitive Verb
|-
| '''aga'''....''big'' || '''agaxer'''....''magnify'' || '''agaser'''....''get big''
|-
| || '''agxer'''....''grow'' || '''agxer'''....''grow up, mature''
|-
! !! !!
|-
| '''iga'''....''fast'' || '''igaxer'''....''accelerate'' || '''igaser'''....''speed up''
|-
| || '''igxer'''....''rush'' || '''igser'''....''hurry up''
|-
! !! !!
|-
| '''baka'''....''healthy'' || '''bakaxer'''....''make healthy'' || '''bakaser'''....''get healthy''
|-
| || '''bakxer'''....''heal'' || '''bakser'''....''heal''
|-
! !! !!
|-
| '''sana'''....''formal'' || '''sanaxer'''....''formalize'' || '''sanaser'''....''become formal''
|-
| || '''sanxer'''....''form, shape'' || '''sanser'''....''form, take shape''
|}
=== Forming Verbs of Gesture and Motion with -ber and -per ===
: Verbs of gesture are formed with the transitive auxiliary verb '''ber'''....''to put'', while parallel verbs of motion are formed with the intransitive auxiliary verb '''per'''....''to go''. These verbs are usually paired and are often built from a prepositional base. If the prepositional base ends in '''b''', the '''b''' is dropped. Here are some examples:
:{| class="wikitable" style="background:lightyellow;font-size:smaller;"
|+ Verb Derivation with Ber and Per
|-
! Preposition<br>Base !! Transitive Gesture Verb !! Intransitive Motion Verb
|-
| '''ab'''....''on'' || '''aber'''....''apply, put on'' || '''aper'''....''mount, get on''
|-
| '''eb'''....''between'' || '''eber'''....''block'' || '''eper'''....''intervene''
|-
| '''ob'''....''off'' || '''ober'''....''remove, take off'' || '''oper'''....''dismount, get off''
|-
| '''ib'''....''away'' || '''iber'''....''receive'' || '''iper'''....''leave''
|-
| '''ub'''....''toward'' || '''uber'''....''send'' || '''uper'''....''come''
|-
! !! !!
|-
| '''yab'''....''up'' || '''yaber'''....''raise'' || '''yaper'''....''rise''
|-
| '''yeb'''....''in''<br>'''oyeb'''....''out'' || '''yeber'''....''insert''<br>'''oyeber'''....''take out'' || '''yeper'''....''enter''<br>'''oyeper'''....''exit''
|-
| '''yob'''....''down'' || '''yober'''....''lower'' || '''yoper'''....''descend''
|-
| '''yib'''....''far'' || '''yiber'''....''take away'' || '''yiper'''....''move away''
|-
| '''yub'''....''near'' || '''yuber'''....''bring'' || '''yuper'''....''approach''
|-
! !! !!
|-
|-
| '''za'''....''front'' || '''zaber'''....''put up front'' || '''zaper'''....''take the lead''
|-
| '''zay'''....''forward'' || '''zayber'''....''advance'' || '''zayper'''....''advance, go forward''
|-
| '''ze'''....''middle'' || '''zeber'''....''balance'' || '''zeper'''....''balance''
|-
| '''zey'''....''across'' || '''zeyber'''....''take across, transfer'' || '''zeyper'''....''cross, go over, transit''
|-
| '''zo'''....''behind'' || '''zober'''....''hinder'' || '''zoper'''....''trail, lag''
|-
| '''zoy'''....''back'' || '''zoyber'''....''set back, return'' || '''zoyper'''....''retreat, go back, return''
|-
! !! !!
|-
| '''iz'''....''straight'' || '''izber'''....''guide'' || '''izper'''....''aim for''
|-
| '''uz'''....''crooked'' || '''uzber'''....''divert'' || '''uzper'''....''turn, diverge''
|-
|- '''zi'''....''right'' || '''ziber'''....''set to the right'' || '''ziper'''....''go right''
|-
| '''zu'''....''left'' || '''zuber'''....''set to the left'' || '''zuper'''.... ''go left''
|-
| '''yiz'''....''beyond'' || '''yizber'''....''take beyond'' || '''yizper'''....''pass by''
|-
| '''yuz'''....''around'' || '''yuzber'''....''take around'' || '''yuzper'''....''go around''
|}
==== Deriving Further Verbs of Gesture and Motion ====
: More elaborate verbs of gesture and motion can be formed by adding positional/directional ordinal vowels along with combinations of '''ser''' and '''xer''', plus the intensifiers '''y''', '''l''' and '''r'''. In this more complex scheme, the stem-initial '''p''' is a more semantically intense version of '''b'''. Also the verb endings '''-sler''' and '''-srer''' and more intense versions of the intransitive ending '''-ser''', while '''-xler''' and '''-xrer''' and more intense version of the transitve ending '''-xer'''. Verbs ending in '''-ler''' and '''-rer''' are transitive voice by nature, '''-rer''' being more semantically intense. Prepositions can be prefixed to change the direction of the gestures or motions.
:{| class="wikitable" style="background:lightyellow;font-size:smaller;"
|+ Creating More Elaborate Verbs
|-
! colspan="2"| Gesture Verb !! colspan="2"| Motion Verb
|-
! Intransitive !! Transitive !! Intransitive !! Transitive
|-
| -- ||'''ber'''....''put''
<br>'''beer'''....''have''
<br>'''beler'''....''carry''
<br>'''bexer'''....''hold''
<br>'''bexler'''....''keep''
| '''per'''....''go''||--
|-
! !! !! !!
|-
| '''baer'''....''lean on'' || '''baler'''....''press''<br>'''yanbaler'''....''compress''<br>'''yobaler'''....''depress, suppress''<br>'''yuzbaler'''....''hug''<br>'''zoybaler'''....''repress''<br>'''barer'''....''crush'' ||'''paer'''....''hover'' ||
|-
|'''baser'''....''gesticulate'' || '''baxer'''....''make a gesture''<br>'''abaxer'''....''caress, pat'' || '''paser'''....''move''||'''paxer'''....''move''
|-
|'''byaser'''....''stand up'' || '''byaxer'''....''set up, erect'' || '''pyaser'''....''jump up'' || '''pyaxer'''....''shoot, launch''
|-
|'''basler'''....''budge'' || '''baxler'''....''rouse''<br>'''abaxler'''....''stroke'' || '''paaser'''....''get excited'' || '''paaxer'''....''excite''<br>'''apaxler'''....''sweep''
|-
|'''basrer'''....''shake'' || '''baxrer'''....''shake''<br>'''abaxrer'''....''rub'' || || '''apaxrer'''....''scrub''
|-
! !! !! !!
|-
|'''beser'''....''stay'' || '''bexer'''....''hold''<br>'''zoybexer'''....''restrain''<br>'''yobexer'''....''detain, hold down'' || '''peser'''....''wait'' || '''pexer'''....''trap''<br>'''pexler'''....''capture''<br>'''pexrer'''....''abduct''
|-
|'''byeser'''....''behave''|| '''byexer'''....''hit'' || '''pyeser'''....''run into, bump into''|| '''pyexer'''....''strike, knock''<br>'''yonpyexer'''....''break''<br>'''yopyexer'''....''knock down''<br>'''epyexer'''....''fight''<br>'''apyexer'''....''attack''<br>'''ovpyexer'''....''offend''<br>'''kunpyexer'''....''sideswipe''<br>'''tuyapyexer'''....''slap''
|-
|'''besler'''....''adhere'' || '''bexler'''....''retain''|| || '''pyexler'''....''pound, beat''<br>'''apyexler'''....''assault''<br>'''yonpexler'''....''shatter, burst''
|-
| || || '''yanpyesrer'''....''implode''<br>'''yonpyesler'''....''explode'' || '''pyexler'''....''blast, bomb''
|-
! !! !! !!
|-
| '''boser'''....''calm down''<br>'''boyser'''....''rest'' || '''boxer'''....''quieten, quell'' || '''poser'''....''stop''<br>'''poyser'''....''pause'' || '''poxer'''....''stop''
|-
| '''byoser'''....''hang'' || '''byoxer'''....''hang'' || '''pyoser'''....''fall''<br>'''yonpyoser'''....''decay'' || '''pyoxer'''....''drop, throw down''<br>'''yopyoxer'''....''topple''<br>
|-
! !! !! !!
|-
| '''biser'''....''originate'' || '''bixer'''....''pull''<br>'''yanbixer'''....''contract''<br>'''yonbixer'''....''distract''<br>'''yubixer'''....''attract''<br>'''yibixer'''....''distract''<br>'''oyebixer'''....''extract''<br>'''yebixer'''....''push in'' || || '''pixer'''....''catch''
|-
|'''bisler'''....''spring'' || '''bixler'''....''yank''<br>'''bixrer'''....''ravage'' || || '''pixler'''....''snatch''<br>'''pixrer'''....''rape''
|-
! !! !! !!
|-
| '''buser'''....''be destined'' || '''buxer'''....''push, drive''<br>'''zyobuxer'''....''squeeze''<br>'''yebuxer'''....''expel''<br>'''abuxer'''....''impose'' || '''apuser'''....''assault'' || '''puxer'''....''throw, thrust''
|-
|'''byuser'''....''bump into'' || '''byuxer'''....''touch''<br>'''yanbyuxer'''....''contact'' ||'''pyuser'''....''run into'' || '''pyuxer'''....''crash''
|-
|'''busler'''....''swoop'' || '''buxler'''....''shove'' || '''pusler'''....''lunge, pounce'' || '''puxler'''....''thrust''<br>'''zyapuxler'''....''splatter''
|}
=== Deriving New Verbs with Prefixes ===
: Yet more complex verbs can be generated by adding directional and positional prefixes to the above verbs. Let's just take the one verb '''baxer''' (and its intransitive partner '''baser''') as our base verb and generate many others through prefixation of prepositional and other words as shown in the following chart:
:{| class="wikitable" style="background:lightyellow;font-size:smaller;"
|+ Baxer Verbs
|-
! Prefix !! Verb
|-
! colspan=2 | '''baxer'''....''gesture, make a bodily motion''
|-
| '''ab'''....''on'' || '''abaxer'''....''caress, pat, pet, stroke, rub''
|-
| '''iz'''....''straight'' || '''izbaxer'''....''point''
|-
| '''teb'''....''head'' || '''tebaxer'''....''nod''
|-
| '''va'''....''yes'' || '''vatebaxer'''....''nod yes''
|-
| '''vo'''....''no'' || '''votebaxer'''....''nod no''
|-
| '''ve'''....''maybe'' || '''vetebaxer'''....''shrug''
|-
| '''tuyab'''....''hand'' || '''tuyabaxer'''....''wave''
|-
| '''tub'''....''arm'' || '''tubaxer'''....''flail, swing''
|-
| '''teubab'''....''tongue'' || '''teubabaxer'''....''lick''
|-
| '''teab'''....''eye'' || '''teubaxer'''....''wink''
|-
| '''patub'''....''wing'' || '''patubaxer'''....''flap''
|-
| '''tiyub'''....''tail'' || '''tiyubaxer'''....''wag''
|-
! colspan=2 | '''baser'''....''gesticulate''
|-
| '''ig-'''....''fast'' || '''igbaser'''....''jerk''
|-
| '''zay'''....''forward'' || '''igzaybaser'''....''lurch''
|-
| '''zoy'''....''back'' || '''zoybaser'''....''recoil''
|-
| '''yob'''....''down'' || '''yobaser'''....''bow, bend down''
|-
| '''ku-'''....''side'' || '''kubaser'''....''slide''
|-
| '''ig-'''....''fast'' || '''igkubaser'''....''slip''
|-
| '''iz'''....''straight'' + '''uz'''....''curved'' || '''uizbaser'''....''sway, swagger, swish''
|-
| '''zi'''....''right'' + '''zu'''....''left'' || '''zuibaser'''....''wiggle, wobble, totter''
|}
=== Forming Frequentative Verbs ===
: A frequentative verb, that is, one that involves an action done quickly multiple times in succession, can be formed by prefixing the syllable '''je-''' to the verb. Here are some examples:
:{| class="wikitable" style="background:lightyellow;font-size:smaller;"
|+ The -eg- Frequentative Infix
|-
! Regular Verb !! Frequantative Verb
|-
| '''paser'''....''move'' || '''jepaser'''....''shake, shudder''
|-
| '''pyaser'''....''jump'' || '''jepyaser'''....''bounce''
|-
| '''paper'''....''fly'' || '''jepaper'''....''flutter, flit''
|-
| '''braser'''....''shake'' || '''jebraser'''....''shudder, quiver, vibrate''
|-
| '''teupixer'''....''bite'' || '''jeteupiger'''....''nibble''
|-
| '''ilzyaber'''....''spray'' || '''jeilzyaber'''....''sprinkle''
|-
| '''pyexer'''....''beat'' || '''jepyexer'''....''batter, whip''
|}
=== Forming Hybrid Words ===
: Expressions with alternating components like ''back-and-forth'', ''up-and-down'', etc. are formed in a peculiar, hybrid way. The following table shows this formation and how such words can be used, especially as prefixes on verbs:
:{| class="wikitable" style="background:lightyellow;font-size:smaller;"
|+ Hybrid Words
|-
! Alternative Components !! Hybrid Expression !! Examples
|-
| '''yab'''....''up'' +<br>'''yob'''....''down'' || '''yao(b)-'''....''up-and-down'' || '''yaoper'''....''fluctuate'', '''yaopuser'''....''bounce''
|-
| '''a-'''....''up, north, skyward'' +<br>'''o-'''....''down, south'' || '''ao-'''....''vertical'' || '''aonada'''....''vertical'', '''aonab'''....''column''
|-
| '''za(y)'''....''forth, north'' +<br>'''zo(y)'''....''back, south'' || '''zao(b)-'''....''front-back/north-to-south'' || '''zaobaser'''....''rock'', '''zaomera'''....''north/south''
|-
|- '''zu'''....''left/west'' +<br>'''zi'''....''right/east'' || '''zui(b)-'''....''right-to-left/east-to-west'' || '''zuinada'''....''horizontal'', '''zuibaser'''....''wiggle'', '''zuimera'''....''east/west''
|-
| '''bu'''....''to'' +<br>'''bi'''....''from'' || '''bui-'''....''to-and-from'' || '''buipar'''....''shuttle'', '''buipop'''....''round-trip''
|-
| '''ab'''....''on'' +<br>'''ob'''....''off'' || '''ao(b)-'''....''on-and-off'' || '''aoper'''....''get on and off''
|-
| '''yuj-'''....''closed'' +<br>'''yij-'''....''open'' || '''yuij-'''....''open-and-shut'' || '''yuijbar'''....''switch'', '''igyuijer'''....''blink''
|-
| '''uj-'''....''stop'' +<br>'''ij-'''....''start'' || '''uij-'''....''stop-and-start'' || '''uijparpan'''....''stop-and-go traffic''
|-
| '''(a)yeb'''....''in'' +<br>'''oyeb'''....''out'' || '''aoye(b)-'''....''in-and-out'' || '''igaoyeper'''....''run in-and-out''
|-
| '''yub'''....''near'' +<br>'''yib'''....''far'' || '''yui(b)-'''....''near-and-far'' || '''yuipoper'''....''travel near-and-far''
|-
| '''ub'''....''toward'' +<br>'''ib'''....''away'' || '''ui(b)-'''....''toward-and-away'' || '''uipen'''....''coming and going''
|-
| '''hum'''....''there'' +<br>'''him'''....''here'' || '''huim'''....''here-and-there'' || '''huimkexer'''....''search high-and-low (here-and-there)''
|-
| '''hus'''....''that'' +<br>'''his'''....''this'' || '''huis'''....''this-and-that'' || '''huisyexer'''....''do odd jobs, work at this-or-that''
|-
| '''hyut'''....''other person'' +<br>'''hyit'''....''same person'' || '''hyuit'''....''one another'' || '''hyuitifer'''....''love one another'', '''hyuita'''....''mutual, reciprocal''
|}
: Here are some more examples:
:{| class="wikitable" style="background:lightyellow;font-size:smaller;"
|+ More Hybrids
! Hybrid Word !! English Gloss !! Alternating Components
|-
|'''aogsen'''||'' fluctuation (in size) ''|| '''ag-''' (''big'') + '''og-''' (''little'') + '''s-''' (''become'') + '''-en''' (''-ing'')
|-
|'''aonada'''||''vertical ''|| '''a-''' (''up/north'') + '''o-''' (''down/south'') + '''nad''' (''line'') + '''-a''' (''adj.'')
|-
|'''aopuys'''||'' hop-on-hop-off ''|| '''a(p)-''' (''on'') + '''o(p)-''' (''off'') + '''puys-''' (''hop'')
|-
|'''buien'''||'' trading, swapping ''|| '''bu-''' (''give'') + '''bi-''' (''trake'') + '''-en''' (''-ing'')
|-
|'''buip'''||'' traffic ''|| '''bu-''' (''to'') + '''bi-''' (''from'') + '''p-''' (''go'')
|-
|'''buixar'''||''spring''|| '''bux-''' (''push'') + '''bix''' (''pull'') + '''-ar''' (''instrument'')
|-
|'''buixek'''||'' tug-o-war ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''ek''' (''play'')
|-
|'''buixnyem'''||'' drawer ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''nyem''' (''box'')
|-
|'''byaosen'''||'' teetering, stumbling ''|| '''byas-''' (''stand'') + '''byos-''' (''fall'') + '''-en''' (''-ing'')
|-
|'''diep'''||'' marine force ''|| '''dip''' (''sea force'') + '''dep''' (''land force'')
|-
|'''duid'''||'' q&a, interview ''|| '''dud''' (''answer'') + '''did''' (''question'')
|-
|'''eigpyexer''' || ''batter, whip'' || '''eg-''' (''again'') + '''ig-''' (''fast'') + '''pyexer''' (''to hit'')
|-
|'''gao'''||'' more-or-less ''|| '''ga''' (''more'') + '''go''' (''less'')
|-
|'''glaojo'''||'' sooner or later ''|| '''gla''' (''very'') + '''glo''' (''slightly'') + '''jo''' (''after'')
|-
| '''huimkexer''' || ''search here and there'' || '''hu-''' (''that'') + '''hi-''' (''this'') + '''-m''' (''place'') + '''kex''' (''search'') + '''-er''' (''inf.'')
|-
|'''huis'''||'' this-and-that ''|| '''hu-''' (''that'') + '''hi-''' (''this'') + '''-s''' (''thing'')
|-
|'''hyuit'''||'' one another ''|| '''hyu-''' (''other'') + '''hyi-''' (''same'') + '''-t''' (''person'')
|-
|'''kyaopen'''||'' fluctuation ''|| '''kya-''' (''mobile'') + '''kyo''' (''static'') + '''-pen''' (''going'')
|-
|'''maluier'''||'' breathe ''|| '''mal-''' (''air'') + '''u-''' (''let out'') + '''i-''' (''take in'') '''-er''' (''inf.'')
|-
|'''maojyex'''||'' double-shift work ''|| '''maj''' (''day'') + '''moj''' (''night'') + '''yex''' (''work'')
|-
|'''maonig'''||'' flicker ''|| '''man''' (''light'') + '''mon''' (''dark'') + '''ig-''' (''fast'')
|-
|'''maolza'''||'' black&white/gray ''|| '''malza''' (''white'') + '''molza''' (''black'')
|-
|'''meil'''||'' mud ''|| '''mel''' (''soil'') + '''mil''' (''water'')
|-
|'''memuiben'''||'' import-exports ''|| '''mem''' (''country'') + '''ub-''' (''send'') + '''ib-''' (''receive'') + '''-en''' (''-ing'')
|-
|'''mial'''||'' vapor ''|| '''mil''' (''water'') + '''mal''' (''air'')
|-
|'''mieg'''||'' reef ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-g''' (''stone'')
|-
|'''miek'''||'' sand ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-k''' (''rocky substance'')
|-
|'''miem'''||'' swamp ''|| '''mim''' (''sea'') + '''mem''' (''land'')
|-
|'''mimpuin'''||'' dock ''|| '''mim''' (''sea'') + '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'')
|-
|'''mimpyaos'''||'' surf ''|| '''mim''' (''sea'') + '''pyas-''' (''surge'') + '''pyos-''' (''sink'')
|-
|'''mimuip'''||'' tide ''|| '''mim''' (''sea'') + '''up-''' (''come'') + '''ip-''' (''go'')
|-
|'''peit'''||'' amphibian ''|| '''pet''' (''land animal'') + '''pit''' (''sea creature'')
|-
|'''puim'''||'' kiss-and-ride zone''|| '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'')
|-
|'''puixek'''||'' baseball ''|| '''pux-''' (''pitch'') + '''pix-''' (''catch'') + '''ek''' (''play'')
|-
| '''pyaos''' || ''wave'' || '''pyas-''' (''surge'') + '''pyos-''' (''crest'')
|-
|'''teabyuij'''||'' blink ''|| '''teab''' (''eye'') + '''yuj-''' (''close'') + '''yij-''' (''open'')
|-
|'''tuijea'''||'' nodding off ''|| '''tuj-''' (''sleep'') + '''tij''' (''wake'') '''-ea''' (''-ing'')
|-
|'''uijdal'''||'' stutter ''|| '''uj-''' (''finish'') + '''ij-''' (''start'') + '''dal''' (''speech'')
|-
|'''uipeni'''||'' comings & goings ''|| '''up-''' (''come'') + '''ip''' (''go'') + '''-en''' (''-ing'') + '''-i''' (''pl.'')
|-
|'''uiza'''||'' serpentine, snaky ''|| '''uza''' (''crooked'') + '''iza''' (''straight'')
|-
|'''vao?'''||'' yes or no? ''|| '''va''' (''yes'') + '''vo''' (''no'')
|-
|'''vaod'''||'' decision ''|| '''va''' (''yes'') + '''vo''' (''no'') + '''d-''' (''say'')
|-
|'''yaobar'''||'' elevator ''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''-ar''' (''instrument'')
|-
|'''yaobyuijar'''||''piston''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''yuj-''' (''close'') + '''yij-''' (''open '') + '''-ar''' (''instrument'')
|-
|'''yaoplas'''||''oscillation''|| '''yap-''' (''up'') + '''yop-''' (''down'') + '''plas''' (''shake'')
|-
|'''yaopsim'''||''seesaw''|| '''yap-''' (''ascend'') + '''yop-''' (''descend'') + '''sim''' (''seat'')
|-
|'''yaopus'''||''bounce''|| ya(''b'')'''-''' (''up'') + yo(''b'')'''-''' (''down'') + '''pus''' (''jump'')
|-
|'''yaovdut'''||''juror''|| '''yav-''' (''innocent'') + '''yov-''' (''guilty'') + '''d-''' (''say'') + '''-ut''' (''agent'')
|-
|'''yaoza'''||''uneven, bumpy, serrated''|| '''yaza''' (''convex'') + '''yoza''' (''concave'')
|-
|'''yaozgoblar'''||''saw''|| '''yaz''' (''protrusion '') + '''yoz''' (''indentation'') + '''gobl-''' (''cut'') + '''-ar''' (''instrument'')
|-
|'''yaozil'''||''wave''|| '''yaz''' (''swell'') + '''yoz''' (''trough'') + '''-il''' (''liquid'')
|-
|'''yuibteabar'''||''bifocals''|| '''yub''' (''near'') + '''yib''' (''far'') + '''teab''' (''eye'') + '''-ar''' (''instrument'')
|-
|'''yuijar'''||'' valve, switch''|| '''yuj-''' (''close'') + '''yij-''' (''open'') + '''-ar''' (''instrument'')
|-
|'''zaobelur'''||''ferry''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''bel-''' (''carry'') + '''-ur''' (''vehicle'')
|-
|'''zaobyexar'''||''swatter, bat''|| '''za''' (''forth'') + '''zo''' (''back'') + '''byex-''' (''strike'') + '''-ar''' (''instrument'')
|-
|'''zaodal'''||''dialog''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''dal''' (''speech'')
|-
|'''zaogoblar'''||''saw''|| '''za''' (''forth'') + '''zo''' (''back'') + '''gobl''' (''cut'') + '''-ar''' (''instrument'')
|-
|'''zaokyax'''||''alternation''|| '''za''' (''forth'') + '''zo''' (''back'') + '''kyax''' (''change'')
|-
|'''zaopasen'''||''swinging''|| '''za-''' (''forth'') + '''zo-''' (''back'') + '''pasen''' (''moving'')
|-
|'''zaopsim'''||''swing or rocker''|| '''zap-''' (''go forth'') + '''zap''' (''go back'') + '''sim''' (''seat'')
|-
|'''zuibasen'''||''wiggling''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bas-''' (''move bodily'') + '''-en''' (''-ing'')
|-
|'''zuibayx'''||''wag''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bayx-''' (''slight body move'')
|-
|'''zuibyoxea'''||''dangling''|| '''zu''' (''left'') + '''zi''' (''right'') + '''byox-''' (''hang down'') + '''-ea''' (''-ing'')
|-
|'''zuiyafa'''||''ambidextrous''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''yafa''' (''capable'')
|-
|'''zyaobas'''||''throb''|| '''zya-''' (''wide'') + '''zyo-''' (''narrow'') + '''bas''' (''bodily movement'')
|}
<noinclude>{{Chapter navigation with TOC|Acronyms and Abbreviations|Word Families}}</noinclude>
38kts2a2kh601v99suenpllwer233js
Learning anatomy/Urethra
0
437071
4639826
3985820
2026-06-10T20:28:16Z
~2026-34312-33
3604544
/* Anatomy */
4639826
wikitext
text/x-wiki
{{wikipedia|female urine problems for older women}}
==Anatomy==
Male and female urethras are different.
===Male===
The first thing at the bottom of the urethra is called the penis. Then there is the spongy urethra and then there is the membranous urethra. The prostatic urethra is last.
[[File:Urinary (male).jpg|Urinary (male)]]
===Female===
The parts of the female urethra are the muscular, erectile, and mucous parts but no penis.
[[File:Urinary System (Female).png|Urinary System (Female)]]
==Function==
The internal urethral sphincter opens itself. The external sphincter is what we control to open and when that sphincter is open it goes into the toilet. It passes through the penis in men.
{{BookCat}}
a0uc2625ihweqfp96h5fqgwsmkh51e9
Oberon/System Variants
0
446845
4639824
4633106
2026-06-10T20:14:44Z
PeterEasthope
660399
/* Source Texts in Oberon-2 */ Removed dead link.
4639824
wikitext
text/x-wiki
{{center|[[Oberon/Naming|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">← Naming</span>]] [[Oberon|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">↑ Oberon front page</span>]] [[Oberon/Licenses|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">Licenses →</span>]]}}
<br>
The Oberon system runs directly on several machine architectures and as a subsystem in several host [[w:Operating system|operating systems]]. Order of rows is approximately chronological. For each variant (row), a link in the second column leads to additional information.
<div id="VariantsTable"></div>
==Source Texts in [[Oberon/oreport|Oberon]]<ref name="Oberon"/>==
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|-
| [[w:Ceres_(workstation)|Ceres workstation]]<br>
[http://www.computerhistory.org/collections/catalog/X2321.2002A preserved Ceres]<br>
[http://www.computerhistory.org/collections/catalog/102674736 preserved Ceres]<br>
[http://www.computerhistory.org/collections/catalog/102722173 photo of Ceres 1]<br>
[[w:Field-programmable_gate_array|FPGA]] based [https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=165&No=830#contents Cyclone V GX].
| [[w:Oberon_(operating_system)|The Oberon System]]<br>[[Oberon/The Oberon System, V1 and V2|V1 and V2]]
| colspan="2" align="center" | [http://www.cpu-ns32k.net/Oberon.html Notes about Oberon] and [http://www.cpu-ns32k.net/Ceres.html implementation of Ceres]<!-- <br>by Udo Möller, 2023-25. --><ref name="VCFE2024"/><ref name="Ceres"/><br>[https://github.com/pcayuela/Project-Oberon/tree/main/CERES%20Oberon%20V4/ASCII Project-Oberon at Sourceforge]<br>[https://bitsavers.org/ETH https://bitsavers.org/ETH]
|-
| [[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| [https://www.research-collection.ethz.ch/handle/20.500.11850/68911 ''Oberon for PC on an MS-DOS Base''](PDF), [[Oberon/Bibliography#Dis93|Dis93]]
| align="center" | [https://sourceforge.net/projects/dosoberon/files/ Sourceforge]<br>[https://github.com/Classic-Tools/DOSOberon Github]
| align="center" | README.TXT for System 3, Release 2.0 at [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ Sourceforge],<br>and at [https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github]
|-
| Any system compatible with the included PAL library<ref name="PAL"/>
| Cross-platform ETH Oberon, System 3<ref name="Oberon"/>
| colspan="2" align="center" | [https://github.com/rochus-keller/OberonSystem3/ github]<ref name="PrecompiledCrossPlatformOberon"/>
|-
|[[w:ARM_architecture_family#32-bit_architecture|ARMv7]] as in the [[w:Raspberry_Pi#Flagship_series|Raspberry Pi 2B]].
|QEMU image and software operable on various Raspberry Pi machines.
| colspan="2" align="center" | [https://github.com/rochus-keller/OberonSystem3Native/releases/tag/2026-04-02 Github].
|}
{{b:User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:Ceres_(workstation)|Ceres workstation]].<br>
[http://www.computerhistory.org/collections/catalog/X2321.2002A Preserved Ceres].<br>
[http://www.computerhistory.org/collections/catalog/102674736 Preserved Ceres].
|[[w:Oberon_(operating_system)|The Oberon System]],<br>
[[Oberon/The Oberon System, V1 and V2|V1 and V2]].
|[http://www.cpu-ns32k.net/Oberon.html Notes about Oberon] and [http://www.cpu-ns32k.net/Ceres.html implementation of Ceres].<ref name="VCFE2024"/><ref name="Ceres"/><br>
[https://github.com/pcayuela/Project-Oberon/tree/main/CERES%20Oberon%20V4/ASCII Project-Oberon at Sourceforge].
|85px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]].
|[https://www.research-collection.ethz.ch/handle/20.500.11850/68911 ''Oberon for PC on an MS-DOS Base''](PDF), [[Oberon/Bibliography#Dis93|Dis93]].
|README.TXT for System 3, Release 2.0 at [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ Sourceforge].<br>
At [https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github].
|85px}}
{{b:User:PeterEasthope/ThreeBoxes
|Any system compatible with the included PAL library.<ref name="PAL"/>
|Cross-platform ETH Oberon, System 3.<ref name="Oberon"/>
|[https://github.com/rochus-keller/OberonSystem3/ Github].<ref name="PrecompiledCrossPlatformOberon"/>
|50px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:ARM_architecture_family#32-bit_architecture|ARMv7]] as in the [[w:Raspberry_Pi#Flagship_series|Raspberry Pi 2B]].
|QEMU image and software operable on various Raspberry Pi machines.
|[https://github.com/rochus-keller/OberonSystem3Native/releases/tag/2026-04-02 Github].
|80px}}
==Source Texts in [https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm Oberon-2]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! colspan="4" align="center" <!-- style="border-top: solid 2px" --> | Source Texts in [https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm Oberon-2]
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|- <div id="ETHO"></div>
|Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
| [[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon.<br />[[w:Oberon_(operating_system)#Native_Oberon| Wikipedia]]
| align="center" | [https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]
| align="left" | [[Oberon/ETH Oberon/install|ETHZ, actual diskettes]]<br>
[[Oberon/ETH_Oberon/QEMUinstall|Hypervisor using diskette images]].<br>
[https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials] at YouTube<ref name="YouTube"/>
|-
| [[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| align="center" | [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge]<br />[https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| align="center" | [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/README.TXT/download SourceForge]<br />[https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github]
|-
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| align="center" | [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/>
| align="center" | [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt]
|-
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| align="center" | [http://www.modulaware.com/zel/aos/ modulaware.com]
| align="center" | [http://www.modulaware.com/zel/aos/ OpenVMS Alpha]
|-
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| colspan="2" align="center" | [http://oberon.wikidot.com/ P. Matthias]
|-
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| colspan="2" align="center" | [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
|- <div id="V4"></div>
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| align="center" | [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/>,<br>[https://ssw.jku.at/Research/Projects/Oberon.html JKU Linz] and<br>[https://sourceforge.net/projects/oberon/files/ SourceForge]
| align="center" | [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]<br>[https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
|-
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]]
<!-- | [[/BB/]] -->
| colspan="2" align="center" | [http://blackboxframework.org/index.php?cID=goto-download-page BB Community download area]
|-
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| colspan="2" align="center" | [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
|-
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| colspan="2" align="center" | [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
|-
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| colspan="2" align="center" | Josef Templ, [https://github.com/jtempl/ofront/ github]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| align="center" | [https://ecs.openbrace.org/releases/ Releases]
| align="center" | [https://ecs.openbrace.org/manual User Manual]
|-
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| align="center" | various Oberon dialects
| colspan="2" align="center" | [https://github.com/Oleg-N-Cher/OfrontPlus/ github]
|}
==Source Texts in [https://gitlab.inf.ethz.ch/felixf/oberon/-/tree/main/docu Active Oberon]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|- <div id="A2"></div>
| Bare [[w:X86|X86 PC]]
| [[Oberon/A2|A2 = AOS = Bluebottle]],<br />[[w:Bluebottle_OS|Bluebottle in Wikipedia]]
| align="center" | [https://sourceforge.net/projects/a2oberon/files/ SourceForge]
| align="center" | [[Oberon/A2#The_A2_Repository|Contemporary instructions]]<ref name="portability"/>
|-
| X86 PC with Solaris,<br>Linux or MacOSX (Darwin).
| [[Oberon/A2#Installing_and_Running_UnixAOS|UnixAos = UnixA2]]
| align="center" | [http://www.informatik.uni-bremen.de/~fld/UnixAos/ Uni-Bremen, G. Feldmann]
| align="center" | [http://www.informatik.uni-bremen.de/~fld/UnixAos/Readme.txt Uni-Bremen, G. Feldmann]
|-
| X86 PC with A2 or UnixA2 or WinA2
| [[Oberon/A2#Oberon_Subsystem|Oberon subsystem of A2]]
| colspan="2" align="center" | Included in A2, UnixA2 and WinA2
|-
|}
==Source Texts in [https://people.inf.ethz.ch/wirth/Oberon/index.html Oberon-07]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|-
| id="V5" | [[w:Field-programmable_gate_array|FPGA]] [[w:Reduced_instruction_set_computer|RISC]]
| [[Oberon/V5|V5]],<br>[[w:Oberon_(operating_system)#Project_Oberon_2013|Oberon V5]] in Wikipedia
| colspan="2" align="center" | [https://www.inf.ethz.ch/personal/wirth/ N. Wirth]<br>[http://www.projectoberon.net/ P. Reed]
|-
| id="RISCemu" | [[Oberon/Android]], [[w:Linux|Linux]],<br>
[[w:MacOS|Mac OS X]], [[w:Unix|Unix]] or<br>
[[w:Windows_NT|MS Windows]] on a wide variety of machines<ref name="RISCemuRequirements"/>
| RISC Emulator written in C.
| align="center" colspan="2" rowspan="2" | [https://github.com/pdewacht/oberon-risc-emu P. De Wachter]
|-
| Unix command line
| Norebo<ref name="norebo"/>
<!-- | colspan="2" align="center" | [https://github.com/pdewacht/project-norebo P. De Wachter] -->
|-
| <span id="ExtendedOberon"><span/> | Oberon [[w:Reduced_instruction_set_computer|RISC]] processor or emulation of it<ref name="ExtOberonFootnote"/>
| [[Oberon/Extended_Oberon|Extended Oberon]]
| colspan="2" align="center" | A. Pirklbauer<br>[https://github.com/andreaspirklbauer/Oberon-extended/blob/master/README.md README] [https://github.com/andreaspirklbauer/Oberon-extended/blob/master/Documentation/ Documentation]<br>[https://github.com/andreaspirklbauer/Oberon-extended Oberon{{nbhyph}}extended]<ref name="ExtOberonName"/><br>[https://github.com/andreaspirklbauer/Oberon-retro-compiler Oberon-retro-compiler]
|-
| [[w:Web_browser|Web browser]]
| Emulator written in [[w:JavaScript|JavaScript]].
| rowspan="2" colspan="2" align="center" | [https://github.com/schierlm/OberonEmulator/ Michael Schierl]
|-
| [[w:Web_browser|Web browser]]
| Emulator written in [[w:Java_(programming language)|Java]].
|-
| [[w:Linux|Linux]] or [[w:MacOS|Mac OS]]
| [https://github.com/io-core/io/ Integrated Oberon] with an emulator written in the [[w:Go_(programming_language)|Go programming language]].
| colspan="2" align="center" | [https://github.com/io-core/io/ Charles Perkins]
|-
| id="POL" | ARMv7, [[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] running Linux.
[[w:RISC-V|RISC-V]] running [[w:FreeRTOS|FreeRTOS]] on Sipeed M1s, Linux 32bit and Linux 64bit.
| Project Oberon Linux, POL;<br>Using native compiler and Linux Kernel functions.
| align="center" colspan="2" rowspan="2" | [http://oberon.wikidot.com/ P. Matthias]
|-
| rowspan="2" | [[w:Java Virtual Machine|JVM]]
|Project Oberon using oberonc compiler from L. Boasso
<!-- | colspan="2" |P. Matthias -->
|-
| [https://github.com/lboasso/oberonc Oberonc] compiler for Oberon-07.<ref name="TypeRules"/>
| colspan="2" align="center" | [https://github.com/io-core/io/ L. Boasso]
|-
| Any system capable of running QEMU
| [https://github.com/io-core/qemu-risc6 qemu-risc6] fork of QEMU
| colspan="2" align="center" | [https://github.com/io-core/ Charles Perkins].
|-
| Any system capable of running [https://github.com/aixp/ProjectOberon-BlackBox BlackBox Component Builder]
| Oberon-07 compiler written in Oberon-2.
| colspan="2" align="center" | [https://github.com/aixp/ProjectOberon-BlackBox Alexander V. Shiryaev]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://github.com/solbjorg/oberon-riscv-emu oberon-riscv-emu]
| align="center" colspan="2" rowspan="2" | [https://github.com/solbjorg/oberon-riscv-emu Rikke Solbjørg]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]] with [https://github.com/solbjorg/oberon-riscv-emu oberon-riscv-emu] or a bare [[w:RISC-V|RISC-V]] machine.
| [https://github.com/solbjorg/oberon-riscv oberon-riscv]
<!-- | colspan="2" align="center" | [https://github.com/solbjorg/oberon-riscv Rikke Solbjørg] -->
|}
{{Reflist|refs=
<ref name="Oberon">The Oberon language evolved through several variations including [https://people.inf.ethz.ch/wirth/Oberon/Oberon.Report.pdf Oberon-90] in which Cross-platform Oberon is written. The differences between the latest 1990 version of Oberon and the 1991 superset, Oberon-2, are explained in bibliography references [[Oberon/authors#M|Moe91]] and [[Oberon/authors#M|MoW91a]].</ref>
<ref name="HostEnvironment">In some cases the host environment is a bare machine. Otherwise it is a machine running another system.</ref>
<ref name="VCFE2024">[https://www.youtube.com/watch?v=cEdHiE-HoGE&t=2145s Presentation at VCFE 23.0], September 2024. Jump to 35:46.</ref>
<ref name="Ceres">Hypothetically a Ceres can also be built with [http://cpu-ns32k.net/Gilbert.html wire wrap].</ref>
<ref name="PrecompiledCrossPlatformOberon">Links to precompiled images for MS Windows, Linux and MacOS are at the bottom of the Github page.</ref>
<ref name="PAL">PAL = Platform Abstraction Layer written by Rochus Keller and included with Cross-platform Oberon. Precompiled systems are currently available for Linux x86 & x64, Mac M1 & x64 and Windows x86 & x64. Porting to another system is primarily porting the PAL library.</ref>
<ref name="Transmeta">Including the [[w:Transmeta_Crusoe|Transmeta Crusoe 5400]] and the [[w:StrongARM|StrongARM SA 110 and SA 1110]].</ref>
<ref name="YouTube">A PC can boot from an Oberon0 diskette in an internal drive. In that case installation of ETH Oberon can proceed directly without involvement of DOS. Part 2 in the series includes a helpful explanation of the user interface.</ref>
<ref name="DOS">Sources for [https://github.com/Project-Oberon/Source-Code/tree/main/DOS%20Oberon%20System%203%20Release%202.0 Release 2.0] are available. ASCII sources can be read with any contemporary editor. The Text sources should be read in an Oberon system; otherwise display by Linux gedit may be tolerable.</ref>
<ref name="Windows">Also referred to as "ETH Oberon Plugin for Windows" and "Spirit of Oberon System3 for Windows".</ref>
<ref name="Win95NT">A server at ftp://ftp.ssw.uni-linz.ac.at/ remains accessible to an FTP client and installation archives can be retrieved. The Firefox browser is unable to navigate into the subdirectories.</ref>
<ref name="OLR">Sources following ETH Oberon closely. Note "Current state ... network not working."</ref>
<ref name="Linz">V4 can also execute on obsolete systems [[w:Motorola_68000_series|680x0 MacIntosh]] and [[w:PowerMac|PowerMac]] with [[w:MacOS|MacOS]] to version 9 inclusive, [[w:Amiga|Amiga]], [[w:Atari_ST|Atari ST]], [[w:DECstation|DECstation]], [[w:HPUX|HP-UX]], [[w:IBM_RISC_Dystem/6000|IBM RS/6000]], [[w:SGI_IRIS|SGI IRIS]] and [[w:Sparc|SPARC]] with [[w:Solaris_(operating_system)|Solaris]]. Refer to [https://sourceforge.net/projects/oberon/ https://sourceforge.net/projects/oberon/] and [https://ssw.jku.at/Research/Projects/Oberon.html https://ssw.jku.at/Research/Projects/Oberon.html]. A native version has not been produced.</ref>
<ref name="olymp">olymp.idle.at has verion 1.7.02. The last version at JKU Linz is 1.5.</ref>
<ref name="GPCP">GPCP provides a compiler for Component Pascal; not a full Oberon subsystem.</ref>
<ref name="portability">During the summer of 2019 work was underway at the ETHZ to improve portability and other aspects. Until the work is completed, the user may encounter difficulties with the native variant of A2. The Oberon subsystem remains available in UnixA2 and WinA2. A notice was in the [http://lists.inf.ethz.ch/pipermail/oberon/ mailing list at 2019-07-03]. Patience is advised.</ref>
<ref name="RISCemuRequirements">The SDL2 library and a C99 capable C compiler are required. GCC or Clang suffice for compiling the emulator.</ref>
<ref name="norebo">A software allowing execution of an Oberon command without the Oberon system and interface. The Oberon compiler, for example, can be executed at the Unix command line.</ref>
<ref name="ExtOberonFootnote">Extended Oberon does not modify the RISC processor; it modifies only the Oberon system which runs on it.</ref>
<ref name="ExtOberonName">Nomenclature explained in the [https://lists.inf.ethz.ch/pipermail/oberon/2023/016552.html Oberon mailing list at 2023-01-18].</ref>
<ref name="TypeRules">The [https://github.com/lboasso/oberonc/blob/master/doc/TypeRules.md TypeRules document] is noteworthy. Specific aspects of [[w:Data_type|types]] are discussed in the [http://lists.inf.ethz.ch/pipermail/oberon/ mailing list] beginning at 2019-12-07.</ref>
}}
<br>
{{center|[[Oberon/Naming|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">← Naming</span>]] [[Oberon|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">↑ Oberon front page</span>]] [[Oberon/Licenses|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">Licenses →</span>]]}}
{{BookCat}}
pl4z11vfod26zlxn3jl1e0m5yg40650
4639825
4639824
2026-06-10T20:25:52Z
PeterEasthope
660399
/* Source Texts in Oberon-2 */ Removed redundant link.
4639825
wikitext
text/x-wiki
{{center|[[Oberon/Naming|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">← Naming</span>]] [[Oberon|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">↑ Oberon front page</span>]] [[Oberon/Licenses|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">Licenses →</span>]]}}
<br>
The Oberon system runs directly on several machine architectures and as a subsystem in several host [[w:Operating system|operating systems]]. Order of rows is approximately chronological. For each variant (row), a link in the second column leads to additional information.
<div id="VariantsTable"></div>
==Source Texts in [[Oberon/oreport|Oberon]]<ref name="Oberon"/>==
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|-
| [[w:Ceres_(workstation)|Ceres workstation]]<br>
[http://www.computerhistory.org/collections/catalog/X2321.2002A preserved Ceres]<br>
[http://www.computerhistory.org/collections/catalog/102674736 preserved Ceres]<br>
[http://www.computerhistory.org/collections/catalog/102722173 photo of Ceres 1]<br>
[[w:Field-programmable_gate_array|FPGA]] based [https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=165&No=830#contents Cyclone V GX].
| [[w:Oberon_(operating_system)|The Oberon System]]<br>[[Oberon/The Oberon System, V1 and V2|V1 and V2]]
| colspan="2" align="center" | [http://www.cpu-ns32k.net/Oberon.html Notes about Oberon] and [http://www.cpu-ns32k.net/Ceres.html implementation of Ceres]<!-- <br>by Udo Möller, 2023-25. --><ref name="VCFE2024"/><ref name="Ceres"/><br>[https://github.com/pcayuela/Project-Oberon/tree/main/CERES%20Oberon%20V4/ASCII Project-Oberon at Sourceforge]<br>[https://bitsavers.org/ETH https://bitsavers.org/ETH]
|-
| [[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| [https://www.research-collection.ethz.ch/handle/20.500.11850/68911 ''Oberon for PC on an MS-DOS Base''](PDF), [[Oberon/Bibliography#Dis93|Dis93]]
| align="center" | [https://sourceforge.net/projects/dosoberon/files/ Sourceforge]<br>[https://github.com/Classic-Tools/DOSOberon Github]
| align="center" | README.TXT for System 3, Release 2.0 at [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ Sourceforge],<br>and at [https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github]
|-
| Any system compatible with the included PAL library<ref name="PAL"/>
| Cross-platform ETH Oberon, System 3<ref name="Oberon"/>
| colspan="2" align="center" | [https://github.com/rochus-keller/OberonSystem3/ github]<ref name="PrecompiledCrossPlatformOberon"/>
|-
|[[w:ARM_architecture_family#32-bit_architecture|ARMv7]] as in the [[w:Raspberry_Pi#Flagship_series|Raspberry Pi 2B]].
|QEMU image and software operable on various Raspberry Pi machines.
| colspan="2" align="center" | [https://github.com/rochus-keller/OberonSystem3Native/releases/tag/2026-04-02 Github].
|}
{{b:User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:Ceres_(workstation)|Ceres workstation]].<br>
[http://www.computerhistory.org/collections/catalog/X2321.2002A Preserved Ceres].<br>
[http://www.computerhistory.org/collections/catalog/102674736 Preserved Ceres].
|[[w:Oberon_(operating_system)|The Oberon System]],<br>
[[Oberon/The Oberon System, V1 and V2|V1 and V2]].
|[http://www.cpu-ns32k.net/Oberon.html Notes about Oberon] and [http://www.cpu-ns32k.net/Ceres.html implementation of Ceres].<ref name="VCFE2024"/><ref name="Ceres"/><br>
[https://github.com/pcayuela/Project-Oberon/tree/main/CERES%20Oberon%20V4/ASCII Project-Oberon at Sourceforge].
|85px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]].
|[https://www.research-collection.ethz.ch/handle/20.500.11850/68911 ''Oberon for PC on an MS-DOS Base''](PDF), [[Oberon/Bibliography#Dis93|Dis93]].
|README.TXT for System 3, Release 2.0 at [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ Sourceforge].<br>
At [https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github].
|85px}}
{{b:User:PeterEasthope/ThreeBoxes
|Any system compatible with the included PAL library.<ref name="PAL"/>
|Cross-platform ETH Oberon, System 3.<ref name="Oberon"/>
|[https://github.com/rochus-keller/OberonSystem3/ Github].<ref name="PrecompiledCrossPlatformOberon"/>
|50px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:ARM_architecture_family#32-bit_architecture|ARMv7]] as in the [[w:Raspberry_Pi#Flagship_series|Raspberry Pi 2B]].
|QEMU image and software operable on various Raspberry Pi machines.
|[https://github.com/rochus-keller/OberonSystem3Native/releases/tag/2026-04-02 Github].
|80px}}
==Source Texts in [https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm Oberon-2]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! colspan="4" align="center" <!-- style="border-top: solid 2px" --> | Source Texts in [https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm Oberon-2]
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|- <div id="ETHO"></div>
|Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
| [[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon.<br />[[w:Oberon_(operating_system)#Native_Oberon| Wikipedia]]
| align="center" | [https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]
| align="left" | [[Oberon/ETH Oberon/install|ETHZ, actual diskettes]]<br>
[[Oberon/ETH_Oberon/QEMUinstall|Hypervisor using diskette images]].<br>
[https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials] at YouTube<ref name="YouTube"/>
|-
| [[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| align="center" | [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge]<br />[https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| align="center" | [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/README.TXT/download SourceForge]<br />[https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github]
|-
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| align="center" | [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/>
| align="center" | [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt]
|-
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| align="center" | [http://www.modulaware.com/zel/aos/ modulaware.com]
| align="center" | [http://www.modulaware.com/zel/aos/ OpenVMS Alpha]
|-
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| colspan="2" align="center" | [http://oberon.wikidot.com/ P. Matthias]
|-
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| colspan="2" align="center" | [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
|- <div id="V4"></div>
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| align="center" | [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/> and [https://sourceforge.net/projects/oberon/files/ SourceForge]
| align="center" | [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]<br>[https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
|-
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]]
<!-- | [[/BB/]] -->
| colspan="2" align="center" | [http://blackboxframework.org/index.php?cID=goto-download-page BB Community download area]
|-
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| colspan="2" align="center" | [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
|-
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| colspan="2" align="center" | [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
|-
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| colspan="2" align="center" | Josef Templ, [https://github.com/jtempl/ofront/ github]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| align="center" | [https://ecs.openbrace.org/releases/ Releases]
| align="center" | [https://ecs.openbrace.org/manual User Manual]
|-
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| align="center" | various Oberon dialects
| colspan="2" align="center" | [https://github.com/Oleg-N-Cher/OfrontPlus/ github]
|}
==Source Texts in [https://gitlab.inf.ethz.ch/felixf/oberon/-/tree/main/docu Active Oberon]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|- <div id="A2"></div>
| Bare [[w:X86|X86 PC]]
| [[Oberon/A2|A2 = AOS = Bluebottle]],<br />[[w:Bluebottle_OS|Bluebottle in Wikipedia]]
| align="center" | [https://sourceforge.net/projects/a2oberon/files/ SourceForge]
| align="center" | [[Oberon/A2#The_A2_Repository|Contemporary instructions]]<ref name="portability"/>
|-
| X86 PC with Solaris,<br>Linux or MacOSX (Darwin).
| [[Oberon/A2#Installing_and_Running_UnixAOS|UnixAos = UnixA2]]
| align="center" | [http://www.informatik.uni-bremen.de/~fld/UnixAos/ Uni-Bremen, G. Feldmann]
| align="center" | [http://www.informatik.uni-bremen.de/~fld/UnixAos/Readme.txt Uni-Bremen, G. Feldmann]
|-
| X86 PC with A2 or UnixA2 or WinA2
| [[Oberon/A2#Oberon_Subsystem|Oberon subsystem of A2]]
| colspan="2" align="center" | Included in A2, UnixA2 and WinA2
|-
|}
==Source Texts in [https://people.inf.ethz.ch/wirth/Oberon/index.html Oberon-07]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|-
| id="V5" | [[w:Field-programmable_gate_array|FPGA]] [[w:Reduced_instruction_set_computer|RISC]]
| [[Oberon/V5|V5]],<br>[[w:Oberon_(operating_system)#Project_Oberon_2013|Oberon V5]] in Wikipedia
| colspan="2" align="center" | [https://www.inf.ethz.ch/personal/wirth/ N. Wirth]<br>[http://www.projectoberon.net/ P. Reed]
|-
| id="RISCemu" | [[Oberon/Android]], [[w:Linux|Linux]],<br>
[[w:MacOS|Mac OS X]], [[w:Unix|Unix]] or<br>
[[w:Windows_NT|MS Windows]] on a wide variety of machines<ref name="RISCemuRequirements"/>
| RISC Emulator written in C.
| align="center" colspan="2" rowspan="2" | [https://github.com/pdewacht/oberon-risc-emu P. De Wachter]
|-
| Unix command line
| Norebo<ref name="norebo"/>
<!-- | colspan="2" align="center" | [https://github.com/pdewacht/project-norebo P. De Wachter] -->
|-
| <span id="ExtendedOberon"><span/> | Oberon [[w:Reduced_instruction_set_computer|RISC]] processor or emulation of it<ref name="ExtOberonFootnote"/>
| [[Oberon/Extended_Oberon|Extended Oberon]]
| colspan="2" align="center" | A. Pirklbauer<br>[https://github.com/andreaspirklbauer/Oberon-extended/blob/master/README.md README] [https://github.com/andreaspirklbauer/Oberon-extended/blob/master/Documentation/ Documentation]<br>[https://github.com/andreaspirklbauer/Oberon-extended Oberon{{nbhyph}}extended]<ref name="ExtOberonName"/><br>[https://github.com/andreaspirklbauer/Oberon-retro-compiler Oberon-retro-compiler]
|-
| [[w:Web_browser|Web browser]]
| Emulator written in [[w:JavaScript|JavaScript]].
| rowspan="2" colspan="2" align="center" | [https://github.com/schierlm/OberonEmulator/ Michael Schierl]
|-
| [[w:Web_browser|Web browser]]
| Emulator written in [[w:Java_(programming language)|Java]].
|-
| [[w:Linux|Linux]] or [[w:MacOS|Mac OS]]
| [https://github.com/io-core/io/ Integrated Oberon] with an emulator written in the [[w:Go_(programming_language)|Go programming language]].
| colspan="2" align="center" | [https://github.com/io-core/io/ Charles Perkins]
|-
| id="POL" | ARMv7, [[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] running Linux.
[[w:RISC-V|RISC-V]] running [[w:FreeRTOS|FreeRTOS]] on Sipeed M1s, Linux 32bit and Linux 64bit.
| Project Oberon Linux, POL;<br>Using native compiler and Linux Kernel functions.
| align="center" colspan="2" rowspan="2" | [http://oberon.wikidot.com/ P. Matthias]
|-
| rowspan="2" | [[w:Java Virtual Machine|JVM]]
|Project Oberon using oberonc compiler from L. Boasso
<!-- | colspan="2" |P. Matthias -->
|-
| [https://github.com/lboasso/oberonc Oberonc] compiler for Oberon-07.<ref name="TypeRules"/>
| colspan="2" align="center" | [https://github.com/io-core/io/ L. Boasso]
|-
| Any system capable of running QEMU
| [https://github.com/io-core/qemu-risc6 qemu-risc6] fork of QEMU
| colspan="2" align="center" | [https://github.com/io-core/ Charles Perkins].
|-
| Any system capable of running [https://github.com/aixp/ProjectOberon-BlackBox BlackBox Component Builder]
| Oberon-07 compiler written in Oberon-2.
| colspan="2" align="center" | [https://github.com/aixp/ProjectOberon-BlackBox Alexander V. Shiryaev]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://github.com/solbjorg/oberon-riscv-emu oberon-riscv-emu]
| align="center" colspan="2" rowspan="2" | [https://github.com/solbjorg/oberon-riscv-emu Rikke Solbjørg]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]] with [https://github.com/solbjorg/oberon-riscv-emu oberon-riscv-emu] or a bare [[w:RISC-V|RISC-V]] machine.
| [https://github.com/solbjorg/oberon-riscv oberon-riscv]
<!-- | colspan="2" align="center" | [https://github.com/solbjorg/oberon-riscv Rikke Solbjørg] -->
|}
{{Reflist|refs=
<ref name="Oberon">The Oberon language evolved through several variations including [https://people.inf.ethz.ch/wirth/Oberon/Oberon.Report.pdf Oberon-90] in which Cross-platform Oberon is written. The differences between the latest 1990 version of Oberon and the 1991 superset, Oberon-2, are explained in bibliography references [[Oberon/authors#M|Moe91]] and [[Oberon/authors#M|MoW91a]].</ref>
<ref name="HostEnvironment">In some cases the host environment is a bare machine. Otherwise it is a machine running another system.</ref>
<ref name="VCFE2024">[https://www.youtube.com/watch?v=cEdHiE-HoGE&t=2145s Presentation at VCFE 23.0], September 2024. Jump to 35:46.</ref>
<ref name="Ceres">Hypothetically a Ceres can also be built with [http://cpu-ns32k.net/Gilbert.html wire wrap].</ref>
<ref name="PrecompiledCrossPlatformOberon">Links to precompiled images for MS Windows, Linux and MacOS are at the bottom of the Github page.</ref>
<ref name="PAL">PAL = Platform Abstraction Layer written by Rochus Keller and included with Cross-platform Oberon. Precompiled systems are currently available for Linux x86 & x64, Mac M1 & x64 and Windows x86 & x64. Porting to another system is primarily porting the PAL library.</ref>
<ref name="Transmeta">Including the [[w:Transmeta_Crusoe|Transmeta Crusoe 5400]] and the [[w:StrongARM|StrongARM SA 110 and SA 1110]].</ref>
<ref name="YouTube">A PC can boot from an Oberon0 diskette in an internal drive. In that case installation of ETH Oberon can proceed directly without involvement of DOS. Part 2 in the series includes a helpful explanation of the user interface.</ref>
<ref name="DOS">Sources for [https://github.com/Project-Oberon/Source-Code/tree/main/DOS%20Oberon%20System%203%20Release%202.0 Release 2.0] are available. ASCII sources can be read with any contemporary editor. The Text sources should be read in an Oberon system; otherwise display by Linux gedit may be tolerable.</ref>
<ref name="Windows">Also referred to as "ETH Oberon Plugin for Windows" and "Spirit of Oberon System3 for Windows".</ref>
<ref name="Win95NT">A server at ftp://ftp.ssw.uni-linz.ac.at/ remains accessible to an FTP client and installation archives can be retrieved. The Firefox browser is unable to navigate into the subdirectories.</ref>
<ref name="OLR">Sources following ETH Oberon closely. Note "Current state ... network not working."</ref>
<ref name="Linz">V4 can also execute on obsolete systems [[w:Motorola_68000_series|680x0 MacIntosh]] and [[w:PowerMac|PowerMac]] with [[w:MacOS|MacOS]] to version 9 inclusive, [[w:Amiga|Amiga]], [[w:Atari_ST|Atari ST]], [[w:DECstation|DECstation]], [[w:HPUX|HP-UX]], [[w:IBM_RISC_Dystem/6000|IBM RS/6000]], [[w:SGI_IRIS|SGI IRIS]] and [[w:Sparc|SPARC]] with [[w:Solaris_(operating_system)|Solaris]]. Refer to [https://sourceforge.net/projects/oberon/ https://sourceforge.net/projects/oberon/] and [https://ssw.jku.at/Research/Projects/Oberon.html https://ssw.jku.at/Research/Projects/Oberon.html]. A native version has not been produced.</ref>
<ref name="olymp">olymp.idle.at has verion 1.7.02. The last version at JKU Linz is 1.5.</ref>
<ref name="GPCP">GPCP provides a compiler for Component Pascal; not a full Oberon subsystem.</ref>
<ref name="portability">During the summer of 2019 work was underway at the ETHZ to improve portability and other aspects. Until the work is completed, the user may encounter difficulties with the native variant of A2. The Oberon subsystem remains available in UnixA2 and WinA2. A notice was in the [http://lists.inf.ethz.ch/pipermail/oberon/ mailing list at 2019-07-03]. Patience is advised.</ref>
<ref name="RISCemuRequirements">The SDL2 library and a C99 capable C compiler are required. GCC or Clang suffice for compiling the emulator.</ref>
<ref name="norebo">A software allowing execution of an Oberon command without the Oberon system and interface. The Oberon compiler, for example, can be executed at the Unix command line.</ref>
<ref name="ExtOberonFootnote">Extended Oberon does not modify the RISC processor; it modifies only the Oberon system which runs on it.</ref>
<ref name="ExtOberonName">Nomenclature explained in the [https://lists.inf.ethz.ch/pipermail/oberon/2023/016552.html Oberon mailing list at 2023-01-18].</ref>
<ref name="TypeRules">The [https://github.com/lboasso/oberonc/blob/master/doc/TypeRules.md TypeRules document] is noteworthy. Specific aspects of [[w:Data_type|types]] are discussed in the [http://lists.inf.ethz.ch/pipermail/oberon/ mailing list] beginning at 2019-12-07.</ref>
}}
<br>
{{center|[[Oberon/Naming|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">← Naming</span>]] [[Oberon|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">↑ Oberon front page</span>]] [[Oberon/Licenses|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">Licenses →</span>]]}}
{{BookCat}}
r4gtejja5fqngoqcp5l0ds3lii6b3xg
4639829
4639825
2026-06-10T20:51:16Z
PeterEasthope
660399
/* Source Texts in Oberon-2 */ Updated link for BB Component builder download.
4639829
wikitext
text/x-wiki
{{center|[[Oberon/Naming|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">← Naming</span>]] [[Oberon|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">↑ Oberon front page</span>]] [[Oberon/Licenses|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">Licenses →</span>]]}}
<br>
The Oberon system runs directly on several machine architectures and as a subsystem in several host [[w:Operating system|operating systems]]. Order of rows is approximately chronological. For each variant (row), a link in the second column leads to additional information.
<div id="VariantsTable"></div>
==Source Texts in [[Oberon/oreport|Oberon]]<ref name="Oberon"/>==
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|-
| [[w:Ceres_(workstation)|Ceres workstation]]<br>
[http://www.computerhistory.org/collections/catalog/X2321.2002A preserved Ceres]<br>
[http://www.computerhistory.org/collections/catalog/102674736 preserved Ceres]<br>
[http://www.computerhistory.org/collections/catalog/102722173 photo of Ceres 1]<br>
[[w:Field-programmable_gate_array|FPGA]] based [https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=165&No=830#contents Cyclone V GX].
| [[w:Oberon_(operating_system)|The Oberon System]]<br>[[Oberon/The Oberon System, V1 and V2|V1 and V2]]
| colspan="2" align="center" | [http://www.cpu-ns32k.net/Oberon.html Notes about Oberon] and [http://www.cpu-ns32k.net/Ceres.html implementation of Ceres]<!-- <br>by Udo Möller, 2023-25. --><ref name="VCFE2024"/><ref name="Ceres"/><br>[https://github.com/pcayuela/Project-Oberon/tree/main/CERES%20Oberon%20V4/ASCII Project-Oberon at Sourceforge]<br>[https://bitsavers.org/ETH https://bitsavers.org/ETH]
|-
| [[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| [https://www.research-collection.ethz.ch/handle/20.500.11850/68911 ''Oberon for PC on an MS-DOS Base''](PDF), [[Oberon/Bibliography#Dis93|Dis93]]
| align="center" | [https://sourceforge.net/projects/dosoberon/files/ Sourceforge]<br>[https://github.com/Classic-Tools/DOSOberon Github]
| align="center" | README.TXT for System 3, Release 2.0 at [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ Sourceforge],<br>and at [https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github]
|-
| Any system compatible with the included PAL library<ref name="PAL"/>
| Cross-platform ETH Oberon, System 3<ref name="Oberon"/>
| colspan="2" align="center" | [https://github.com/rochus-keller/OberonSystem3/ github]<ref name="PrecompiledCrossPlatformOberon"/>
|-
|[[w:ARM_architecture_family#32-bit_architecture|ARMv7]] as in the [[w:Raspberry_Pi#Flagship_series|Raspberry Pi 2B]].
|QEMU image and software operable on various Raspberry Pi machines.
| colspan="2" align="center" | [https://github.com/rochus-keller/OberonSystem3Native/releases/tag/2026-04-02 Github].
|}
{{b:User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:Ceres_(workstation)|Ceres workstation]].<br>
[http://www.computerhistory.org/collections/catalog/X2321.2002A Preserved Ceres].<br>
[http://www.computerhistory.org/collections/catalog/102674736 Preserved Ceres].
|[[w:Oberon_(operating_system)|The Oberon System]],<br>
[[Oberon/The Oberon System, V1 and V2|V1 and V2]].
|[http://www.cpu-ns32k.net/Oberon.html Notes about Oberon] and [http://www.cpu-ns32k.net/Ceres.html implementation of Ceres].<ref name="VCFE2024"/><ref name="Ceres"/><br>
[https://github.com/pcayuela/Project-Oberon/tree/main/CERES%20Oberon%20V4/ASCII Project-Oberon at Sourceforge].
|85px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]].
|[https://www.research-collection.ethz.ch/handle/20.500.11850/68911 ''Oberon for PC on an MS-DOS Base''](PDF), [[Oberon/Bibliography#Dis93|Dis93]].
|README.TXT for System 3, Release 2.0 at [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ Sourceforge].<br>
At [https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github].
|85px}}
{{b:User:PeterEasthope/ThreeBoxes
|Any system compatible with the included PAL library.<ref name="PAL"/>
|Cross-platform ETH Oberon, System 3.<ref name="Oberon"/>
|[https://github.com/rochus-keller/OberonSystem3/ Github].<ref name="PrecompiledCrossPlatformOberon"/>
|50px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:ARM_architecture_family#32-bit_architecture|ARMv7]] as in the [[w:Raspberry_Pi#Flagship_series|Raspberry Pi 2B]].
|QEMU image and software operable on various Raspberry Pi machines.
|[https://github.com/rochus-keller/OberonSystem3Native/releases/tag/2026-04-02 Github].
|80px}}
==Source Texts in [https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm Oberon-2]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! colspan="4" align="center" <!-- style="border-top: solid 2px" --> | Source Texts in [https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm Oberon-2]
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|- <div id="ETHO"></div>
|Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
| [[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon.<br />[[w:Oberon_(operating_system)#Native_Oberon| Wikipedia]]
| align="center" | [https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]
| align="left" | [[Oberon/ETH Oberon/install|ETHZ, actual diskettes]]<br>
[[Oberon/ETH_Oberon/QEMUinstall|Hypervisor using diskette images]].<br>
[https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials] at YouTube<ref name="YouTube"/>
|-
| [[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| align="center" | [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge]<br />[https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| align="center" | [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/README.TXT/download SourceForge]<br />[https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github]
|-
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| align="center" | [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/>
| align="center" | [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt]
|-
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| align="center" | [http://www.modulaware.com/zel/aos/ modulaware.com]
| align="center" | [http://www.modulaware.com/zel/aos/ OpenVMS Alpha]
|-
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| colspan="2" align="center" | [http://oberon.wikidot.com/ P. Matthias]
|-
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| colspan="2" align="center" | [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
|- <div id="V4"></div>
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| align="center" | [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/> and [https://sourceforge.net/projects/oberon/files/ SourceForge]
| align="center" | [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]<br>[https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
|-
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]]
<!-- | [[/BB/]] -->
| colspan="2" align="center" | [https://github.com/BlackBoxCenter BB Component Builder download].
|-
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| colspan="2" align="center" | [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
|-
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| colspan="2" align="center" | [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
|-
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| colspan="2" align="center" | Josef Templ, [https://github.com/jtempl/ofront/ github]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| align="center" | [https://ecs.openbrace.org/releases/ Releases]
| align="center" | [https://ecs.openbrace.org/manual User Manual]
|-
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| align="center" | various Oberon dialects
| colspan="2" align="center" | [https://github.com/Oleg-N-Cher/OfrontPlus/ github]
|}
==Source Texts in [https://gitlab.inf.ethz.ch/felixf/oberon/-/tree/main/docu Active Oberon]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|- <div id="A2"></div>
| Bare [[w:X86|X86 PC]]
| [[Oberon/A2|A2 = AOS = Bluebottle]],<br />[[w:Bluebottle_OS|Bluebottle in Wikipedia]]
| align="center" | [https://sourceforge.net/projects/a2oberon/files/ SourceForge]
| align="center" | [[Oberon/A2#The_A2_Repository|Contemporary instructions]]<ref name="portability"/>
|-
| X86 PC with Solaris,<br>Linux or MacOSX (Darwin).
| [[Oberon/A2#Installing_and_Running_UnixAOS|UnixAos = UnixA2]]
| align="center" | [http://www.informatik.uni-bremen.de/~fld/UnixAos/ Uni-Bremen, G. Feldmann]
| align="center" | [http://www.informatik.uni-bremen.de/~fld/UnixAos/Readme.txt Uni-Bremen, G. Feldmann]
|-
| X86 PC with A2 or UnixA2 or WinA2
| [[Oberon/A2#Oberon_Subsystem|Oberon subsystem of A2]]
| colspan="2" align="center" | Included in A2, UnixA2 and WinA2
|-
|}
==Source Texts in [https://people.inf.ethz.ch/wirth/Oberon/index.html Oberon-07]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|-
| id="V5" | [[w:Field-programmable_gate_array|FPGA]] [[w:Reduced_instruction_set_computer|RISC]]
| [[Oberon/V5|V5]],<br>[[w:Oberon_(operating_system)#Project_Oberon_2013|Oberon V5]] in Wikipedia
| colspan="2" align="center" | [https://www.inf.ethz.ch/personal/wirth/ N. Wirth]<br>[http://www.projectoberon.net/ P. Reed]
|-
| id="RISCemu" | [[Oberon/Android]], [[w:Linux|Linux]],<br>
[[w:MacOS|Mac OS X]], [[w:Unix|Unix]] or<br>
[[w:Windows_NT|MS Windows]] on a wide variety of machines<ref name="RISCemuRequirements"/>
| RISC Emulator written in C.
| align="center" colspan="2" rowspan="2" | [https://github.com/pdewacht/oberon-risc-emu P. De Wachter]
|-
| Unix command line
| Norebo<ref name="norebo"/>
<!-- | colspan="2" align="center" | [https://github.com/pdewacht/project-norebo P. De Wachter] -->
|-
| <span id="ExtendedOberon"><span/> | Oberon [[w:Reduced_instruction_set_computer|RISC]] processor or emulation of it<ref name="ExtOberonFootnote"/>
| [[Oberon/Extended_Oberon|Extended Oberon]]
| colspan="2" align="center" | A. Pirklbauer<br>[https://github.com/andreaspirklbauer/Oberon-extended/blob/master/README.md README] [https://github.com/andreaspirklbauer/Oberon-extended/blob/master/Documentation/ Documentation]<br>[https://github.com/andreaspirklbauer/Oberon-extended Oberon{{nbhyph}}extended]<ref name="ExtOberonName"/><br>[https://github.com/andreaspirklbauer/Oberon-retro-compiler Oberon-retro-compiler]
|-
| [[w:Web_browser|Web browser]]
| Emulator written in [[w:JavaScript|JavaScript]].
| rowspan="2" colspan="2" align="center" | [https://github.com/schierlm/OberonEmulator/ Michael Schierl]
|-
| [[w:Web_browser|Web browser]]
| Emulator written in [[w:Java_(programming language)|Java]].
|-
| [[w:Linux|Linux]] or [[w:MacOS|Mac OS]]
| [https://github.com/io-core/io/ Integrated Oberon] with an emulator written in the [[w:Go_(programming_language)|Go programming language]].
| colspan="2" align="center" | [https://github.com/io-core/io/ Charles Perkins]
|-
| id="POL" | ARMv7, [[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] running Linux.
[[w:RISC-V|RISC-V]] running [[w:FreeRTOS|FreeRTOS]] on Sipeed M1s, Linux 32bit and Linux 64bit.
| Project Oberon Linux, POL;<br>Using native compiler and Linux Kernel functions.
| align="center" colspan="2" rowspan="2" | [http://oberon.wikidot.com/ P. Matthias]
|-
| rowspan="2" | [[w:Java Virtual Machine|JVM]]
|Project Oberon using oberonc compiler from L. Boasso
<!-- | colspan="2" |P. Matthias -->
|-
| [https://github.com/lboasso/oberonc Oberonc] compiler for Oberon-07.<ref name="TypeRules"/>
| colspan="2" align="center" | [https://github.com/io-core/io/ L. Boasso]
|-
| Any system capable of running QEMU
| [https://github.com/io-core/qemu-risc6 qemu-risc6] fork of QEMU
| colspan="2" align="center" | [https://github.com/io-core/ Charles Perkins].
|-
| Any system capable of running [https://github.com/aixp/ProjectOberon-BlackBox BlackBox Component Builder]
| Oberon-07 compiler written in Oberon-2.
| colspan="2" align="center" | [https://github.com/aixp/ProjectOberon-BlackBox Alexander V. Shiryaev]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://github.com/solbjorg/oberon-riscv-emu oberon-riscv-emu]
| align="center" colspan="2" rowspan="2" | [https://github.com/solbjorg/oberon-riscv-emu Rikke Solbjørg]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]] with [https://github.com/solbjorg/oberon-riscv-emu oberon-riscv-emu] or a bare [[w:RISC-V|RISC-V]] machine.
| [https://github.com/solbjorg/oberon-riscv oberon-riscv]
<!-- | colspan="2" align="center" | [https://github.com/solbjorg/oberon-riscv Rikke Solbjørg] -->
|}
{{Reflist|refs=
<ref name="Oberon">The Oberon language evolved through several variations including [https://people.inf.ethz.ch/wirth/Oberon/Oberon.Report.pdf Oberon-90] in which Cross-platform Oberon is written. The differences between the latest 1990 version of Oberon and the 1991 superset, Oberon-2, are explained in bibliography references [[Oberon/authors#M|Moe91]] and [[Oberon/authors#M|MoW91a]].</ref>
<ref name="HostEnvironment">In some cases the host environment is a bare machine. Otherwise it is a machine running another system.</ref>
<ref name="VCFE2024">[https://www.youtube.com/watch?v=cEdHiE-HoGE&t=2145s Presentation at VCFE 23.0], September 2024. Jump to 35:46.</ref>
<ref name="Ceres">Hypothetically a Ceres can also be built with [http://cpu-ns32k.net/Gilbert.html wire wrap].</ref>
<ref name="PrecompiledCrossPlatformOberon">Links to precompiled images for MS Windows, Linux and MacOS are at the bottom of the Github page.</ref>
<ref name="PAL">PAL = Platform Abstraction Layer written by Rochus Keller and included with Cross-platform Oberon. Precompiled systems are currently available for Linux x86 & x64, Mac M1 & x64 and Windows x86 & x64. Porting to another system is primarily porting the PAL library.</ref>
<ref name="Transmeta">Including the [[w:Transmeta_Crusoe|Transmeta Crusoe 5400]] and the [[w:StrongARM|StrongARM SA 110 and SA 1110]].</ref>
<ref name="YouTube">A PC can boot from an Oberon0 diskette in an internal drive. In that case installation of ETH Oberon can proceed directly without involvement of DOS. Part 2 in the series includes a helpful explanation of the user interface.</ref>
<ref name="DOS">Sources for [https://github.com/Project-Oberon/Source-Code/tree/main/DOS%20Oberon%20System%203%20Release%202.0 Release 2.0] are available. ASCII sources can be read with any contemporary editor. The Text sources should be read in an Oberon system; otherwise display by Linux gedit may be tolerable.</ref>
<ref name="Windows">Also referred to as "ETH Oberon Plugin for Windows" and "Spirit of Oberon System3 for Windows".</ref>
<ref name="Win95NT">A server at ftp://ftp.ssw.uni-linz.ac.at/ remains accessible to an FTP client and installation archives can be retrieved. The Firefox browser is unable to navigate into the subdirectories.</ref>
<ref name="OLR">Sources following ETH Oberon closely. Note "Current state ... network not working."</ref>
<ref name="Linz">V4 can also execute on obsolete systems [[w:Motorola_68000_series|680x0 MacIntosh]] and [[w:PowerMac|PowerMac]] with [[w:MacOS|MacOS]] to version 9 inclusive, [[w:Amiga|Amiga]], [[w:Atari_ST|Atari ST]], [[w:DECstation|DECstation]], [[w:HPUX|HP-UX]], [[w:IBM_RISC_Dystem/6000|IBM RS/6000]], [[w:SGI_IRIS|SGI IRIS]] and [[w:Sparc|SPARC]] with [[w:Solaris_(operating_system)|Solaris]]. Refer to [https://sourceforge.net/projects/oberon/ https://sourceforge.net/projects/oberon/] and [https://ssw.jku.at/Research/Projects/Oberon.html https://ssw.jku.at/Research/Projects/Oberon.html]. A native version has not been produced.</ref>
<ref name="olymp">olymp.idle.at has verion 1.7.02. The last version at JKU Linz is 1.5.</ref>
<ref name="GPCP">GPCP provides a compiler for Component Pascal; not a full Oberon subsystem.</ref>
<ref name="portability">During the summer of 2019 work was underway at the ETHZ to improve portability and other aspects. Until the work is completed, the user may encounter difficulties with the native variant of A2. The Oberon subsystem remains available in UnixA2 and WinA2. A notice was in the [http://lists.inf.ethz.ch/pipermail/oberon/ mailing list at 2019-07-03]. Patience is advised.</ref>
<ref name="RISCemuRequirements">The SDL2 library and a C99 capable C compiler are required. GCC or Clang suffice for compiling the emulator.</ref>
<ref name="norebo">A software allowing execution of an Oberon command without the Oberon system and interface. The Oberon compiler, for example, can be executed at the Unix command line.</ref>
<ref name="ExtOberonFootnote">Extended Oberon does not modify the RISC processor; it modifies only the Oberon system which runs on it.</ref>
<ref name="ExtOberonName">Nomenclature explained in the [https://lists.inf.ethz.ch/pipermail/oberon/2023/016552.html Oberon mailing list at 2023-01-18].</ref>
<ref name="TypeRules">The [https://github.com/lboasso/oberonc/blob/master/doc/TypeRules.md TypeRules document] is noteworthy. Specific aspects of [[w:Data_type|types]] are discussed in the [http://lists.inf.ethz.ch/pipermail/oberon/ mailing list] beginning at 2019-12-07.</ref>
}}
<br>
{{center|[[Oberon/Naming|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">← Naming</span>]] [[Oberon|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">↑ Oberon front page</span>]] [[Oberon/Licenses|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">Licenses →</span>]]}}
{{BookCat}}
qu0tidyh3pjsafvq5hjktuy7yz9azji
4639868
4639829
2026-06-11T02:19:40Z
PeterEasthope
660399
/* Source Texts in Oberon-2 */ Added the presentation as foldable rows.
4639868
wikitext
text/x-wiki
{{center|[[Oberon/Naming|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">← Naming</span>]] [[Oberon|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">↑ Oberon front page</span>]] [[Oberon/Licenses|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">Licenses →</span>]]}}
<br>
The Oberon system runs directly on several machine architectures and as a subsystem in several host [[w:Operating system|operating systems]]. Order of rows is approximately chronological. For each variant (row), a link in the second column leads to additional information.
<div id="VariantsTable"></div>
==Source Texts in [[Oberon/oreport|Oberon]]<ref name="Oberon"/>==
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|-
| [[w:Ceres_(workstation)|Ceres workstation]]<br>
[http://www.computerhistory.org/collections/catalog/X2321.2002A preserved Ceres]<br>
[http://www.computerhistory.org/collections/catalog/102674736 preserved Ceres]<br>
[http://www.computerhistory.org/collections/catalog/102722173 photo of Ceres 1]<br>
[[w:Field-programmable_gate_array|FPGA]] based [https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=165&No=830#contents Cyclone V GX].
| [[w:Oberon_(operating_system)|The Oberon System]]<br>[[Oberon/The Oberon System, V1 and V2|V1 and V2]]
| colspan="2" align="center" | [http://www.cpu-ns32k.net/Oberon.html Notes about Oberon] and [http://www.cpu-ns32k.net/Ceres.html implementation of Ceres]<!-- <br>by Udo Möller, 2023-25. --><ref name="VCFE2024"/><ref name="Ceres"/><br>[https://github.com/pcayuela/Project-Oberon/tree/main/CERES%20Oberon%20V4/ASCII Project-Oberon at Sourceforge]<br>[https://bitsavers.org/ETH https://bitsavers.org/ETH]
|-
| [[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| [https://www.research-collection.ethz.ch/handle/20.500.11850/68911 ''Oberon for PC on an MS-DOS Base''](PDF), [[Oberon/Bibliography#Dis93|Dis93]]
| align="center" | [https://sourceforge.net/projects/dosoberon/files/ Sourceforge]<br>[https://github.com/Classic-Tools/DOSOberon Github]
| align="center" | README.TXT for System 3, Release 2.0 at [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ Sourceforge],<br>and at [https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github]
|-
| Any system compatible with the included PAL library<ref name="PAL"/>
| Cross-platform ETH Oberon, System 3<ref name="Oberon"/>
| colspan="2" align="center" | [https://github.com/rochus-keller/OberonSystem3/ github]<ref name="PrecompiledCrossPlatformOberon"/>
|-
|[[w:ARM_architecture_family#32-bit_architecture|ARMv7]] as in the [[w:Raspberry_Pi#Flagship_series|Raspberry Pi 2B]].
|QEMU image and software operable on various Raspberry Pi machines.
| colspan="2" align="center" | [https://github.com/rochus-keller/OberonSystem3Native/releases/tag/2026-04-02 Github].
|}
{{b:User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:Ceres_(workstation)|Ceres workstation]].<br>
[http://www.computerhistory.org/collections/catalog/X2321.2002A Preserved Ceres].<br>
[http://www.computerhistory.org/collections/catalog/102674736 Preserved Ceres].
|[[w:Oberon_(operating_system)|The Oberon System]],<br>
[[Oberon/The Oberon System, V1 and V2|V1 and V2]].
|[http://www.cpu-ns32k.net/Oberon.html Notes about Oberon] and [http://www.cpu-ns32k.net/Ceres.html implementation of Ceres].<ref name="VCFE2024"/><ref name="Ceres"/><br>
[https://github.com/pcayuela/Project-Oberon/tree/main/CERES%20Oberon%20V4/ASCII Project-Oberon at Sourceforge].
|85px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]].
|[https://www.research-collection.ethz.ch/handle/20.500.11850/68911 ''Oberon for PC on an MS-DOS Base''](PDF), [[Oberon/Bibliography#Dis93|Dis93]].
|README.TXT for System 3, Release 2.0 at [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ Sourceforge].<br>
At [https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github].
|85px}}
{{b:User:PeterEasthope/ThreeBoxes
|Any system compatible with the included PAL library.<ref name="PAL"/>
|Cross-platform ETH Oberon, System 3.<ref name="Oberon"/>
|[https://github.com/rochus-keller/OberonSystem3/ Github].<ref name="PrecompiledCrossPlatformOberon"/>
|50px}}
{{b:User:PeterEasthope/ThreeBoxes
|[[w:ARM_architecture_family#32-bit_architecture|ARMv7]] as in the [[w:Raspberry_Pi#Flagship_series|Raspberry Pi 2B]].
|QEMU image and software operable on various Raspberry Pi machines.
|[https://github.com/rochus-keller/OberonSystem3Native/releases/tag/2026-04-02 Github].
|80px}}
==Source Texts in [https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm Oberon-2]==
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| colspan="4" align="center" | Presentation as a table 
|-
! colspan="4" align="center" <!-- style="border-top: solid 2px" --> | Source Texts in [https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm Oberon-2]
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|- <div id="ETHO"></div>
|Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
| [[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon.<br />[[w:Oberon_(operating_system)#Native_Oberon| Wikipedia]]
| align="center" | [https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]
| align="left" | [[Oberon/ETH Oberon/install|ETHZ, actual diskettes]]<br>
[[Oberon/ETH_Oberon/QEMUinstall|Hypervisor using diskette images]].<br>
[https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials] at YouTube<ref name="YouTube"/>
|-
| [[w:X86|X86 PC]] with [[w:MS_DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| align="center" | [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge]<br />[https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| align="center" | [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/README.TXT/download SourceForge]<br />[https://github.com/Classic-Tools/DOSOberon/blob/master/DOSOberon-S3R2.0/README.TXT Github]
|-
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| align="center" | [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/>
| align="center" | [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt]
|-
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| align="center" | [http://www.modulaware.com/zel/aos/ modulaware.com]
| align="center" | [http://www.modulaware.com/zel/aos/ OpenVMS Alpha]
|-
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| colspan="2" align="center" | [http://oberon.wikidot.com/ P. Matthias]
|-
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| colspan="2" align="center" | [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
|- <div id="V4"></div>
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| align="center" | [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/> and [https://sourceforge.net/projects/oberon/files/ SourceForge]
| align="center" | [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]<br>[https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
|-
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]]
<!-- | [[/BB/]] -->
| colspan="2" align="center" | [https://github.com/BlackBoxCenter BB Component Builder download].
|-
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| colspan="2" align="center" | [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
|-
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| colspan="2" align="center" | [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
|-
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| colspan="2" align="center" | Josef Templ, [https://github.com/jtempl/ofront/ github]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| align="center" | [https://ecs.openbrace.org/releases/ Releases]
| align="center" | [https://ecs.openbrace.org/manual User Manual]
|-
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| align="center" | various Oberon dialects
| colspan="2" align="center" | [https://github.com/Oleg-N-Cher/OfrontPlus/ github]
|}
{{User:PeterEasthope/ThreeBoxes
|'''Host Environment'''<ref name="HostEnvironment"/>
|'''Software'''
|'''Installation'''
|25px}}
{{User:PeterEasthope/ThreeBoxes
|1=Bare [[w:X86|X86 PC]]<ref name="Transmeta"/>
|2=[[Oberon/ETH Oberon|ETH Oberon]], formerly System 3, PC-Native Oberon. [[w:Oberon_(operating_system)#Native_Oberon|Wikipedia]] 
|3=[https://sourceforge.net/projects/nativeoberon/files/nativeoberon/ SourceForge]. [[Oberon/ETH_Oberon/install|ETHZ, real diskettes]]. [[Oberon/ETH_Oberon/QEMUinstall|Hypervisor with diskette images]]. [https://www.youtube.com/watch?v=Do2O1yFrnos Oberon Tutorials at YouTube]<ref name="YouTube"/>
|4=90px}}
{{User:PeterEasthope/ThreeBoxes
| [[w:X86|X86 PC]] with [[w:MS-DOS|MS-DOS]] or [[w:FreeDOS|compatible OS]]
| DOS Oberon System3, Version 2.0, [[Oberon/Bibliography#Dis93|Dis93]]<ref name="DOS"/>
| [https://sourceforge.net/projects/dosoberon/files/DOS%20Oberon%20System%203%20Version%202.0/ SourceForge] and [https://github.com/Classic-Tools/DOSOberon/tree/master/DOSOberon-S3R2.0 Github]
| 50px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with MS Windows
| ETH Oberon for Windows<ref name="Windows"/>
| [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT Github]<ref name="Win95NT"/> including [https://github.com/pcayuela/oldftpETHZOberon/tree/master/System3/Win95NT/PlugIn readme.txt].
| 25px}}
{{b:User:PeterEasthope/ThreeBoxes
| HP Alpha [aka DEC AXP] with OpenVMS
| [http://www.modulaware.com/mwovms.htm 64 bit (Linz-)Oberon System], [[Oberon/Linz Oberon, V4|V4]]
| [http://www.modulaware.com/zel/aos/ modulaware.com, OpenVMS Alpha]
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86, ARM, ARMv7,<br>[[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] with Linux
| [http://oberon.wikidot.com/oberon-linux-revival-olr Oberon Linux Revival, OLR]<ref name="OLR"/>
| [http://oberon.wikidot.com/ P. Matthias]
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Linux, UltraSPARC with Solaris or Sun3 with SunOS
| [http://www.mathematik.uni-ulm.de/oberon/ Ulm Oberon]
| [http://www.mathematik.uni-ulm.de/oberon/ulm.html HTML page] and manual pages in the downloads
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with various operating systems<ref name="Linz"/>
| [http://ssw.jku.at/Research/Projects/Oberon.html Linz-Oberon], [[Oberon/Linz Oberon, V4|V4]]
| [http://olymp.idle.at/tanis/oberon.linux.html olymp.idle.at]<ref name="olymp"/>. [https://sourceforge.net/projects/oberon/files/ SourceForge]. [http://olymp.idle.at/~tanis/INSTALL INSTALL at olymp.idle.at]. [https://sourceforge.net/p/oberon/wiki/Home/ Wiki at Sourceforge]
| 65px}}
{{b:User:PeterEasthope/ThreeBoxes
| X86 PC with Windows or with *nix and Wine
| [[w:BlackBox Component Builder|BlackBox Component Builder]], an [[w:Integrated_development_environment|IDE]] for [[w:Component_Pascal|Component Pascal]].
| [https://github.com/BlackBoxCenter BB Component Builder download].
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Common Language Infrastructure|.NET and CLI]]
| [[w:Component_Pascal|Gardens Point Component Pascal, GPCP]] application for .NET and CLI<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github]<br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 65px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Java Virtual Machine|JVM]]
| [[w:Component_Pascal|Gardens Point Component Pascal]] application for JVM<ref name="GPCP"/>
| [https://github.com/k-john-gough/gpcp Current project at github] <br> [https://web.archive.org/web/20120911105411/http://plas.fit.qut.edu.au/gpcp/ Original site from Archive.org]
| 45px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]]-[[w:IA-32|386]], [[w:Raspberry_Pi_OS|Rasbian]], [[w:Microsoft_Windows|Windows]]
| Ofront Oberon to C translator
| Josef Templ, [https://github.com/jtempl/ofront/ github]
| 25px}}
{{b:User:PeterEasthope/ThreeBoxes
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://ecs.openbrace.org/ Eigen Compiler Suite]
| [https://ecs.openbrace.org/releases/ Releases] and [https://ecs.openbrace.org/manual User Manual].
| 25px}}
{{b:User:PeterEasthope/ThreeBoxes
| Subsystem for Blackbox
| Ofront+ Oberon to C translator
| [https://github.com/Oleg-N-Cher/OfrontPlus/ OfrontPlus at github] for various Oberon dialects.
| 45px}}
==Source Texts in [https://gitlab.inf.ethz.ch/felixf/oberon/-/tree/main/docu Active Oberon]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|- <div id="A2"></div>
| Bare [[w:X86|X86 PC]]
| [[Oberon/A2|A2 = AOS = Bluebottle]],<br />[[w:Bluebottle_OS|Bluebottle in Wikipedia]]
| align="center" | [https://sourceforge.net/projects/a2oberon/files/ SourceForge]
| align="center" | [[Oberon/A2#The_A2_Repository|Contemporary instructions]]<ref name="portability"/>
|-
| X86 PC with Solaris,<br>Linux or MacOSX (Darwin).
| [[Oberon/A2#Installing_and_Running_UnixAOS|UnixAos = UnixA2]]
| align="center" | [http://www.informatik.uni-bremen.de/~fld/UnixAos/ Uni-Bremen, G. Feldmann]
| align="center" | [http://www.informatik.uni-bremen.de/~fld/UnixAos/Readme.txt Uni-Bremen, G. Feldmann]
|-
| X86 PC with A2 or UnixA2 or WinA2
| [[Oberon/A2#Oberon_Subsystem|Oberon subsystem of A2]]
| colspan="2" align="center" | Included in A2, UnixA2 and WinA2
|-
|}
==Source Texts in [https://people.inf.ethz.ch/wirth/Oberon/index.html Oberon-07]==
{| role="presentation" class="wikitable mw-collapsible <!-- mw-collapsed -->"
| colspan="4" align="center" | Presentation as a table 
|-
! style="width: 15em" | Host Environment<ref name="HostEnvironment"/>
! style="width: 15em" | Software
! style="width: 15em" | Installation<br>archive
! style="width: 15em" | Installation<br>Instructions
|-
| id="V5" | [[w:Field-programmable_gate_array|FPGA]] [[w:Reduced_instruction_set_computer|RISC]]
| [[Oberon/V5|V5]],<br>[[w:Oberon_(operating_system)#Project_Oberon_2013|Oberon V5]] in Wikipedia
| colspan="2" align="center" | [https://www.inf.ethz.ch/personal/wirth/ N. Wirth]<br>[http://www.projectoberon.net/ P. Reed]
|-
| id="RISCemu" | [[Oberon/Android]], [[w:Linux|Linux]],<br>
[[w:MacOS|Mac OS X]], [[w:Unix|Unix]] or<br>
[[w:Windows_NT|MS Windows]] on a wide variety of machines<ref name="RISCemuRequirements"/>
| RISC Emulator written in C.
| align="center" colspan="2" rowspan="2" | [https://github.com/pdewacht/oberon-risc-emu P. De Wachter]
|-
| Unix command line
| Norebo<ref name="norebo"/>
<!-- | colspan="2" align="center" | [https://github.com/pdewacht/project-norebo P. De Wachter] -->
|-
| <span id="ExtendedOberon"><span/> | Oberon [[w:Reduced_instruction_set_computer|RISC]] processor or emulation of it<ref name="ExtOberonFootnote"/>
| [[Oberon/Extended_Oberon|Extended Oberon]]
| colspan="2" align="center" | A. Pirklbauer<br>[https://github.com/andreaspirklbauer/Oberon-extended/blob/master/README.md README] [https://github.com/andreaspirklbauer/Oberon-extended/blob/master/Documentation/ Documentation]<br>[https://github.com/andreaspirklbauer/Oberon-extended Oberon{{nbhyph}}extended]<ref name="ExtOberonName"/><br>[https://github.com/andreaspirklbauer/Oberon-retro-compiler Oberon-retro-compiler]
|-
| [[w:Web_browser|Web browser]]
| Emulator written in [[w:JavaScript|JavaScript]].
| rowspan="2" colspan="2" align="center" | [https://github.com/schierlm/OberonEmulator/ Michael Schierl]
|-
| [[w:Web_browser|Web browser]]
| Emulator written in [[w:Java_(programming language)|Java]].
|-
| [[w:Linux|Linux]] or [[w:MacOS|Mac OS]]
| [https://github.com/io-core/io/ Integrated Oberon] with an emulator written in the [[w:Go_(programming_language)|Go programming language]].
| colspan="2" align="center" | [https://github.com/io-core/io/ Charles Perkins]
|-
| id="POL" | ARMv7, [[w:RISC-V|RISC-V]] or [[w:MIPS_architecture|MIPS]] running Linux.
[[w:RISC-V|RISC-V]] running [[w:FreeRTOS|FreeRTOS]] on Sipeed M1s, Linux 32bit and Linux 64bit.
| Project Oberon Linux, POL;<br>Using native compiler and Linux Kernel functions.
| align="center" colspan="2" rowspan="2" | [http://oberon.wikidot.com/ P. Matthias]
|-
| rowspan="2" | [[w:Java Virtual Machine|JVM]]
|Project Oberon using oberonc compiler from L. Boasso
<!-- | colspan="2" |P. Matthias -->
|-
| [https://github.com/lboasso/oberonc Oberonc] compiler for Oberon-07.<ref name="TypeRules"/>
| colspan="2" align="center" | [https://github.com/io-core/io/ L. Boasso]
|-
| Any system capable of running QEMU
| [https://github.com/io-core/qemu-risc6 qemu-risc6] fork of QEMU
| colspan="2" align="center" | [https://github.com/io-core/ Charles Perkins].
|-
| Any system capable of running [https://github.com/aixp/ProjectOberon-BlackBox BlackBox Component Builder]
| Oberon-07 compiler written in Oberon-2.
| colspan="2" align="center" | [https://github.com/aixp/ProjectOberon-BlackBox Alexander V. Shiryaev]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]]
| [https://github.com/solbjorg/oberon-riscv-emu oberon-riscv-emu]
| align="center" colspan="2" rowspan="2" | [https://github.com/solbjorg/oberon-riscv-emu Rikke Solbjørg]
|-
| [[w:Linux|Linux]], [[w:OS X|OS X]] or [[w:MS Windows|MS Windows]] with [https://github.com/solbjorg/oberon-riscv-emu oberon-riscv-emu] or a bare [[w:RISC-V|RISC-V]] machine.
| [https://github.com/solbjorg/oberon-riscv oberon-riscv]
<!-- | colspan="2" align="center" | [https://github.com/solbjorg/oberon-riscv Rikke Solbjørg] -->
|}
{{Reflist|refs=
<ref name="Oberon">The Oberon language evolved through several variations including [https://people.inf.ethz.ch/wirth/Oberon/Oberon.Report.pdf Oberon-90] in which Cross-platform Oberon is written. The differences between the latest 1990 version of Oberon and the 1991 superset, Oberon-2, are explained in bibliography references [[Oberon/authors#M|Moe91]] and [[Oberon/authors#M|MoW91a]].</ref>
<ref name="HostEnvironment">In some cases the host environment is a bare machine. Otherwise it is a machine running another system.</ref>
<ref name="VCFE2024">[https://www.youtube.com/watch?v=cEdHiE-HoGE&t=2145s Presentation at VCFE 23.0], September 2024. Jump to 35:46.</ref>
<ref name="Ceres">Hypothetically a Ceres can also be built with [http://cpu-ns32k.net/Gilbert.html wire wrap].</ref>
<ref name="PrecompiledCrossPlatformOberon">Links to precompiled images for MS Windows, Linux and MacOS are at the bottom of the Github page.</ref>
<ref name="PAL">PAL = Platform Abstraction Layer written by Rochus Keller and included with Cross-platform Oberon. Precompiled systems are currently available for Linux x86 & x64, Mac M1 & x64 and Windows x86 & x64. Porting to another system is primarily porting the PAL library.</ref>
<ref name="Transmeta">Including the [[w:Transmeta_Crusoe|Transmeta Crusoe 5400]] and the [[w:StrongARM|StrongARM SA 110 and SA 1110]].</ref>
<ref name="YouTube">A PC can boot from an Oberon0 diskette in an internal drive. In that case installation of ETH Oberon can proceed directly without involvement of DOS. Part 2 in the series includes a helpful explanation of the user interface.</ref>
<ref name="DOS">Sources for [https://github.com/Project-Oberon/Source-Code/tree/main/DOS%20Oberon%20System%203%20Release%202.0 Release 2.0] are available. ASCII sources can be read with any contemporary editor. The Text sources should be read in an Oberon system; otherwise display by Linux gedit may be tolerable.</ref>
<ref name="Windows">Also referred to as "ETH Oberon Plugin for Windows" and "Spirit of Oberon System3 for Windows".</ref>
<ref name="Win95NT">A server at ftp://ftp.ssw.uni-linz.ac.at/ remains accessible to an FTP client and installation archives can be retrieved. The Firefox browser is unable to navigate into the subdirectories.</ref>
<ref name="OLR">Sources following ETH Oberon closely. Note "Current state ... network not working."</ref>
<ref name="Linz">V4 can also execute on obsolete systems [[w:Motorola_68000_series|680x0 MacIntosh]] and [[w:PowerMac|PowerMac]] with [[w:MacOS|MacOS]] to version 9 inclusive, [[w:Amiga|Amiga]], [[w:Atari_ST|Atari ST]], [[w:DECstation|DECstation]], [[w:HPUX|HP-UX]], [[w:IBM_RISC_Dystem/6000|IBM RS/6000]], [[w:SGI_IRIS|SGI IRIS]] and [[w:Sparc|SPARC]] with [[w:Solaris_(operating_system)|Solaris]]. Refer to [https://sourceforge.net/projects/oberon/ https://sourceforge.net/projects/oberon/] and [https://ssw.jku.at/Research/Projects/Oberon.html https://ssw.jku.at/Research/Projects/Oberon.html]. A native version has not been produced.</ref>
<ref name="olymp">olymp.idle.at has verion 1.7.02. The last version at JKU Linz is 1.5.</ref>
<ref name="GPCP">GPCP provides a compiler for Component Pascal; not a full Oberon subsystem.</ref>
<ref name="portability">During the summer of 2019 work was underway at the ETHZ to improve portability and other aspects. Until the work is completed, the user may encounter difficulties with the native variant of A2. The Oberon subsystem remains available in UnixA2 and WinA2. A notice was in the [http://lists.inf.ethz.ch/pipermail/oberon/ mailing list at 2019-07-03]. Patience is advised.</ref>
<ref name="RISCemuRequirements">The SDL2 library and a C99 capable C compiler are required. GCC or Clang suffice for compiling the emulator.</ref>
<ref name="norebo">A software allowing execution of an Oberon command without the Oberon system and interface. The Oberon compiler, for example, can be executed at the Unix command line.</ref>
<ref name="ExtOberonFootnote">Extended Oberon does not modify the RISC processor; it modifies only the Oberon system which runs on it.</ref>
<ref name="ExtOberonName">Nomenclature explained in the [https://lists.inf.ethz.ch/pipermail/oberon/2023/016552.html Oberon mailing list at 2023-01-18].</ref>
<ref name="TypeRules">The [https://github.com/lboasso/oberonc/blob/master/doc/TypeRules.md TypeRules document] is noteworthy. Specific aspects of [[w:Data_type|types]] are discussed in the [http://lists.inf.ethz.ch/pipermail/oberon/ mailing list] beginning at 2019-12-07.</ref>
}}
<br>
{{center|[[Oberon/Naming|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">← Naming</span>]] [[Oberon|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">↑ Oberon front page</span>]] [[Oberon/Licenses|<span class="mw-ui-button" style="border-style: solid; border-width: 1px; display: inline-block; margin: auto; width: 13em; text-align: center; Background-color:#F0FFFF;">Licenses →</span>]]}}
{{BookCat}}
7s2mfzog1gbvaz8ho2fqzxds9u2ci2s
Wikibooks:Edit filter/False positives/Archive 4
4
455830
4639884
4637593
2026-06-11T08:10:32Z
ArchiverBot
1227662
Bot: Archiving 2 threads from [[Wikibooks:Edit filter/False positives]]
4639884
wikitext
text/x-wiki
{{talk archive}}
== 205.118.123.63 ==
;Username
: {{user|205.118.123.63}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:205.118.123.63}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 20:47, 21 February 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== 205.118.123.63 ==
;Username
: {{user|205.118.123.63}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:205.118.123.63}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 20:49, 21 February 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Abid Sidiq Ahanger ==
;Username
: {{user|Abid Sidiq Ahanger}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Abid Sidiq Ahanger}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 16:00, 25 February 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Aadit6 ==
;Username
: {{user|Aadit6}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Aadit6}}|NAME=filter log}})
;Page you were editing
: [[en.wikibooks.org/w/index.php?title=A-level_Computing/AQA/Paper_1/Skeleton_program/AS2023]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:en.wikibooks.org/w/index.php?title=A-level_Computing/AQA/Paper_1/Skeleton_program/AS2023}}|NAME=filter log}})
;Description
: I am trying to insert the full skeleton code into the wikibooks page. This is the original code supplied by AQA available for computer science students but it will not allow me to insert it.
;Date and time
: 09:18, 3 March 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== 94.204.59.111 ==
;Username
: {{user|94.204.59.111}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:94.204.59.111}}|NAME=filter log}})
;Page you were editing
: [[Chess Opening Theory/1.e4/b5]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Chess Opening Theory/1.e4/b5}}|NAME=filter log}})
;Description
: I just wanted to correct grammar. The part that I wanted to correct said the the rook, while my edit changed it to the rook.
;Date and time
: 09:41, 3 March 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:{{done}} – see [[Special:Diff/4240955]]. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 01:22, 4 March 2023 (UTC)
== David Allencourt ==
;Username
: {{user|David Allencourt}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:David Allencourt}}|NAME=filter log}})
;Page you were editing
: [[The History of the Armenians (Movses Khorenatsi)]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:The History of the Armenians (Movses Khorenatsi)}}|NAME=filter log}})
;Description
: Hello! I am attempting to add my translation of Movses Khorenatsi's work The History of the Armeniansp, which has long been used as a textbook of Armenian history. However it is getting caught in the filter.
;Date and time
: 03:32, 6 March 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
{{done}}. {{re|David Allencourt}}, you are likely to face difficulty editing your text for a while, as you're being hit by a filter we have no control over. Feel free to continue submitting false positive requests for a while. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 05:58, 6 March 2023 (UTC)
== 99.209.41.18 ==
;Username
: {{user|99.209.41.18}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:99.209.41.18}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 17:39, 7 March 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== 99.209.41.18 ==
;Username
: {{user|99.209.41.18}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:99.209.41.18}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 17:43, 7 March 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== UhLukas 90 ==
;Username
: {{user|UhLukas 90}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:UhLukas 90}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
: Publishing error
;Date and time
: 22:02, 8 March 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:You were correctly blocked. Your attempt to paste a set of Discord copyright material onto your user page was rightly detected as unconstructive. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 10:08, 9 March 2023 (UTC)
== Andrewdav ==
;Username
: {{user|Andrewdav}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Andrewdav}}|NAME=filter log}})
;Page you were editing
: [[page about Stephen William Grimsley]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:page about Stephen William Grimsley}}|NAME=filter log}})
;Description
: Adding factual data, including year of death
;Date and time
: 10:11, 9 March 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Lachlan Peterson ==
;Username
: {{user|Lachlan Peterson}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Lachlan Peterson}}|NAME=filter log}})
;Page you were editing
: [[Transportation Deployment Casebook/2023/Vancouver SkyTrain]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Transportation Deployment Casebook/2023/Vancouver SkyTrain}}|NAME=filter log}})
;Description
: I was trying to create a page for an assignment, it started by not letting me upload images then it assused me of creating "Cannibis/CBD Spam" when I was writing about the Vancouver Skytrain.
;Date and time
: 07:36, 11 March 2023 (UTC)
;Comments
* Wikibooks has several automated filters meant to prevent spam and vandals; sometimes these inadvertently catch non-spammers, especially very new users. I recommend making smaller edits at a time until you are eventually autoconfirmed. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:57, 13 March 2023 (UTC)
== Yunchenli ==
;Username
: {{user|Yunchenli}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Yunchenli}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 01:49, 13 March 2023 (UTC)
;Comments
* Wikibooks has several automated filters meant to prevent spam and vandals; sometimes these inadvertently catch non-spammers, especially very new users. I recommend making smaller edits at a time until you are eventually autoconfirmed. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:56, 13 March 2023 (UTC)
* I took a look at all of [[User:Yunchenli|your]] edits, but most of them are more or less irrelevant to the page you were trying to create. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 06:44, 22 March 2023 (UTC)
== Robertbenjmin00 ==
;Username
: {{user|Robertbenjmin00}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Robertbenjmin00}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 05:53, 27 March 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:{{not done}} – you tried to fill your talk page with irrelevant self-promotional spam, which was rightly detected by the edit filter. Further attempts to spam your talk page may result in a loss of editing privileges. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 06:31, 27 March 2023 (UTC)
== SomethingForDeletion ==
;Username
: {{user|SomethingForDeletion}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:SomethingForDeletion}}|NAME=filter log}})
;Page you were editing
: [[360_Assembly/360_Family]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:360_Assembly/360_Family}}|NAME=filter log}})
;Description
: Trying to add a link to wiki.qemu.org/Documentation/Platforms/S390X – this is information about how to use the QEMU open source package to emulate z/Architecture IBM mainframes, and hence is relevant to the topic of the book and its readers. The edit filter won't even let me put the URL on this page!
;Date and time
: 20:05, 21 February 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
BTW, I realise someone is probably going to say "you can't because you are a new user please wait a few days". Can someone add the link for me? Also, wouldn't this edit filter be better if it took into account one's global contributions? A new user which has already made significant contributions on Wikipedia/etc is probably not a spammer. [[User:SomethingForDeletion|SomethingForDeletion]] ([[User talk:SomethingForDeletion|discuss]] • [[Special:Contributions/SomethingForDeletion|contribs]]) 23:28, 21 February 2023 (UTC)
:@[[User:Leaderboard|Leaderboard]] I'm not savvy enough to know this, but is there any way to take into account someone's global edits in the edit filter? My guess is no, but you would know better. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:35, 15 April 2023 (UTC)
::{{re|Kittycataclysm}} Unless the filter itself is global, no. It is however possible to take into account global user groups, but that won't apply for the vast majority of users (it's useful for groups such as [[meta:GR|global rollback]] who can then use their rights here without being hit by the filter). [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 17:03, 15 April 2023 (UTC)
== 110.224.130.225 ==
;Username
: {{user|110.224.130.225}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:110.224.130.225}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
: Was adding one important guide about intellectual property
;Date and time
: 11:03, 14 April 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:{{not done}}. You tried to add a link to a blog. That is not a reliable or useful source. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 21:09, 16 April 2023 (UTC)
== 58.169.215.204 ==
;Username
: {{user|58.169.215.204}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:58.169.215.204}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 09:14, 21 April 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
Adding external links as required by my assignment and computer said no
:For reference to other admins, this IP tried to paste the following under a "See also" section on [[Transportation Planning Casebook/Fast(er) Rail in NSW]]. I'll leave it to others as to whether these links are appropriate or not, as I'm a sysop primarily for anti-vandalism purposes.
* Hawker Britton - Australia’s High-Speed Rail Network (History of High Speed Rail in Australia) (www.hawkerbritton.com/blog/2022/10/17/australias-high-speed-rail-network/)
* A Profile of High Speed Railways - Internal Australian Government Brief (www.bitre.gov.au/sites/default/files/other_001_a_profile_of_high-speed_railways.pdf)
* The Story of (non-existent) High-Speed Rail in Australia - Railways Explained (www.youtube.com/watch?v=Rjvnpeqaj5s&ab_channel=RailwaysExplained)
:--[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 10:21, 21 April 2023 (UTC)
:Thanks @[[User:SHB2000|SHB2000]]! For the IP, what is the purpose of including these external links as is? If it is for the purpose of references/citations, I'd recommend using the dedicated reference tool for that. I'm curious what the actual requirement in the assignment is. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:02, 21 April 2023 (UTC)
::Me too – and if these do have to be linked, is the YouTube link really necessary? (as someone who follows NSW HSR off-wiki, I also question if it's the one of the best off-wiki links) --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 12:05, 21 April 2023 (UTC)
== Беспечная крыса ==
;Username
: {{user|Беспечная крыса}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Беспечная крыса}}|NAME=filter log}})
;Page you were editing
: [[Ada_Style_Guide/Programming_Practices]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Ada_Style_Guide/Programming_Practices}}|NAME=filter log}})
;Description
: A big part of section 5 is missing. I'm appending the lost part. The part contains external links to Ada Reference Manual as adahome site.
;Date and time
: 11:05, 21 April 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== 78.3.89.31 ==
;Username
: {{user|78.3.89.31}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:78.3.89.31}}|NAME=filter log}})
;Page you were editing
: [[False Friends of the Slavist/Croatian-Bosnian]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:False Friends of the Slavist/Croatian-Bosnian}}|NAME=filter log}})
;Description
: I'm trying to remove "sedmica" as Croatian translation of week, this word is never used for "week" in Croatian, only "tjedan". This is a false friend between Croatian and Serbian (and maybe Bosnian, no idea if Bosnian uses sedmica for week.
;Date and time
: 21:12, 13 May 2023 (UTC)
;Comments
See my response below —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:27, 14 May 2023 (UTC)
== 78.3.89.31 ==
;Username
: {{user|78.3.89.31}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:78.3.89.31}}|NAME=filter log}})
;Page you were editing
: [[False Friends of the Slavist/Polish-Croatian]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:False Friends of the Slavist/Polish-Croatian}}|NAME=filter log}})
;Description
: Trying to fix the "droga" false friend, current translation for Croatian is wrong. This should be placed instead:
{{{{BOOKTEMPLATE}}/FalseFriends|ff77
|Pol. '''''droga'''''
|1. ''cesta'' ‘road’<br>2. ''put'' ‘way (of doing things)’
|Cr. '''''droga'''''
|Pol. ''używka'' ‘illegal drug, narcotic’
|doba}}
;Date and time
: 21:30, 13 May 2023 (UTC)
;Comments
See my response below —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:27, 14 May 2023 (UTC)
== 78.3.89.31 ==
;Username
: {{user|78.3.89.31}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:78.3.89.31}}|NAME=filter log}})
;Page you were editing
: [[Wikibooks:Edit filter/False positives]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Wikibooks:Edit filter/False positives}}|NAME=filter log}})
;Description
: Can't report error while trying to add the meaning of "arch" for luk/łuk in Polish-Croatian false friends
;Date and time
: 21:41, 13 May 2023 (UTC)
;Comments
Well I'm done trying. If you fix this filter bump this thread.
:Hello! My best guess about what happened is that you unwittingly tripped a global anti-vandalism filter since one of your edits contained profanity, and then repeated editing attempts tripped wikibooks-specific repeated vandalism filters. I'm not an expert on the edit filters, so someone with more experience may correct me. If you'd like to do more significant editing without the risk of tripping filters designed for IP vandals, you may wish to create an account. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:26, 14 May 2023 (UTC)
== The Yennefer ==
;Username
: {{user|The Yennefer}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:The Yennefer}}|NAME=filter log}})
;Page you were editing
: [[Wikibooks:Reading room/General]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Wikibooks:Reading room/General}}|NAME=filter log}})
;Description
: Trying to add link needed for deciding if the linked book can be added to wikibooks.
;Date and time
: 16:34, 14 May 2023 (UTC)
;Comments
:Hello! It looks like the filter caught you since there are restrictions on new users posting links in order to prevent vandalism. I will note that when I investigated the link you were trying to post, it was broken and didn't link to anything. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:27, 14 May 2023 (UTC)
== Richard Vinke ==
;Username
: {{user|Richard Vinke}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Richard Vinke}}|NAME=filter log}})
;Page you were editing
: [[<link to translate manual>]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:<link to translate manual>}}|NAME=filter log}})
;Description
: I try to add the following line, with external link to the end of the section "translate".
To align an element to another element, the function align() can be used. See <external link>.
;Date and time
: 13:46, 7 June 2023 (UTC)
;Comments
Hello! It looks like you were trying to add a raw link to that page. To prevent link spamming, very new users are not permitted to do so; additionally, in that context, you may wish to use a citation instead. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:41, 7 June 2023 (UTC)
== Gieyan81 ==
;Username
: {{user|Gieyan81}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Gieyan81}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 21:53, 15 June 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:this happens as you are a new editor trying to insert URLs (hyperlinks). Save the edit with no URLs initially. You can come back and add them, one or two at a time, and after a few days the system will recognise that you are not trying to spam. By the way, one of the links you tried to insert was to Wikipedia. There is a way of doing this without a URL: enter '''<nowiki>[[w:the wikipedia page name|a description]]</nowiki>''' [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 07:53, 16 June 2023 (UTC).
== EP426 ==
;Username
: {{user|EP426}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:EP426}}|NAME=filter log}})
;Page you were editing
: [[https://en.wikibooks.org/w/index.php?title=Themes_in_Literature%2FIsolation_and_Community%2FThe_Deluded_Self&veswitched=1&oldid=0&veaction=edit]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:https://en.wikibooks.org/w/index.php?title=Themes_in_Literature%2FIsolation_and_Community%2FThe_Deluded_Self&veswitched=1&oldid=0&veaction=edit}}|NAME=filter log}})
;Description
: Copy pasting sandbox wikibook into a blank and new wikibook provided by the professor, yet the system won't let me as it considers it a large edit. IP Large Edits
;Date and time
: 09:18, 17 June 2023 (UTC)
;Comments
Hello! My guess is that this is happening because you're a new user trying to make a large edit. I recommend breaking it up into multiple smaller edits to resolve the issue. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:45, 17 June 2023 (UTC)
== 2A00:7660:271C:0:98A9:804F:A460:BD66 ==
;Username
: {{user|2A00:7660:271C:0:98A9:804F:A460:BD66}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:2A00:7660:271C:0:98A9:804F:A460:BD66}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 11:51, 29 June 2023 (UTC)
;Comments
I am filling in my chapter for a wiki book and I am unable to publish changes due to an editing filter
:Hello—contributors who are not logged in are restricted in the size of their edits. I recommend making multiple smaller edits. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:04, 29 June 2023 (UTC)
== 2A01:7C8:AAB2:30E:5054:FF:FE9A:5545 ==
;Username
: {{user|%7B%7Bsubst%3AREVISIONUSER%7D%7D%7Ctimestamp%3D%7B%7Bsubst%3ACURRENTTIMESTAMP%7D%7D}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:%7B%7Bsubst%3AREVISIONUSER%7D%7D%7Ctimestamp%3D%7B%7Bsubst%3ACURRENTTIMESTAMP%7D%7D}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 07:29, 4 August 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
I thinking ever link need alternative some of countries pastebin.com didn't work.}}
== Amirx324 ==
;Username
: {{user|Amirx324}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Amirx324}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 14:57, 14 August 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:Thanks for drawing our attention to your spamming; you are now blocked. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:29, 14 August 2023 (UTC)
== Teuxe ==
;Username
: {{user|Teuxe}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Teuxe}}|NAME=filter log}})
;Page you were editing
: [[X86_Disassembly/Analysis_Tools]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:X86_Disassembly/Analysis_Tools}}|NAME=filter log}})
;Description
: I wanted to add a reference to ImHex which is a must-know free and open-source hex editor with lots of tools.
;Date and time
: 13:54, 3 August 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:{{ping|Teuxe}} try writing the reference without the link (just remove the "https://" bit), then you or another user can add it back in sometime later. You will need to be autoconfirmed to add links to most pages. {{User:L10nM4st3r/sig.css}} 18:23, 3 August 2023 (UTC)
:Done (but too quick, I wasn't logged in...). Thanks. [[User:Teuxe|Teuxe]] ([[User talk:Teuxe|discuss]] • [[Special:Contributions/Teuxe|contribs]]) 15:50, 18 August 2023 (UTC)
== Aletheajohnn ==
;Username
: {{user|Aletheajohnn}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Aletheajohnn}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 05:34, 30 August 2023 (UTC)
;Comments
Promotion like this is prohibited on Wikibooks. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:31, 30 August 2023 (UTC)
== Tanbiruzzaman ==
;Username
: {{user|Tanbiruzzaman}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Tanbiruzzaman}}|NAME=filter log}})
;Page you were editing
: [[Wikibooks:Requests for deletion/Bob Baker Vs Rocky Marciano 2.3.56]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Wikibooks:Requests for deletion/Bob Baker Vs Rocky Marciano 2.3.56}}|NAME=filter log}})
;Description
: I was just reverting vandalism on the page, but triggered by the Filter description: Abuse 23
;Date and time
: 13:39, 3 September 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== to upper case method for c# ==
;Username
: {{user|212.219.48.125}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:212.219.48.125}}|NAME=filter log}})
;Page you were editing
: [[A-level_Computing/AQA/Paper_1/Skeleton_program/202
4]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:A-level_Computing/AQA/Paper_1/Skeleton_program/202
4}}|NAME=filter log}})
;Description
: Trying to put a method to convert to upper case for c#
;Date and time
: 13:41, 15 September 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Tony Rose Orge-Monzales ==
;Username
: {{user|Tony Rose Orge-Monzales}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Tony Rose Orge-Monzales}}|NAME=filter log}})
;Page you were editing
: [[= '''Educational Developments in the Philippines''' =]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:= '''Educational Developments in the Philippines''' =}}|NAME=filter log}})
;Description
: Published my work with no external links
;Date and time
: 09:46, 17 September 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== 87.58.32.132 ==
;Username
: {{user|87.58.32.132}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:87.58.32.132}}|NAME=filter log}})
;Page you were editing
: [[Wikijunior:Kings and Queens of England/Future monarchs]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Wikijunior:Kings and Queens of England/Future monarchs}}|NAME=filter log}})
;Description
: A few months after Elizabeth II died, I copied and repurposed some material about Charles III from this article into the article [[Wikijunior:Kings and Queens of England/The House of Windsor]]. When I tried deleting the now redundant Charles biography on "Future monarchs", it kept warning me that I was deleting large amounts of material. I wrote a message on the [[Wikijunior talk:Kings and Queens of England/Future monarchs|"Future monarchs" talk page]] asking someone else to delete the Charles bio, but no one has done so. I probably should have come here and asked for help back then, and I apologize for not doing that. I would appreciate if someone who is authorized to do so deleted the Charles bio at "Future monarchs". Thank you.
;Date and time
: 06:56, 20 September 2023 (UTC)
;Comments
{{done}} Thanks for the heads-up! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:32, 20 September 2023 (UTC)
== Fabrickator ==
;Username
: {{user|Fabrickator}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Fabrickator}}|NAME=filter log}})
;Page you were editing
: [[[[Professionalism/Boston's Big Dig Project]]]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:[[Professionalism/Boston's Big Dig Project]]}}|NAME=filter log}})
;Description
: rescue broken "boston.com" link with Wayback link
;Date and time
: 16:43, 29 September 2023 (UTC)
;Comments
Heads-up: I went to look at the wayback link in order to add it in manually for you, but it was broken. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:14, 30 September 2023 (UTC)
== Adolfo Martin Fuentes ==
;Username
: {{user|Adolfo Martin Fuentes}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Adolfo Martin Fuentes}}|NAME=filter log}})
;Page you were editing
: [[BASIC Programming]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:BASIC Programming}}|NAME=filter log}})
;Description
: I was adding two links to normative documents
;Date and time
: 15:23, 7 October 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Adolfo Martin Fuentes ==
;Username
: {{user|Adolfo Martin Fuentes}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Adolfo Martin Fuentes}}|NAME=filter log}})
;Page you were editing
: [[BASIC_Programming/Introduction]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:BASIC_Programming/Introduction}}|NAME=filter log}})
;Description
: I was creating a new page as a framework for subsequent editing
;Date and time
: 18:59, 7 October 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Mikedavid.1525 ==
;Username
: {{user|Mikedavid.1525}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Mikedavid.1525}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
: I've made a slight modification to the text to enhance clarity and flow:
here my updated text
online Python editor and compiler that allows you to run your Python code without the need for any installation. With this convenient web-based tool, you can write, test, and execute Python code instantly.
;Date and time
: 09:18, 8 October 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== 92.17.242.176 ==
;Username
: {{user|92.17.242.176}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:92.17.242.176}}|NAME=filter log}})
;Page you were editing
: [[Ohio_7th_Grade_World_History/Spread_and_Impact_of_the_Black_Death]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Ohio_7th_Grade_World_History/Spread_and_Impact_of_the_Black_Death}}|NAME=filter log}})
;Description
: orthographic and grammatical corrections. Also, plague is caused by a bacterium, not by a virus as wrongly stated in one of the sections of this article
;Date and time
: 07:21, 18 October 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:What were you doing when you made the edit? <sup>— [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 08:00, 18 October 2023 (UTC)
::This was a good edit that fell foul of an edit filter because your account (or IP address in this case) is new. It was triggered by including the word "suck" which is a common word for vandals to insert. I have made the edit for you. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 10:16, 18 October 2023 (UTC)
== Kdmz ==
;Username
: {{user|Kdmz}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Kdmz}}|NAME=filter log}})
;Page you were editing
: [[Arabic/Online_resources]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Arabic/Online_resources}}|NAME=filter log}})
;Description
: Tried to add a new Arabic resource which presents an Arabic keyboard with a unique automatic diacritization feature and comprehensive Arabic grammar lessons from beginner to advanced levels but the edit triggered an automated throttle.
;Date and time
: 18:45, 15 October 2023 (UTC)
;Comments
:{{ping|Kdmz}} Post a link that isnt the actual link, so like this: '''example.com/example''' instead of '''https://example.com/example'''. Then another user who can post external links will/should come along and make it a link. <sup>— [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 08:08, 17 October 2023 (UTC)
::{{ping|Kdmz}} My original ping didnt work, now the issue has been fixed <sup>— [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 08:34, 17 October 2023 (UTC)
:::Ok done [[User:Kdmz|Kdmz]] ([[User talk:Kdmz|discuss]] • [[Special:Contributions/Kdmz|contribs]]) 19:14, 6 November 2023 (UTC)
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Daeraxa ==
;Username
: {{user|Daeraxa}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Daeraxa}}|NAME=filter log}})
;Page you were editing
: [[OpenSCAD_User_Manual/Using_an_external_Editor_with_OpenSCAD]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:OpenSCAD_User_Manual/Using_an_external_Editor_with_OpenSCAD}}|NAME=filter log}})
;Description
: Attempting to add links to the "Support of external editors" section in order to add the link to both the Pulsar editor homepage and the relevant package - particularly relevant as Pulsar is the only actively maintained and developed fork of Atom and has nearly all of Atom's original packages. No commercial link spamming here as Pulsar is completely FOSS and has no monetisation other than a few donation links on the webpage in order to try and offset hosting costs. (Unrelated but this page keeps prompting to hit a "Save page" button which does not appear to exist? This is in the instructions banner as well as in the acceptance for ToS and Privacy Policy).
;Date and time
: 18:33, 12 September 2023 (UTC)
;Comments
Sorry this got missed! I made the edit for you since there are restrictions on new/inexperienced users adding external links due to spam. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:35, 21 November 2023 (UTC)
:Thanks for sorting that, part of the URL got missed (probably by me initially) so I've added it in and it seems to have let me do it. [[User:Daeraxa|Daeraxa]] ([[User talk:Daeraxa|discuss]] • [[Special:Contributions/Daeraxa|contribs]]) 03:06, 21 November 2023 (UTC)
== 204.116.105.26 ==
;Username
: {{user|204.116.105.26}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:204.116.105.26}}|NAME=filter log}})
;Page you were editing
: [[Ancient History/Greece/Mycenaean Civilization]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Ancient History/Greece/Mycenaean Civilization}}|NAME=filter log}})
;Description
: My friend tried to make a joke and put "I AM A DINOSAUR" on my other friend's computer and I was trying to change it back to "The Iliad"
;Date and time
: 20:13, 4 December 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== O andras ==
;Username
: {{user|O andras}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:O andras}}|NAME=filter log}})
;Page you were editing
: [[The_World_of_Peer-to-Peer_(P2P)/What_is_Peer-to-Peer_(P2P)/Legal_Perspective]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:The_World_of_Peer-to-Peer_(P2P)/What_is_Peer-to-Peer_(P2P)/Legal_Perspective}}|NAME=filter log}})
;Description
: An external URL now results in HTTP 404, so I was replacing it with an archive.org version instead.
;Date and time
: 18:52, 6 December 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Joris Darlington Quarshie ==
;Username
: {{user|Joris Darlington Quarshie}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Joris Darlington Quarshie}}|NAME=filter log}})
;Page you were editing
: [[Creating User:Joris Darlington Quarshie/Userscript/Chapter Progress Tracker]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Creating User:Joris Darlington Quarshie/Userscript/Chapter Progress Tracker}}|NAME=filter log}})
;Description
: I was creating a page for a userscript i just created for wikibooks.
;Date and time
: 11:42, 13 December 2023 (UTC)
;Comments
@[[User:Joris Darlington Quarshie]] It looks like you were flagged due to the presence of links in your edit, since new users have restrictions on adding links to pages. Would you like me to add the content for you? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:55, 16 December 2023 (UTC)
== RandomEditin ==
;Username
: {{user|RandomEditin}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:RandomEditin}}|NAME=filter log}})
;Page you were editing
: [[en.wikibooks.org/w/index.php?title=OpenSCAD_User_Manual/DXF_Extrusion]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:/OpenSCAD_User_Manual/Using_the_2D_Subsystem}}|NAME=filter log}})
;Description
: I was trying to fix link rot by replacing the link with a archived version.
;Date and time
: 04:43, 20 December 2023 (UTC)
;Comments
I've fixed it for you. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:29, 20 December 2023 (UTC)
== Helrasincke ==
;Username
: {{user|Helrasincke}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Helrasincke}}|NAME=filter log}})
;Page you were editing
: [[LaTeX/Special_Characters#External_links]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:LaTeX/Special_Characters#External_links}}|NAME=filter log}})
;Description
: Triggered throttle whilst attempting to replace dead URLs with archived versions. Please rectify. Cheers
;Date and time
: 11:19, 26 December 2023 (UTC)
;Comments
{{done}} cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:07, 26 December 2023 (UTC)
== 213.175.171.242 ==
;Username
: {{user|213.175.171.242}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:213.175.171.242}}|NAME=filter log}})
;Page you were editing
: [[Chess_Opening_Theory/1._e4/1...d5/2._exd5/2...Qxd5/3._Ke2/3...Qe4]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Chess_Opening_Theory/1._e4/1...d5/2._exd5/2...Qxd5/3._Ke2/3...Qe4}}|NAME=filter log}})
;Description
: I was trying to add some content about the last move, but I got blocked by 'repeated vandalism attempts'. But, I was trying to add content to it!
;Date and time
: 16:10, 27 December 2023 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== 139.130.241.224 ==
;Username
: {{user|139.130.241.224}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:139.130.241.224}}|NAME=filter log}})
;Page you were editing
: [[Wikibooks:Sandbox]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Wikibooks:Sandbox}}|NAME=filter log}})
;Description
: I was trying to experiment with the sandbox, but a filter said that my edit will not be published as it is considers it as vandalism.
;Date and time
: 08:19, 3 January 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== SociableFish ==
;Username
: {{user|SociableFish}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:SociableFish}}|NAME=filter log}})
;Page you were editing
: [[More C++ Idioms/Curiously Recurring Template Pattern]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:More C++ Idioms/Curiously Recurring Template Pattern}}|NAME=filter log}})
;Description
: I was trying to edit the CRTP page to add a simpler way you can do it in C++23 using explicit this parameter. Because people might not know what those 3 words mean, I wanted to make the 3 words link to the cppreference page about it. cppreference is the C++ reference wiki that most people use.
;Date and time
: 19:24, 27 December 2023 (UTC)
;Comments
Hi {{ping|SociableFish}} New users are restricted in their ability to add links in order to prevent spam. I'd recommend adding everything but the link, and then someone else can help you. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:08, 6 January 2024 (UTC)
== 49.187.16.86 ==
;Username
: {{user|49.187.16.86}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:49.187.16.86}}|NAME=filter log}})
;Page you were editing
: [[Wikibooks:Sandbox]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Wikibooks:Sandbox}}|NAME=filter log}})
;Description
: I wanted to edit the Sandbox, isn't it a page for experimenting? Because it said that I am making unconstructive edits. Can you please fix this?
;Date and time
: 03:05, 10 January 2024 (UTC)
;Comments
<span class="template-ping">@[[:User:Leaderboard|Leaderboard]]:</span> do you know why this pinged a filter? It does seem like a reasonable use of the sandbox. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:22, 10 January 2024 (UTC)
:{{re|Kittycataclysm}}, the IP hit filter 18 - that's a simple rate filter. Seemed like the user was trying to make (to the filter) quick edits; we should improve this. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 17:40, 12 January 2024 (UTC)
::Got it, thanks! Unfortunately, I'm not sure how to go about making this kind of change. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:23, 15 January 2024 (UTC)
== Spindown ==
;Username
: {{user|Spindown}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Spindown}}|NAME=filter log}})
;Page you were editing
: [[[[How to Solve the Rubik's Cube]]]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:[[How to Solve the Rubik's Cube]]}}|NAME=filter log}})
;Description
: I was fleshing out part of the beginner methods section, since it had some material that was still in raw point form, and the instructions were incomplete. The link I provided, which triggered the spam filter, is a tutorial with diagrams that do a better job of explaining these steps. I would have added it as a citation, but I used a link to follow the style of the rest of the section.
;Date and time
: 18:25, 12 January 2024 (UTC)
;Comments
Hi {{ping|Spindown}}! I'd recommend using citations over simply inserting links. I believe it is more appropriate for the book format and the way the link is being used. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:28, 15 January 2024 (UTC)
:I agree that citations would be better, however that clashes with the format of the existing text. [[User:Spindown|Spindown]] ([[User talk:Spindown|discuss]] • [[Special:Contributions/Spindown|contribs]]) 21:35, 5 April 2024 (UTC)
== 110.54.146.208 ==
--[[Special:Contributions/110.54.146.208|110.54.146.208]] ([[User talk:110.54.146.208|discuss]])media<math><math></math>~
;Username
: {{user|110.54.146.208}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:110.54.146.208}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 07:13, 16 January 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Zoetanya ==
;Username
: {{user|Zoetanya}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Zoetanya}}|NAME=filter log}})
;Page you were editing
: [[Creating About the DAReS project]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Creating About the DAReS project}}|NAME=filter log}})
;Description
: insert an external link to the project to provide more information on it for incoming Hackathon participants
;Date and time
: 05:02, 26 January 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Fabrickator ==
;Username
: {{user|Fabrickator}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Fabrickator}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
: Replace link for "European Dream of Progress and Enlightenment" with wayback link
: Sadly, it wouldn't allow including the url I was adding so had to delete it ... now I try to add it
: : web.archive.org/web/20080410041858/http://history-world.org/age_of_enlightenment.htm
;Date and time
: 03:16, 9 February 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== 96.230.237.221 ==
;Username
: {{user|96.230.237.221}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:96.230.237.221}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
: I was adding clarification about a calculator program that caused my class and I confusion. I was editing the "Editing TI-Basic 84 Programming/ A Basic Program for clarity in using quotation marks/ string markers to enclose the message and make the program function.
;Date and time
: 01:24, 28 February 2024 (UTC)
;Comments
I added the clarification for you. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:14, 28 February 2024 (UTC)
== TomKeane03 ==
;Username
: {{user|TomKeane03}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:TomKeane03}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
: Uploading my univeristy assignment as required. will not let me save. all my own work with appropriate in text referencing and bibliography.
;Date and time
: 09:59, 4 March 2024 (UTC)
;Comments
I believe this occurred because you are a new editor trying to make a large edit. Try making smaller edits. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:44, 4 March 2024 (UTC)
== 223.24.187.153 ==
[[Special:Contributions/223.24.187.153|223.24.187.153]] ([[User talk:223.24.187.153|discuss]]) 16:22, 16 March 2024 (UTC)
;Username
: {{user|223.24.187.153}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:223.24.187.153}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 16:22, 16 March 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== 172.59.218.11 ==
;Username
: {{user|172.59.218.11}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:172.59.218.11}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
: change lbs-ft to ft-lbs for every torque setting listed.
;Date and time
: 12:30, 18 March 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Dmlsjournal ==
;Username
: {{user|Dmlsjournal}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Dmlsjournal}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 01:56, 1 April 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Raidarr ==
;Username
: {{user|Raidarr}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Raidarr}}|NAME=filter log}})
;Page you were editing
: [[User_talk:Kittycataclysm]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:User_talk:Kittycataclysm}}|NAME=filter log}})
;Description
: Attempted notification that KC's impersonator on miraheze is locked and recommending a usurption request if there is an interest in claiming that name on miraheze in the future.
;Date and time
: 14:39, 11 April 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Rodejong ==
;Username
: {{user|Rodejong}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Rodejong}}|NAME=filter log}})
;Page you were editing
: [[User_talk:Kittycataclysm]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:User_talk:Kittycataclysm}}|NAME=filter log}})
;Description
: I was trying to notify Kittycataclysm, that the impersonator at Miraheze now has been globally locked, but what ever message I try to send, the message is blocked by Operator873's Filter. - The message is:
→I am a MH Volunteer. FYI, this user requested a new wiki, Global permissions and Stewardship within a day. And He/She referred to this account. So by coincident [[User:Xeverything11|Xeverything11]] confirmed my suspicion.
Said user account is now disabled. I hope this takes away the awkward feeling it must give to have an imposter using your on-wiki presence.
Kind regards<nowiki>, ~~~~</nowiki>←
Not even "This user has been globally locked at MH." can be posted in that topic.
Don't know what goes on, but this is weird.
;Date and time
: 14:17, 11 April 2024 (UTC)
;Comments
{{ping|Leaderboard}} Do you know why this user and the user below encountered this issue with my talk page? The filter it tripped doesn't seem to be local. Thanks! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:33, 11 April 2024 (UTC)
:{{re|Kittycataclysm}}, it's a global filter maintained by {{re|Operator873}} - you probably can't see it because it's a hidden global filter. To Operator873: the filter message says that you intended to disable it, but you enabled it later. Can you adjust the filter to make use of global edit counts at least? Also, Kittycataclysm, you may want to apply for [[meta:AFH|abuse filter helper]] as that will allow you to view these global filters if this helps you in diagnosing these issues better (but it's optional). [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 18:53, 11 April 2024 (UTC)
::{{re|Rodejong|Raidarr}} - pinging you with the explanation above. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 18:53, 11 April 2024 (UTC)
:::Thank you very much. At least @[[User:Kittycataclysm|Kittycataclysm]] was notified. And a problem discovered that can be dealt with. All in all "2 flies in one smack" [[User:Rodejong|Rodejong]] ([[User talk:Rodejong|discuss]] • [[Special:Contributions/Rodejong|contribs]]) 08:19, 12 April 2024 (UTC)
::@[[User:Leaderboard|Leaderboard]] I cannot. I'm no longer a steward, nor meta sysop. I'd suggest requesting that filter be disabled on [[meta:Steward_requests/Miscellaneous|Meta:SRM]] for assistance. [[User:Operator873|Operator873]] ([[User talk:Operator873|discuss]] • [[Special:Contributions/Operator873|contribs]]) 04:05, 12 April 2024 (UTC)
== 114.77.81.207 ==
;Username
: {{user|114.77.81.207}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:114.77.81.207}}|NAME=filter log}})
;Page you were editing
: [[Transportation Planning Casebook/Cross River Rail]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Transportation Planning Casebook/Cross River Rail}}|NAME=filter log}})
;Description
: Trying to edit my university assignment, the error is claiming I am adding a link, although I have not added any link in the main body, only using the cite/reference tool. If I attempt to submit with the reference removed, it claims I am adding unconstructive information.
;Date and time
: 07:42, 26 April 2024 (UTC)
;Comments
I'm not sure why this is getting flagged by the filter. {{ping|Leaderboard}} do you know what's going on here? My only recommendation would be to make an account. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:32, 26 April 2024 (UTC)
:{{re|Kittycataclysm}} The links are the issue. I recommend the user to create an account, and reference properly (i.e, don't just put a bunch of links at the end). [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 13:11, 26 April 2024 (UTC)
== 108.35.187.110 ==
;Username
: {{user|108.35.187.110}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:108.35.187.110}}|NAME=filter log}})
;Page you were editing
: [[Writing Adolescent Fiction/Character names/Arab]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Writing Adolescent Fiction/Character names/Arab}}|NAME=filter log}})
;Description
: Since this page had a lot of content removed (the boy’s name and most of the girl’s name section), I was trying to bring it back, but for some reason, it kept giving me an error. Can you bring the removed content back?
;Date and time
: 14:44, 25 May 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Bkil ==
;Username
: {{user|Bkil}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Bkil}}|NAME=filter log}})
;Page you were editing
: [[JavaScript/Bookmarklets]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:JavaScript/Bookmarklets}}|NAME=filter log}})
;Description
: Replace a broken link with a web.archive.org version
;Date and time
: 23:54, 6 June 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Gberkolaiko ==
;Username
: {{user|Gberkolaiko}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Gberkolaiko}}|NAME=filter log}})
;Page you were editing
: [[Quantum Graphs]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Quantum Graphs}}|NAME=filter log}})
;Description
: Adding a reference to a published article.
;Date and time
: 20:39, 19 April 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
{{done}} Already done by the user. [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 15:15, 1 July 2024 (UTC)
== Hordes222 ==
;Username
: {{user|Hordes222}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Hordes222}}|NAME=filter log}})
;Page you were editing
: [[User_talk:SHB2000]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:User_talk:SHB2000}}|NAME=filter log}})
;Description
: I am trying to ask about creating a short page for the Irish Gambit (which would be Chess Opening Theory/1. e4 e5 2. Nf6 Nc6 3. Nxe5??). The page had been previously protected for vandalism, which triggered the filter, but my proposed edit is unrelated to said vandalism (see [[User:Hordes222/sandbox|my sandbox]] for what I would add).
;Date and time
: 22:52, 6 May 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
{{done}} Appears to now exist at [[Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Nxe5]]. [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 15:15, 1 July 2024 (UTC)
== 92.29.137.45 ==
;Username
: {{user|92.29.137.45}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:92.29.137.45}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 15:14, 15 May 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
{{Not done}} Doesn't appear constructive, and you don't appear to have provided any summary to explain the edit. [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 15:15, 1 July 2024 (UTC)
== Bkil ==
;Username
: {{user|Bkil}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Bkil}}|NAME=filter log}})
;Page you were editing
: [[User:Bkil]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:User:Bkil}}|NAME=filter log}})
;Description
: tried to link to Wikipedia
;Date and time
: 23:57, 6 June 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
{{done}} [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 15:15, 1 July 2024 (UTC)
== TheMonkeyEatsBananas ==
;Username
: {{user|TheMonkeyEatsBananas}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:TheMonkeyEatsBananas}}|NAME=filter log}})
;Page you were editing
: [[https://en.wikibooks.org/wiki/User_talk:SHB2000]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:https://en.wikibooks.org/wiki/User_talk:SHB2000}}|NAME=filter log}})
;Description
: I was seeking to add a new message to SHB2000's unarchived discussion page to discuss the false report that I filed above. However, this resulted in this new message also being automatically removed.
;Date and time
: 06:16, 6 July 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
{{re|TheMonkeyEatsBananas}} - can you try your previous edit on Physics again? Regarding the issue with {{re|SHB2000}}, the problem is that she (alongside a few other contributors) has been the target of harassment, which is why that edit was blocked. This will no longer happen once you get some experience. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 07:43, 6 July 2024 (UTC)
:I've amended the abuse filter to set this wiki as an exception (in addition to enwikivoyage), but Leaderboard has said everything that you [TheMonkeyEatsBananas] need to know. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 07:50, 6 July 2024 (UTC)
:@[[User:Leaderboard|Leaderboard]] Thank you for your reply.
:Unfortunately with the Physics project, I didn't back up my work immediately before saving it. However, with about 20-30 minutes of spare time, I'll probably be able to attempt my edit again on the Unit 1 subpage of the project. I'll try this after I send this reply.
:Also, regarding harassment of any user on Wikimedia, that's particularly awful, and I hope the broader community is seeking to find a solution to further limit and prevent such activity. [[User:TheMonkeyEatsBananas|TheMonkeyEatsBananas]] ([[User talk:TheMonkeyEatsBananas|discuss]] • [[Special:Contributions/TheMonkeyEatsBananas|contribs]]) 08:22, 6 July 2024 (UTC)
::You can usually check the content of what you wrote before it was blocked on <span class="plainlinks>[https://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser=TheMonkeyEatsBananas Special:AbuseLog]</span>. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 09:06, 6 July 2024 (UTC)
:::Thank you. To note, I don't yet have the permissions for that as my account is still under four days old. I was able to rewrite what I had from the back-up and I ran into the same error, specifically "IP Large Edits." Would the best approach for transferring the content be to simply wait until I'm a confirmed user? [[User:TheMonkeyEatsBananas|TheMonkeyEatsBananas]] ([[User talk:TheMonkeyEatsBananas|discuss]] • [[Special:Contributions/TheMonkeyEatsBananas|contribs]]) 09:23, 6 July 2024 (UTC)
::::Yeah, I would say just wait till July 9 and then you'll become an autoconfirmed user. Unfortunately, we don't have any bureaucrats on this wiki to manually confirm you. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 09:43, 6 July 2024 (UTC)
:::::{{re|TheMonkeyEatsBananas}} A steward has overridden this for you - try now. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 13:15, 6 July 2024 (UTC)
== LKreissig ==
;Username
: {{user|LKreissig}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:LKreissig}}|NAME=filter log}})
;Page you were editing
: [[Polyomino]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Polyomino}}|NAME=filter log}})
;Description
: Publishing has just been denied only because I mentioned the reputable online integer encyclopedia oeis.org. That is not any kind of commercial advertisement!
;Date and time
: 23:53, 14 August 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:Just make the edit again with the URL omitted. Before doing so, make sure you name the page properly - it should be in a book, not a standalone page. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:34, 16 August 2024 (UTC)
== TheMonkeyEatsBananas ==
;Username
: {{user|TheMonkeyEatsBananas}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:TheMonkeyEatsBananas}}|NAME=filter log}})
;Page you were editing
: [[Physics Explained Through a Video Game]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Physics Explained Through a Video Game}}|NAME=filter log}})
;Description
: An introduction to classical mechanics with visual content from the website Bonk.io, a multiplayer physics game with a freely licensed policy for user-generated content. Although it uses examples from a video game as visual aids, the textbook only discusses real-world physics.
The filtered edit was a transfer of Unit 1 of the textbook from the Bonk.io Wiki, a wiki under Fandom, Inc., to Wikibooks. To note, I am the only contributor of the original textbook content. My intention was to move the content from the Bonk.io Wiki to a more appropriate location and continue my work on the project here.
Thank you for your consideration.
;Date and time
: 22:06, 5 July 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
{{not done}} {{ping|TheMonkeyEatsBananas}} The edit needs attribution. [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 03:30, 18 September 2024 (UTC)
== Kamui Kazi ==
;Username
: {{user|Kamui Kazi}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Kamui Kazi}}|NAME=filter log}})
;Page you were editing
: [[PSP/Translation_Projects]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:PSP/Translation_Projects}}|NAME=filter log}})
;Description
: Add my translation project to the list of active projects
;Date and time
: 16:34, 24 September 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
{{done}} [[User:Ternera|Ternera]] ([[User talk:Ternera|discuss]] • [[Special:Contributions/Ternera|contribs]]) 18:57, 25 September 2024 (UTC)
== 24.183.148.225 ==
;Username
: {{user|24.183.148.225}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:24.183.148.225}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 15:34, 23 July 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
{{done}} [[User:Ternera|Ternera]] ([[User talk:Ternera|discuss]] • [[Special:Contributions/Ternera|contribs]]) 18:52, 25 September 2024 (UTC)
:@[[User:Ternera|Ternera]] help block @[[User:MathXplore|MathXplore]] [[Special:Contributions/2601:2C6:500:5300:CEDD:111D:42A3:BDE9|2601:2C6:500:5300:CEDD:111D:42A3:BDE9]] ([[User talk:2601:2C6:500:5300:CEDD:111D:42A3:BDE9|discuss]]) 22:06, 12 October 2024 (UTC)
::Bring it up with them, not me. [[User:Ternera|Ternera]] ([[User talk:Ternera|discuss]] • [[Special:Contributions/Ternera|contribs]]) 22:08, 12 October 2024 (UTC)
:: (Note) This IP has a global block in /64. [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 00:33, 13 October 2024 (UTC)
:Hi [[Special:Contributions/41.122.132.102|41.122.132.102]] ([[User talk:41.122.132.102|discuss]]) 17:58, 5 November 2024 (UTC)
== 75.172.52.200 ==
;Username
: {{user|75.172.52.200}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:75.172.52.200}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 20:38, 6 October 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
{{not done}} Please do not try to blank articles without a reason. [[User:Ternera|Ternera]] ([[User talk:Ternera|discuss]] • [[Special:Contributions/Ternera|contribs]]) 14:35, 9 October 2024 (UTC)
:Why you are not done😭😭😭😭 [[Special:Contributions/41.122.132.102|41.122.132.102]] ([[User talk:41.122.132.102|discuss]]) 18:00, 5 November 2024 (UTC)
== Mdhor123 ==
;Username
: {{user|Mdhor123}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Mdhor123}}|NAME=filter log}})
;Page you were editing
: [[Microsoft Office/PowerPoint Keyboard Shortcuts]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Microsoft Office/PowerPoint Keyboard Shortcuts}}|NAME=filter log}})
;Description
: Added a bunch of shortcuts to the list, but wasn't allowed to add the source.
;Date and time
: 09:28, 3 November 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:As a new editor, adding an external link can trigger the edit filter like this. It wasn't the shortcuts that caused the problem, it was the URL. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:01, 4 November 2024 (UTC)
== Tres Libras ==
;Username
: {{user|Tres Libras}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Tres Libras}}|NAME=filter log}})
;Page you were editing
: [[XQuery/SPARQL Tutorial]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:XQuery/SPARQL Tutorial}}|NAME=filter log}})
;Description
: Anti-spam filter.
;Date and time
: 00:22, 19 November 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
I understand that this abuse filter is in place to protect enwikibooks from spam. I was only trying to revert a problematic edit on XQuery/SPARQL Tutorial. I’m not a regular contributor here; I mainly focus on combating cross-wiki vandalism and monitoring small wikis. Best regards.
: Looks like this was taken care of—thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:51, 19 November 2024 (UTC)
== Ab12gu ==
;Username
: {{user|Ab12gu}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Ab12gu}}|NAME=filter log}})
;Page you were editing
: [[OpenJSCAD_User_Guide]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:OpenJSCAD_User_Guide}}|NAME=filter log}})
;Description
: want to add openjscad link
;Date and time
: 22:54, 10 December 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
* It does not look like you triggered any filters on that page? [[User:Ternera|Ternera]] ([[User talk:Ternera|discuss]] • [[Special:Contributions/Ternera|contribs]]) 01:51, 3 January 2025 (UTC)
== 108.35.187.110 ==
;Username
: {{user|108.35.187.110}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:108.35.187.110}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
: I am trying to add a link to a page on this very wiki I was about to revise for the false positive, but the filter flagged me for using an external link. The page in question is the Arab names section of Writing Adolescent Fiction, which had a lot of names removed by a vandal.
;Date and time
: 04:18, 21 November 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|done}} – [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 22:10, 16 January 2025 (UTC)
== 58.145.184.218 ==
;Username
: {{user|58.145.184.218}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:58.145.184.218}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 21:11, 17 December 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|ndefm}} – [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 22:41, 16 January 2025 (UTC)
== 192.0.217.147 ==
;Username
: {{user|192.0.217.147}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:192.0.217.147}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
: Chess_Opening_Theory/1._c4/1…c5/2._b4
I was trying to write a page about the Queen's Wing Gambit. That's it, hopefully I'm not an idiot.
;Date and time
: 07:29, 22 December 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|alreadydone}} – [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 10:49, 15 January 2025 (UTC)
== 89.164.23.10 ah ffs, I was just trying to correct my spelling, but if wiki objects, whatever ==
;Username
: {{user|89.164.23.10}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:89.164.23.10}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 23:03, 2 January 2025 (UTC)
;Comments
I've fixed this for you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:09, 3 January 2025 (UTC)
== 2600:1700:25E0:2710:49AF:96EF:8A53:EA8E ==
;Username
: {{user|2600:1700:25E0:2710:49AF:96EF:8A53:EA8E}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:2600:1700:25E0:2710:49AF:96EF:8A53:EA8E}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
: Huh?
;Date and time
: 16:56, 30 November 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== 204.100.235.104 ==
;Username
: {{user|204.100.235.104}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:204.100.235.104}}|NAME=filter log}})
;Page you were editing
: [[How To Assemble A Desktop PC/Choosing the parts]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:How To Assemble A Desktop PC/Choosing the parts}}|NAME=filter log}})
;Description
: Adding updated information about modems
;Date and time
: 22:01, 11 December 2024 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== AidenPrydeJF ==
;Username
: {{user|AidenPrydeJF}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:AidenPrydeJF}}|NAME=filter log}})
;Page you were editing
: [[Haskell/Getting set up]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Haskell/Getting set up}}|NAME=filter log}})
;Description
: Eliminated verbosity. Added links to Haskell Discord and IRC for Haskell environment installation assistance
;Date and time
: 17:55, 1 January 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Jacobdgm ==
;Username
: {{user|Jacobdgm}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Jacobdgm}}|NAME=filter log}})
;Page you were editing
: [[[[User:Jacobdgm]]]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:[[User:Jacobdgm]]}}|NAME=filter log}})
;Description
: Trying to add a link to my Wikipedia User page. I also tried to add a link to my personal website, similar to the link present on my Wikipedia User page, but even when I removed it, I continued to get the error message upon clicking "Publish".
(Notably, I'm not even able to add a link to my Wikipedia User page [or, for that matter, my Wikibooks User page via URL] here. It's the same username, just in the Wikipedia domain.)
I'm guessing the main reason I'm getting an error message is because my Wikibooks account wasn't activated until a few minutes ago, when I made an edit to a recipe. But it does seem a bit silly that I should not be able to link to other Wikipedia/Wikibooks pages...
;Date and time
: 17:01, 31 January 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|defm}} The problem here is that you wrote the link to Wikipedia as https://..., which falls under the [[w:regular expression|regular expression]] for external links. I will look into the possibility of exempting links to Wikimedia projects from the filter. – [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:49, 31 January 2025 (UTC)
:We would rather prefer ''not'' using bare links and rather use relative URLs (i.e, [[wikipedia:]]) [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 02:30, 1 February 2025 (UTC)
::I do think we should allow bare links, since those are often used when linking to diffs or log entries (including on the local project). [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 02:34, 1 February 2025 (UTC)
:::OK fair but that's not usually the case from my experience. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 03:02, 1 February 2025 (UTC)
:::Are there not ways to link to these without bare linking? Like [[Special:Diff]]? It seems like unambiguously valid cases of bare-linking are rare, and discouraging bare-linking seems like a useful way to help reduce spamming. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:37, 1 February 2025 (UTC)
::::Those options do exist, however it took me quite a while to learn about them when I was new to the Wikimedia movement, and new users are precisely those users to whom this filter applies. Equally, users might not be aware of interwiki links ([[Wikibooks:Reading_room/Archives/2024/December#Can_one_publish_single_articles_on_Wikibooks?|example]]), or the <code><nowiki>[{{fullurl:{{PAGENAME}}|action=edit}} edit]</nowiki></code> trick to link to a page's edit box (generally, only relatively advanced MediaWiki users are familiar with that one). Also, I find it hard to understand how exactly you could spam by linking to a Wikimedia project. Most spammers that we attempt to catch with this filter are attempting to use Wikimedia for [[w:search engine optimization|search engine optimization]] purposes, and linking to other Wikimedia projects seems like a very poor way of doing that. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:05, 1 February 2025 (UTC)
== 1.46.150.177 ==
;Username
: {{user|1.46.150.177}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:1.46.150.177}}|NAME=filter log}})
;Page you were editing
: [[Wikibooks:Featured books/Nominations]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Wikibooks:Featured books/Nominations}}|NAME=filter log}})
;Description
: [[User:JJPMaster|I]] did not attempt to make this edit, but I found it while patrolling [[Special:AbuseLog]], and the "Repeated vandalism attempts" filter should not have applied. The user previously made two legitimate edits that were not caught by the filter a minute prior, but the RVA filter disallowed it.
;Date and time
: 00:30, 8 February 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Backofficeaccountant ==
;Username
: {{user|Backofficeaccountant}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Backofficeaccountant}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
: i want a edit a external link on my main page as a reference . please allow my page to do it it is necessary because of copyrights.
;Date and time
: 11:25, 15 February 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
i want a edit a external link on my main page as a reference . please allow my page to do it it is necessary because of copyrights.
:You are trying to spam a link to your website, which isn't allowed. And now you are blocked, goodbye. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 09:30, 17 February 2025 (UTC)
== Ujumrfr ==
;Username
: {{user|Ujumrfr}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Ujumrfr}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 15:42, 11 March 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|notdone}} – [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 18:35, 21 March 2025 (UTC)
== CBID2 ==
;Username
: {{user|CBID2}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:CBID2}}|NAME=filter log}})
;Page you were editing
: [[Open Source Wikibooks]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Open Source Wikibooks}}|NAME=filter log}})
;Description
: I was trying to add a section about Christine Peterson(she came up with the name "open source" and I felt that it was important to add this information to give her proper acknowledgment because she and other women in the open source community are often not acknowledged for their efforts). Unfortunately, I keep getting an error message anytime I try to publish it. Can anyone help me solve it?
;Date and time
: 17:12, 11 April 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: The link you've included aside, I don't think the quote you tried to add about the origin of the term "open source" is particularly useful. Also, the page you attempted to edit is [[Open Source]], not [[Open Source Wikibooks]] (which doesn't exist). [[User:TTWIDEE|TTWIDEE]] ([[User talk:TTWIDEE|discuss]] • [[Special:Contributions/TTWIDEE|contribs]]) 19:59, 11 April 2025 (UTC)
== Locahox603 ==
;Username
: {{user|Locahox603}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Locahox603}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 16:07, 11 May 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:{{EFFP|nd}} [[User:Ternera|Ternera]] ([[User talk:Ternera|discuss]] • [[Special:Contributions/Ternera|contribs]]) 14:33, 23 May 2025 (UTC)
== Kcapoor ==
;Username
: {{user|Kcapoor}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Kcapoor}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 03:37, 28 April 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|nd}} [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 19:02, 3 June 2025 (UTC)
== 2A00:1E:DF03:1E01:D170:27F5:F15F:57E8 ==
;Username
: {{user|2A00:1E:DF03:1E01:D170:27F5:F15F:57E8}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:2A00:1E:DF03:1E01:D170:27F5:F15F:57E8}}|NAME=filter log}})
;Page you were editing
: [[[[OpenSCAD User Manual/Input Devices]]]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:[[OpenSCAD User Manual/Input Devices]]}}|NAME=filter log}})
;Description
: I was trying to improve the OpenSCAD input device manual, and added some links to the Debian and Arch linux wikis. Nothing too objectionable. I did spend some time making sure I was improving that page, so it'd be nice if those changes are accepted.
;Date and time
: 11:00, 26 May 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|d}} Note that I removed the last sentence, which is unnecessary. Otherwise, your edit looked fine to implement. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:56, 3 June 2025 (UTC)
== 38.211.149.56 ==
;Username
: {{user|38.211.149.56}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:38.211.149.56}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 10:52, 1 June 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|nd}} [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:56, 3 June 2025 (UTC)
== 176.1.132.105 ==
;Username
: {{user|176.1.132.105}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:176.1.132.105}}|NAME=filter log}})
;Page you were editing
: [[Handbook_of_Management_Scales/Procedural_justice]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Handbook_of_Management_Scales/Procedural_justice}}|NAME=filter log}})
;Description
: trying to add a source with a link via doi . org
;Date and time
: 22:44, 6 June 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:{{EFFP|d|https://en.wikibooks.org/w/index.php?title=Handbook_of_Management_Scales/Procedural_justice&diff=prev&oldid=4519425}} [[User:Ternera|Ternera]] ([[User talk:Ternera|discuss]] • [[Special:Contributions/Ternera|contribs]]) 13:02, 23 June 2025 (UTC)
== {{subst:136472 Makemake}} ==
;Username
: {{user|2601:2C6:580:1960:9DF8:EF8C:BD2D:E975}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:2601:2C6:580:1960:9DF8:EF8C:BD2D:E975}}|NAME=filter log}})
;Page you were editing
: [[(1364720 Makemake]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:(1364720 Makemake}}|NAME=filter log}})
;Description
: I was editing it but it said "We are sorry, your edit can not be completed at this time. Your recent edits have repeatedly triggered the edit filter. To prevent users from repeatedly attempting to make unconstructive edits, your edit has been disallowed. If this is not your intention, we apologize for the inconvenience but please report this error and try your edit again later."
;Date and time
: 21:58, 20 June 2025 (UTC)
;Comments
The edit was blocked as likely vandalism. While you weren't attempting to vandalise, you were copying and pasting text from Wikipedia which is a breach of the site license. If you wish to import text from Wikipedia, please request an import at [[WB:RFI]] [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 09:35, 23 June 2025 (UTC)
: Per the response above, I am marking as {{EFFP|nd}} [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 12:00, 29 June 2025 (UTC)
== Makerofjacket ==
Hello, I attempted to add an external link to makerofjacket.com as a relevant reference for leather fashion and design. The brand is mentioned in the context of leather skirt styles and is directly related to the subject.
This is not promotional or spam content the link supports the topic and gives readers a source for further exploration.
:It is spam, as is your username, so you are now blocked. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 13:21, 1 July 2025 (UTC)
== 185.164.156.170 ==
;Username
: {{user|185.164.156.170}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:185.164.156.170}}|NAME=filter log}})
;Page you were editing
: [[]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:}}|NAME=filter log}})
;Description
:
;Date and time
: 18:53, 27 June 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:{{EFFP|d}} Though I'll put in a separate edit to fix your link, since it appears to be dead, and I've found a working one online. [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 03:45, 6 July 2025 (UTC)
== ValWinter ==
;Username
: {{user|ValWinter}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:ValWinter}}|NAME=filter log}})
;Page you were editing
: [[Swedish]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:Swedish}}|NAME=filter log}})
;Description
: I wanted to add the Swedish Phrasebook from Wikivoyage in the See Also section. Other WikiMedia sites related to the Swedish language were linked and I wanted to add this as well.
My reason is through researching language acquisition people recommend using phrasebooks as a good starting place for learning essential grammar/words.
If this is inappropriate I apologize and won't do it again.
;Date and time
: 20:14, 1 July 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:{{EFFP|nd}} {{ping|ValWinter}} I don't think this needs to be in there, as the Swedish language sites are probably enough, but thank you for your contribution! [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 03:48, 6 July 2025 (UTC)
:: For filter 7, this shouldn’t have tripped on Wikipedia URLs which are disallowed by another filter. I'll try to fix that filter later, and perhaps filter 44. <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|talk]] · [[Special:Contributions/Codename Noreste|contribs]])</span> 03:51, 6 July 2025 (UTC)
:::{{ping|Codename Noreste}} I might suggest, by the way, that [[Special:AbuseLog/305229]] should not have been disallowed on this page, in the interests of allowing a user to report a perceived false positive to the noticeboard. [[User:EggRoll97|EggRoll97]] ([[User talk:EggRoll97|discuss]] • [[Special:Contributions/EggRoll97|contribs]]) 04:12, 6 July 2025 (UTC)
::::Implementing a fix right now… <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|talk]] · [[Special:Contributions/Codename Noreste|contribs]])</span> 04:15, 6 July 2025 (UTC)
::::: [[User:EggRoll97|EggRoll97]]: {{EFFP|fixed|Codename Noreste}} I tested this, and the false positive hit did not match. I also excluded some Wikimedia domains in addition to <code><ref</code>. The filter should now trip if http is in added_lines then added_links. <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|talk]] · [[Special:Contributions/Codename Noreste|contribs]])</span> 04:24, 6 July 2025 (UTC)
== MooseGooseTruce ==
;Username
: {{user|MooseGooseTruce}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:MooseGooseTruce}}|NAME=filter log}})
;Page you were editing
: [[LaTeX/Installation]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:LaTeX/Installation}}|NAME=filter log}})
;Description
: Adding a link to the popular and well-maintained LaTeX plugin VimTeX to the Vim section.
;Date and time
: 08:53, 17 July 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|nd|The filter is working correctly as it prevents new users from adding external links, but I am not sure if Github is considered acceptable to add such links to books}} <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 00:04, 21 July 2025 (UTC)
== Kristien86 ==
;Username
: {{user|Kristien86}} ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchUser={{urlencode:Kristien86}}|NAME=filter log}})
;Page you were editing
: [[https://en.wikibooks.org/w/index.php?title=Jeep_Liberty/Suspension/Shocks_%26_Struts&veaction=edit§ion=9]] ({{plainlinks|URL=http://en.wikibooks.org/wiki/Special:AbuseLog?title=Special:AbuseLog&wpSearchTitle={{urlencode:https://en.wikibooks.org/w/index.php?title=Jeep_Liberty/Suspension/Shocks_%26_Struts&veaction=edit§ion=9}}|NAME=filter log}})
;Description
: Add an external link to Freedom Offroad USA - https://freedomoffroadusa.com/
;Date and time
: 20:53, 10 July 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:That was correctly blocked as probable spam. Please discuss on the page's talk page if you think there is value in adding the link [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 08:39, 11 July 2025 (UTC)
: {{EFFP|nd}} <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 16:03, 11 July 2025 (UTC)
:Freedom Offroad USA is a similar/competitor company with the others listed/linked to. We added a valuable section on the topic of the page. Can we please have the link added? [[User:Kristien86|Kristien86]] ([[User talk:Kristien86|discuss]] • [[Special:Contributions/Kristien86|contribs]]) 22:25, 29 July 2025 (UTC)
== Tonyroberts2 ==
;Username
: [[:b:User:Tonyroberts2|Tonyroberts2]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:Tonyroberts2|discuss]]
|[[:b:Special:Emailuser/Tonyroberts2|email]]
|[[:b:Special:Contributions/Tonyroberts2|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:Tonyroberts2}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:Tonyroberts2}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks>[{{fullurl:Special:AbuseLog|wpSearchUser=Tonyroberts2}} filter log]</span>)
;Page you were editing
: [[https://en.wikibooks.org/w/index.php?title=Python_Programming/Excel]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=https%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DPython_Programming%2FExcel}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=https%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DPython_Programming%2FExcel&wpSearchUser=Tonyroberts2}} user filter log])</span>
;Description
: Adding a section for PyXLL (and Excel add-in mentioned on this page with no further information). Added a link to the PyXLL website (pyxll.com), which is consistent with other sections on this page.
;Date and time
: 11:55, 12 August 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Qbancoffee ==
;Username
: [[:b:User:Qbancoffee|Qbancoffee]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:Qbancoffee|discuss]]
|[[:b:Special:Emailuser/Qbancoffee|email]]
|[[:b:Special:Contributions/Qbancoffee|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:Qbancoffee}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:Qbancoffee}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks>[{{fullurl:Special:AbuseLog|wpSearchUser=Qbancoffee}} filter log]</span>)
;Page you were editing
: [[https://en.wikibooks.org/w/index.php?title=DriveWire_4]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=https%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DDriveWire_4}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=https%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DDriveWire_4&wpSearchUser=Qbancoffee}} user filter log])</span>
;Description
: I'm trying to add content in the way of links and citations to a manual I am putting together for DriveWire 4
;Date and time
: 19:19, 11 October 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:{{EFFP|f|Codename Noreste}} I went ahead and excluded a legitimate link, so it should not trigger the filter anymore. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 00:29, 12 October 2025 (UTC)
== ~2025-60584-5 ==
;Username
: [[:b:User:~2025-60584-5|~2025-60584-5]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:~2025-60584-5|discuss]]
|[[:b:Special:Emailuser/~2025-60584-5|email]]
|[[:b:Special:Contributions/~2025-60584-5|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:~2025-60584-5}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:~2025-60584-5}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks>[{{fullurl:Special:AbuseLog|wpSearchUser=%7E2025-60584-5}} filter log]</span>)
;Page you were editing
: [[https://en.wikibooks.org/w/index.php?title=Macedonian/Alphabet]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=https%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DMacedonian%2FAlphabet}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=https%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DMacedonian%2FAlphabet&wpSearchUser=%7E2025-60584-5}} user filter log])</span>
;Description
: Corrected the confusion between phonemic transcription (using the IPA standard and square brackets) and graphemic transcription (using local or international standards and angled brackets). Shortened and clarified some examples in the "notes" section as to not confuse the reader on sounds that cannot be approximated in the English language
;Date and time
: 22:11, 13 September 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|f|Codename Noreste}} '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 19:28, 26 October 2025 (UTC)
== NigoraJurayeva ==
;Username
: [[:b:User:NigoraJurayeva|NigoraJurayeva]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:NigoraJurayeva|discuss]]
|[[:b:Special:Emailuser/NigoraJurayeva|email]]
|[[:b:Special:Contributions/NigoraJurayeva|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:NigoraJurayeva}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:NigoraJurayeva}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks>[{{fullurl:Special:AbuseLog|wpSearchUser=NigoraJurayeva}} filter log]</span>)
;Page you were editing
: Page not specified
;Description
:
;Date and time
: 18:41, 13 November 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|nd}} [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 19:01, 15 November 2025 (UTC)
== Imona61 ==
;Username
: [[:b:User:Imona61|Imona61]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:Imona61|discuss]]
|[[:b:Special:Emailuser/Imona61|email]]
|[[:b:Special:Contributions/Imona61|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:Imona61}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:Imona61}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks>[{{fullurl:Special:AbuseLog|wpSearchUser=Imona61}} filter log]</span>)
;Page you were editing
: Page not specified
;Description
:
;Date and time
: 20:07, 13 November 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|notdone}} – [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 18:54, 15 November 2025 (UTC)
== Blogger-booster ==
;Username
: [[:b:User:Blogger-booster|Blogger-booster]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:Blogger-booster|discuss]]
|[[:b:Special:Emailuser/Blogger-booster|email]]
|[[:b:Special:Contributions/Blogger-booster|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:Blogger-booster}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:Blogger-booster}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks>[{{fullurl:Special:AbuseLog|wpSearchUser=Blogger-booster}} filter log]</span>)
;Page you were editing
: Page not specified
;Description
:
;Date and time
: 12:24, 16 November 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:{{EFFP|nd}} [[User:Ternera|Ternera]] ([[User talk:Ternera|discuss]] • [[Special:Contributions/Ternera|contribs]]) 23:51, 16 November 2025 (UTC)
== Aroaceattorney ==
;Username
: [[:b:User:Aroaceattorney|Aroaceattorney]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:Aroaceattorney|discuss]]
|[[:b:Special:Emailuser/Aroaceattorney|email]]
|[[:b:Special:Contributions/Aroaceattorney|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:Aroaceattorney}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:Aroaceattorney}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks>[{{fullurl:Special:AbuseLog|wpSearchUser=Aroaceattorney}} filter log]</span>)
;Page you were editing
: [[canadian refugee procedure]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=canadian+refugee+procedure}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=canadian+refugee+procedure&wpSearchUser=Aroaceattorney}} user filter log])</span>
;Description
: I was trying to add links of IRCC and CBSA's operational instructions and guidelines to the Home page of Canadian Refugee Procedure because I think it's useful for the readers to know how could the IRCC and/or CBSA handles an application.
;Date and time
: 00:05, 21 December 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|done}} – [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 00:29, 21 December 2025 (UTC)
== ~2025-37703-14 ==
;Username
: [[:b:User:~2025-37703-14|~2025-37703-14]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:~2025-37703-14|discuss]]
|[[:b:Special:Emailuser/~2025-37703-14|email]]
|[[:b:Special:Contributions/~2025-37703-14|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:~2025-37703-14}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:~2025-37703-14}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks>[{{fullurl:Special:AbuseLog|wpSearchUser=%7E2025-37703-14}} filter log]</span>)
;Page you were editing
: [[https://en.wikibooks.org/wiki/Ada_Programming/Platform/POSIX]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=https%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAda_Programming%2FPlatform%2FPOSIX}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=https%3A%2F%2Fen.wikibooks.org%2Fwiki%2FAda_Programming%2FPlatform%2FPOSIX&wpSearchUser=%7E2025-37703-14}} user filter log])</span>
;Description
: Just trying to update a dead link. My last edit removed the old link, but soon afterward I found the new link. The new link is https://standards.ieee.org/ieee/1003.5b/1429/
;Date and time
: 03:04, 3 December 2025 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:{{EFFP|d|4605219}} [[User:Ternera|Ternera]] ([[User talk:Ternera|discuss]] • [[Special:Contributions/Ternera|contribs]]) 15:09, 21 December 2025 (UTC)
== ~2026-96124 ==
;Username
: [[:b:User:~2026-96124|~2026-96124]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:~2026-96124|discuss]]
|[[:b:Special:Emailuser/~2026-96124|email]]
|[[:b:Special:Contributions/~2026-96124|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:~2026-96124}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:~2026-96124}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=%7E2026-96124}} filter log]</span>)
;Page you were editing
: [[Math_for_Non-Geeks/_Limit_of_functions]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=Math_for_Non-Geeks%2F_Limit_of_functions}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=Math_for_Non-Geeks%2F_Limit_of_functions&wpSearchUser=%7E2026-96124}} user filter log])</span>
;Description
: The article is an English translation of this article: https://de.wikibooks.org/w/index.php?title=Serlo%3A_EN%3A_Limit_of_functions&uselang=en
One of my collaborators translated it on de.wikibooks.org, while erroneously leaving a large proportion of German text at the bottom:https://en.wikibooks.org/wiki/Math_for_Non-Geeks/_Limit_of_functions
I copied the article here: https://de.wikibooks.org/wiki/Mathe_f%C3%BCr_Nicht-Freaks:_Grenzwert_von_Funktionen
and I tried to remove the excess text, so the content is in sync with the original German article.
;Date and time
: 17:49, 5 January 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|ad|Sascha Lill 95}} [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 19:55, 5 January 2026 (UTC)
== ~2026-30281-5 ==
;Username
: [[:b:User:~2026-30281-5|~2026-30281-5]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:~2026-30281-5|discuss]]
|[[:b:Special:Emailuser/~2026-30281-5|email]]
|[[:b:Special:Contributions/~2026-30281-5|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:~2026-30281-5}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:~2026-30281-5}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=%7E2026-30281-5}} filter log]</span>)
;Page you were editing
: Page not specified
;Description
:
;Date and time
: 21:12, 14 January 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|notdone}} – [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 20:47, 18 January 2026 (UTC)
== KT1234pro ==
;Username
: [[:b:User:KT1234pro|KT1234pro]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:KT1234pro|discuss]]
|[[:b:Special:Emailuser/KT1234pro|email]]
|[[:b:Special:Contributions/KT1234pro|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:KT1234pro}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:KT1234pro}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=KT1234pro}} filter log]</span>)
;Page you were editing
: Page not specified
;Description
:
;Date and time
: 06:54, 23 January 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|notdone}} – [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:28, 24 January 2026 (UTC)
== Standing Alone ==
;Username
: [[:b:User:Standing Alone|Standing Alone]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:Standing Alone|discuss]]
|[[:b:Special:Emailuser/Standing Alone|email]]
|[[:b:Special:Contributions/Standing Alone|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:Standing Alone}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:Standing Alone}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=Standing+Alone}} filter log]</span>)
;Page you were editing
: [[[[Python_Programming/Getting_Python|Python Programming]]]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=%5B%5BPython_Programming%2FGetting_Python%7CPython+Programming%5D%5D}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=%5B%5BPython_Programming%2FGetting_Python%7CPython+Programming%5D%5D&wpSearchUser=Standing+Alone}} user filter log])</span>
;Description
: [[https://en.wikibooks.org/w/index.php?title=Python_Programming/Getting_Python&diff=prev&oldid=4613227 change]]
I was adding PyPy to the other distributions, and at the end, it mentioned the link to get the distribution. However, it seems that, due to spam prevention, the addition of external links is disabled. Could you please add this [[https://pypy.org/ link]] to that table?
;Date and time
: 07:04, 23 January 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:{{EFFP|d|diff}} [[User:Ternera|Ternera]] ([[User talk:Ternera|discuss]] • [[Special:Contributions/Ternera|contribs]]) 15:29, 26 January 2026 (UTC)
== Davidlovechess ==
;Username
: [[:b:User:Davidlovechess|Davidlovechess]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:Davidlovechess|discuss]]
|[[:b:Special:Emailuser/Davidlovechess|email]]
|[[:b:Special:Contributions/Davidlovechess|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:Davidlovechess}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:Davidlovechess}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=Davidlovechess}} filter log]</span>)
;Page you were editing
: [[Pinyin]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=Pinyin}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=Pinyin&wpSearchUser=Davidlovechess}} user filter log])</span>
;Description
: deleting what i personally think is usless to the topic
;Date and time
: 14:08, 4 February 2026 (UTC)
;Comments
:The edit was correctly blocked. A new editor deleting more than half the page because you "think is usless"[sic] was correctly identified as likely vandalism. I suggest you make smaller edits, and learn more about this project, before wading in to make large changes like this. <!-- Template:Unsigned --><small class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver#top|talk]] • [[Special:Contributions/MarcGarver|contribs]]) </small> 17:38, 4 February 2026 (UTC)
== Engmark ==
;Username
: [[:b:User:Engmark|Engmark]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:Engmark|discuss]]
|[[:b:Special:Emailuser/Engmark|email]]
|[[:b:Special:Contributions/Engmark|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:Engmark}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:Engmark}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=Engmark}} filter log]</span>)
;Page you were editing
: [[QEMU/Monitor]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=QEMU%2FMonitor}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=QEMU%2FMonitor&wpSearchUser=Engmark}} user filter log])</span>
;Description
: Update keys for QEMU 10.1.2
;Date and time
: 14:21, 31 January 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:{{EFFP|done|4618023}} [[User:PieWriter|PieWriter]] ([[User talk:PieWriter|discuss]] • [[Special:Contributions/PieWriter|contribs]]) 01:07, 7 February 2026 (UTC)
== X5DragonFire ==
;Username
: [[:b:User:X5DragonFire|X5DragonFire]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:X5DragonFire|discuss]]
|[[:b:Special:Emailuser/X5DragonFire|email]]
|[[:b:Special:Contributions/X5DragonFire|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:X5DragonFire}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:X5DragonFire}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=X5DragonFire}} filter log]</span>)
;Page you were editing
: [[Anatomy and Physiology of Animals/Print version]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=Anatomy+and+Physiology+of+Animals%2FPrint+version}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=Anatomy+and+Physiology+of+Animals%2FPrint+version&wpSearchUser=X5DragonFire}} user filter log])</span>
;Description
: I was editng the print version of the Anatomy and Physiology of Animals page to be more print friendly, and in doing so copied the image from Anatomy and Physiology of Animals/Cardiovascular System into that page in order to replace a non-print-friendly template.
The description of that image has a link to what I assume is the original creator of that image on Flickr. My guess is that's what is getting flagged.
;Date and time
: 22:49, 5 February 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
:{{EFFP|done|4618018}} [[User:PieWriter|PieWriter]] ([[User talk:PieWriter|discuss]] • [[Special:Contributions/PieWriter|contribs]]) 01:01, 7 February 2026 (UTC)
== Davidlovechess ==
;Username
: [[:b:User:Davidlovechess|Davidlovechess]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:Davidlovechess|discuss]]
|[[:b:Special:Emailuser/Davidlovechess|email]]
|[[:b:Special:Contributions/Davidlovechess|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:Davidlovechess}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:Davidlovechess}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=Davidlovechess}} filter log]</span>)
;Page you were editing
: [[Classical_Chinese/Lesson_6]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=Classical_Chinese%2FLesson_6}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=Classical_Chinese%2FLesson_6&wpSearchUser=Davidlovechess}} user filter log])</span>
;Description
: i was trying to replace the text
;Date and time
: 10:06, 5 February 2026 (UTC)
;Comments
:{{EFFP|note}} I can verify that they are indeed making huge modifications to the lessons in [[Classical Chinese]], as the original texts were harder and longer, and many of the explanations for the original texts were incomplete. The texts that they use are simpler and are more useful as an introductory guide to Classical Chinese. [[Classical Chinese/Lesson 6]]'s text (“喜雨亭记”) was long and there is a huge table on the page; they are trying to replace the table with their own text. [[User:Jianhui67|'''<span style="color:#0E0">Jianhui67</span>''']]<sup> [[User talk:Jianhui67|<span style="color:#1E90FF">'''talk'''</span>]]<span style="color:red">★</span>[[Special:Contributions/Jianhui67|<span style="color:#1E90FF">'''contribs'''</span>]]</sup> 11:12, 5 February 2026 (UTC)
:{{EFFP|d|4618085}} Consider it done, as there seems to be no objections to the content replacement, though you might want to see what you can do with the original text 喜雨亭记. [[User:Jianhui67|'''<span style="color:#0E0">Jianhui67</span>''']]<sup> [[User talk:Jianhui67|<span style="color:#1E90FF">'''talk'''</span>]]<span style="color:red">★</span>[[Special:Contributions/Jianhui67|<span style="color:#1E90FF">'''contribs'''</span>]]</sup> 17:07, 7 February 2026 (UTC)
== WestenM86 ==
;Username
: [[:b:User:WestenM86|WestenM86]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:WestenM86|discuss]]
|[[:b:Special:Emailuser/WestenM86|email]]
|[[:b:Special:Contributions/WestenM86|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:WestenM86}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:WestenM86}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=WestenM86}} filter log]</span>)
;Page you were editing
: [[Infrastructure Past, Present, and Future Casebook/Washington Metro]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=Infrastructure+Past%2C+Present%2C+and+Future+Casebook%2FWashington+Metro}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=Infrastructure+Past%2C+Present%2C+and+Future+Casebook%2FWashington+Metro&wpSearchUser=WestenM86}} user filter log])</span>
;Description
: We are students who are just trying to figure out this system and make our start for this project made by our professor. We are allowed to do this by George Mason University.
;Date and time
: 18:20, 20 February 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|done|4620689}} I have added the text for you and moved the page to [[User:WestenM86/Infrastructure Past, Present, and Future Casebook/Washington Metro]], but please do not try to remove {{tl|delete}} templates. – [[User:PieWriter|PieWriter]] ([[User talk:PieWriter|discuss]] • [[Special:Contributions/PieWriter|contribs]]) 12:42, 26 February 2026 (UTC)
== VarastadDB ==
;Username
: [[:b:User:VarastadDB|VarastadDB]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:VarastadDB|discuss]]
|[[:b:Special:Emailuser/VarastadDB|email]]
|[[:b:Special:Contributions/VarastadDB|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:VarastadDB}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:VarastadDB}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=VarastadDB}} filter log]</span>)
;Page you were editing
: [[User:VarastadDerBedrosian]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=User%3AVarastadDerBedrosian}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=User%3AVarastadDerBedrosian&wpSearchUser=VarastadDB}} user filter log])</span>
;Description
: I am a new editor attempting to establish a biographical record for Varastad DerBedrosian, a computer scientist and founder of SecureUp Corp and GadgetWide Solutions. The initial "out of scope" flag likely triggered due to placeholder data from the account's setup phase. I am currently transitioning the content to a neutral, encyclopedic tone (WP:NPOV) and adding third-party citations to technical archives to verify the subject's historical impact on the cybersecurity and mobile utility sectors. I request the removal of the deletion tag to allow for these improvements in the Draft space.
;Date and time
: 08:12, 28 February 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|notdone}} – [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:28, 11 March 2026 (UTC)
== Jon Peli Oleaga ==
;Username
: [[:b:User:Jon Peli Oleaga|Jon Peli Oleaga]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:Jon Peli Oleaga|discuss]]
|[[:b:Special:Emailuser/Jon Peli Oleaga|email]]
|[[:b:Special:Contributions/Jon Peli Oleaga|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:Jon Peli Oleaga}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:Jon Peli Oleaga}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=Jon+Peli+Oleaga}} filter log]</span>)
;Page you were editing
: [[FORTRAN program for calculating representative parameters and operating conditions of AC overhead transmission lines]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=FORTRAN+program+for+calculating+representative+parameters+and+operating+conditions+of+AC+overhead+transmission+lines}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=FORTRAN+program+for+calculating+representative+parameters+and+operating+conditions+of+AC+overhead+transmission+lines&wpSearchUser=Jon+Peli+Oleaga}} user filter log])</span>
;Description
: I want to insert the code of the program and the input and output data of some examples; to show how data is entered and the coincidence of the results with what was said in the book of the Electric Power Researh Institute published 1n 1975 "Transmission Line Reference Book 345 kv and Above".
I have generated all that information; directly or using the program.--[[User:Jon Peli Oleaga|Jon Peli Oleaga]] ([[User talk:Jon Peli Oleaga|discuss]] • [[Special:Contributions/Jon Peli Oleaga|contribs]]) 11:54, 11 March 2026 (UTC)
;Date and time
: 11:54, 11 March 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
== Kingofnuthin ==
;Username
: [[:b:User:Kingofnuthin|Kingofnuthin]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:Kingofnuthin|discuss]]
|[[:b:Special:Emailuser/Kingofnuthin|email]]
|[[:b:Special:Contributions/Kingofnuthin|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:Kingofnuthin}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:Kingofnuthin}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=Kingofnuthin}} filter log]</span>)
;Page you were editing
: [[America's voice]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=America%27s+voice}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=America%27s+voice&wpSearchUser=Kingofnuthin}} user filter log])</span>
;Description
: Needs removal of other deletion templates as i did a second CSD for previously deleted page.
;Date and time
: 16:56, 25 March 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
: {{EFFP|fixed}} I changed a line of the filter so that certain user groups with <code>autoreview</code> are exempt. – [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:18, 27 March 2026 (UTC)
== Dom32628 ==
;Username
: [[:b:User:Dom32628|Dom32628]]<span class="noprint"> {{toolbar|separator=dot
|[[:b:User talk:Dom32628|discuss]]
|[[:b:Special:Emailuser/Dom32628|email]]
|[[:b:Special:Contributions/Dom32628|contribs]]
|[{{fullurl:b:Special:Log|user={{urlencode:Dom32628}}}} <span style{{=}}"color:#002bb8">logs</span>]
|[//tools.wmflabs.org/xtools/pcount/index.php?lang{{=}}en&wiki{{=}}wikibooks&name{{=}}{{urlencode:Dom32628}} <span style{{=}}"color:#002bb8">count</span>]
}}</span> (<span class="plainlinks">[{{fullurl:Special:AbuseLog|wpSearchUser=Dom32628}} filter log]</span>)
;Page you were editing
: [[Chess_Opening_Theory/1._c4/1...g5]] <span class="plainlinks">([{{fullurl:Special:AbuseLog|wpSearchTitle=Chess_Opening_Theory%2F1._c4%2F1...g5}} filter log]) ([{{fullurl:Special:AbuseLog|wpSearchTitle=Chess_Opening_Theory%2F1._c4%2F1...g5&wpSearchUser=Dom32628}} user filter log])</span>
;Description
: Added a link to Lichess.org in References. Lichess is free, open source and well regarded by the wiki community, showing the English Opening: Zilbermints Gambit. If there is a preferred referencing style to not reference lichess here, even if it is free & open source, let me know :)
;Date and time
: 23:46, 27 March 2026 (UTC)
;Comments
<!-- Please leave this area blank for now, but be prepared to answer questions left by reviewing editors. Thanks! -->
8vjeibzwzkpdoc3bdhkb1usbw8wxa4x
Inclusive Data Research Skills for Arts and Humanities
0
464300
4639771
4639767
2026-06-10T12:05:11Z
DianaMilenaGalindoClavijo
3604260
/* Outreach dashboard */
4639771
wikitext
text/x-wiki
{{New book}}{{book title|Inclusive Data Research Skills for Arts and Humanities}}
[[File:University of Edinburgh Spy Week Wikipedia edit-a-thon 08.jpg|330px|thumb|Hackathon participants will have the opportunity to collaboratively develop materials openly available through a creative commons licence|center]]
== Welcome ==
The DAReS project aims to develop an inclusive data and digital skills curriculum for the arts and humanities, which can inform a scalable regional or national pilot. This Hackathon is part of the DAReS project, funded by the AHRC as part of the IDAH Digital Skills Network, lead by the London College of Communication, University of the Arts London, with the Creative Computing Institute, King’s College London, Leeds University, Roehampton University, and partners, CRAC/Vitae and Wikimedia UK.
=== Resources for contributors ===
*[[/How to create an account/]]
*[[/What is Wikibooks/]]
*[[/How to add a chapter/]]
*The [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities outreach dashboard]
*[[/Guidance on accessibility and good practice/]]
*[[/Agenda for the Day/]]
== Contents ==
{{Book search}}
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|About the Project]] ===
*[[/About the DAReS project/]]
*[[/Project Team/]]
*[[/DAReS Codesigners/]]
*[[/Contributors/]]
*[[/Self Sustaining Community of Researchers/|Self-Sustaining Community of Researchers]]
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|DAReS Hackathon Code of Conduct]] ===
*[[/Purpose, values, code and consequences/]]
=== [[/Section 1/|Session 1: Data skills: What works for arts and humanities?]] ===
*[[/What counts as data?/]]
*[[/Data Visualization/]]
*[[/Data practices/]]
=== [[/Section 2/|Session 2: Data epistemologies and decolonising data tools and skills]] ===
*[[/Introductory context: How we came to data epistemologies and decolonial approaches/]]
*[[/Deconstructing data methods and decolonising approaches/|Deconstructing Data Methods and Decolonising Approaches]]
*[[/Data agencies/|Data Agencies]]
*[[/Data inequalities and power/|Data Inequalities and Power]]
=== [[/Section 3/|Session 3: Hacking the Research Journey]] ===
*[[/What is the research journey?/]]
*[[/What kinds of research can data-oriented arts and humanities researchers do and what are the possible challenges?/]]
*[[/What should a research goal be?/]]
*[[/Who can potential collaborators, partners and team be?/]]
*[[/How do you get funding?/]]
=== [[/Section 4/|DAReS Hackathon Reflection and Comments]] ===
=== [[/Section 4/|Section 4: AI and Inclusion]] ===
*[[/Example title 2/]]
*[[/Example title - Diana/]]
== Outreach dashboard ==
This book was collaboratively written by members of the DAReS project and attendees at the hackathon on 26 January 2024. It was updated to include an additional section on AI and Inclusion on June 10, 2026. A list of contributors can be found [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities/students on the outreach dashboard].
'''Contributors Included:'''
Karen Hanrahan
Claire Carroll
Zoetanya Sujon
Beatrice Wohl
Corey Ford
Diana Galindo
3obore25u8w57o7ybfqdoaujhrm45ip
4639788
4639771
2026-06-10T14:43:19Z
Zoetanya
3454920
/* DAReS Hackathon Reflection and Comments */
4639788
wikitext
text/x-wiki
{{New book}}{{book title|Inclusive Data Research Skills for Arts and Humanities}}
[[File:University of Edinburgh Spy Week Wikipedia edit-a-thon 08.jpg|330px|thumb|Hackathon participants will have the opportunity to collaboratively develop materials openly available through a creative commons licence|center]]
== Welcome ==
The DAReS project aims to develop an inclusive data and digital skills curriculum for the arts and humanities, which can inform a scalable regional or national pilot. This Hackathon is part of the DAReS project, funded by the AHRC as part of the IDAH Digital Skills Network, lead by the London College of Communication, University of the Arts London, with the Creative Computing Institute, King’s College London, Leeds University, Roehampton University, and partners, CRAC/Vitae and Wikimedia UK.
=== Resources for contributors ===
*[[/How to create an account/]]
*[[/What is Wikibooks/]]
*[[/How to add a chapter/]]
*The [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities outreach dashboard]
*[[/Guidance on accessibility and good practice/]]
*[[/Agenda for the Day/]]
== Contents ==
{{Book search}}
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|About the Project]] ===
*[[/About the DAReS project/]]
*[[/Project Team/]]
*[[/DAReS Codesigners/]]
*[[/Contributors/]]
*[[/Self Sustaining Community of Researchers/|Self-Sustaining Community of Researchers]]
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|DAReS Hackathon Code of Conduct]] ===
*[[/Purpose, values, code and consequences/]]
=== [[/Section 1/|Session 1: Data skills: What works for arts and humanities?]] ===
*[[/What counts as data?/]]
*[[/Data Visualization/]]
*[[/Data practices/]]
=== [[/Section 2/|Session 2: Data epistemologies and decolonising data tools and skills]] ===
*[[/Introductory context: How we came to data epistemologies and decolonial approaches/]]
*[[/Deconstructing data methods and decolonising approaches/|Deconstructing Data Methods and Decolonising Approaches]]
*[[/Data agencies/|Data Agencies]]
*[[/Data inequalities and power/|Data Inequalities and Power]]
=== [[/Section 3/|Session 3: Hacking the Research Journey]] ===
*[[/What is the research journey?/]]
*[[/What kinds of research can data-oriented arts and humanities researchers do and what are the possible challenges?/]]
*[[/What should a research goal be?/]]
*[[/Who can potential collaborators, partners and team be?/]]
*[[/How do you get funding?/]]
=== [[/Section 4/|Section 4: DAReS Hackathon Reflection and Comments]] ===
=== [[/Section 4/|Section 4: AI and Inclusion]] ===
*[[/Example title 2/]]
*[[/Example title - Diana/]]
== Outreach dashboard ==
This book was collaboratively written by members of the DAReS project and attendees at the hackathon on 26 January 2024. It was updated to include an additional section on AI and Inclusion on June 10, 2026. A list of contributors can be found [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities/students on the outreach dashboard].
'''Contributors Included:'''
Karen Hanrahan
Claire Carroll
Zoetanya Sujon
Beatrice Wohl
Corey Ford
Diana Galindo
awtzxzlqy5ygb0kemum32upt0xlcvck
4639790
4639788
2026-06-10T14:43:33Z
Zoetanya
3454920
/* Section 4: AI and Inclusion */
4639790
wikitext
text/x-wiki
{{New book}}{{book title|Inclusive Data Research Skills for Arts and Humanities}}
[[File:University of Edinburgh Spy Week Wikipedia edit-a-thon 08.jpg|330px|thumb|Hackathon participants will have the opportunity to collaboratively develop materials openly available through a creative commons licence|center]]
== Welcome ==
The DAReS project aims to develop an inclusive data and digital skills curriculum for the arts and humanities, which can inform a scalable regional or national pilot. This Hackathon is part of the DAReS project, funded by the AHRC as part of the IDAH Digital Skills Network, lead by the London College of Communication, University of the Arts London, with the Creative Computing Institute, King’s College London, Leeds University, Roehampton University, and partners, CRAC/Vitae and Wikimedia UK.
=== Resources for contributors ===
*[[/How to create an account/]]
*[[/What is Wikibooks/]]
*[[/How to add a chapter/]]
*The [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities outreach dashboard]
*[[/Guidance on accessibility and good practice/]]
*[[/Agenda for the Day/]]
== Contents ==
{{Book search}}
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|About the Project]] ===
*[[/About the DAReS project/]]
*[[/Project Team/]]
*[[/DAReS Codesigners/]]
*[[/Contributors/]]
*[[/Self Sustaining Community of Researchers/|Self-Sustaining Community of Researchers]]
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|DAReS Hackathon Code of Conduct]] ===
*[[/Purpose, values, code and consequences/]]
=== [[/Section 1/|Session 1: Data skills: What works for arts and humanities?]] ===
*[[/What counts as data?/]]
*[[/Data Visualization/]]
*[[/Data practices/]]
=== [[/Section 2/|Session 2: Data epistemologies and decolonising data tools and skills]] ===
*[[/Introductory context: How we came to data epistemologies and decolonial approaches/]]
*[[/Deconstructing data methods and decolonising approaches/|Deconstructing Data Methods and Decolonising Approaches]]
*[[/Data agencies/|Data Agencies]]
*[[/Data inequalities and power/|Data Inequalities and Power]]
=== [[/Section 3/|Session 3: Hacking the Research Journey]] ===
*[[/What is the research journey?/]]
*[[/What kinds of research can data-oriented arts and humanities researchers do and what are the possible challenges?/]]
*[[/What should a research goal be?/]]
*[[/Who can potential collaborators, partners and team be?/]]
*[[/How do you get funding?/]]
=== [[/Section 4/|Section 4: DAReS Hackathon Reflection and Comments]] ===
=== [[/Section 4/|Section 5: AI and Inclusion]] ===
*[[/Example title 2/]]
*[[/Example title - Diana/]]
== Outreach dashboard ==
This book was collaboratively written by members of the DAReS project and attendees at the hackathon on 26 January 2024. It was updated to include an additional section on AI and Inclusion on June 10, 2026. A list of contributors can be found [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities/students on the outreach dashboard].
'''Contributors Included:'''
Karen Hanrahan
Claire Carroll
Zoetanya Sujon
Beatrice Wohl
Corey Ford
Diana Galindo
qiyz3synl7w6jog7sozdapjy1rb5egu
4639791
4639790
2026-06-10T14:44:09Z
Richard Nevell (WMUK)
840484
/* Section 5: AI and Inclusion */
4639791
wikitext
text/x-wiki
{{New book}}{{book title|Inclusive Data Research Skills for Arts and Humanities}}
[[File:University of Edinburgh Spy Week Wikipedia edit-a-thon 08.jpg|330px|thumb|Hackathon participants will have the opportunity to collaboratively develop materials openly available through a creative commons licence|center]]
== Welcome ==
The DAReS project aims to develop an inclusive data and digital skills curriculum for the arts and humanities, which can inform a scalable regional or national pilot. This Hackathon is part of the DAReS project, funded by the AHRC as part of the IDAH Digital Skills Network, lead by the London College of Communication, University of the Arts London, with the Creative Computing Institute, King’s College London, Leeds University, Roehampton University, and partners, CRAC/Vitae and Wikimedia UK.
=== Resources for contributors ===
*[[/How to create an account/]]
*[[/What is Wikibooks/]]
*[[/How to add a chapter/]]
*The [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities outreach dashboard]
*[[/Guidance on accessibility and good practice/]]
*[[/Agenda for the Day/]]
== Contents ==
{{Book search}}
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|About the Project]] ===
*[[/About the DAReS project/]]
*[[/Project Team/]]
*[[/DAReS Codesigners/]]
*[[/Contributors/]]
*[[/Self Sustaining Community of Researchers/|Self-Sustaining Community of Researchers]]
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|DAReS Hackathon Code of Conduct]] ===
*[[/Purpose, values, code and consequences/]]
=== [[/Section 1/|Session 1: Data skills: What works for arts and humanities?]] ===
*[[/What counts as data?/]]
*[[/Data Visualization/]]
*[[/Data practices/]]
=== [[/Section 2/|Session 2: Data epistemologies and decolonising data tools and skills]] ===
*[[/Introductory context: How we came to data epistemologies and decolonial approaches/]]
*[[/Deconstructing data methods and decolonising approaches/|Deconstructing Data Methods and Decolonising Approaches]]
*[[/Data agencies/|Data Agencies]]
*[[/Data inequalities and power/|Data Inequalities and Power]]
=== [[/Section 3/|Session 3: Hacking the Research Journey]] ===
*[[/What is the research journey?/]]
*[[/What kinds of research can data-oriented arts and humanities researchers do and what are the possible challenges?/]]
*[[/What should a research goal be?/]]
*[[/Who can potential collaborators, partners and team be?/]]
*[[/How do you get funding?/]]
=== [[/Section 4/|Section 4: DAReS Hackathon Reflection and Comments]] ===
=== [[/Section 4/|Section 5: AI and Inclusion]] ===
*[[/Example title 2/]]
*[[/Example title - Diana/]]
*[[/Wikimedia and the age of AI/]]
== Outreach dashboard ==
This book was collaboratively written by members of the DAReS project and attendees at the hackathon on 26 January 2024. It was updated to include an additional section on AI and Inclusion on June 10, 2026. A list of contributors can be found [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities/students on the outreach dashboard].
'''Contributors Included:'''
Karen Hanrahan
Claire Carroll
Zoetanya Sujon
Beatrice Wohl
Corey Ford
Diana Galindo
693k32mug9wj7wp0vh0gnxjkl218guy
4639792
4639791
2026-06-10T14:46:17Z
Zoetanya
3454920
/* Welcome */
4639792
wikitext
text/x-wiki
{{New book}}{{book title|Inclusive Data Research Skills for Arts and Humanities}}
[[File:University of Edinburgh Spy Week Wikipedia edit-a-thon 08.jpg|330px|thumb|Hackathon participants will have the opportunity to collaboratively develop materials openly available through a creative commons licence|center]]
== Welcome ==
The DAReS project aims to develop an inclusive data and digital skills curriculum for the arts and humanities, which can inform a scalable regional or national pilot. This Hackathon is part of the DAReS project, funded by the AHRC as part of the IDAH Digital Skills Network, lead by the London College of Communication, University of the Arts London, with the Creative Computing Institute, King’s College London, Leeds University, Roehampton University, and partners, CRAC/Vitae and Wikimedia UK. The final section was updated in an AI and Inclusion 'Edit-a-thon' co-led with Wikimedia UK.
=== Resources for contributors ===
*[[/How to create an account/]]
*[[/What is Wikibooks/]]
*[[/How to add a chapter/]]
*The [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities outreach dashboard]
*[[/Guidance on accessibility and good practice/]]
*[[/Agenda for the Day/]]
== Contents ==
{{Book search}}
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|About the Project]] ===
*[[/About the DAReS project/]]
*[[/Project Team/]]
*[[/DAReS Codesigners/]]
*[[/Contributors/]]
*[[/Self Sustaining Community of Researchers/|Self-Sustaining Community of Researchers]]
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|DAReS Hackathon Code of Conduct]] ===
*[[/Purpose, values, code and consequences/]]
=== [[/Section 1/|Session 1: Data skills: What works for arts and humanities?]] ===
*[[/What counts as data?/]]
*[[/Data Visualization/]]
*[[/Data practices/]]
=== [[/Section 2/|Session 2: Data epistemologies and decolonising data tools and skills]] ===
*[[/Introductory context: How we came to data epistemologies and decolonial approaches/]]
*[[/Deconstructing data methods and decolonising approaches/|Deconstructing Data Methods and Decolonising Approaches]]
*[[/Data agencies/|Data Agencies]]
*[[/Data inequalities and power/|Data Inequalities and Power]]
=== [[/Section 3/|Session 3: Hacking the Research Journey]] ===
*[[/What is the research journey?/]]
*[[/What kinds of research can data-oriented arts and humanities researchers do and what are the possible challenges?/]]
*[[/What should a research goal be?/]]
*[[/Who can potential collaborators, partners and team be?/]]
*[[/How do you get funding?/]]
=== [[/Section 4/|Section 4: DAReS Hackathon Reflection and Comments]] ===
=== [[/Section 4/|Section 5: AI and Inclusion]] ===
*[[/Example title 2/]]
*[[/Example title - Diana/]]
*[[/Wikimedia and the age of AI/]]
== Outreach dashboard ==
This book was collaboratively written by members of the DAReS project and attendees at the hackathon on 26 January 2024. It was updated to include an additional section on AI and Inclusion on June 10, 2026. A list of contributors can be found [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities/students on the outreach dashboard].
'''Contributors Included:'''
Karen Hanrahan
Claire Carroll
Zoetanya Sujon
Beatrice Wohl
Corey Ford
Diana Galindo
7x1hcewc75xahmirymv1qhxz80c04fu
4639793
4639792
2026-06-10T14:47:37Z
Zoetanya
3454920
/* Section 5: AI and Inclusion */
4639793
wikitext
text/x-wiki
{{New book}}{{book title|Inclusive Data Research Skills for Arts and Humanities}}
[[File:University of Edinburgh Spy Week Wikipedia edit-a-thon 08.jpg|330px|thumb|Hackathon participants will have the opportunity to collaboratively develop materials openly available through a creative commons licence|center]]
== Welcome ==
The DAReS project aims to develop an inclusive data and digital skills curriculum for the arts and humanities, which can inform a scalable regional or national pilot. This Hackathon is part of the DAReS project, funded by the AHRC as part of the IDAH Digital Skills Network, lead by the London College of Communication, University of the Arts London, with the Creative Computing Institute, King’s College London, Leeds University, Roehampton University, and partners, CRAC/Vitae and Wikimedia UK. The final section was updated in an AI and Inclusion 'Edit-a-thon' co-led with Wikimedia UK.
=== Resources for contributors ===
*[[/How to create an account/]]
*[[/What is Wikibooks/]]
*[[/How to add a chapter/]]
*The [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities outreach dashboard]
*[[/Guidance on accessibility and good practice/]]
*[[/Agenda for the Day/]]
== Contents ==
{{Book search}}
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|About the Project]] ===
*[[/About the DAReS project/]]
*[[/Project Team/]]
*[[/DAReS Codesigners/]]
*[[/Contributors/]]
*[[/Self Sustaining Community of Researchers/|Self-Sustaining Community of Researchers]]
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|DAReS Hackathon Code of Conduct]] ===
*[[/Purpose, values, code and consequences/]]
=== [[/Section 1/|Session 1: Data skills: What works for arts and humanities?]] ===
*[[/What counts as data?/]]
*[[/Data Visualization/]]
*[[/Data practices/]]
=== [[/Section 2/|Session 2: Data epistemologies and decolonising data tools and skills]] ===
*[[/Introductory context: How we came to data epistemologies and decolonial approaches/]]
*[[/Deconstructing data methods and decolonising approaches/|Deconstructing Data Methods and Decolonising Approaches]]
*[[/Data agencies/|Data Agencies]]
*[[/Data inequalities and power/|Data Inequalities and Power]]
=== [[/Section 3/|Session 3: Hacking the Research Journey]] ===
*[[/What is the research journey?/]]
*[[/What kinds of research can data-oriented arts and humanities researchers do and what are the possible challenges?/]]
*[[/What should a research goal be?/]]
*[[/Who can potential collaborators, partners and team be?/]]
*[[/How do you get funding?/]]
=== [[/Section 4/|Section 4: DAReS Hackathon Reflection and Comments]] ===
=== [[/Section 4/|Section 5: AI and Inclusion]] ===
*AI Show and tell
*[[/Example title - Diana/]]
*[[/Wikimedia and the age of AI/]]
== Outreach dashboard ==
This book was collaboratively written by members of the DAReS project and attendees at the hackathon on 26 January 2024. It was updated to include an additional section on AI and Inclusion on June 10, 2026. A list of contributors can be found [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities/students on the outreach dashboard].
'''Contributors Included:'''
Karen Hanrahan
Claire Carroll
Zoetanya Sujon
Beatrice Wohl
Corey Ford
Diana Galindo
m2gmtkh6f9qbr5rvw5w9dew3sd90u2t
4639794
4639793
2026-06-10T14:48:58Z
Beathebard
3454923
/* Section 5: AI and Inclusion */ added a new section for the AI show and tell
4639794
wikitext
text/x-wiki
{{New book}}{{book title|Inclusive Data Research Skills for Arts and Humanities}}
[[File:University of Edinburgh Spy Week Wikipedia edit-a-thon 08.jpg|330px|thumb|Hackathon participants will have the opportunity to collaboratively develop materials openly available through a creative commons licence|center]]
== Welcome ==
The DAReS project aims to develop an inclusive data and digital skills curriculum for the arts and humanities, which can inform a scalable regional or national pilot. This Hackathon is part of the DAReS project, funded by the AHRC as part of the IDAH Digital Skills Network, lead by the London College of Communication, University of the Arts London, with the Creative Computing Institute, King’s College London, Leeds University, Roehampton University, and partners, CRAC/Vitae and Wikimedia UK. The final section was updated in an AI and Inclusion 'Edit-a-thon' co-led with Wikimedia UK.
=== Resources for contributors ===
*[[/How to create an account/]]
*[[/What is Wikibooks/]]
*[[/How to add a chapter/]]
*The [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities outreach dashboard]
*[[/Guidance on accessibility and good practice/]]
*[[/Agenda for the Day/]]
== Contents ==
{{Book search}}
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|About the Project]] ===
*[[/About the DAReS project/]]
*[[/Project Team/]]
*[[/DAReS Codesigners/]]
*[[/Contributors/]]
*[[/Self Sustaining Community of Researchers/|Self-Sustaining Community of Researchers]]
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|DAReS Hackathon Code of Conduct]] ===
*[[/Purpose, values, code and consequences/]]
=== [[/Section 1/|Session 1: Data skills: What works for arts and humanities?]] ===
*[[/What counts as data?/]]
*[[/Data Visualization/]]
*[[/Data practices/]]
=== [[/Section 2/|Session 2: Data epistemologies and decolonising data tools and skills]] ===
*[[/Introductory context: How we came to data epistemologies and decolonial approaches/]]
*[[/Deconstructing data methods and decolonising approaches/|Deconstructing Data Methods and Decolonising Approaches]]
*[[/Data agencies/|Data Agencies]]
*[[/Data inequalities and power/|Data Inequalities and Power]]
=== [[/Section 3/|Session 3: Hacking the Research Journey]] ===
*[[/What is the research journey?/]]
*[[/What kinds of research can data-oriented arts and humanities researchers do and what are the possible challenges?/]]
*[[/What should a research goal be?/]]
*[[/Who can potential collaborators, partners and team be?/]]
*[[/How do you get funding?/]]
=== [[/Section 4/|Section 4: DAReS Hackathon Reflection and Comments]] ===
=== [[/Section 4/|Section 5: AI and Inclusion]] ===
*AI Show and tell
*[[/Example title - Diana/]]
*[[AI Show and tell - examples and discussion]]
*[[/Wikimedia and the age of AI/]]
== Outreach dashboard ==
This book was collaboratively written by members of the DAReS project and attendees at the hackathon on 26 January 2024. It was updated to include an additional section on AI and Inclusion on June 10, 2026. A list of contributors can be found [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities/students on the outreach dashboard].
'''Contributors Included:'''
Karen Hanrahan
Claire Carroll
Zoetanya Sujon
Beatrice Wohl
Corey Ford
Diana Galindo
2y0x2tp7s23upt2cvp2o1j4b7rtduye
4639795
4639794
2026-06-10T14:49:36Z
Zoetanya
3454920
/* Section 5: AI and Inclusion */
4639795
wikitext
text/x-wiki
{{New book}}{{book title|Inclusive Data Research Skills for Arts and Humanities}}
[[File:University of Edinburgh Spy Week Wikipedia edit-a-thon 08.jpg|330px|thumb|Hackathon participants will have the opportunity to collaboratively develop materials openly available through a creative commons licence|center]]
== Welcome ==
The DAReS project aims to develop an inclusive data and digital skills curriculum for the arts and humanities, which can inform a scalable regional or national pilot. This Hackathon is part of the DAReS project, funded by the AHRC as part of the IDAH Digital Skills Network, lead by the London College of Communication, University of the Arts London, with the Creative Computing Institute, King’s College London, Leeds University, Roehampton University, and partners, CRAC/Vitae and Wikimedia UK. The final section was updated in an AI and Inclusion 'Edit-a-thon' co-led with Wikimedia UK.
=== Resources for contributors ===
*[[/How to create an account/]]
*[[/What is Wikibooks/]]
*[[/How to add a chapter/]]
*The [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities outreach dashboard]
*[[/Guidance on accessibility and good practice/]]
*[[/Agenda for the Day/]]
== Contents ==
{{Book search}}
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|About the Project]] ===
*[[/About the DAReS project/]]
*[[/Project Team/]]
*[[/DAReS Codesigners/]]
*[[/Contributors/]]
*[[/Self Sustaining Community of Researchers/|Self-Sustaining Community of Researchers]]
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|DAReS Hackathon Code of Conduct]] ===
*[[/Purpose, values, code and consequences/]]
=== [[/Section 1/|Session 1: Data skills: What works for arts and humanities?]] ===
*[[/What counts as data?/]]
*[[/Data Visualization/]]
*[[/Data practices/]]
=== [[/Section 2/|Session 2: Data epistemologies and decolonising data tools and skills]] ===
*[[/Introductory context: How we came to data epistemologies and decolonial approaches/]]
*[[/Deconstructing data methods and decolonising approaches/|Deconstructing Data Methods and Decolonising Approaches]]
*[[/Data agencies/|Data Agencies]]
*[[/Data inequalities and power/|Data Inequalities and Power]]
=== [[/Section 3/|Session 3: Hacking the Research Journey]] ===
*[[/What is the research journey?/]]
*[[/What kinds of research can data-oriented arts and humanities researchers do and what are the possible challenges?/]]
*[[/What should a research goal be?/]]
*[[/Who can potential collaborators, partners and team be?/]]
*[[/How do you get funding?/]]
=== [[/Section 4/|Section 4: DAReS Hackathon Reflection and Comments]] ===
=== [[/Section 4/|Section 5: AI and Inclusion]] ===
*[[AI Show and tell|AI Show and tell/]]
*[[/Example title - Diana/]]
*[[/Wikimedia and the age of AI/]]
== Outreach dashboard ==
This book was collaboratively written by members of the DAReS project and attendees at the hackathon on 26 January 2024. It was updated to include an additional section on AI and Inclusion on June 10, 2026. A list of contributors can be found [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities/students on the outreach dashboard].
'''Contributors Included:'''
Karen Hanrahan
Claire Carroll
Zoetanya Sujon
Beatrice Wohl
Corey Ford
Diana Galindo
b67z0esadcgcyjpc4k6bxbn0kaybrb6
4639796
4639795
2026-06-10T14:50:59Z
Beathebard
3454923
/* Section 5: AI and Inclusion */ added section barriers to inclsion and demands for inclusion
4639796
wikitext
text/x-wiki
{{New book}}{{book title|Inclusive Data Research Skills for Arts and Humanities}}
[[File:University of Edinburgh Spy Week Wikipedia edit-a-thon 08.jpg|330px|thumb|Hackathon participants will have the opportunity to collaboratively develop materials openly available through a creative commons licence|center]]
== Welcome ==
The DAReS project aims to develop an inclusive data and digital skills curriculum for the arts and humanities, which can inform a scalable regional or national pilot. This Hackathon is part of the DAReS project, funded by the AHRC as part of the IDAH Digital Skills Network, lead by the London College of Communication, University of the Arts London, with the Creative Computing Institute, King’s College London, Leeds University, Roehampton University, and partners, CRAC/Vitae and Wikimedia UK. The final section was updated in an AI and Inclusion 'Edit-a-thon' co-led with Wikimedia UK.
=== Resources for contributors ===
*[[/How to create an account/]]
*[[/What is Wikibooks/]]
*[[/How to add a chapter/]]
*The [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities outreach dashboard]
*[[/Guidance on accessibility and good practice/]]
*[[/Agenda for the Day/]]
== Contents ==
{{Book search}}
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|About the Project]] ===
*[[/About the DAReS project/]]
*[[/Project Team/]]
*[[/DAReS Codesigners/]]
*[[/Contributors/]]
*[[/Self Sustaining Community of Researchers/|Self-Sustaining Community of Researchers]]
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|DAReS Hackathon Code of Conduct]] ===
*[[/Purpose, values, code and consequences/]]
=== [[/Section 1/|Session 1: Data skills: What works for arts and humanities?]] ===
*[[/What counts as data?/]]
*[[/Data Visualization/]]
*[[/Data practices/]]
=== [[/Section 2/|Session 2: Data epistemologies and decolonising data tools and skills]] ===
*[[/Introductory context: How we came to data epistemologies and decolonial approaches/]]
*[[/Deconstructing data methods and decolonising approaches/|Deconstructing Data Methods and Decolonising Approaches]]
*[[/Data agencies/|Data Agencies]]
*[[/Data inequalities and power/|Data Inequalities and Power]]
=== [[/Section 3/|Session 3: Hacking the Research Journey]] ===
*[[/What is the research journey?/]]
*[[/What kinds of research can data-oriented arts and humanities researchers do and what are the possible challenges?/]]
*[[/What should a research goal be?/]]
*[[/Who can potential collaborators, partners and team be?/]]
*[[/How do you get funding?/]]
=== [[/Section 4/|Section 4: DAReS Hackathon Reflection and Comments]] ===
=== [[/Section 4/|Section 5: AI and Inclusion]] ===
*[[AI Show and tell|AI Show and tell/]]
*[[/Example title - Diana/]]
*[[/Wikimedia and the age of AI/]]
*[[Barriers to Inclusion and Demand for Inclusive AI]]
*
== Outreach dashboard ==
This book was collaboratively written by members of the DAReS project and attendees at the hackathon on 26 January 2024. It was updated to include an additional section on AI and Inclusion on June 10, 2026. A list of contributors can be found [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities/students on the outreach dashboard].
'''Contributors Included:'''
Karen Hanrahan
Claire Carroll
Zoetanya Sujon
Beatrice Wohl
Corey Ford
Diana Galindo
kf155vsjogfjwfkzuur7df7hbd1mxo4
4639798
4639796
2026-06-10T14:51:31Z
Richard Nevell (WMUK)
840484
/* Section 5: AI and Inclusion */ fmt
4639798
wikitext
text/x-wiki
{{New book}}{{book title|Inclusive Data Research Skills for Arts and Humanities}}
[[File:University of Edinburgh Spy Week Wikipedia edit-a-thon 08.jpg|330px|thumb|Hackathon participants will have the opportunity to collaboratively develop materials openly available through a creative commons licence|center]]
== Welcome ==
The DAReS project aims to develop an inclusive data and digital skills curriculum for the arts and humanities, which can inform a scalable regional or national pilot. This Hackathon is part of the DAReS project, funded by the AHRC as part of the IDAH Digital Skills Network, lead by the London College of Communication, University of the Arts London, with the Creative Computing Institute, King’s College London, Leeds University, Roehampton University, and partners, CRAC/Vitae and Wikimedia UK. The final section was updated in an AI and Inclusion 'Edit-a-thon' co-led with Wikimedia UK.
=== Resources for contributors ===
*[[/How to create an account/]]
*[[/What is Wikibooks/]]
*[[/How to add a chapter/]]
*The [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities outreach dashboard]
*[[/Guidance on accessibility and good practice/]]
*[[/Agenda for the Day/]]
== Contents ==
{{Book search}}
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|About the Project]] ===
*[[/About the DAReS project/]]
*[[/Project Team/]]
*[[/DAReS Codesigners/]]
*[[/Contributors/]]
*[[/Self Sustaining Community of Researchers/|Self-Sustaining Community of Researchers]]
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|DAReS Hackathon Code of Conduct]] ===
*[[/Purpose, values, code and consequences/]]
=== [[/Section 1/|Session 1: Data skills: What works for arts and humanities?]] ===
*[[/What counts as data?/]]
*[[/Data Visualization/]]
*[[/Data practices/]]
=== [[/Section 2/|Session 2: Data epistemologies and decolonising data tools and skills]] ===
*[[/Introductory context: How we came to data epistemologies and decolonial approaches/]]
*[[/Deconstructing data methods and decolonising approaches/|Deconstructing Data Methods and Decolonising Approaches]]
*[[/Data agencies/|Data Agencies]]
*[[/Data inequalities and power/|Data Inequalities and Power]]
=== [[/Section 3/|Session 3: Hacking the Research Journey]] ===
*[[/What is the research journey?/]]
*[[/What kinds of research can data-oriented arts and humanities researchers do and what are the possible challenges?/]]
*[[/What should a research goal be?/]]
*[[/Who can potential collaborators, partners and team be?/]]
*[[/How do you get funding?/]]
=== [[/Section 4/|Section 4: DAReS Hackathon Reflection and Comments]] ===
=== [[/Section 4/|Section 5: AI and Inclusion]] ===
*[[AI Show and tell|AI Show and tell/]]
*[[/Example title - Diana/]]
*[[/Wikimedia and the age of AI/]]
*[[/Barriers to Inclusion and Demand for Inclusive AI/]]
*
== Outreach dashboard ==
This book was collaboratively written by members of the DAReS project and attendees at the hackathon on 26 January 2024. It was updated to include an additional section on AI and Inclusion on June 10, 2026. A list of contributors can be found [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities/students on the outreach dashboard].
'''Contributors Included:'''
Karen Hanrahan
Claire Carroll
Zoetanya Sujon
Beatrice Wohl
Corey Ford
Diana Galindo
j4imb5yn3a0xcn7gxpkooqytqttcc7s
4639801
4639798
2026-06-10T14:55:47Z
Xania
40302
- New Book tag
4639801
wikitext
text/x-wiki
{{book title|Inclusive Data Research Skills for Arts and Humanities}}
[[File:University of Edinburgh Spy Week Wikipedia edit-a-thon 08.jpg|330px|thumb|Hackathon participants will have the opportunity to collaboratively develop materials openly available through a creative commons licence|center]]
== Welcome ==
The DAReS project aims to develop an inclusive data and digital skills curriculum for the arts and humanities, which can inform a scalable regional or national pilot. This Hackathon is part of the DAReS project, funded by the AHRC as part of the IDAH Digital Skills Network, lead by the London College of Communication, University of the Arts London, with the Creative Computing Institute, King’s College London, Leeds University, Roehampton University, and partners, CRAC/Vitae and Wikimedia UK. The final section was updated in an AI and Inclusion 'Edit-a-thon' co-led with Wikimedia UK.
=== Resources for contributors ===
*[[/How to create an account/]]
*[[/What is Wikibooks/]]
*[[/How to add a chapter/]]
*The [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities outreach dashboard]
*[[/Guidance on accessibility and good practice/]]
*[[/Agenda for the Day/]]
== Contents ==
{{Book search}}
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|About the Project]] ===
*[[/About the DAReS project/]]
*[[/Project Team/]]
*[[/DAReS Codesigners/]]
*[[/Contributors/]]
*[[/Self Sustaining Community of Researchers/|Self-Sustaining Community of Researchers]]
=== [[Inclusive Data Research Skills for Arts and Humanities/About the Project|DAReS Hackathon Code of Conduct]] ===
*[[/Purpose, values, code and consequences/]]
=== [[/Section 1/|Session 1: Data skills: What works for arts and humanities?]] ===
*[[/What counts as data?/]]
*[[/Data Visualization/]]
*[[/Data practices/]]
=== [[/Section 2/|Session 2: Data epistemologies and decolonising data tools and skills]] ===
*[[/Introductory context: How we came to data epistemologies and decolonial approaches/]]
*[[/Deconstructing data methods and decolonising approaches/|Deconstructing Data Methods and Decolonising Approaches]]
*[[/Data agencies/|Data Agencies]]
*[[/Data inequalities and power/|Data Inequalities and Power]]
=== [[/Section 3/|Session 3: Hacking the Research Journey]] ===
*[[/What is the research journey?/]]
*[[/What kinds of research can data-oriented arts and humanities researchers do and what are the possible challenges?/]]
*[[/What should a research goal be?/]]
*[[/Who can potential collaborators, partners and team be?/]]
*[[/How do you get funding?/]]
=== [[/Section 4/|Section 4: DAReS Hackathon Reflection and Comments]] ===
=== [[/Section 4/|Section 5: AI and Inclusion]] ===
*[[AI Show and tell|AI Show and tell/]]
*[[/Example title - Diana/]]
*[[/Wikimedia and the age of AI/]]
*[[/Barriers to Inclusion and Demand for Inclusive AI/]]
*
== Outreach dashboard ==
This book was collaboratively written by members of the DAReS project and attendees at the hackathon on 26 January 2024. It was updated to include an additional section on AI and Inclusion on June 10, 2026. A list of contributors can be found [https://outreachdashboard.wmflabs.org/courses/Introduction_to_WikiBooks/Inclusive_Data_Research_Skills_Hackathon_for_Arts_and_Humanities/students on the outreach dashboard].
'''Contributors Included:'''
Karen Hanrahan
Claire Carroll
Zoetanya Sujon
Beatrice Wohl
Corey Ford
Diana Galindo
rol4d4fn7i6fnmbqh8tioa775epttyl
Cookbook:Ube
102
464459
4639886
4361043
2026-06-11T08:29:31Z
~2026-34505-37
3604752
/* Characteristics */
4639886
wikitext
text/x-wiki
{{Ingredient summary
| Image = [[File:Kambar wh.jpg|300px]]
| Category = Root vegetables
}}
{{Ingredient}}
'''Ube''' or '''purple yam''' is a deep purple root vegetable.<ref>{{Cite web |title=More Than a Trend: The History of Ube and What It Means to the Filipino People |url=https://www.kapwagardens.com/blog/more-than-a-trend-the-history-of-ube |access-date=2024-01-20 |website=Kapwa Gardens |language=en-US}}</ref><ref>{{Cite web |title=What Is an Ube and Why Is It So Popular? |url=https://www.realsimple.com/food-recipes/recipe-collections-favorites/popular-ingredients/what-is-ube |access-date=2024-01-20 |website=Real Simple |language=en}}</ref><ref>{{Cite web |title=Get to Know Ube |url=https://www.foodandwine.com/cooking-techniques/get-to-know-ube |access-date=2024-01-20 |website=Food & Wine |language=en}}</ref><ref>{{Cite news |title=Everything You Need to Know About Ube |language=en |work=Kitchn |url=https://www.thekitchn.com/what-is-ube-23602779 |access-date=2024-01-20}}</ref><ref>{{Cite web |title=Ube Explained |url=https://www.webstaurantstore.com/blog/4420/what-is-ube.html |access-date=2024-01-20 |website=WebstaurantStore |language=en}}</ref><ref>{{Cite web |date=2023-02-07 |title=What The Eff Is Ube Anyway & Why Are People So Obsessed With It? |url=https://www.delish.com/kitchen-tools/a42559514/what-is-ube/ |access-date=2024-01-20 |website=Delish |language=en-US}}</ref><ref>{{Cite web |last=Morgan |first=Will |date=2023-06-13 |title=What Is Ube Flavor, Actually? |url=https://sporked.com/article/what-is-in-ube-flavor/ |access-date=2024-01-20 |website=Sporked |language=en-US}}</ref><ref>{{Cite web |date=2024-01-17 |title=Fly By Jing and Our Place Have The Coolest Lunar New Year Collab |url=https://spoonuniversity.com/news/fly-by-jing-our-place-lunar-new-year-collab |access-date=2024-01-20 |website=Spoon University |language=en-US}}</ref><ref>{{Cite web |date=2016-10-10 |title=The Natural Ingredient That Turns Food Perfectly Purple |url=https://www.huffpost.com/entry/ube-purple-yam_n_57e19ec0e4b0e28b2b50c17f |access-date=2024-01-20 |website=HuffPost |language=en}}</ref>
== Characteristics ==
Ube is root vegetable similar to taro with a distinctive purple hue.
== Selection and storage ==
== Use ==
== Recipes ==
== References ==
[[Category:Root vegetables]]
0orpqw7r49f8kl68i12asad3m1wfn7d
4639887
4639886
2026-06-11T08:32:59Z
~2026-34505-37
3604752
/* Characteristics */
4639887
wikitext
text/x-wiki
{{Ingredient summary
| Image = [[File:Kambar wh.jpg|300px]]
| Category = Root vegetables
}}
{{Ingredient}}
'''Ube''' or '''purple yam''' is a deep purple root vegetable.<ref>{{Cite web |title=More Than a Trend: The History of Ube and What It Means to the Filipino People |url=https://www.kapwagardens.com/blog/more-than-a-trend-the-history-of-ube |access-date=2024-01-20 |website=Kapwa Gardens |language=en-US}}</ref><ref>{{Cite web |title=What Is an Ube and Why Is It So Popular? |url=https://www.realsimple.com/food-recipes/recipe-collections-favorites/popular-ingredients/what-is-ube |access-date=2024-01-20 |website=Real Simple |language=en}}</ref><ref>{{Cite web |title=Get to Know Ube |url=https://www.foodandwine.com/cooking-techniques/get-to-know-ube |access-date=2024-01-20 |website=Food & Wine |language=en}}</ref><ref>{{Cite news |title=Everything You Need to Know About Ube |language=en |work=Kitchn |url=https://www.thekitchn.com/what-is-ube-23602779 |access-date=2024-01-20}}</ref><ref>{{Cite web |title=Ube Explained |url=https://www.webstaurantstore.com/blog/4420/what-is-ube.html |access-date=2024-01-20 |website=WebstaurantStore |language=en}}</ref><ref>{{Cite web |date=2023-02-07 |title=What The Eff Is Ube Anyway & Why Are People So Obsessed With It? |url=https://www.delish.com/kitchen-tools/a42559514/what-is-ube/ |access-date=2024-01-20 |website=Delish |language=en-US}}</ref><ref>{{Cite web |last=Morgan |first=Will |date=2023-06-13 |title=What Is Ube Flavor, Actually? |url=https://sporked.com/article/what-is-in-ube-flavor/ |access-date=2024-01-20 |website=Sporked |language=en-US}}</ref><ref>{{Cite web |date=2024-01-17 |title=Fly By Jing and Our Place Have The Coolest Lunar New Year Collab |url=https://spoonuniversity.com/news/fly-by-jing-our-place-lunar-new-year-collab |access-date=2024-01-20 |website=Spoon University |language=en-US}}</ref><ref>{{Cite web |date=2016-10-10 |title=The Natural Ingredient That Turns Food Perfectly Purple |url=https://www.huffpost.com/entry/ube-purple-yam_n_57e19ec0e4b0e28b2b50c17f |access-date=2024-01-20 |website=HuffPost |language=en}}</ref>
== Characteristics ==
Ube is tuber with an exterior similar to taro, with its interior having a distinctive purple color.
== Selection and storage ==
== Use ==
== Recipes ==
== References ==
[[Category:Root vegetables]]
dnem4inyxvoglbvphh5tpgx2dajcb9h
User talk:Beathebard
3
464741
4639808
4365725
2026-06-10T15:47:14Z
Atcovi
1015207
/* Barriers to Inclusion and Demand for Inclusive AI */ new section
4639808
wikitext
text/x-wiki
{{Welcome}}
--[[User:ꠢꠣꠍꠘ ꠞꠣꠎꠣ|ꠢꠣꠍꠘ ꠞꠣꠎꠣ]] ([[User talk:ꠢꠣꠍꠘ ꠞꠣꠎꠣ|discuss]] • [[Special:Contributions/ꠢꠣꠍꠘ ꠞꠣꠎꠣ|contribs]]) 20:00, 26 January 2024 (UTC)
==[[Barriers to Inclusion and Demand for Inclusive AI]]==
{{tmbox|type=notice|text=Thank you for your interest in Wikibooks, but [[Barriers to Inclusion and Demand for Inclusive AI|this page]] appears as though it may have been created in error (such as due to a test or a misplaced edit). Should it be a [[WB:WIW|legitimate Wikibooks module]], please use [[{{TALKPAGENAME:Barriers to Inclusion and Demand for Inclusive AI}}|the discussion page]] to explain its scope. If these concerns are not responded to, the page will automatically be considered a candidate for [[Wikibooks:Deletion policy#Speedy deletions|speedy deletion]] in 7 days. —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 15:47, 10 June 2026 (UTC)
}}
1aul0rv5faj91yz6nc79w9ifht96e58
User talk:Bembety
3
470632
4639784
4639270
2026-06-10T14:31:39Z
Bembety
3456470
/* Cookbook edits */ Reply
4639784
wikitext
text/x-wiki
== Cookbook editing ==
Hi @[[User:Bembety|Bembety]], and welcome to the Cookbook! Going forward, please make sure that future edits and additions conform with the [[Cookbook:Policy/Recipe template|recipe template]] as per Cookbook policy. Additionally, please note that [[Cookbook:Adalu (food)]] is currently considered incomplete. Let me know if you have any questions! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:49, 26 November 2024 (UTC)
:Following up on this. Please note the fixes I made to [[Cookbook:Groundnut Soup]]. Thanks —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:47, 2 December 2024 (UTC)
::Additionally, [[Cookbook:Omoebe (leave) soup]] is currently incomplete due to missing quantities with insufficient guidance to compensate. If left incomplete, it may be deleted. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:46, 2 December 2024 (UTC)
:::Hi @[[User:Bembety|Bembety]]—could you please complete your existing recipes before adding new recipes? Thanks! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:16, 7 July 2025 (UTC)
::::Thanks. Please what remain? [[User:Bembety|Bembety]] ([[User talk:Bembety|discuss]] • [[Special:Contributions/Bembety|contribs]]) 07:13, 7 July 2025 (UTC)
:::::As I wrote above, [[Cookbook:Omoebe (leave) soup]] is still incomplete for the stated reasons. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:00, 7 July 2025 (UTC)
::::::I see also that [[Cookbook:Ofe Onugbu (Bitter Leaf Soup)]] is also incomplete and will need to be fixed. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:09, 7 July 2025 (UTC)
==[[:Cookbook:Ofe Onugbu (Bitter Leaf Soup)]]==
{{tmbox|type=delete|text='''Bembety, "[[:Cookbook:Ofe Onugbu (Bitter Leaf Soup)|Cookbook:Ofe Onugbu (Bitter Leaf Soup)]]" is currently incomplete.'''<br />You are being notified because you have contributed this work. The reasons for its incompleteness are listed [[:Cookbook:Ofe Onugbu (Bitter Leaf Soup)|on the recipe page]]. Please complete the recipe as indicated, or it is liable to be speedily deleted as abandoned material. Let me know if you have any questions. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:49, 24 July 2025 (UTC)}}
== Cookbook edits ==
@[[User:Bembety|Bembety]] thank you for your latest edits in the cookbook. I notice you are adding some material in a way that does not match the [[Cookbook:Policy/Recipe template|recipe template]]. For example, there should not be a standalone section for preparation time. Additionally, if you are adding optional ingredients, you should include the quantities and the instructions on how to use them. Thanks! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:11, 16 May 2026 (UTC)
:i will improve in my next edit. Thanks [[User:Bembety|Bembety]] ([[User talk:Bembety|discuss]] • [[Special:Contributions/Bembety|contribs]]) 23:20, 16 May 2026 (UTC)
::@[[User:Bembety|Bembety]] I've noticed that your most recent recipes have incorrect categories—could you please fix these? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:58, 3 June 2026 (UTC)
:::@[[User:Bembety|Bembety]] because you are mass adding incomplete recipes without responding to requests for improvement, I have temporarily restricted your ability to create new pages in the Cookbook. You are welcome to continue editing the recipes you have already added to make them complete. Let me know if you have any questions. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 20:30, 4 June 2026 (UTC)
::::Thank you for the feedback. I understand the restriction and will concentrate on improving the recipes I have already created. I appreciate the opportunity to correct and complete them. Please let me know if there are particular pages that should be prioritized. [[User:Bembety|Bembety]] ([[User talk:Bembety|discuss]] • [[Special:Contributions/Bembety|contribs]]) 21:23, 4 June 2026 (UTC)
::::You have restricted my editing privileges. How am I supposed to fix and improve the articles if I am unable to work on them? [[User:Bembety|Bembety]] ([[User talk:Bembety|discuss]] • [[Special:Contributions/Bembety|contribs]]) 22:05, 4 June 2026 (UTC)
:::::@[[User:Bembety|Bembety]] to confirm—are you unable to edit the Cookbook pages you already created? That was not my intention, and I can make adjustments if needed. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:01, 5 June 2026 (UTC)
::::::Yes, I am still able to edit the Cookbook pages I created. I will try and work on improving and completing them as requested [[User:Bembety|Bembety]] ([[User talk:Bembety|discuss]] • [[Special:Contributions/Bembety|contribs]]) 00:45, 5 June 2026 (UTC)
::::::I have been trying to work on the articles, but this is what I am seeing: (You are currently unable to perform this action on Wikibooks). [[User:Bembety|Bembety]] ([[User talk:Bembety|discuss]] • [[Special:Contributions/Bembety|contribs]]) 13:56, 6 June 2026 (UTC)
:::::::@[[User:Bembety|Bembety]] I have removed the block—please do not add new recipes while the previous ones are incomplete. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:50, 7 June 2026 (UTC)
::::::::I won't be doing that. I will be working on the categories and other areas of my incomplete article to ensure it is complete. Thanks [[User:Bembety|Bembety]] ([[User talk:Bembety|discuss]] • [[Special:Contributions/Bembety|contribs]]) 15:38, 7 June 2026 (UTC)
:::::::::[[Cookbook:Kachumbari|https://en.wikibooks.org/wiki/Cookbook:Kachumbari]] I’ve made some corrections to this article. Please let me know your opinion before I proceed with correcting the others. Thanks. [[User:Bembety|Bembety]] ([[User talk:Bembety|discuss]] • [[Special:Contributions/Bembety|contribs]]) 14:31, 10 June 2026 (UTC)
== Copied text ==
@[[User:Bembety|Bembety]] I see that you are copying text from Wikipedia word-for word without attribution—please do not do this, as it's against policy. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:24, 3 June 2026 (UTC)
:I copied it because it describes the recipe and helps readers understand what the dish is about. But it won't repeat itself again [[User:Bembety|Bembety]] ([[User talk:Bembety|discuss]] • [[Special:Contributions/Bembety|contribs]]) 16:26, 3 June 2026 (UTC)
0f5xuw2qxkjh9n1ba9igcowf2bam52c
A-level Computing/AQA/Paper 1/Skeleton program/2026
0
479225
4639888
4639745
2026-06-11T09:05:04Z
~2026-34441-55
3604762
/* Section D Predictions */ add the actual questions that appeared on the paper
4639888
wikitext
text/x-wiki
{{or}}
'''Ant Simulation''' This is for the 2026 AQA A-level Computer Science Specification (7517).
== ''' Good luck everyone for today - King olie ''' ==
This is where suggestions can be made about what some of the questions might be and how we can solve them.
Please be respectful and do not vandalise the page, as this may affect students' preparation for exams!
==Section C Mark distribution comparison==
Mark distribution for this year:
The 2026 paper 1 will contain '''five''' questions worth '''3, 5, 2, 2 and 1 mark(s) (12 total)'''.
The 2025 paper contained 4 questions worth 2 marks each (8 total).
The 2024 paper contained 3 questions worth 11 marks in total (3+2+6=11).
The 2023 paper contained 6 questions worth 13 marks
The 2022 paper contained 5 questions worth 17 marks.
The 2021 paper contained 4 questions worth 13 marks.
== Section C Predictions ==
'''Predictions:'''
# Basically, Logically, technically, finally,
# a) What is Encapsulation? b) What is a specific purpose of encapsulation being used in this program?
# What is Inheritance? And give an example of polymorphism in the code?
# Describe the 3 possibilities for what a worker ant can do in one stage.
# Explain the difference between private and protected methods.
Note: at least for the Python skeleton code, there is no exception handling. In past papers which have had exception handling in the code, there were 1 to 2 mark questions asked about it in this section. Should exception handling come up, it would have to be in section D.
==Section D Mark distribution comparison==
Mark distribution for this year:
* The 2026 paper 1 contains 4 questions: a 5 mark, an 8 mark and two 12 mark questions.
These marks include the screen capture(s), so the marks for the coding will be 1-2 marks lower.
* The 2025 paper 1 contained 4 questions: a 5 mark, a 6 mark and two 14 mark questions.
* The 2024 paper 1 contained 4 questions: a 5 mark, a 6 mark and two 14 mark questions.
* The 2023 paper 1 contained 4 questions: a 5 mark, a 9 mark, a 10 mark and one 13 mark question.
* The 2022 paper 1 contained 4 questions: a 5 mark, a 9 mark, a 11 mark and one 13 mark question.
* The 2021 paper 1 contained 4 questions: a 6 mark, an 8 mark, a 9 mark and one 14 mark question.
* The 2020 paper 1 contained 4 questions: a 6 mark, an 8 mark, a 11 mark and one 12 mark question.
* The 2019 paper 1 contained 4 questions: a 5 mark, an 8 mark, a 9 mark and one 13 mark question.
* The 2018 paper 1 contained 5 questions: a 2 mark, a 5 mark, two 9 mark and one 12 mark question.
* The 2017 paper 1 contained 5 questions: a 5 mark, three 6 mark and one 12 mark question.
== Section D Predictions ==
Current questions are speculation by contributors to this page
Section D actual contents;
Q1 Add an option in the menu to add food to a cell.
Q2 Edit the show area subroutine to display the area in the form of a grid.
Q3 Add an attribute to the cell class to make an obstacle in the cell that the ants cannot move into, and make simulation 2 have the 3rd column as obstacles.
Q4 Add a Soldier Ant class that moves randomly within 2 cells of its nest and when in the same cell as enemy ants, has a 90% chance of killing them. When there are more than 1 nest have 2 Soldier Ants spawn per nest.
== Simulation 1 ==
=== '''When inspecting a cell, ensure that the cell reference they have entered is within the bounds of the simulation, asking them to input a cell again again if not'''===
{{CPTAnswerTab|C#}}
Coombe Wood School - South Croydon
Around line 60:
case "3":
int Row = 0, Column = 0;
<syntaxhighlight lang="C#" line="1" start="1">
//START OF CHANGE: loop until valid cell is entered
do
{
GetCellReference(ref Row, ref Column);
if (Row < 1 || Row > ThisSimulation.NumberOfRows || Column < 1 || Column > ThisSimulation.NumberOfColumns)
{
Console.WriteLine($"Invalid cell! Please enter a row between 1-{ThisSimulation.NumberOfRows} and a column between 1-{ThisSimulation.NumberOfColumns}.");
}
else
{
break;
}
} while (true);
//END OF CHANGE
//End of Change
//Note Before: This requires some amending as non integer values such as strings can still cause errors :P (Non-Coombe Wood School Student)
//Ok, it's been a week and it still hasn't been changed, it really needs to be fixed cause it still causes errors for non integer values :/ (Non-Coombe Wood School Student)
Around line 130:
//START OF CHANGE
public int NumberOfRows, NumberOfColumns;
protected int StartingFoodInNest, StartingNumberOfFoodCells, StartingNumberOfNests;
//END OF CHANGE
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Java}}
Harington School
<syntaxhighlight lang="JAVA" line="1" start="1">
//add Simulation parameter, which must be included as an argument whenever getCellReference is called
static void getCellReference(IntWrapper row, IntWrapper column, Simulation thisSim) {
System.out.println();
do {
System.out.print("Enter row number: ");
row.value = Integer.parseInt(scanner.nextLine());
} while (row.value > thisSim.numberOfRows || row.value < 1);
do {
System.out.print("Enter column number: ");
column.value = Integer.parseInt(scanner.nextLine());
} while (column.value > thisSim.numberOfColumns || column.value < 1);
System.out.println();
}
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
Salty Springs - credit to salty springs, hop off pls dont do trickss on itt :/
<syntaxhighlight lang="Python" line="1" start="1">
#part of the simulation class
def CheckCellExists(self, Row, Column):
if Row <= self._NumberOfRows and Row >= 1 and Column <= self._NumberOfColumns and Column >= 1:
return True
return False
#in Main()
elif Choice == "3":
Row = 0
Column = 0
Row, Column = GetCellReference() #get specific cell *howls*
while not ThisSimulation.CheckCellExists(Row,Column):
print("Invalid cell")
Row, Column = GetCellReference() #get specific cell
</syntaxhighlight>
{{CPTAnswerTabEnd}}
=== '''Add an error message when a blank grid space is entered and ask the user to retry ''' ===
{{CPTAnswerTab|C#}}
Coombe Wood School - South Croydon
//START OF CHANGE "Add an error message when a blank grid space is entered"
Console.WriteLine();
while (true)
{
Console.Write("Enter row number: ");
string rowInput = Console.ReadLine();
if (string.IsNullOrWhiteSpace(rowInput) || !int.TryParse(rowInput, out Row) || Row <= 0)
{
Console.WriteLine("Invalid row input. Please enter a valid positive number.");
continue;
}
Console.Write("Enter column number: ");
string colInput = Console.ReadLine();
if (string.IsNullOrWhiteSpace(colInput) || !int.TryParse(colInput, out Column) || Column <= 0)
{
Console.WriteLine("Invalid column input. Please enter a valid positive number.");
continue;
}
// If both inputs are valid
break;
}
Console.WriteLine();
}
//END OF CHANGE "Add an error message when a blank grid space is entered"
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Java}}
King Olie of Harington School
<syntaxhighlight lang="JAVA">
static void getCellReference(IntWrapper row, IntWrapper column, int maxRow, int maxColumn) {
System.out.println();
System.out.print("Enter row number: ");
row.value = Integer.parseInt(scanner.nextLine());
while (row.value < 0 || row.value > maxRow) {
System.out.println();
System.out.println("That was invalid you little punk. Try Again.");
System.out.print("Enter row number: ");
row.value = Integer.parseInt(scanner.nextLine());
}
System.out.print("Enter column number: ");
column.value = Integer.parseInt(scanner.nextLine());
while (column.value < 0 || column.value > maxColumn) {
System.out.println();
System.out.println("That was invalid you little punk. Try Again.");
System.out.print("Enter row number: ");
row.value = Integer.parseInt(scanner.nextLine());
}
System.out.println();
}
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Java}}
Harington School DM
<syntaxhighlight lang="Java">
//line 101
static void getCellReference(IntWrapper row, IntWrapper column) {
System.out.println();
System.out.print("Enter row number: ");
String inputRow = scanner.nextLine();
while(inputRow == "" || inputRow == " ") {
System.out.print("Invalid input, please try again\n");
inputRow = scanner.nextLine();
}
row.value = Integer.parseInt(inputRow);
System.out.print("Enter column number: ");
String inputCol = scanner.nextLine();
while(inputCol == "" || inputCol == " ") {
System.out.print("Invalid input. please try again\n");
inputCol = scanner.nextLine();
}
column.value = Integer.parseInt(inputCol);
System.out.println();
}
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
13D - VC - Guildford County School
<syntaxhighlight lang="Python" line="1" start="1">
# replace GetCellReference() with this, around line 65, it adds a check to see if the selected spot is valid
def GetCellReference():
print()
while True:
row_input = input("Enter row number: ").strip()
if not row_input or not row_input.isdigit() or int(row_input) <= 0:
print("Invalid row input. Please enter a valid positive number.")
continue
col_input = input("Enter column number: ").strip()
if not col_input or not col_input.isdigit() or int(col_input) <= 0:
print("Invalid column input. Please enter a valid positive number.")
continue
# If both inputs are valid
Row = int(row_input)
Column = int(col_input)
break
print()
return Row, Column
</syntaxhighlight>
{{CPTAnswerTabEnd}}
=== '''Fix the error that occurs when trying to inspect a cell not in the range of the grid''' ===
{{CPTAnswerTab|C#}}
Coombe Wood School - South Croydon
<syntaxhighlight lang="C#" line="1" start="1">
public string GetCellDetails(int Row, int Column)
{
//START OF CHANGE
if (Row < 1 || Row > NumberOfRows || Column < 1 || Column > NumberOfColumns)
{
return $"Cell ({Row}, {Column}) is out of range.";
}
// END OF CHANGE
Add this to the start of the GetCellDetails
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
13D - JK - Guildford County School
<syntaxhighlight lang="Python" line="1" start="1">
# replace GetCellDetails with this in the simulation class (around line 220), it adds a try/except for if the index is out of range
def GetCellDetails(self, Row, Column):
try:
CurrentCell = self._Grid[self.__GetIndex(Row, Column)]
Details = CurrentCell.GetDetails()
N = self.GetNestInCell(CurrentCell)
if N is not None:
Details += f"Nest present ({N.GetFoodLevel()} food)" + "\n\n"
if self.GetNumberOfAntsInCell(CurrentCell) > 0:
Details += "ANTS\n"
for A in self._Ants:
if A.InSameLocation(CurrentCell):
Details += A.GetDetails() + "\n"
Details += "\n\n"
if self.GetNumberOfPheromonesInCell(CurrentCell) > 0:
Details += "PHEROMONES\n"
for P in self._Pheromones:
if P.InSameLocation(CurrentCell):
Details += f"Ant {P.GetBelongsTo()} with strength of {P.GetStrength()}" + "\n\n"
Details += "\n\n"
return Details
except:
print("Cell was out of range\n")
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
City of Norwich School
This fixes the issue where an IndexError is thrown when inspecting a cell outside of the bounds of the map. One unique case this fix catches is inspecting a cell at position '''(0,0)'''. Row and column indexing starts at 1, so there should be no cell at (0, 0) and an IndexError should be thrown when trying to obtain it. However, this does not happen and cell details are still returned.
When inspecting a cell, the cell's position is converted to a grid list index using the '''__GetIndex(self, Row, Column)''' method. Cell instances are stored in a 1D list (_Grid), so a cell's position has to be converted to its index within the grid list. Grid list indices are calculated using the formula:
<math>(Row - 1) * NumberOfColumns + Column - 1 = GridListIndex</math>
When the row is '''0''' and the column is '''0''', this equation evaluates to a '''negative''' value regardless of which simulation is used. For example, this evaluates to '''-6''' when using simulation 1 as it has a map with 5 rows and 5 columns. Negative indices are still valid in Python, but unlike positive indices, they go from right to left and indexing starts at -1. As a result, a cell instance is still obtained and an IndexError is not thrown.
The following fix catches all erroneous cases except for empty strings, non-numeric characters and decimals. The fix begins at line 38 in the program in the Main() subroutine.<syntaxhighlight lang="python" line="1">
while Choice != "9":
DisplayMenu()
Choice = GetChoice()
if Choice == "1":
print(ThisSimulation.GetDetails())
elif Choice == "2":
StartRow = 0
StartColumn = 0
EndRow = 0
EndColumn = 0
StartRow, StartColumn = GetCellReference()
EndRow, EndColumn = GetCellReference()
print(ThisSimulation.GetAreaDetails(StartRow, StartColumn, EndRow, EndColumn))
elif Choice == "3":
Row = 0
Column = 0
# Change start
valid_cell = False
while not valid_cell:
Row, Column = GetCellReference()
if (Row > 0
and Column > 0
and Row <= SimulationParameters[1]
and Column <= SimulationParameters[2]):
valid_cell = True
else:
print("Invalid cell position!")
# Change end
print(ThisSimulation.GetCellDetails(Row, Column))
elif Choice == "4":
ThisSimulation.AdvanceStage(1)
print("Simulation moved on one stage\n")
elif Choice == "5":
NumberOfStages = int(input("Enter number of stages to advance by: "))
ThisSimulation.AdvanceStage(NumberOfStages)
print(f"Simulation moved on {NumberOfStages} stages" + "\n")
</syntaxhighlight>{{CPTAnswerTabEnd}}
== Simulation 2 ==
=== Fix the error of the cell still increasing pheromones after it is empty ===
{{CPTAnswerTab|C#}}
AL- Coombe Wood School - South Croydon
<syntaxhighlight lang="c#" line="1">
public void AdvanceStage(int NumberOfStages)
{
for (int Count = 1; Count <= NumberOfStages; Count++)
{
List<Pheromone> PheromonesToDelete = new List<Pheromone>();
foreach (Pheromone P in Pheromones)
{
P.AdvanceStage(Nests, Ants, Pheromones);
if (P.GetStrength() == 0)
{
PheromonesToDelete.Add(P);
}
}
foreach (Pheromone P in PheromonesToDelete)
{
Pheromones.Remove(P);
}
foreach (Ant A in Ant)
{
A.AdvanceStage(Nests, Ants, Pheromones);
Cell CurrentCell = Grid[GetIndex(A.GetRow(), A.GetColumn())];
if (A.GetFoodCarried() > 0 && A.IsAtOwnNest())
{
AddFoodToNest(A.GetFoodCarried(), A.GetRow(), A.GetColumn());
A.UpdateFoodCarried(-A.GetFoodCarried());
}
else if (CurrentCell.GetAmountOfFood() > 0 && A.GetFoodCarried() == 0)
{
int FoodObtained;
do
{
FoodObtained = RGen.Next(1, A.GetFoodCapacity() + 1);
} while (FoodObtained > CurrentCell.GetAmountOfFood() || (A.GetFoodCarried() + FoodObtained) > A.GetFoodCapacity());
CurrentCell.UpdateFoodInCell(-FoodObtained);
A.UpdateFoodCarried(FoodObtained);
//start of change
//removes pheromones from empty cells
if (CurrentCell.GetAmountOfFood() == 0)
{
Pheromones.RemoveAll(P => P.InSameLocation(CurrentCell));
}
//end of change
}
else
{
if (A.GetFoodCarried() > 0)
{
UpdateAntsPheromoneInCell(A);
}
A.ChooseCellToMoveTo(GetIndicesOfNeighbours(A.GetRow(), A.GetColumn()),
GetIndexOfNeighbourWithStrongestPheromone(A.GetRow(), A.GetColumn()));
}
}
foreach (Nest N in Nests)
{
N.AdvanceStage(Nests, Ants, Pheromones);
}
}
</syntaxhighlight>{{CPTAnswerTabEnd}}
=== When selecting the option 'Display area details', selecting an area by using a point further from the top-left than the second point results in nothing being displayed. Fix this error such that, when this is input, it displays the same result if the points were input in the other order ===
{{CPTAnswerTab|C#}}
DA- Coombe Wood School - South Croydon
<syntaxhighlight lang="c#" line="1">
public string GetAreaDetails(int StartRow, int StartColumn, int EndRow, int EndColumn)
{
//start of changes
if (StartRow > EndRow)
{
int temp = StartRow;
StartRow = EndRow;
EndRow = temp;
}
if (StartColumn > EndColumn)
{
int temp = StartColumn;
StartColumn = EndColumn; EndColumn = temp;
}
//end of changes
string Details = "";
for (int Row = StartRow; Row <= EndRow; Row++)
{
for (int Column = StartColumn; Column <= EndColumn; Column++)
{
Details += $"{Row}, {Column}: ";
Cell TempCell = Grid[GetIndex(Row, Column)];
if (GetNestInCell(TempCell) != null)
{
Details += "| Nest | ";
}
int NumberOfAnts = GetNumberOfAntsInCell(TempCell);
if (NumberOfAnts > 0)
{
Details += $"| Ants: {NumberOfAnts} | ";
}
int NumberOfPheromones = GetNumberOfPheromonesInCell(TempCell);
if (NumberOfPheromones > 0)
{
Details += $"| Pheromones: {NumberOfPheromones} | ";
}
int AmountOfFood = TempCell.GetAmountOfFood();
if (AmountOfFood > 0)
{
Details += $"| {AmountOfFood} food | ";
}
Details += Environment.NewLine;
}
}
return Details;
}
</syntaxhighlight>{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
LMW- Caistor Grammar School - Caistor
<syntaxhighlight lang="Python" line="1" start="1">
elif Choice == "2":
StartRow = 0
StartColumn = 0
EndRow = 0
EndColumn = 0
StartRow, StartColumn = GetCellReference()
EndRow, EndColumn = GetCellReference()
StartRow,EndRow=min(StartRow,EndRow),max(StartRow,EndRow)
StartColumn,EndColumn=min(StartColumn,EndColumn),max(StartColumn,EndColumn)
print(ThisSimulation.GetAreaDetails(StartRow, StartColumn, EndRow, EndColumn))
</syntaxhighlight>
{{CPTAnswerTabEnd}}
=== Fix the error where the game ends without a message when there are no more ants remaining ===
{{CPTAnswerTab|C#}}
KO- Coombe Wood School - South Croydon
public void AdvanceStage(int NumberOfStages)
{
for (int Count = 1; Count <= NumberOfStages; Count++)
{
List<Pheromone> PheromonesToDelete = new List<Pheromone>();
foreach (Pheromone P in Pheromones)
{
P.AdvanceStage(Nests, Ants, Pheromones);
if (P.GetStrength() == 0)
{
PheromonesToDelete.Add(P);
}
}
foreach (Pheromone P in PheromonesToDelete)
{
Pheromones.Remove(P);
}
foreach (Ant A in Ants)
{
A.AdvanceStage(Nests, Ants, Pheromones);
Cell CurrentCell = Grid[GetIndex(A.GetRow(), A.GetColumn())];
if (A.GetFoodCarried() > 0 && A.IsAtOwnNest())
{
AddFoodToNest(A.GetFoodCarried(), A.GetRow(), A.GetColumn());
A.UpdateFoodCarried(-A.GetFoodCarried());
}
else if (CurrentCell.GetAmountOfFood() > 0 && A.GetFoodCarried() == 0)
{
int FoodObtained;
do
{
FoodObtained = RGen.Next(1, A.GetFoodCapacity() + 1);
} while (FoodObtained > CurrentCell.GetAmountOfFood() || (A.GetFoodCarried() + FoodObtained) > A.GetFoodCapacity());
CurrentCell.UpdateFoodInCell(-FoodObtained);
A.UpdateFoodCarried(FoodObtained);
}
else
{
if (A.GetFoodCarried() > 0)
{
UpdateAntsPheromoneInCell(A);
}
A.ChooseCellToMoveTo(GetIndicesOfNeighbours(A.GetRow(), A.GetColumn()),
GetIndexOfNeighbourWithStrongestPheromone(A.GetRow(), A.GetColumn()));
}
}
foreach (Nest N in Nests)
{
N.AdvanceStage(Nests, Ants, Pheromones);
} // start of change
if (Ants.Count == 0)
{
Console.WriteLine("game over");
Console.ReadKey();
Environment.Exit(0);
} // end of change
}
}
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
AE - Guildford County Sixth
# At the end of the simulation.advancestage() method
if len(self._Ants) == 0:
print("Simulation is ending at",self._Stage," because no more Ants remain")
self.Running = False
break
{{CPTAnswerTabEnd}}
=== Limit skippable stages so the user can't skip straight to when the ants die (adds more playability) ===
{{CPTAnswerTab|C#}}
AS- Coombe Wood School - South Croydon
Simulation ThisSimulation = new Simulation(SimulationParameters);
string Choice;
Do
Case 5 replace the code with this code:
case "5":
//start of change
Console.Write("Enter number of stages to advance by (max 5): ");
int NumberOfStages = Convert.ToInt32(Console.ReadLine());
if (NumberOfStages > 5)
{
Console.WriteLine("You can't advance more then 5 stages");
NumberOfStages = 5;
}
else if (NumberOfStages < 1)
{
Console.WriteLine("You have to atleast advance 1 stage.");
NumberOfStages = 1;
}
ThisSimulation.AdvanceStage(NumberOfStages);
Console.WriteLine($"Simulation moved on {NumberOfStages} stages{Environment.NewLine}");//end of change
break;
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
13C - NC - Guildford County School<syntaxhighlight lang="python" line="1">
#import copy module
import copy
#start of change
elif Choice == "5":
backupsimulation=copy.deepcopy(ThisSimulation)
print(backupsimulation.GetDetails())
NumberOfStages = int(input("Enter number of stages to advance by: "))
ThisSimulation.AdvanceStage(NumberOfStages)
if ThisSimulation._Ants==[]:
print('you have advanced too many stages (all ants dead)')
ThisSimulation=backupsimulation
print(f"Simulation moved on {NumberOfStages} stages" + "\n")
#end of change
</syntaxhighlight>
{{CPTAnswerTabEnd}}
== Simulation 3 ==
== Simulation 4 ==
=== '''Prevent nests from culling ants from other nests''' ===
{{CPTAnswerTab|Python}}
NG - Lancaster Royal Grammar School - Lancaster
<syntaxhighlight lang="Python" line="1" start="1">
## START OF CHANGE ~line 421
def AdvanceStage(self, Nests, Ants, Pheromones):
if Ants is None:
return
AntsToCull = 0
Count = 0
for A in Ants:
if self.IsAntInNest(A):
if A.GetTypeOfAnt() == "queen":
Count += 10
else:
Count += 2
self.ChangeFood(-int(Count))
NestAnts = [A for A in Ants if self.IsAntInNest(A)]
if self._FoodLevel == 0 and len(NestAnts) > 0:
AntsToCull += 1
if self._FoodLevel < len(NestAnts):
AntsToCull += 1
if self._FoodLevel < len(NestAnts) * 5:
AntsToCull += 1
if AntsToCull > len(NestAnts):
AntsToCull = len(NestAnts)
random.shuffle(Ants)
Pos = 0
while AntsToCull > 0 and len(Ants) > Pos:
if self.IsAntInNest(Ants[Pos]):
if Ants[Pos].GetTypeOfAnt() == "queen":
self._NumberOfQueens -= 1
Ants.pop(Pos)
AntsToCull -= 1
else:
Pos += 1
else:
for A in range(1, self._NumberOfQueens + 1):
RNo1 = random.randint(0, 99)
if RNo1 < 50:
RNo2 = random.randint(0, 99)
if RNo2 < 2:
Ants.append(QueenAnt(self._Row, self._Column, self._Row, self._Column))
else:
Ants.append(WorkerAnt(self._Row, self._Column, self._Row, self._Column))
return Nests, Ants, Pheromones
def IsAntInNest(self, Ant):
return (Ant.GetNestRow() == self._Row and Ant.GetNestColumn() == self._Column)
## END OF CHANGE
</syntaxhighlight>
{{CPTAnswerTabEnd}}
== General Questions ==
=== '''Have the program exit when the user decides to quit''' ===
{{CPTAnswerTab|C#}}
DO - Coombe Wood School - South Croydon
<syntaxhighlight lang="C#" line="1" start="1">
Line 71 - After the get choice
//start of change
if (Choice == "9")
{
Environment.Exit(0);
}
Console.ReadLine();
//End of Change
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
13D - JK - Guildford County School
<syntaxhighlight lang="Python" line="1" start="1">
#Line 45 - after the processing for the other inputs
#start of change
if Choice == "9":
quit()
#End of Change
</syntaxhighlight>
{{CPTAnswerTabEnd}}
=== '''Fix the error in selecting the simulation when a value between 1 and 4 is <u>not</u> entered''' ===
{{CPTAnswerTab|C#}}
RT - Coombe Wood School - South Croydon
<syntaxhighlight lang="C#" line="1" start="1">
static void Main()
{
List<int> SimulationParameters = new List<int>();
Console.Write("Enter simulation number: ");
string SimNo = Console.ReadLine();
switch (SimNo)
{
case "1":
SimulationParameters = new List<int> { 1, 5, 5, 500, 3, 5, 1000, 50 };
break;
case "2":
SimulationParameters = new List<int> { 1, 5, 5, 500, 3, 5, 1000, 100 };
break;
case "3":
SimulationParameters = new List<int> { 1, 10, 10, 500, 3, 9, 1000, 25 };
break;
case "4":
SimulationParameters = new List<int> { 2, 10, 10, 500, 3, 6, 1000, 25 };
break;
//start of change
default:
Console.WriteLine("Enter a number between 1-4");
Main();
break;
}
;
//End of Change
</syntaxhighlight> {{CPTAnswerTabEnd}}
{{CPTAnswerTab|Java}}
LT - Harington School<syntaxhighlight lang="java" line="1">public static void main(String[] args) throws Exception
{
ArrayList<Integer> simulationParameters = new ArrayList<Integer>();
while(simulationParameters.isEmpty())
{
System.out.print("Enter simulation number: ");
String simNo = scanner.nextLine();
switch (simNo)
{
case "1":
simulationParameters = new ArrayList<Integer>(Arrays.asList(1, 5, 5, 500, 3, 5, 1000, 50));
break;
case "2":
simulationParameters = new ArrayList<Integer>(Arrays.asList(1, 5, 5, 500, 3, 5, 1000, 100));
break;
case "3":
simulationParameters = new ArrayList<Integer>(Arrays.asList(1, 10, 10, 500, 3, 9, 1000, 25));
break;
case "4":
simulationParameters = new ArrayList<Integer>(Arrays.asList(2, 10, 10, 500, 3, 6, 1000, 25));
break;
default:
System.out.println("\nInvalid Input!");
break;
}
System.out.println();
}
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
13C - ZH - Guildford County School <syntaxhighlight lang="python" line="1">
def Main():
SimulationParameters = []
SimNo = input("Enter simulation number (1-4): ")
while SimNo not in ["1","2","3","4"]:
SimNo = input("Enter simulation number (1-4): ")
</syntaxhighlight>
{{CPTAnswerTabEnd}}
=== '''Add an option to create a new nest. This should be allowed to be done only once per simulation. You do <u>not</u> need to check whether there is a nest already at that location''' ===
{{CPTAnswerTab|Java}}
Harington School - LC
<syntaxhighlight lang="Java" line="1" start="1">
//Start around line 70 after case 5
//Create new local boolean variable nestCreated
//Start of change
case "6":
if (nestCreated == true) {
System.out.println("New nest already created, you can only create 1");
}
else {
IntWrapper nestRow = new IntWrapper(0), nestColumn = new IntWrapper(0);
getCellReference(nestRow, nestColumn);
thisSimulation.setUpANestAt(nestRow.value, nestColumn.value);
nestCreated = true;
}
break;
//End of change
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Java}}
King Olie of Harington School
<syntaxhighlight lang="Java" line="1" start="1">
//Start around line 70 after case 5
//Create new static boolean variable doneAddedNess set to false
case "6":
if(!doneAddedNess) {
System.out.println("Adding a ness ");
System.out.println("x: ");
int x = scanner.nextInt();
System.out.println("y: ");
int y = scanner.nextInt();
thisSimulation.setUpANestAt(x,y);
doneAddedNess = true;
}
else {
System.out.println("you have already added a nest this game silly.");
}
break;
// in displayMenu
System.out.println("6. Add a ness (once per game)");
</syntaxhighlight>
{{CPTAnswerTabEnd}}{{CPTAnswerTab|Python}}
JD - John Port Spencer Academy
CHANGE ~ line 54
elif Choice == "6":
if nestCreated != True:
print("Add a nest")
x = int(input("X coord: "))
y = int(input("Y coord: "))
ThisSimulation.SetUpANestAt(x, y)
nestCreated = True
else:
print("Already added a nest")
END CHANGE
elif Choice == "9":
quit()
--------------------------
def DisplayMenu():
print()
print("1. Display overall details")
print("2. Display area details")
print("3. Inspect cell")
print("4. Advance one stage")
print("5. Advance X stages")
CHANGE FOR OPTION 6 ADDED
print("6. Add a nest (1 per game)")
ENDCHANGE
{{CPTAnswerTabEnd}}
=== '''Add an end to the simulation when there are 0 ants''' ===
{{CPTAnswerTab|C#}}
Coombe Wood School - South Croydon
Around line 60:
<syntaxhighlight lang="C#" line="1" start="1">
//start of change
// Add to end of Advance stage:
if (Ants.Count == 0)
{
Console.WriteLine("All ants are dead. Game Over!");
Console.ReadKey();
Environment.Exit(0);
}
//END OF CHANGE
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Java}}
King Olie of Harington School
<syntaxhighlight lang="java" line="1">
public void advanceStage(int numberOfStages) {
boolean anyAntsLeft = false;
for (int count = 1; count <= numberOfStages; count++) {
anyAntsLeft = false;
ArrayList<Pheromone> pheromonesToDelete = new ArrayList<Pheromone>();
for (Pheromone p : pheromones) {
p.advanceStage(nests, ants, pheromones);
if (p.getStrength() == 0) {
pheromonesToDelete.add(p);
}
}
for (Pheromone p : pheromonesToDelete) {
pheromones.remove(p);
}
for (Ant a : ants) {
a.advanceStage(nests, ants, pheromones);
anyAntsLeft = true;
Cell currentCell = grid.get(getIndex(a.getRow(), a.getColumn()));
if ((a.getFoodCarried() > 0) && a.isAtOwnNest()) {
addFoodToNest(a.getFoodCarried(), a.getRow(), a.getColumn());
a.updateFoodCarried(-a.getFoodCarried());
} else if ((currentCell.getAmountOfFood() > 0) && (a.getFoodCarried() == 0) && (a.getFoodCapacity() > 0)) {
int foodObtained;
do {
foodObtained = rGen.nextInt(a.getFoodCapacity()) + 1;
} while (!(foodObtained <= currentCell.getAmountOfFood()
&& (a.getFoodCarried() + foodObtained) <= a.getFoodCapacity()));
currentCell.updateFoodInCell(-foodObtained);
a.updateFoodCarried(foodObtained);
} else {
if (a.getFoodCarried() > 0) {
updateAntsPheromoneInCell(a);
}
a.chooseCellToMoveTo(getIndicesOfNeighbours(a.getRow(), a.getColumn()), getIndexOfNeighbourWithStrongestPheromone(a.getRow(), a.getColumn()));
}
}
for (Nest n : nests) {
n.advanceStage(nests, ants, pheromones);
}
}
if(!anyAntsLeft) {
System.out.println("No ants detected ending sim");
System.exit(0);
// i know this is a bad habit. But i dont know other ways of stopping it easily without changing code in diffrent areas... laziness wins.
}
}
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
13D - JS - Guildford County School
<syntaxhighlight lang="Python" line="1" start="1">
# Around line 20, just before DisplayMenu() and just after Choice = ""
# start of change
if len(ThisSimulation._Ants) == 0:
print("No more ants, you lost!")
quit()
# End of Change
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
LMW - Caistor Grammar School - Caistor
<syntaxhighlight lang="Python" line="1" start="1">
def GetDetails(self):
Details = ""
for Row in range(1, self._NumberOfRows + 1):
for Column in range(1, self._NumberOfColumns + 1):
Details += f"{Row}, {Column}: "
TempCell = self._Grid[self.__GetIndex(Row, Column)]
if self.GetNestInCell(TempCell) is not None:
Details += "| Nest | "
NumberOfAnts = self.GetNumberOfAntsInCell(TempCell)
if NumberOfAnts > 0:
Details += f"| Ants: {NumberOfAnts} | "
# Edit Begins Here
elif NumberOfAnts == 0:
print("No Ants Remaining - Simulation over")
quit()
# Edit Ends Here
NumberOfPheromones = self.GetNumberOfPheromonesInCell(TempCell)
if NumberOfPheromones > 0:
Details += f"| Pheromones: {NumberOfPheromones} | "
AmountOfFood = TempCell.GetAmountOfFood()
if AmountOfFood > 0:
Details += f"| {AmountOfFood} food | "
Details += "\n"
return Details
</syntaxhighlight>
{{CPTAnswerTabEnd}}
=== '''If the Queen is dead the simulation will end''' ===
{{CPTAnswerTab|C#}}
AL- Coombe Wood School - South Croydon
public override void AdvanceStage(List<Nest> Nests, List<Ant> Ants, List<Pheromone> Pheromones)
{
if (Ants == null)
{
return;
}
int AntsToCull = 0;
int Count = 0;
foreach (Ant A in Ants)
{
if (A.GetNestRow() == Row && A.GetNestColumn() == Column)
{
if (A.GetTypeOfAnt() == "queen")
{
Count += 10;
}
else
{
Count += 2;
}
}
//start of change
if (NumberOfQueens < 1)
{
Console.WriteLine("The Queen has died, the simulation cannot continue");
System.Threading.Thread.Sleep(2000);
Environment.Exit(0);
} // end of change
}
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|JAVA}}
King Olie of Harington School
public void advanceStage(int numberOfStages)
{
boolean queen = false;
for (int count = 1; count <= numberOfStages; count++)
{
queen = false;
for (Ant a : ants)
{
a.advanceStage(nests, ants, pheromones);
if(a.getTypeOfAnt() == "queen")
{
queen = true;}
}
}
if(!queen)
{
System.out.println("No queen detected ending sim");
System.exit(0);
// i know this is a bad habit. But i dont know other ways of stoping it easily without changing code in diffrent areas.
}
}
// it looks like code is ending like and some if and for loops but I just removed the inside to shorten it but kepts some stuff so you can ruffly see where it should be.
// this code lookes terible becuse i cant figgure out how to present it well in the edditer please feel free to make it look better. I tried my best.
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
AE - Guildford County Sixth
# At the end of Simulaton.AdvanceStage()
queen = False
for i in self._Ants:
if i.GetTypeOfAnt() == "queen":
queen = True
if not queen:
print("Simulation is ending at",self._Stage," because no more queen ants remain")
self.Running = False
break
{{CPTAnswerTabEnd}}
=== '''Add an explanation of each simulation before the user is prompted to input the simulation number''' ===
{{CPTAnswerTab|C#}}
KW - Coombe Wood School - South Croydon
// START OF CHANGE - below the FIRST SimNo SWITCH
switch (SimNo)
{
case "1":
Console.WriteLine("This is simulation 1, a 5x5 grid with one nest and three food sources when started. Pheromone strength: 1000 with decay 50");
break;
case "2":
Console.WriteLine("This is simulation 2, a 5x5 grid with one nest and three food sources when started. Pheromone strength: 1000 with decay 100");
break;
case "3":
Console.WriteLine("This is simulation 3, a 10x10 grid with one nest and three food sources when started. Pheromone strength: 1000 with decay 25");
break;
case "4":
Console.WriteLine("This is simulation 4, a 10x10 grid with two nests and three food sources when started. Pheromone strength: 1000 with decay 25");
break;
}
// END OF CHANGE
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|JAVA}}
King Olie of Harington School
<syntaxhighlight lang="JAVA" line="1" start="1">
//START OF CHANGE
static void displaySims() {
// yes i just copy and pasted the values from the Preliminary Material
System.out.println("1. Simulation 1 is a 5×5 grid with one nest. Five ants belong to that nest (one queen and four\r\n"
+ "workers). At the start of the simulation the nest has 500 food units in it. There are three sources\r\n"
+ "of food in the grid. It is possible that some of the food sources could be in the same cell as each\r\n"
+ "other. The strength of a new pheromone is 1000 and the pheromone decay rate is\r\n"
+ "50 per stage");
System.out.println("2. Simulation 2 is the same as simulation 1 except the pheromone decay rate is 100 per stage");
System.out.println("3. Simulation 3 is a 10×10 grid with one nest. Nine ants belong to that nest (one queen and eight\r\n"
+ "workers). At the start of the simulation the nest has 500 food units in it. There are three sources\r\n"
+ "of food in the grid. It is possible that some of the food sources could be in the same cell as each\r\n"
+ "other. The strength of a new pheromone is 1000 and the pheromone decay rate is\r\n"
+ "25 per stage");
System.out.println("4. Simulation 4 is a 10×10 grid with two nests. Six ants belong to each nest (one queen and five\r\n"
+ "workers). At the start of the simulation each nest has 500 food units in it. There are three sources\r\n"
+ "of food in the grid. It is possible that some of the food sources could be in the same cell as each\r\n"
+ "other. The strength of a new pheromone is 1000 and the pheromone decay rate is 25 per stage");
System.out.println("5. custom sim (added by king olie)");
}
//END OF CHANGE
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
13D - JK - Guildford County School
<syntaxhighlight lang="Python" line="1" start="1">
#Add this function anywhere in the program
#start of change
def printSimDetails(params):
print()
print("This Simulation has:")
print(" - " + str(params[0]) + " nests")
print(" - a " + str(params[1]) + "x" + str(params[2]) + " grid")
print(" - " + str(params[3]) + " starting food in the nests")
print(" - " + str(params[4]) + " cells with food to start with")
print(" - " + str(params[5]) + " ants in each nest")
print(" - " + str(params[6]) + " strength for new pheremones")
print(" - " + str(params[7]) + " pheremone decay")
print()
#End of Change
#put this just after the elifs to check simulation parameters (around line 20)
#start of change
printSimDetails(SimulationParameters)
#end of change
</syntaxhighlight>
{{CPTAnswerTabEnd}}
==='''Add a custom simulation. The user should be able to enter their own values for the simulation parameters'''===
{{CPTAnswerTab|JAVA}}
King Olie of Harington School
<syntaxhighlight lang="JAVA" line="1" start="1">
//START OF CHANGE
case "5": // new sim
System.out.println("Please enter the values for the following: ");
System.out.println("Starting number of nests: ");
int startNumberOfNests = scanner.nextInt();
System.out.println("Number of Rows");
int numberOfRows = scanner.nextInt();
System.out.println("Number of columns: ");
int numberOfColums = scanner.nextInt();
System.out.println("Starting Food In Nest: ");
int startingFoodInNests = scanner.nextInt();
System.out.println("Starting number of food cells: ");
int startingNumberOfFoodCells = scanner.nextInt();
System.out.println("Starting ants in nest: ");
int startingAntsInNests = scanner.nextInt();
System.out.println("New pheromone strength: ");
int newPheromoneStrength = scanner.nextInt();
System.out.println("New pheromone Decay: ");
int newPheromoneDecay = scanner.nextInt();
simulationParameters = new ArrayList<Integer>(Arrays.asList(startNumberOfNests, numberOfRows, numberOfColums, startingFoodInNests, startingNumberOfFoodCells, startingAntsInNests, newPheromoneStrength, newPheromoneDecay));
break;
//END OF CHANGE
</syntaxhighlight>
{{CPTAnswerTabEnd}}{{CPTAnswerTab|Python}}
13A - RH - Aylesbury Grammar School
<syntaxhighlight lang="Python" line="1" start="1">
# Line 20
# CHANGE
elif SimNo == "5":
print("Please enter the following values")
startNumberOfNests = input("Starting number of nests: ")
numberOfRows = input("Number of rows: ")
numberOfColumns = input("Number of columns: ")
startingFoodInNests = input("Starting Food In Nest: ")
startingNumberOfFoodCells = input("Starting number of food cells: ")
startingAntsInNests = input("Starting ants in nest: ")
newPheromoneStrength = input("New pheromone strength: ")
newPheromoneDecay = input("New pheromone Decay: ")
SimulationParameters = [
startNumberOfNests,
numberOfRows,
numberOfColumns,
startingFoodInNests,
startingNumberOfFoodCells,
startingAntsInNests,
newPheromoneStrength,
newPheromoneDecay
]
# END CHANGEsam
</syntaxhighlight>
{{CPTAnswerTabEnd}}
=== '''Add a simulation number 5 with its own parameters''' ===
{{CPTAnswerTab|C#}}
Coombe Wood School - South Croydon
Around line 36
<syntaxhighlight lang="C#" line="1" start="1">
//START OF CHANGE
case "5":
SimulationParameters = new List<int> {3, 15,15,500 , 3, 4, 1000, 25};
break;
//END OF CHANGE
//YOU CAN CHANGE ANY OF THE NUMBERS IN THE LIST TO MAKE YOUR OWN SIMULATION
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|JAVA}}
King Olie of Harington School
Line ~82
<syntaxhighlight lang="JAVA" line="1" start="1">
//START OF CHANGE
case "5":
simulationParameters = new ArrayList<Integer>(Arrays.asList(300, 105,105,5000 , 30, 40, 1000000, 2500));
break;
//END OF CHANGE
//YOU CAN CHANGE ANY OF THE NUMBERS IN THE LIST TO MAKE YOUR OWN SIMULATION
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
13D - JT - Guildford County School
<syntaxhighlight lang="Python" line="1" start="1">
#Around line 19, after the elif for SimNo 4
#start of change
elif SimNo == "5":
SimulationParameters = [3, 20, 20, 1000, 6, 12, 2000, 50]
#End of Change
</syntaxhighlight>
{{CPTAnswerTabEnd}}
=== '''Make the grid be displayed as an actual grid '''===
{{CPTAnswerTab|C#}}
DA - Coombe Wood School - South Croydon
<syntaxhighlight lang="C#" line="1" start="1">
//You need to add all 3 parts for it to work add the red bits only, the black is just to see where
//Around line 67
DisplayMenu();
Choice = GetChoice();
switch (Choice)
{
case "1":
Console.WriteLine(ThisSimulation.GetDetails());
break;
case "2":
int StartRow = 0, StartColumn = 0, EndRow = 0, EndColumn = 0;
GetCellReference(ref StartRow, ref StartColumn);
GetCellReference(ref EndRow, ref EndColumn);
Console.WriteLine(ThisSimulation.GetAreaDetails(StartRow, StartColumn, EndRow, EndColumn));
break;
case "3":
int Row = 0, Column = 0;
GetCellReference(ref Row, ref Column);
Console.WriteLine(ThisSimulation.GetCellDetails(Row, Column));
break;
case "4":
ThisSimulation.AdvanceStage(1);
Console.WriteLine($"Simulation moved on one stage{Environment.NewLine}");
break;
case "5":
Console.Write("Enter number of stages to advance by: ");
int NumberOfStages = Convert.ToInt32(Console.ReadLine());
ThisSimulation.AdvanceStage(NumberOfStages);
Console.WriteLine($"Simulation moved on {NumberOfStages} stages{Environment.NewLine}");
break;
//start of change
case "7";
ThisSimulation.DisplayGrid();
Break;
//end of change
//Around line 125
static void DisplayMenu()
{
Console.WriteLine();
Console.WriteLine("1. Display overall details");
Console.WriteLine("2. Display area details");
Console.WriteLine("3. Inspect cell");
Console.WriteLine("4. Advance one stage");
Console.WriteLine("5. Advance X stages");
//start of change
Console.WriteLine("7. Display grid view");
//end of change
Console.WriteLine("9. Quit");
Console.WriteLine();
Console.Write("> ");
}
//After the getdetails string ends, put this outside the brackets
public void DisplayGrid()
{
for (int row = 1; row <= NumberOfRows; row++)
{
for (int col = 1; col <= NumberOfColumns; col++)
{
Cell currentCell = Grid[GetIndex(row, col)];
string cellDisplay = "[";
bool hasContent = false;
if (GetNestInCell(currentCell) != null)
{
cellDisplay += "N";
hasContent = true;
}
if (GetNumberOfAntsInCell(currentCell) > 0)
{
cellDisplay += "A";
hasContent = true;
}
if (currentCell.GetAmountOfFood() > 0)
{
cellDisplay += "F";
hasContent = true;
}
if (GetNumberOfPheromonesInCell(currentCell) > 0)
{
cellDisplay += "P";
hasContent = true;
}
if (!hasContent)
{
cellDisplay += " ";
}
cellDisplay += "]";
Console.Write(cellDisplay + " ");
}
Console.WriteLine();
}
}
//END OF CHANGE
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|JAVA}}
King olie of Harington
<syntaxhighlight lang="JAVA" line="1" start="1">
public String getDetails() { // use format tools
String addes = "| %-35s ";
String layout = "";
String layerRowAdds = "-";
String layerRow = "";
String output = "";
String[] details = new String[numberOfColumns];
for (int i = 0; i < numberOfColumns; i++) {
layout += addes;
details[i] = "";
}
for (int i = 0; i < (38 * numberOfColumns); i++) {
layerRow += layerRowAdds;
}
layout += "|";
boolean didSomethink = false;
for (int row = 1; row <= numberOfRows; row++) {
for (int column = 1; column <= numberOfColumns; column++) {
Cell tempCell = grid.get(getIndex(row, column));
if (getNestInCell(tempCell) != null) {
details[column-1] += "Nest; ";
didSomethink = true;
}
int numberOfAnts = getNumberOfAntsInCell(tempCell);
if (numberOfAnts > 0) {
details[column-1] += "Ants: " + numberOfAnts + "; ";
didSomethink = true;
}
int numberOfPheromones = getNumberOfPheromonesInCell(tempCell);
if (numberOfPheromones > 0) {
details[column-1] += "Pheromones: " + numberOfPheromones + "; ";
didSomethink = true;
}
int amountOfFood = tempCell.getAmountOfFood();
if (amountOfFood > 0) {
details[column-1] += amountOfFood + " food; ";
didSomethink = true;
}
if(!didSomethink) {
details[column-1] = "BLANK";
}
didSomethink = false;
}
output += layerRow + "\n";
output += String.format(layout, details) + "\n";
for (int i = 0; i < numberOfRows; i++) {
details[i] = "";
}
}
output += layerRow + "\n";
return output;
}
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python - only works for a 5 x 5..}}SB - John Port Spencer Academy
def GetDetails(self):
print("GetDetails from Simulation - code started")
Details = "------------------------------------------------------------------------------------------------------------------------------------------------------------\n"
for Row in range(1, self._NumberOfRows + 1):
row = "|"
for Column in range(1, self._NumberOfColumns + 1):
count = 0
cell = ""
TempCell = self._Grid[self.__GetIndex(Row, Column)]
if self.GetNestInCell(TempCell) is not None:
cell += "Nest"
count += 1
NumberOfAnts = self.GetNumberOfAntsInCell(TempCell)
if NumberOfAnts > 0:
if count >= 1:
cell += f" Ants: {NumberOfAnts}"
else:
cell += f"Ants: {NumberOfAnts}"
count += 1
NumberOfPheromones = self.GetNumberOfPheromonesInCell(TempCell)
if NumberOfPheromones > 0:
if count >= 1:
cell += f" Pheromones: {NumberOfPheromones}"
else:
cell += f"Pheromones: {NumberOfPheromones}"
count += 1
AmountOfFood = TempCell.GetAmountOfFood()
if AmountOfFood > 0:
if count >= 1:
cell += f" {AmountOfFood} food"
else:
cell += f"{AmountOfFood} food"
count += 1
if count == 0:
cell += " "
cell = cell.center(30)
cell += "|"
row += cell
Details += row
num = len(row)
Details += f"\n{num*'-'}\n"
return Details
{{CPTAnswerTabEnd}}{{CPTAnswerTab|Python}}RC
<syntaxhighlight lang="python"
def GetDetailsGrid(self):
Details = []
for Row in range(1, self._NumberOfRows + 1):
RowGrid = []
for Column in range(1, self._NumberOfColumns + 1):
item = ""
TempCell = self._Grid[self.__GetIndex(Row, Column)]
if self.GetNestInCell(TempCell) is not None:
item += "Nest "
NumberOfAnts = self.GetNumberOfAntsInCell(TempCell)
if NumberOfAnts > 0:
item += f"Ants: {NumberOfAnts} "
NumberOfPheromones = self.GetNumberOfPheromonesInCell(TempCell)
if NumberOfPheromones > 0:
item += f"Pheromones: {NumberOfPheromones} "
AmountOfFood = TempCell.GetAmountOfFood()
if AmountOfFood > 0:
item += f"{AmountOfFood} food "
RowGrid.append(item)
Details.append(RowGrid)
return Details
def DisplayGrid(self):
for i in self.GetDetailsGrid():
for j in i:
print('|{:^32s}|'.format(j),end='')
print("")
print("")
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
AE - Guildford County School
<syntaxhighlight lang="python3" line="1" start="1">
#method for the Simulation class
def DisplayGrid(self):
for row in range(0,self._NumberOfRows):
Details = ""
for column in range(self._NumberOfColumns):
Details += "|"
addSpace = True
CurrentCell = self._Grid[self.__GetIndex(row, column)]
N = self.GetNestInCell(CurrentCell)
if N is not None:
Details += f"Nest: ({N.GetFoodLevel()} food)"
addSpace = False
if self.GetNumberOfAntsInCell(CurrentCell) > 0:
Details += "Ants: " + str(self.GetNumberOfAntsInCell(CurrentCell))
addSpace = False
if self.GetNumberOfPheromonesInCell(CurrentCell) > 0:
Details += "Pheromones:"
for P in self._Pheromones:
if P.InSameLocation(CurrentCell):
Details += f"Ant {P.GetBelongsTo()}: strength = {P.GetStrength()}"
addSpace = False
if addSpace:
Details += " "
Details += "|"
print(Details)
print()
</syntaxhighlight>
{{CPTAnswerTabEnd}}{{CPTAnswerTab|JAVA}}
Harington School - use of String.format() to evenly space the cell widths
<syntaxhighlight lang="JAVA" line="1" start="1">
public String getDetails() {
String cellFormat = "%-11s|";
String separator = "-";
for(int i=0; i<numberOfColumns; i++) {
separator += "------------";
}
String details = "";
for (int row = 1; row <= numberOfRows; row++) {
details += separator+"\n";
details+="|";
for (int column = 1; column <= numberOfColumns; column++) {
Cell tempCell = grid.get(getIndex(row, column));
String cellDetails = "";
if (getNestInCell(tempCell) != null) {
cellDetails += "N ";
}
int numberOfAnts = getNumberOfAntsInCell(tempCell);
if (numberOfAnts > 0) {
cellDetails += "A" + numberOfAnts + " ";
}
int numberOfPheromones = getNumberOfPheromonesInCell(tempCell);
if (numberOfPheromones > 0) {
cellDetails += "P" + numberOfPheromones + " ";
}
int amountOfFood = tempCell.getAmountOfFood();
if (amountOfFood > 0) {
cellDetails += "F" + amountOfFood + " ";
}
details += String.format(cellFormat, cellDetails);
}
details+="\n";
}
return details+separator;
}
</syntaxhighlight>
{{CPTAnswerTabEnd}}
=== '''Add appropriate error handling so that the program does not close when an invalid input is entered'''===
{{CPTAnswerTab|C#}}
JD - Coombe Wood School - South Croydon
Changes takes place in the Main void, in the fifth switch case -
<syntaxhighlight lang="C#" line="1" start="1">
//START OF CHANGE
case "5":
Console.WriteLine("Enter in number of stages to advance, it must be under 20 digits");
string NumberOfStages = (Console.ReadLine()); //string used since it won't instantly crash the code when a "number" that's too long is input
if (NumberOfStages.Length > 19 || !NumberOfStages.All(char.IsDigit)) //the max ulong (unsigned 64 bit) number is 1.8x10^19, a 20 digit number. we exlude 20 digit numbers since if someone typed a 20 digit number bigger than 1.8x10^19, the code would crash. we also check to see if every character in the string is a digit
{
Console.WriteLine("Number entered is too large, or you have entered in letters. going back to main menu");
break;
}
ulong NumberOfStagesULong = (ulong)Convert.ToInt64(NumberOfStages); //converting string to ulong, so it can be used later
ThisSimulation.AdvanceStage((int)NumberOfStagesULong);
// END OF CHANGE
Console.WriteLine($"Simulation moved on {NumberOfStages} stages{Environment.NewLine}");
break;
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
IH - BCSF - Leicester
this edits the main function between lines 9 and 74
<syntaxhighlight lang="C#" line="1" start="1">
def Main():
SimulationParameters = []
###
#
SimNo = input("Enter simulation number: ")
while SimNo not in ["1", "2", "3", "4"]:
SimNo = input("Enter simulation number: ")
if SimNo == "1":
SimulationParameters = [1, 5, 5, 500, 3, 5, 1000, 50]
elif SimNo == "2":
SimulationParameters = [1, 5, 5, 500, 3, 5, 1000, 100]
elif SimNo == "3":
SimulationParameters = [1, 10, 10, 500, 3, 9, 1000, 25]
elif SimNo == "4":
SimulationParameters = [2, 10, 10, 500, 3, 6, 1000, 25]
ThisSimulation = Simulation(SimulationParameters)
Choice = ""
while Choice != "9":
DisplayMenu()
Choice = GetChoice()
if Choice == "1":
print(ThisSimulation.GetDetails())
elif Choice == "2":
StartRow = 0
StartColumn = 0
EndRow = 0
EndColumn = 0
StartRow, StartColumn = GetCellReference()
EndRow, EndColumn = GetCellReference()
print(ThisSimulation.GetAreaDetails(StartRow, StartColumn, EndRow, EndColumn))
elif Choice == "3":
Row = 0
Column = 0
Row, Column = GetCellReference()
print(ThisSimulation.GetCellDetails(Row, Column))
elif Choice == "4":
ThisSimulation.AdvanceStage(1)
print("Simulation moved on one stage\n")
elif Choice == "5":
NumberOfStages = int(input("Enter number of stages to advance by: "))
ThisSimulation.AdvanceStage(NumberOfStages)
print(f"Simulation moved on {NumberOfStages} stages" + "\n")
input()
def DisplayMenu():
print()
print("1. Display overall details")
print("2. Display area details")
print("3. Inspect cell")
print("4. Advance one stage")
print("5. Advance X stages")
print("9. Quit")
print()
print("> ", end='')
def GetChoice():
Choice = input("pick a number: 1, 2, 3, 4, 5, 9")
while Choice not in ["1", "2", "3", "4", "5", "9"]:
Choice = input("pick a number: 1, 2, 3, 4, 5, 9")
return Choice
#
###
==='''Make a fighter ant class that fights and defends their nest from other types of ants'''===
{{CPTAnswerTab|JAVA}}
King Olie of Harington School
<syntaxhighlight lang="JAVA" line="1" start="1">
//START OF CHANGE
static class FighterAnt extends Ant{
// I wanted everything in one class so some best practice may not be used.
int health = 100;
FighterAnt(int startRow, int startColumn, int nestInRow, int nestInColumn) {
super(startRow, startColumn, nestInRow, nestInColumn);
typeOfAnt = "fighter";
health = 100;
}
//ant 0 is this ant and ant 1 is the other ant and it is the winner of the fight. only one surviver
// if healths out of 100 that could be the prob of hitting
public int fightEachOther(int healthOfOtherAnt) {
Random ranGen = new Random();
// you add 1 to each as the next int is exclusive with the last value. aka if 100 was input the output would be from 0-99
if(healthOfOtherAnt < health) { // this ant wins
healthOfOtherAnt -= ranGen.nextInt(healthOfOtherAnt +1);
health -= ranGen.nextInt((int) (health * 0.25 +1));
}
else if(healthOfOtherAnt > health) { // other ant wins
health -= ranGen.nextInt(health + 1);
healthOfOtherAnt -= ranGen.nextInt((int) (healthOfOtherAnt * 0.25 +1));
}
else { // luck, may the best win.
healthOfOtherAnt -= ranGen.nextInt(healthOfOtherAnt +1);
health -= ranGen.nextInt(health +1);
}
// if if statements in java are only 1 line long this works. no brakets needed
if (health <= 0 && healthOfOtherAnt <= 0 )
return 2; // both ants died
else if(health <= 0)
return 1; // this ant lost
else if(healthOfOtherAnt <= 0)
return 0; // this ant won
else
return 99; // no ants died
return 0;
}
// following pheromones to fight / protect food.
@Override
public void chooseCellToMoveTo(ArrayList<Integer> listOfNeighbours, int indexOfNeighbourWithStrongestPheromone) {
IntWrapper r, c;
if (amountOfFoodCarried > 0) {
if (row > nestRow) {
row -= 1;
} else if (row < nestRow) {
row += 1;
}
if (column > nestColumn) {
column -= 1;
} else if (column < nestColumn) {
column += 1;
}
} else if (indexOfNeighbourWithStrongestPheromone == -1) {
int indexToUse = chooseRandomNeighbour(listOfNeighbours);
r = new IntWrapper(row);
c = new IntWrapper(column);
changeCell(indexToUse, r, c);
row = r.value;
column = c.value;
} else {
int indexToUse = listOfNeighbours.indexOf(indexOfNeighbourWithStrongestPheromone);
r = new IntWrapper(row);
c = new IntWrapper(column);
changeCell(indexToUse, r, c);
row = r.value;
column = c.value;
}
}
public int getAntsHealth() {
return health;
}
}
//END OF CHANGE
// this is at no means complete. please amend and add more functionality and add your name. This is a mock up.
</syntaxhighlight>
{{CPTAnswerTabEnd}}
=== '''Add an option to read a file which can be used for the Simulation Parameters''' ===
{{CPTAnswerTab|Test File}}
<syntaxhighlight lang="Test File" line="1">
name > sim1file.txt
Content:
--start file--
10
50
50
690
676
420
5000
5000
--end file--
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|JAVA}}
king Olie of Harington<syntaxhighlight lang="java" line="1">
System.out.println("Select (S)imulation or load a (F)ile: ");
String enterOption = scanner.nextLine();
enterOption.toUpperCase();
if(enterOption.contentEquals("F")) {
System.out.println("Enter File name with extention (.txt): ");
String file = scanner.nextLine();
/**
* file should be:
* value1
* value2
* value3
* ...
*/
simulationParameters = new ArrayList<Integer>();
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null){
simulationParameters.add(Integer.parseInt(line));
}
}
else {
System.out.print("Enter simulation number: ");
</syntaxhighlight>
{{CPTAnswerTabEnd}}
=== Edit the Simulation class to add the same amount of food to the food cells as is added to each nest ===
{{CPTAnswerTab|JAVA}}
king Olie of Harington<syntaxhighlight lang="java" line="1">
Simulation(ArrayList<Integer> simulationParameters) {
...
addFoodToCell(row, column, startingFoodInNest);
...
</syntaxhighlight>
{{CPTAnswerTabEnd}}
=== '''After a set of simulation parameters has been selected, display the simulation values''' ===
{{CPTAnswerTab|JAVA}}
king Olie of Harington<syntaxhighlight lang="java" line="1">
String output;
output = "startingNumberOfNests is " + simulationParameters.get(0) +"\n";
output += "numberOfRows is " + simulationParameters.get(1) +"\n";
output += "numberOfColumns is " + simulationParameters.get(2) +"\n";
output += "startingFoodInNest is " + simulationParameters.get(3) +"\n";
output += "startingNumberOfFoodCells is " + simulationParameters.get(4) +"\n";
output += "startingAntsInNest is " + simulationParameters.get(5) +"\n";
output += "newPheromoneStrength is " + simulationParameters.get(6) +"\n";
output += "pheromoneDeca is " + simulationParameters.get(7);
System.out.println(output);
</syntaxhighlight>
{{CPTAnswerTabEnd}}
=== '''Prevent food from spawning within one cell of a nest ''' ===
{{CPTAnswerTab|JAVA}}
king Olie of Harington<syntaxhighlight lang="java" line="1">
for (Nest n : nests) {
int x = n.getRow();
int y = n.getColumn();
int xdiff = Math.abs(x) - Math.abs(row);
int ydiff = Math.abs(x) - Math.abs(row);
xdiff = Math.abs(xdiff);
ydiff = Math.abs(ydiff);
if(xdiff == 1 || ydiff == 1 || (n.getRow() == row && n.getColumn() == column)) {
allowed = false;
}
}
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
Bill Robinson<syntaxhighlight lang="python" line="1">
# At the end of Simulation.__init__()
for N in self._Nests:
if abs(N.GetRow() - Row) < 2 and abs(N.GetColumn() - Column) < 2:
Allowed = False
self.AddFoodToCell(Row, Column, 500)
</syntaxhighlight>
{{CPTAnswerTabEnd}}
=== '''Swaps values in "Display area details" when the first cell entered is larger than the second one. [13]''' ===
{{CPTAnswerTab|JAVA}}
Charlotte of Harington <syntaxhighlight lang="java" line="1">
In the "getAreaDetails()" method:
if(startRow>endRow) {
int temp = startRow;
startRow = endRow;
endRow = temp;
temp= startColumn;
startColumn = endColumn;
endColumn = temp;
}
if(startRow == endRow) {
if(startColumn>endColumn) {
int temp = startColumn;
startColumn = endColumn;
endColumn = temp;
}
}
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|JAVA}}
King Olie of Harington <syntaxhighlight lang="java" line="1">
//This is a better presented and commented version of the code above from charlotte i did work on this myself but realsied their method was better so i used hers and added comments. While calling me a idiot.
if(startRow > endRow) {
int temp = startRow; //flip it so the start row is smaller
startRow = endRow;
endRow = temp;
temp = startColumn; // fliping collum so the area slected is the same
startColumn = endColumn;
endColumn = temp;
}
if(startRow == endRow) {
// if the rows equal and start colum is bigger then end coloum
// then you must flip the coloums to get the right area selected
if(startColumn > endColumn) {
int temp = startColumn;
startColumn = endColumn;
endColumn = temp;
}
}
</syntaxhighlight>
{{CPTAnswerTabEnd}}
{{CPTAnswerTab|Python}}
Bill Robinson <syntaxhighlight lang="python" line="1">
# addition of first 4 lines below to choice 2 in Main():
if StartRow > EndRow:
StartRow, EndRow = EndRow, StartRow
if StartColumn > EndColumn:
StartColumn, EndColumn = EndColumn, StartColumn
print(ThisSimulation.GetAreaDetails(StartRow, StartColumn, EndRow, EndColumn))
</syntaxhighlight>
{{CPTAnswerTabEnd}}
67agx4zmzd0p14xuqx6kvfed26fa0sp
Essays in Early Modern Literary Studies, 1995-2000/Wrestling with God: Introduction
0
481447
4639839
4618694
2026-06-10T23:29:23Z
LodestarChariot2
3138880
Added missing content
4639839
wikitext
text/x-wiki
''This section was written by Mary Ellen Henley''.
<!--Paragraph 1-->
For as long as human beings have believed in a single deity they have attempted to explain, describe, justify and rationalize, for themselves and for others, why they believe as they do and how the achieving and maintaining of such a creed can often involve fierce inner struggle. Thus, in a sense, their creed gives birth to a kind of literature, whether oral or written, which, in turn, adds to or subtracts from the number of believers in any given historical period—theology begetting literature, as it were, and the subsequent literature siring further theological discussion.
<!--Paragraph 2-->
This phenomenon of literature begotten by the spirit of the times (modern critical theories notwithstanding) is more evident in some historical periods than in others, and in none so much as in the English Renaissance. Many writers of the age chose subjects with a theological bent—whether their genre of choice was tract, sermon, sonnet, epic poem, Biblical exegesis, religious polemic, proselytizing pamphlet, or any other literary form—perhaps because the time itself was so fraught with religious and political upheaval. This, in turn, produced in their works an aura of struggle or of self-inflicted soul-wrenching needful for final conciliation with God. Without fretting over autobiographical details, such a small poem, for example, as Donne's "Batter my heart" is full of this sense of violence; witness the poem's startling ending which equates freedom with being held in or reduced to slavery and chastity with a rape or physical violation by God. And the so-called mild and gentle George Herbert, who made many tortuous wrestlings seem mellifluous, sees the act of prayer itself as an "Engine against th'Almighty," a siege-weapon with which to coerce God. Writers of the seventeenth century harvested the fruits of the religious revolution and the bitter religious conflicts of the sixteenth century. It is, in fact, difficult to consider much of the literature of the time apart from its religious implications.
<!--Paragraph 3-->
This was a theological age that believed both religion and literature were of enormous importance. Human events were delineated against a background of divine providence, daily grace, eternal salvation, and inevitable mortality, with sin and its consequences universally assumed. Sacred echoes were used to empower the secular, the passionate, or the political. With persecution—even execution—perhaps waiting only for the accession of the next monarch, such obsessive interest in things spiritual is easily understood. Devotional writing obviously emerges from religious feeling and from the judgements made under the influence of faith and moral action. To know anything of that world, or of the literature that it fostered, we need to recall the Anglican temper, with its distinctive ethos and its familiar threefold appeal to Scripture, to tradition, and to reason.
<!--Paragraph 4-->
While the present collection of essays honouring Paul Grant Stanwood does not purport to follow any theory of his as a thesis, they do present some considerations of various writers from his favourite period of English literature. Most reflect the conflict of the volume's title, though one or two deal only with literary themes, and others demonstrate conflict of a secular rather than a spiritual nature. The two concluding essays delineate some of the influence of this period discernible in writers of the Romantic and the Victorian eras.
<!--Paragraph 5-->
The work begins with a dedicatory sonnet by X. J. Kennedy, an early colleague, who sees in a simple gestureof the young Stanwood traits of the scholar and teacher he was to become. It is a touching tribute from a friend of long standing.
<!--Paragraph 6-->
The first essay in the volume is by Louis Martz who, unafraid as always, leaps into the volume's topic with "the worm of controversy," using illustrations in the works of Donne and Herbert. Here we have a lucid discussion of the literature and the political / theological situation with particular emphasis on two of its leading writers. Martz points out the personal controversy within the Herbert family where George is "caught in a cross-fire from his relatives." He notes the slowly rising tide of anti-Calvinism, particularly as personified in the work of Donne, who did not shrink from addressing confirmed Calvinists with his idea of the clergy's need to be free of Calvinist domination.
<!--Paragraph 7-->
John Shawcross defines, in a specific way, the "wrestling" of the title in terms of the virtue and discipline of engaging in such activity with God. The opposition between godward thought and action and one's own ambitions for and understanding of oneself constitute the "wrestling." The "virtue" of the essay's title consists of moral excellence, meritorious action, manly courage and strength, while the "discipline," to Shawcross, consists of training to achieve moral behaviour. To illustrate his definitions he compares several poems by Lord Herbert of Cherbury and Henry Vaughan, concluding that Vaughan's work is an obvious example of simple devotional poetry, while Lord Herbert of Cherbury's poems exemplify meditative poetry beneath what Shawcross sees as the "dissimulation" which Cherbury adopted to conceal his inner struggle.
<!--Paragraph 8-->
The third essay deals with expressions of devotion ''par excellence'' for its subject is ''The Book of Common Prayer'', which John Booty calls the "core" of Elizabethan spirituality. There is no element of struggle in this work where troublesome doctrinal issues fade and become indistinct. Booty sees it as the fundamental expression of and formative agent in the religion not only of Elizabeth's day but into the seventeenth century and beyond, in the lives of those who endorsed the work and made use of it in the years that followed its first appearance. If disorder can be read as a sign of "wrestling," then perhaps this work can assist in bringing order to the effects of human sin and pride. Booty makes particular reference to the work of Richard Hooker in defending and interpreting the ideas contained in ''The Book of Common Prayer'', concluding that Christ's death illuminates the human condition of disorder and brings about our deliverance from it.
<!--Paragraph 9-->
A layman struggling with theological problems is the subject of Graham Parry's essay. Although relatively unknown today, William Austin's work, according to Parry, deserves a place of honour in the devotional writings of seventeenth-century England. Austin wrote devotions for the liturgical year including its fasts as well as its feasts, basing his works on biblical texts. Since he took Lancelot Andrewes as his model, the works often sound like sermons. Austin was well known to Donne, Thomas Campion, Michael Drayton, Henry Peacham, and Ben Jonson. His works exhibit the private devotional customs of a pious gentleman of the time, inculcating love of family, friends, the arts, and God. Austin's devotions demonstrate that the devout layman can sound almost like a learned minister of long professional experience.
<!--Paragraph 10-->
A new use for the English elegy engages Claude Summers in his study of two examples of this literary form from the period: an effort to make it serve as a vehicle to explore large philosophical and religious issues. Two elegies are studied, one by Donne and the other by W. S., supposed by some to be William Shakespeare. Summers chooses to ignore the problem of authorial identity and concentrates on the poems themselves. He judges Donne's purpose as trying to discover some transcendental meaning for death; here is "wrestling" with God on a very specific topic indeed. Both poets contrast earthly and heavenly perspectives; but Donne seems intent on transforming the elegy into a medium for expressing religious and philosophical speculation.
<!--Paragraph 11-->
Another study in contrast is found in Ted-Larry Pebworth's essay comparing two sets of Lamentations, one by Donne and the other by Christopher Fetherstone. Pebworth makes a good case for Fetherstone's influence on Donne, although Fetherstone demonstrates an attraction for Calvin's teachings (which Donne eschews). Fetherstone actually disclaimed authorship of the work and declared that they were written by a friend.
<!--Paragraph 12-->
William Blissett's essay moves away from religious combat to the struggles of two young men, a year apart in age, intent, in their salad days, on achieving status and recognition in a court whose corruptions were not unknown to them, as witness Donne's ''Satyre IV'' and Jonson's ''Cynthia's Revels, or the Fountain of Self-Love''. These are the chief works Blissett presents, for in them he finds evidence of each author's concern with the decline of morals in the court. Blissett sees Jonson portraying the courtiers (in his allegorical comedy) as full of self-love and punished sufficiently by being unmasked, and Donne as drawing attention to court degeneracy in his satirical poems.
<!--Paragraph 13-->
Another of Donne's satiric poems is discussed by Wyman Herendeen in his essay on ''The Progresse of the Soule''. While he does not deny its satiric and mock epic characteristics, he prefers to make a case for this work as a causeway leading to the ''La Corona'' poems which, in turn, lead to the ''Holy Sonnets''. He notes firm textual links and thematic parallels which give coherence to the satire as preparation for the two subsequent groups of poems. He envisions the focus of the first work as the journey of the disenfranchised soul, that of the second as salvation, while the third provides a kind of overview of mankind's progress through time, including struggles between spirit and body, faith and despair, in terms more ambiguous and dramatic than the views provided by the first two works. All three, he suggests, are examples of Donne's self-division between the extremes of the sacred and the profane.
<!--Paragraph 14-->
John Donne's ''Biathanatos'' is the subject of R. G. Siemens' essay, a work he sees as doubly conflicted: there is, first, the question of suicide, and, second, the identity of the speaker. Siemens maintains that to see ''Biathanatos'' as a suicide note is to over-state the biographical context's importance. Although the decision about suicide indicates a rather special episode of "wrestling," Siemens contends that there is also a wrestling on the part of the critic as to what the author's purpose might be in writing such a piece. Whether autobiographical or not—and Siemens remains not uncommitted—he judges the work as a rewarding one for the study of Donne's personal situation.
<!--Paragraph 15-->
The entire series of ''Holy Sonnets'' is the concern of Diana Benet who hears in these poems the unique of Donne himself, ringing with wit, energy, and drama rather than exuding feeble piety. Eschewing the traditional determination of critics to avoid the biographical angle in the study of poetry in general and of Donne's work in particular, she makes a strong case for Donne's use of a biographical persona which she terms the "Pauline striver."
<!--Paragraph 16-->
Richmond Bridge chooses a specific one of the ''Holy Sonnets'' for his study of Donne—the poem that has been called the Doomsday sonnet. He relates the ideas contained in the poem to similar ones expressed by Donne in his ''Sermons'' and ''Devotions'', and thus sees this sonnet as somewhat autobiographical, although he does note a difference in volume between the octave voice, which he finds public and loud, and the sestet voice, which he deems softer and remarkably personal. Although this poem does not delineate much individual inner struggle, there is considerable upheaval evident in the contrast between its dread-inspiring vivid details of the Day of Judgement and the poem's gentler closing sestet seeking the grace of repentance.
<!--Paragraph 17-->
Another essay dealing with the whole range of ''Holy Sonnets'' is Bryan Gooch's discussion of the manner in which Benjamin Britten composed musical settings for Donne's poems. Gooch sees the music and the poems as being not only about death but also about love and faith, sin and guilt, redemption and transfiguration, and he judges that Britten tried to accomplish in his music what Donne did in his poetry. He recognizes not only the poet wrestling with God, himself, and his world, but the composer wrestling with the problem of faith in a tortured world with its own death and misery. Britten, Gooch argues, seems to have resolved Donne's struggle by means of music.
<!--Paragraph 18-->
Leaving Donne behind, the essays move on to Milton. Ken Simpson writes of Milton and ''Paradise Regained''. He evinces Milton's part in a revolution in ritual theory that profoundly changed public forms of worship both inside and outside the Protestant church. He maintains that ''Paradise Regained'' illustrates the semiotic crisis that underlies many ritual experiments in the seventeenth century. His interpretation of Milton's work shows that what is essential for true worship is reading and writing with the Holy Spirit and that external worship is insufficient without inner worship and good works inspired by the Holy Spirit and revealed in free choice guided by Scripture and reason.
<!--Paragraph 19-->
The two concluding essays, by Lee M. Johnson and Kathleen Grant Jaeger, move beyond the actual century of Donne and Milton, into the romantic and Victorian eras. Johnson provides a new perspective on how poets wrestle, if not with God, then certainly with their great poetic precursors, as Coleridge and Wordsworth confront Milton and forge emblematic and symbolic forms of metaphysical significance. Jaeger, on the other hand, examines some opinions about Catholic persecution voiced in the Victorian period and spread abroad particularly in the novels of the time. Victorians dismissed the idea that Elizabethan Catholics had been persecuted in spite of harsh laws which were enacted whose enforcement became more rigorous as events subsequent to the excommunication of Elizabeth unfolded. Before she moves into the fiction of the time (Scott, Thackeray, Kingsley, ''et al.''), she interestingly compares the non-fiction works of John Lingard, who sought to undermine popular prejudices, and James Froude, who strove to reinforce them.
<!--Paragraph 20-->
These essays are presented in admiration and respect to Paul Grant Stanwood on his retirement after a long and influential career as a teacher of the literature of the sixteenth and seventeenth centuries. The theological aspect of literature has engrossed Stanwood throughout his career, not only in a professional way but in his personal devotional life as well. In his study of devotional writings, of whatever period, he has sought meditative empathy rather than innovation for its own sake, concentrating particularly upon the devotional writers of the early Stuart reigns with what prescriptions and proscriptions these authors deemed necessary for a moral existence. So we find him editing the devotional works of John Cosin as well as Jeremy Taylor's precepts for holy living and dying, Donne's use of theological language, some of Hooker's interpretations of ecclesiastical law, up to his latest article on the correspondence of Isaac Basire, an English divine who served under Cosin.
<!--Paragraph 21-->
In focusing on theological writers and writings, Stanwood is certainly in tune with the way the seventeenth century viewed itself. Theology was the queen of the sciences, the focus of the university intellectual life. Other struggles, however, were in place as well, and so were new beginnings. This was the time when attitudes toward politics (Hobbes' argument for absolute monarchy and strict materialism), religion (the Cambridge Platonists and their rebellion against the materialism of Hobbes), science (the origin of modern scientific method in Bacon's systematic observation and experiment), religion and science combined (Browne's erudite confessions of a faith at once religious and scientific), and psychology (Burton's work on the symptoms, causes, and cures for melancholy), were just beginning to blossom; a time, too, when the strenuous political debates erupted eventually into the Civil War. How fortunate, then, that it was also a time of the remarkable flowering of an inner life of meditation, lyric poetry, and devotional writing of all kinds, and that this aspect of the time eventually came to engross a twentieth-century scholar such as Paul Stanwood.
<!--Paragraph 22-->
It is eminently appropriate, also, that this ''festschrift'' should premiere in the ''EMLS'' journal, for Stanwood has been closely involved with this scholarly electronic periodical almost from its inception. He was the strongest and most active supporter of ''EMLS'' in its infancy and through its first difficult stages, demonstrating in that support the qualities which have earned him such a strong and positive reputation in his department and in his field.
<!--Paragraph 23-->
A number of years ago an occasion arose when some of Stanwood's former students proffered critiques on the quality of his teaching. They spoke of the breadth of his scholarship and his profound knowledge of the period, the inspirational value of his genuine love of the seventeenth century and all its works, his commitment to teaching reflected in his patience and availability for discussion. Little fanfare has surrounded who this man is and what he does, but his sharing with countless undergraduate and graduate students his passion for the prose and poetry of the English Renaissance in his own inimitable manner has led many to the same conclusion: Professor Stanwood ''is'' what he teaches, exhibiting deep sympathy for the issues that define the religious temper of the early seventeenth century.
== Paul Stanwood's Bread ==
''Ann Arbor, 1956''
X. J. Kennedy<ref>This sonnet is inspired by memory of a time when I first knew Paul when we were both graduate students and teaching fellows at the University of Michigan. It is quite literally true. One day Paul sounded off about the low quality of the bread to be had in local shops; moreover, he then did something about it! But it seems to me that that small protest was characteristic of him, and in a curious way, indicative of the work he was later to do as a scholar and teacher.</ref>
<poem>
"In all this town you can't find honest bread!"
Paul Stanwood thundered. And, to cure that lack,
Bought flour and yeast, stoked oven, rolled up sleeves,
Briefly set down his pen to wield instead
A mixing spoon, his studies on the back
Burner. Soon prodigious loaves, ingrained
With ripe wheat, fraught with sweetness, stood like sheaves
In golden rows. Friends feasted and remained
His friends for life. Such is Paul Stanwood's way
In scholarship, in teaching: an intense
Resistance to a culture's disarray,
Impatient with the spurious or shoddy,
Devoted to a quest for excellence
And nourishment for spirit, mind, and body.
</poem>
{{reflist}}
{{BookCat}}
afqj7auus3dc22flia33yl2o0av8ezl
FlightGear Flight Simulator/Getting Started
0
483314
4639810
4639203
2026-06-10T16:49:20Z
Fcbs3
3546790
/* Realism */
4639810
wikitext
text/x-wiki
This page will introduce the process of getting started with FlightGear.
== Running FlightGear ==
=== Starting FlightGear ===
The easiest way to start FlightGear is to use the desktop icon. This starts the graphical interface FlightGear Qt launcher where you can choose aircraft, start position etc. Remember the Qt 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 Command Line Parameters which must be used to change many options, like the aircraft you want. The most important:
fgfs --launcher # opens the FlightGear Qt launcher
fgfs --show-aircraft # displays a list of installed aircraft
fgfs --aircraft=c172p # start FG with the aircraft "c172p" (from the list)
The Qt 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 (as of August 2020).
=== 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'' > ''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 } ''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 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'' > ''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'' > ''Equipment'' > ''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 is 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 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 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 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}}
gl76xkuhapbz8dpecsxsvgv43721mql
4639813
4639810
2026-06-10T17:14:13Z
Fcbs3
3546790
/* Starting FlightGear */
4639813
wikitext
text/x-wiki
This page will introduce the process of getting started with FlightGear.
== Running FlightGear ==
=== Starting FlightGear ===
The easiest way to start FlightGear is to use the desktop icon. This starts the graphical interface FlightGear Qt launcher where you can choose aircraft, start position etc. Remember the Qt 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 Command Line Parameters which must be used to change many options, like the aircraft you want. The most important:
fgfs --launcher # opens the FlightGear Qt launcher
fgfs --show-aircraft # displays a list of installed aircraft
fgfs --aircraft=c172p # start FG with the aircraft "c172p" (from the list)
The Qt 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'' > ''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 } ''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 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'' > ''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'' > ''Equipment'' > ''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 is 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 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 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 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}}
kasjmhb1pczqczag2v3535hbv63l76c
Wikibooks:Reading room/Administrative Assistance/Archives/2026/May
4
483382
4639882
4639717
2026-06-11T08:10:12Z
ArchiverBot
1227662
Bot: Archiving 1 thread from [[Wikibooks:Reading room/Administrative Assistance]]
4639882
wikitext
text/x-wiki
{{talk archive}}
== Kevinsteinfeldt reported by MathXplore ==
* {{userlinks|Kevinsteinfeldt}}
Cross-wiki issues: Vandalism-only account <!-- USERREPORTED:/Kevinsteinfeldt/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 05:15, 28 April 2026 (UTC)
: Globally locked by Count Count. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:57, 3 May 2026 (UTC)
== Your username will be adjusted to "Mutesstud" due to technical restrictions reported by MathXplore ==
* {{userlinks|Your username will be adjusted to "Mutesstud" due to technical restrictions}}
Vandalism <!-- USERREPORTED:/Your username will be adjusted to "Mutesstud" due to technical restrictions/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 07:02, 28 April 2026 (UTC)
: Globally locked by M7. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:58, 3 May 2026 (UTC)
== Degroot1 reported by MathXplore ==
* {{userlinks|Degroot1}}
Spam <!-- USERREPORTED:/Degroot1/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:47, 28 April 2026 (UTC)
: Page was already deleted, but the account is otherwise {{stale}}. Please re-report if they continue spamming. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:59, 3 May 2026 (UTC)
== Jalwagamesonline reported by MathXplore ==
* {{userlinks|Jalwagamesonline}}
Spam <!-- USERREPORTED:/Jalwagamesonline/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 22:30, 28 April 2026 (UTC)
: Page was already deleted, but the account is otherwise {{stale}}. Please re-report if they continue spamming. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:00, 3 May 2026 (UTC)
== ~2026-26947-55 reported by MathXplore ==
* {{userlinks|~2026-26947-55}}
Vandalism <!-- USERREPORTED:/~2026-26947-55/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:24, 3 May 2026 (UTC)
: {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:00, 3 May 2026 (UTC)
== Glinemovers reported by MathXplore ==
* {{userlinks|Glinemovers}}
Spam <!-- USERREPORTED:/Glinemovers/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:08, 6 May 2026 (UTC)
:{{done}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:37, 6 May 2026 (UTC)
== Deftsoft51 reported by MathXplore ==
* {{userlinks|Deftsoft51}}
Spam <!-- USERREPORTED:/Deftsoft51/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:09, 6 May 2026 (UTC)
:{{done}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:37, 6 May 2026 (UTC)
== Pizzazilla1 reported by MathXplore ==
* {{userlinks|Pizzazilla1}}
Spam <!-- USERREPORTED:/Pizzazilla1/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:20, 8 May 2026 (UTC)
:Done. //[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 00:31, 9 May 2026 (UTC)
== Omran Tokhi Nickname OT7 reported by MathXplore ==
* {{userlinks|Omran Tokhi Nickname OT7}}
Long-term abuse. Spam / spambot. [[Special:CentralAuth/OmranTokhi7]] <!-- USERREPORTED:/Omran Tokhi Nickname OT7/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 03:25, 10 May 2026 (UTC)
:{{done}}. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 04:29, 10 May 2026 (UTC)
== ~2026-28014-44 reported by MathXplore ==
* {{userlinks|~2026-28014-44}}
Vandalism <!-- USERREPORTED:/~2026-28014-44/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 01:02, 9 May 2026 (UTC)
: I blocked the underlying range. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:40, 10 May 2026 (UTC)
== Cs24jam2 reported by MathXplore ==
* {{userlinks|Cs24jam2}}
Vandalism <!-- USERREPORTED:/Cs24jam2/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 11:54, 11 May 2026 (UTC)
:{{done}} by @[[User:Codename Noreste|Codename Noreste]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:58, 11 May 2026 (UTC)
== Can't log in :( ==
Xania here. I am logged in on Wikipedia but can't log in here even though it has always been automatic when switching between the two. Wikibooks seems to want me to authenticate myself via my authenticator app which I have not done before. Allows me to also use a recovery code which I do not have. How do I log in guys? [[Special:Contributions/~2026-28255-89|~2026-28255-89]] ([[User talk:~2026-28255-89|talk]]) 18:15, 10 May 2026 (UTC)
: I believe it might be the CheckUser permission requiring 2FA (on parity with interface administrators and oversighters) as that group has restrictions. You might need to temporarily request to the [[m:Stewards' noticeboard|stewards]] to remove CU access from your account to enable 2FA; however, since this project only has 2 CUs, [[User:MarcGarver|MarcGarver]]'s CU rights would be temporarily suspended. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:36, 10 May 2026 (UTC)
: Thanks, I've left a notice on the Steward's board.--[[Special:Contributions/~2026-28255-89|~2026-28255-89]] ([[User talk:~2026-28255-89|talk]]) 18:59, 10 May 2026 (UTC)
::This happened before when your CU rights were removed because you hadn't enrolled in 2FA. I presume you must have enrolled to get the CU rights back. Are you really sure you've never used any authenticator here? [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 11:49, 11 May 2026 (UTC)
:::See [https://en.wikibooks.org/wiki/User_talk:MarcGarver#Check_User previous discussion] from last year [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 11:51, 11 May 2026 (UTC)
::::Thanks. Good to know. I had completely forgotten that discussion. I will have to install some old authenticators and see which works.--[[Special:Contributions/~2026-28255-89|~2026-28255-89]] ([[User talk:~2026-28255-89|talk]]) 17:09, 16 May 2026 (UTC)
: Logged in finally. Seems I had recovery codes (totally forgotten about them) saved but no authenticator so each time I log in I'll need to use the codes.--[[User:Xania|Xania]] [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] [[User talk:Xania|<sup>talk</sup>]] 17:54, 16 May 2026 (UTC)
== Mnckhagaul reported by MathXplore ==
* {{userlinks|Mnckhagaul}}
Spam <!-- USERREPORTED:/Mnckhagaul/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 08:35, 16 May 2026 (UTC)
: {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:28, 17 May 2026 (UTC)
== No data in page linked to by Wikidata ==
The page, [https://en.wikibooks.org/wiki/OpenSSH/Third_Party_Utilities OpenSSH: Third Party Utilities] has no data and thus should not be linked to from [https://www.wikidata.org/wiki/Q139625509 Q139625509] How can the link be deleted? Thanks. [[User:Larsnooden|Larsnooden]] ([[User talk:Larsnooden|discuss]] • [[Special:Contributions/Larsnooden|contribs]]) 05:06, 4 May 2026 (UTC)
:Same for Q139611668 and Q139611580. All three links should be deleted / removed as the destination pages in the en.wikibook do not have any data but instead normal prose. - [[User:Larsnooden|Larsnooden]] ([[User talk:Larsnooden|discuss]] • [[Special:Contributions/Larsnooden|contribs]]) 05:15, 4 May 2026 (UTC)
:Same for Q139806271, Q139806269, Q139806266, Q139806265, Q139806264, Q139806263, Q139806262, Q139806261, Q139806260, Q139806258, Q139806256, Q139806255, Q139625509, Q139611668, and Q139611580. There seems to be some new kind of vandalism going on. Perhaps there is a better page to report it on instead of this one? • [[User:Larsnooden|Larsnooden]] ([[User talk:Larsnooden|discuss]] • [[Special:Contributions/Larsnooden|contribs]]) 17:37, 17 May 2026 (UTC)
:: @[[User:Larsnooden|Larsnooden]] Given that this situation is happening on Wikidata, there is nothing that English Wikibooks admins can do. Please report this matter to the Wikidata administrators. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:13, 17 May 2026 (UTC)
== Vrindavanmathuratourpackages reported by MathXplore ==
* {{userlinks|Vrindavanmathuratourpackages}}
Spam <!-- USERREPORTED:/Vrindavanmathuratourpackages/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:13, 18 May 2026 (UTC)
: {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:28, 18 May 2026 (UTC)
== Shawndavidsonosp2 reported by MathXplore ==
* {{userlinks|Shawndavidsonosp2}}
Spam, [[Special:AbuseLog/312343]], [[Special:AbuseLog/312344]] <!-- USERREPORTED:/Shawndavidsonosp2/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:10, 19 May 2026 (UTC)
:This is not a spam. Its a discussion topic on Healthcare Software Development [[User:Shawndavidsonosp2|Shawndavidsonosp2]] ([[User talk:Shawndavidsonosp2|discuss]] • [[Special:Contributions/Shawndavidsonosp2|contribs]]) 13:00, 19 May 2026 (UTC)
: {{ping|MarcGarver|Xania}} (CU request) User:Shawndavidsonosp2 & User:Lunasora33 made link additions for osplabs.com ([https://en.wikibooks.org/w/index.php?title=Information_Technology_and_Ethics/IT_and_Healthcare&diff=prev&oldid=4636437], [https://spamcheck.toolforge.org/by-domain?q=osplabs.com])
: {{ping|MarcGarver|SHB2000}} [[Special:CentralAuth/Rachvictor05]] & [[Special:CentralAuth/Emma_Joseph_Swift]] (Locked) also made link additions for osplabs.com ([https://spamcheck.toolforge.org/by-domain?q=osplabs.com]) [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 13:46, 19 May 2026 (UTC)
::Clearly promotional accounts, both blocked. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 16:00, 19 May 2026 (UTC)
:::and their spam domain added to the blacklist [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 16:02, 19 May 2026 (UTC)
== Banibrotechnologies reported by MathXplore ==
* {{userlinks|Banibrotechnologies}}
Spam <!-- USERREPORTED:/Banibrotechnologies/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:10, 19 May 2026 (UTC)
: {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:51, 19 May 2026 (UTC)
== Texasanne12 reported by MathXplore ==
* {{userlinks|Texasanne12}}
Link spam, [[Special:AbuseLog/312336]] <!-- USERREPORTED:/Texasanne12/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:18, 19 May 2026 (UTC)
:{{done}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:14, 20 May 2026 (UTC)
== Sharmasejal reported by MathXplore ==
* {{userlinks|Sharmasejal}}
Spam, [[Special:AbuseLog/312466]] <!-- USERREPORTED:/Sharmasejal/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 11:12, 22 May 2026 (UTC)
:{{done}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:28, 22 May 2026 (UTC)
== Abbeypartyrental reported by MathXplore ==
* {{userlinks|Abbeypartyrental}}
Spam <!-- USERREPORTED:/Abbeypartyrental/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 04:26, 24 May 2026 (UTC)
:{{done}} —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 13:33, 26 May 2026 (UTC)
== Varundraravinds reported by MathXplore ==
* {{userlinks|Varundraravinds}}
Spam <!-- USERREPORTED:/Varundraravinds/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:10, 26 May 2026 (UTC)
:{{done}} —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 13:33, 26 May 2026 (UTC)
== Prabhuabd reported by MathXplore ==
* {{userlinks|Prabhuabd}}
Spam <!-- USERREPORTED:/Prabhuabd/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:12, 26 May 2026 (UTC)
:{{done}} —[[User:Atcovi|Atcovi]] [[User talk:Atcovi|(Talk]] - [[Special:Contributions/Atcovi|Contribs)]] 13:33, 26 May 2026 (UTC)
== [[User:Me Lendroz]] (CU request) ==
{{ping|MarcGarver|Xania}} (this is related to previous CU, [[Wikibooks:Reading_room/Administrative_Assistance/Archives/2024/February#Alert_about_possible_evasion_of_previous_1-week_block_at_English_Wikibooks_(CU_needed?)]], [[Wikibooks:Reading_room/Administrative_Assistance/Archives/2024/August#Another_user_editing_User:Jay_Bolero's_user_page]]) <br>
I found [[Special:Contributions/CarlessParking]] editing the user page of [[User:Me Lendroz]]. What do our CUs think about this? [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 14:00, 19 May 2026 (UTC)
:It's an obvious sock of Jay Bolero not least because the account has posted "my name is Karl Basallote" everywhere and "Basallote" matches the previous sock. I've blocked CarlessParking as this is an abusive use of multiple accounts. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 15:57, 19 May 2026 (UTC)
:: @[[User:MarcGarver|MarcGarver]] In that case, should their edits be reverted and/or marked as unreviewed? They were now blocked indefinitely for sockpuppetry. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:38, 27 May 2026 (UTC)
aqm4gndnxotmx1br555yvuxxzgh07yp
Vehicle Identification Numbers (VIN codes)/Volkswagen/VIN Codes
0
483652
4639814
4639699
2026-06-10T17:32:04Z
JustTheFacts33
3434282
/* Position 5, Engine Type: */
4639814
wikitext
text/x-wiki
{{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}}
===Positions 1–3, World Manufacturer Identifier:===
* WVW - VW passenger car
* WVG - VW SUV & ID Buzz
* WV1 - VW Comm. Vehicles - cargo van, pickup truck (truck)
* WV2 - VW Comm. Vehicles - passenger van, camper van, or minibus (M.P.V.)
* WV3 - VW Comm. Vehicles - chassis cab or cutaway (incomplete vehicle)
* WV4 - VW Comm. Vehicles made by Ford (T7 Transporter, 2nd gen. Amarok) - cargo van, pickup truck (truck)
* WV5 - VW Comm. Vehicles made by Ford (T7 Caravelle) - passenger van, camper van, or minibus (M.P.V.)
* 1VW - VW passenger car made in USA
* 1V1 - VW truck made in USA
* 1V2 - VW SUV made in USA
* 2V8 - VW M.P.V. (Routan) 2009 with side airbags made by Chrysler Canada
* 2V4 - VW M.P.V. (Routan) 2010-2011 made by Chrysler Canada
* 2C4 - Chrysler Group Canada (all brands produced) M.P.V. - used for 2012-2014 Routan
* 3VW - VW passenger car made in Mexico
* 3VV - VW SUV made in Mexico
* 8AW - VW passenger car made in Argentina
* 9BW - VW passenger car made in Brazil
M.P.V.=Multipurpose Passenger Vehicle
===Position 5, Engine Type: ===
{| class="wikitable"
|+Position 5
|-
! VIN !! Size !! Type !! Fuel !! Valvetrain !! Engine Family/Notes/Applications
|-
| A || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat ('98-'00)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Eos ('07-'08)
|-
| A || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Eos ('09-'10)
|-
| B || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. <br> VW Eos ('07-'08)
|-
| B || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('07-'08)
|-
| C || 2.0L || I4 || Gas || SOHC,<br /> 8 valve || MPI. VW EA827 engine. VW Passat ('95-'96)
|-
| C || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 150 hp. VW Passat (B5) ('01 - 1st 1/2)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 220hp.<br> VW Touareg V6 ('04) (when C follows B or Z in the 4th pos. of VIN)
|-
| C || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 (Early prod. '04) (when C follows C in the 4th pos. of VIN)
|-
| C || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 250 hp.<br> VW R32 ('08)
|-
| D || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93), GTI VR6 (Gen 3), Jetta GLX VR6 (Gen 3) ('95-'99)
|-
| D || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('98-'00)
|-
| D || 1.8L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 20 valve || MPI. Audi EA827/EA113 engine. 170 hp. VW Passat (B5.5) (Mid '01-'05)
|-
| E || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine.<br> VW Corrado ('92-'93), Passat GLX VR6 ('93, '95-'97), GTI VR6 (Gen 3) ('95), Jetta GLX VR6 (Gen 3) ('95)
|-
| E || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA188 engine. VW Passat TDI ('04-'05)
|-
| E || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('07-'09)
|-
| F || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Passat GLX VR6 ('93-'94), Corrado ('93-'94 & '95 in Canada)
|-
| F || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc. VW Phaeton ('04-'06)
|-
| F || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Touareg ('10)
|-
| G || 1.9L || I4 Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 8 valve || Direct injection. VW EA827 engine. VW Passat TDI ('96-'97)
|-
| G || 3.2L || 15° VR6 || Gas || DOHC,<br /> 24 valve || MPI. VW EA390 engine. 240 hp.<br> VW R32 ('04), Touareg ('05-'06)
|-
| H || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('00-'04, '05: Early prod.)
|-
| H || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 414 hp. VW Phaeton ('04-'05)
|-
| H || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when H follows G or H in the 4th pos. of VIN)
|-
| J || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat (Mid '08)
|-
| K || 4.0L || 72° W8 || Gas || DOHC,<br /> 32 valve || MPI. VW W8 engine. VW Passat W8 ('02-'04)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA113 engine. FSI. Timing belt. VW Passat ('06-Mid '08)
|-
| K || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW Passat ('09-'10)
|-
| K || 6.0L || 72° W12 || Gas || DOHC,<br /> 48 valve || MPI. VW W12 engine. 444 hp. VW Phaeton ('06)
|-
| K || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('10)
|-
| L || 2.0L || I4 Turbo [[w:Intercooler|IC]] || Gas || DOHC,<br /> 16 valve || Direct injection. Audi EA888 engine. TSI. Timing chain. VW CC ('09-'10)
|-
| M || 4.2L || 90° V8 || Gas || DOHC,<br /> 40 valve || MPI. Audi EA824 engine. 4172cc.<br> VW Touareg V8 ('04-'06)
|-
| M || 3.0L || 90° V6 Turbo [[w:Intercooler|IC]] || Diesel || DOHC,<br /> 24 valve || Direct injection. Audi EA897 engine. VW Touareg ('09)
|-
| R || 4.2L || 90° V8 || Gas || DOHC,<br /> 32 valve || Direct injection. Audi EA824 engine. 4163cc.<br> VW Touareg V8 ('09)
|-
| S || 2.8L || 15° VR6 || Gas || SOHC,<br /> 12 valve || MPI. VW VR6 engine. VW Jetta GLX VR6 ('94)
|-
| T || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('06-'08)
|-
| U || 2.8L || 90° V6 || Gas || DOHC,<br /> 30 valve || MPI. Audi EA835 engine - Gen 2. Iron Block.<br> VW Passat ('05)
|-
| U || 3.6L || 10.6° VR6 || Gas || DOHC,<br /> 24 valve || Direct injection. VW EA390 engine.<br> VW Passat ('06-'08), VW CC ('09-)
|-
| Z || 4.9L || 90° V10 Twin Turbo [[w:Intercooler|IC]] || Diesel || SOHC,<br /> 20 valve || Direct injection. VW V10 TDI engine. <br> VW Touareg V10 TDI ('04) (when Z follows P in the 4th pos. of VIN)
|}
===Position 6, Restraint Systems:===
*0 = Active (Manual) 3-point Seat Belts only
*1 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts and front knee bolsters
*2 = VW-RA (VW Restraint Automatic): Door-mounted front shoulder belts, Manual front lap belts, and front knee bolsters
*4 = VW-ELRA (VW Electromechanical Restraint Automatic): Motorized front shoulder belts, Manual front lap belts
*5 = Driver-side Airbag, Driver and Passenger Active (Manual) 3-point Seat Belts
*8 = Driver and Passenger Front Airbags
*6 = Active (Manual) belts plus Driver and Passenger Front Airbags & Front Side Airbags & Side Curtain Airbags
*9 = Active (Manual) belts plus Driver and Passenger Front Dual-stage Airbags & Front Side Airbags & Side Curtain Airbags
*3 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags
*0 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Phaeton)
*7 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front Side Airbags & Side Curtain Airbags (Touareg)
*8 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Jetta)
*9 = Active (Manual) belts plus Driver and Passenger Front Advanced Airbags & Front and Rear Side Airbags & Side Curtain Airbags (Except Jetta)
===Position 7-8, Model Line:===
1981-2009:
*30 = Fox ('87-'93)
*15 = Rabbit Convertible ('81-'84), Cabriolet ('85-'93)
*16 = Jetta ('81-'88)
*17 = Rabbit ('81-'84), Rabbit Truck ('81-'83), Golf (US built: '85-'89)
*1G = Golf (Mexican built: '89-'92), Jetta ('89-'92)
*1H = Golf/GTI ('93-'99 - Mark III), Jetta ('93-'99 - Mark III)
*1E = Cabrio ('95-'99)
*1V = Cabrio ('00-'02)
*1J = Golf/GTI ('99-'06 - Mark IV), R32 ('04), City Golf (Canada only: '07-'09), Jetta wagon ('01-'05 & '06 in Canada - Mark IV)
*9M = Jetta sedan ('99-'05 - Mark IV), City Jetta (Canada only: '07-'09)
*1K = Rabbit/GTI ('06-'09 - Mark V), R32 ('08), Jetta sedan ('05-'09 - Mark V), Jetta Sportwagen ('09 - Mark V)
*32 = Dasher hatchback ('81), Quantum hatchback ('82-'83)/sedan ('82-'88)
*33 = Dasher wagon ('81), Quantum wagon ('82-'88)
*31 = Passat ('90-'94)
*3A = Passat ('95-'97)
*3B = Passat ('98-'05)
*3C = Passat ('06-'09), CC ('09)
*3D = Phaeton ('04-'06)
*53 = Scirocco ('81-'88 & '89 in Canada)
*50 = Corrado ('90-'94 & '95 in Canada)
*1C = New Beetle coupe ('98-'09)
*1Y = New Beetle convertible ('03-'09)
*1F = Eos ('07-'09)
*25 - Vanagon ('81-'91)
*70 = Eurovan ('93-'03 & '92 in Canada), Eurovan-based Winnebago Rialta, Winnebago Vista, Itasca Sunstar Class C motorhomes
*5N = Tiguan ('09)
*7L = Touareg ('04-'09)
2010-:
*BE (Type 1J) = City Golf (Canada only: '10)
*AJ (Type 5K) = Golf/GTI ('10-'14 - Mark 6), Golf R ('12-'13)
*AU (Type AU) = Golf/GTI ('15-'21 - Mark 7), Golf R ('15-'19), Golf Sportwagen ('15-'19 - Mark 7), Golf Alltrack ('17-'19), e-Golf ('15-'19 & '20 in Canada)
*CD (Type CD) = Golf GTI/Golf R ('22-24 - Mark 8)
*CD (Type DA) = Golf GTI/Golf R ('25-present - Mark 8.5)
*AJ (Type 1K) = Jetta sedan ('10 - Mark V), Jetta Sportwagen ('10-'14 - Mark V)
*AJ (Type 16) = Jetta sedan ('11-'18 - Mark VI)
*BU = Jetta sedan ('19-present - Mark VII)
*AN (Type 3C) = Passat ('10)
*A3 (NMS) = Passat ('12-'22)
*AN (Type 3C) = CC ('10-'17)
*AN (Type 3H) = Arteon ('19-'23)
*AG (Type 1C) = New Beetle coupe ('10)
*AL (Type 1Y) = New Beetle convertible ('10)
*AT (Type 5C) = Beetle ('12-'19)
*AH (Type 1F) = Eos ('10-'16)
*EB = ID Buzz ('25)
*B2 (Type CL) = Taos ('22-)
*AX (Type 5N) = Tiguan ('10-'17), Tiguan Limited ('17-'18)
*AX (Type BW) = Tiguan ('18-'24)
*RM = Tiguan ('25-)
*A9 (Type 7L) = Touareg ('10)
*BP (Type 7P) = Touareg ('11-'17)
*CA = Atlas ('18-'26), Atlas Cross Sport ('20-'26)
*E2 = ID.4 (German built: '21-'22)
*E8 = ID.4 (US built: '23-'26)
===Position 9, Check Digit===
[[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]]
===Position 10, Model Year: ===
[[Vehicle Identification Numbers (VIN codes)/Model year|Model year]]
===Position 11, Production Plant:===
* B: Brussels, Belgium
* C: Chattanooga, TN, USA
* D: Bratislava, Slovakia
* E: Emden, Germany
* G: Graz, Austria (Steyr-Daimler-Puch plant: Vanagon Syncro 4wd [US: '86-'87, '89-'91, Canada: '86-'91])
* H: Hanover, Germany
* K: Osnabrueck, Germany (Karmann plant: Scirocco ['81-'88 & '89 in Canada], Corrado ['90-'94 & '95 in Canada], Rabbit Convertible ['81-'84], Cabriolet ['85-'93], Cabrio ['95-'96])
* K: Osnabrueck, Germany (ex-Karmann VW Osnabrueck GmbH plant: Tiguan ['17], Tiguan Limited ['17-'18])
* M: Puebla, Mexico
* P: Zwickau, Germany [For WMI: WVW or WVG]
* P: Sao Bernardo do Campo, Sao Paulo state, Brazil (Anchieta plant) [For WMI: 9BW]
* R: Windsor Assembly - Windsor, ON, Canada (Chrysler plant)
* V: Westmoreland Assembly - East Huntingdon, Westmoreland County, PA, USA [For WMI: 1VW or 1V1]
* V: Portugal [For WMI: WVW]
* W: Wolfsburg, Germany
* 4: Sao Jose dos Pinhais, Parana state, Brazil (Curitiba plant)
* 8: Dresden, Germany
'''Positions 12–17, Serial Number'''
{{BookCat}}
pgyqgtx9out2ttr788a1b1ffjj5n94x
Cookbook:Kachumbari
102
483723
4639779
4638750
2026-06-10T14:12:21Z
Bembety
3456470
Added categories
4639779
wikitext
text/x-wiki
__NOTOC__
{{recipesummary|category=Salad recipes|servings=4|time=15 minutes|difficulty=2}}{{Incomplete recipe|reason=incorrect categories, sections need to be condensed}}
{{recipe}} [[Cookbook:Cuisine of Uganda|Uganda]] |[[Cookbook:Cuisine of India|India]]| [[Cookbook:Cuisine of Tanzania|Tanzania]] | [[Cookbook:Meat Recipes|Meat]] | [[Cookbook:Rice Recipes|Rice]]
= Kachumbari =
'''Kachumbari''' is a fresh East African salad made primarily from tomatoes and [[Cookbook:onions|onions]]. It is widely eaten in Kenya, Tanzania, Uganda, Rwanda, and other parts of the African Great Lakes region. Kachumbari is commonly served as a side dish with pilau, biryani, nyama choma (grilled meat), [[Cookbook:fish|fish]], and other traditional meals. The name is believed to be derived from the Indian salad known as ''kachumber'', reflecting historical cultural influences along the Swahili Coast.
== Ingredients ==
* 4 large ripe [[Cookbook:Tomatoes with Cheese Stuffing|tomatoes]], diced
* 1 large red onion, thinly sliced
* 1 [[Cookbook:cucumber|cucumber]], diced (optional)
* 1–2 fresh green chilies, finely chopped (optional)
* 2 tablespoons fresh [[Cookbook:coriander|coriander]] (cilantro), chopped
* Juice of 1 [[Cookbook:lemon|lemon]] or lime
* ½ tablespoons salt
* ¼ tablespoons black [[Cookbook:pepper|pepper]] (optional)
== Procedure ==
# Wash all [[Cookbook:vegetables|vegetables]] thoroughly.
# Dice the tomatoes into small pieces.
# Thinly slice the onion.
# If using cucumber, peel and dice it.
# Finely chop the chilies and coriander.
# Place all ingredients into a mixing bowl.
# Add the lemon or lime juice.
# Season with salt and black pepper.
# Toss gently until well combined.
# Allow the salad to rest for 5–10 minutes before serving.
# Serve fresh.
== Serving ==
Kachumbari is traditionally served with:
* Pilau
* [[Cookbook:Biryani]]
* Nyama choma (grilled meat)
* Grilled fish
* Ugali
* Chapati
== Variations ==
* Avocado kachumbari
* Cucumber kachumbari
* Mango kachumbari
* Kachumbari with bell peppers
* Spicy kachumbari with extra chilies
== Tips ==
* Use ripe but firm tomatoes for the best texture.
* Soaking sliced onions in cold water for a few minutes reduces their sharpness.
* Prepare kachumbari shortly before serving to keep it fresh and crisp.
* Fresh lemon or lime juice gives a brighter flavor than bottled juice.
* For extra richness, add diced avocado just before serving.
* Do not refrigerate for long periods, as the tomatoes may become watery.
== Notes ==
* Kachumbari is similar to pico de gallo and Indian kachumber, although regional ingredients and preparation methods vary.
* The salad is usually served immediately after preparation to maintain freshness.
== See also ==
* Pilau
* [[Cookbook:Biryani]]
* [[Cookbook:Ugali]]
* [[Cookbook:Chapati]]
[[Category:Cookbook]]
[[Category:Indian recipes]]
[[Category:Recipes using onion]]
[[Category:Inexpensive recipes]]
[[Category:Vegetarian recipes]]
[[Category:Main course recipes]]
[[Category:Recipes using coriander]]
[[Category:Recipes using pepper]]
[[Category:Recipes using tomato]]
[[Category:Recipes using hot sauce]]
[[Category:Recipes using cucumber]]
[[Category:Recipes using lemon]]
[[Category:Recipes using fish]]
4mt2rtr3pao6lpanpxshtedw9g0uhfd
4639780
4639779
2026-06-10T14:25:07Z
Bembety
3456470
Rectified
4639780
wikitext
text/x-wiki
__NOTOC__
{{recipesummary|category=Salad recipes|servings=4|time=15 minutes|difficulty=2}}{{Incomplete recipe|reason=incorrect categories, sections need to be condensed}}
{{recipe}} [[Cookbook:Cuisine of Uganda|Uganda]] |[[Cookbook:Cuisine of India|India]]| [[Cookbook:Cuisine of Tanzania|Tanzania]] | [[Cookbook:Meat Recipes|Meat]] | [[Cookbook:Rice Recipes|Rice]]
= Kachumbari =
'''Kachumbari''' is a fresh East African [[Cookbook:salad|salad]] made from tomatoes, [[Cookbook:onions|onions]], and chili peppers, often served as a side dish with grilled [[Cookbook:meat|meats]], [[Cookbook:rice|rice]], or [[Cookbook:stews|stews]].
== Ingredients ==
* 4 large ripe [[Cookbook:Tomatoes with Cheese Stuffing|tomatoes]], [[Cookbook:dice|diced]]
* 1 large red onion, thinly sliced
* 1 [[Cookbook:cucumber|cucumber]], diced (optional)
* 1–2 fresh green chilies, finely chopped (optional)
* 2 tablespoons fresh [[Cookbook:coriander|coriander]] (cilantro), chopped
* [[Cookbook:Juice|Juice]] of 1 [[Cookbook:lemon|lemon]] or lime
* ½ [[Cookbook:tablespoon|tablespoons]] [[Cookbook:salt|salt]]
* ¼ tablespoons black [[Cookbook:pepper|pepper]] (optional)
== Procedure ==
# Wash all [[Cookbook:vegetables|vegetables]] thoroughly.
# Dice the tomatoes into small pieces.
# Thinly slice the onion.
# If using cucumber, peel and dice it.
# Finely chop the chilies and coriander.
# Place all ingredients into a mixing bowl.
# Add the lemon or lime juice.
# Season with salt and black pepper.
# Toss gently until well combined.
# Allow the salad to rest for 5–10 minutes before serving.
# Serve fresh.
== Serving ==
Kachumbari is traditionally served with:
* Pilau
* [[Cookbook:Biryani]]
* Nyama choma (grilled meat)
* Grilled fish
* [[Cookbook:Ugali (Maize Porridge)|Ugali]]
* [[Cookbook:Chapati|Chapati]]
== Variations ==
* [[Cookbook:Avocado|Avocado]] kachumbari
* Cucumber kachumbari
* [[Cookbook:Mango|Mango]] kachumbari
* Kachumbari with bell peppers
* Spicy kachumbari with extra chilies
== Tips ==
* Use ripe but firm tomatoes for the best texture.
* Soaking sliced onions in cold water for a few minutes reduces their sharpness.
* Prepare kachumbari shortly before serving to keep it fresh and crisp.
* Fresh lemon or lime juice gives a brighter flavor than bottled juice.
* For extra richness, add diced avocado just before serving.
* Do not refrigerate for long periods, as the tomatoes may become watery.
== Notes ==
* Kachumbari is similar to pico de gallo and Indian kachumber, although regional ingredients and preparation methods vary.
* The salad is usually served immediately after preparation to maintain freshness.
== See also ==
* Pilau
* [[Cookbook:Biryani]]
* [[Cookbook:Ugali]]
* [[Cookbook:Chapati]]
[[Category:Cookbook]]
[[Category:Indian recipes]]
[[Category:Recipes using onion]]
[[Category:Inexpensive recipes]]
[[Category:Vegetarian recipes]]
[[Category:Main course recipes]]
[[Category:Recipes using coriander]]
[[Category:Recipes using pepper]]
[[Category:Recipes using tomato]]
[[Category:Recipes using hot sauce]]
[[Category:Recipes using cucumber]]
[[Category:Recipes using lemon]]
[[Category:Recipes using fish]]
b5n6pn6swkmf06d8o4egsg343zanyi3
4639783
4639780
2026-06-10T14:29:01Z
Bembety
3456470
Rectified
4639783
wikitext
text/x-wiki
__NOTOC__
{{recipesummary|category=Salad recipes|servings=4|time=15 minutes|difficulty=2}}{{Incomplete recipe|reason=incorrect categories, sections need to be condensed}}
{{recipe}} [[Cookbook:Cuisine of Uganda|Uganda]] |[[Cookbook:Cuisine of India|India]]| [[Cookbook:Cuisine of Tanzania|Tanzania]] | [[Cookbook:Meat Recipes|Meat]] | [[Cookbook:Rice Recipes|Rice]]
= Kachumbari =
'''Kachumbari''' is a fresh East African [[Cookbook:salad|salad]] made from tomatoes, [[Cookbook:onions|onions]], and chili peppers, often served as a side dish with grilled [[Cookbook:meat|meats]], [[Cookbook:rice|rice]], or [[Cookbook:stews|stews]].
== Ingredients ==
* 4 large ripe [[Cookbook:Tomatoes with Cheese Stuffing|tomatoes]], [[Cookbook:dice|diced]]
* 1 large red onion, thinly sliced
* 1 [[Cookbook:cucumber|cucumber]], diced (optional)
* 1–2 fresh green chilies, finely chopped (optional)
* 2 tablespoons fresh [[Cookbook:coriander|coriander]] (cilantro), chopped
* [[Cookbook:Juice|Juice]] of 1 [[Cookbook:lemon|lemon]] or lime
* ½ [[Cookbook:tablespoon|tablespoons]] [[Cookbook:salt|salt]]
* ¼ tablespoons black [[Cookbook:pepper|pepper]] (optional)
== Procedure ==
# Wash all [[Cookbook:vegetables|vegetables]] thoroughly.
# Dice the tomatoes into small pieces.
# Thinly slice the onion.
# If using cucumber, peel and dice it.
# Finely chop the chilies and coriander.
# Place all ingredients into a mixing bowl.
# Add the lemon or lime juice.
# Season with salt and black pepper.
# Toss gently until well combined.
# Allow the salad to rest for 5–10 minutes before serving.
# Serve fresh.
== Serving ==
Kachumbari is traditionally served with:
* Pilau
* [[Cookbook:Biryani]]
* Nyama choma (grilled meat)
* Grilled fish
* [[Cookbook:Ugali (Maize Porridge)|Ugali]]
* [[Cookbook:Chapati|Chapati]]
== Variations ==
* [[Cookbook:Avocado|Avocado]] kachumbari
* Cucumber kachumbari
* [[Cookbook:Mango|Mango]] kachumbari
* Kachumbari with bell peppers
* Spicy kachumbari with extra chilies
== Tips ==
* Use ripe but firm tomatoes for the best texture.
* Soaking sliced onions in cold water for a few minutes reduces their sharpness.
* Prepare kachumbari shortly before serving to keep it fresh and crisp.
* Fresh lemon or lime juice gives a brighter flavor than bottled juice.
* For extra richness, add diced avocado just before serving.
* Do not refrigerate for long periods, as the tomatoes may become watery.
== Notes ==
* Kachumbari is similar to pico de gallo and Indian kachumber, although regional ingredients and preparation methods vary.
* The salad is usually served immediately after preparation to maintain freshness.
== See also ==
* Pilau
* [[Cookbook:Biryani]]
* [[Cookbook:Ugali]]
* [[Cookbook:Chapati]]
[[Category:Cookbook]]
[[Category:Indian recipes]]
[[Category:Recipes using onion]]
[[Category:Inexpensive recipes]]
[[Category:Vegetarian recipes]]
[[Category:Main course recipes]]
[[Category:Recipes using coriander]]
[[Category:Recipes using pepper]]
[[Category:Recipes using tomato]]
[[Category:Recipes using hot sauce]]
[[Category:Recipes using cucumber]]
[[Category:Recipes using lemon]]
[[Category:Recipes using fish]]
[[Category:Recipes using avocado]]
[[Category:Recipes using meat]]
[[Category:Recipes using juice]]
[[Category:Recipes using mango]]
[[Category:Recipes using salt]]
[[Category:Recipes using rice]]
cvwqwuenslklxireuh98qcezhthhii0
Math for Non-Geeks/Sitemap
0
483829
4639851
4639363
2026-06-11T01:00:36Z
JackBot
396820
Formatting, [[Special:UncategorizedPages]]
4639851
wikitext
text/x-wiki
== [[Math for Non-Geeks/Real Analysis|Real Analysis]] ==
This page lists all chapters of the project “Math for Non-Geeks”. This page serves as an overview and the complete navigation and the tables of contents of the individual books are generated from it.
{| class="wikitable"
|+Legend
!Symbol
!Meaning
|-
|red link
|Link to a chapter that does not yet exist and has yet to be written.
|-
|blue link
|Chapter has already been created and contains content.
|-
|{{stage|0%}}
|Progress 0% – Chapter has little or no content. The chapter must be rewritten or supplemented and revised.
|-
|{{stage|25%}}
|Progress 25% – Chapter is currently under development, but still needs to be significantly expanded.
|-
|{{stage|50%}}
|Progress 50% – Essential content is available, but important content still needs to be added (there are often ToDo notes on the page that still need to be added).
|-
|{{stage|75%}}
|Progress 75% – Chapter is finished in terms of content, but still needs to be revised (correct spelling mistakes, change wording so that it is easier to understand or sounds better. Remove redundant expressions).
|-
|{{stage|100%}}
|Progress 100% – The chapter is complete and has been proofread at least once. But you can also proofread again. In other words: correct spelling mistakes and improve the wording. These chapters (like all others) can also be supplemented content-wise.
|}
=== Help ===
* [[Math for Non-Geeks/Translating chapters|Translating chapters]]
* [[Math for Non-Geeks/Guidelines for translation|Guidelines for translation]]
* [[Math for Non-Geeks/Sitemap|Sitemap]]
=== Introduction ===
* [[Math for Non-Geeks/What is analysis?|What is analysis?]] {{stage|50%}}
* [[Math for Non-Geeks/Why studying analysis?|Why studying analysis?]] {{stage|50%}}
* [[Math for Non-Geeks/Propositional logic|Propositional logic]] {{stage|50%}}
* [[Math for Non-Geeks/Mathematical induction|Mathematical induction]] {{stage|50%}}
* [[Math for Non-Geeks/Real numbers|Real numbers]] {{stage|50%}}
=== Complex numbers ===
* [[Math for Non-Geeks/Introduction and motivation|Introduction and motivation]] {{stage|50%}}
* [[Math for Non-Geeks/Definition of complex numbers|Definition of complex numbers]] {{stage|50%}}
* [[Math for Non-Geeks/Absolute value and conjugation|Absolute value and conjugation]] {{stage|50%}}
* [[Math for Non-Geeks/Polar representation|Polar representation]] {{stage|0%}}
* [[Math for Non-Geeks/Drawing complex-valued functions|Drawing complex-valued functions]] {{stage|0%}}
* [[Math for Non-Geeks/Exercises: Complex numbers|Exercises]] {{stage|50%}}
=== Suprema and infima ===
* [[Math for Non-Geeks/Supremum and infimum|Supremum and infimum]] {{stage|50%}}
* [[Math for Non-Geeks/The infinite case|The infinite case]] {{stage|50%}}
* [[Math for Non-Geeks/How to prove existence of a supremum or infimum|How to prove existence of a supremum or infimum]] {{stage|50%}}
* [[Math for Non-Geeks/Properties of supremum and infimum|Properties of supremum and infimum]] {{stage|50%}}
=== Sequences ===
* [[Math for Non-Geeks/Sequences|Sequences]] {{stage|50%}}
* [[Math for Non-Geeks/Explicit and recursive description|Explicit and recursive description]] {{stage|50%}}
* [[Math for Non-Geeks/Examples and properties of sequences|Examples and properties of sequences]] {{stage|50%}}
* [[Math for Non-Geeks/Exercises: Sequences|Exercises]] {{stage|50%}}
=== Convergence and divergence ===
* [[Math for Non-Geeks/Limit: Convergence and divergence|Limit: Convergence and divergence]] {{stage|50%}}
* [[Math for Non-Geeks/How to prove convergence and divergence|How to prove convergence and divergence]] {{stage|50%}}
* [[Math for Non-Geeks/Examples for limits|Examples for limits]] {{stage|50%}}
* [[Math for Non-Geeks/Unbounded sequences diverge|Unbounded sequences diverge]] {{stage|50%}}
* [[Math for Non-Geeks/Limit theorems|Limit theorems]] {{stage|50%}}
* [[Math for Non-Geeks/The squeeze theorem|The squeeze theorem]] {{stage|50%}}
* [[Math for Non-Geeks/Monotonicity criterion|Monotonicity criterion]] {{stage|50%}}
* [[Math for Non-Geeks/How to prove convergence for recursive sequences|How to prove convergence for recursive sequences]] {{stage|50%}}
* [[Math for Non-Geeks/Exercises: Convergence and divergence|Exercises]] {{stage|50%}}
=== Subsequences, Accumulation points and Cauchy sequences ===
* [[Math for Non-Geeks/Subsequences|Subsequences]] {{stage|50%}}
* [[Math for Non-Geeks/Accumulation points of sequences|Accumulation points of sequences]] {{stage|50%}}
* [[Math for Non-Geeks/Accumulation points of sets|Accumulation points of sets]] {{stage|50%}}
* [[Math for Non-Geeks/The Bolzano-Weierstrass theorem|The Bolzano-Weierstrass theorem]] {{stage|50%}}
* [[Math for Non-Geeks/Divergence to infinity|Divergence to infinity]] {{stage|50%}}
* [[Math for Non-Geeks/Divergence to infinity/Rules|Divergence to infinity: Rules]] {{stage|50%}}
* [[Math for Non-Geeks/Superior and inferior limit|Superior and inferior limit]] {{stage|50%}}
* [[Math for Non-Geeks/Cauchy sequences|Cauchy sequences]] {{stage|50%}}
* [[Math for Non-Geeks/Exercises: Subsequences, Accumulation points, and Cauchy sequences|Exercises]] {{stage|50%}}
=== Series ===
* [[Math for Non-Geeks/Series|Series]] {{stage|50%}}
* [[Math for Non-Geeks/Computation rules for series|Computation rules for series]] {{stage|50%}}
* [[Math for Non-Geeks/Telescoping sums and series|Telescoping sums and series]] {{stage|50%}}
* [[Math for Non-Geeks/Geometric series|Geometric series]] {{stage|50%}}
* [[Math for Non-Geeks/Harmonic series|Harmonic series]] {{stage|50%}}
* [[Math for Non-Geeks/Exponential series|Exponential series]] {{stage|50%}}
* [[Math for Non-Geeks/Absolute convergence of a series|Absolute convergence of a series]] {{stage|50%}}
* [[Math for Non-Geeks/Rearrangement theorem for series|Rearrangement theorem for series]] {{stage|50%}}
* [[Math for Non-Geeks/Exercises: Series|Exercises]] {{stage|50%}}
=== Convergence criteria for series ===
* [[Math for Non-Geeks/Overview: Convergence criteria|Overview: Convergence criteria]] {{stage|50%}}
* [[Math for Non-Geeks/Cauchy criterion|Cauchy criterion]] {{stage|50%}}
* [[Math for Non-Geeks/Term test|Term test]] {{stage|50%}}
* [[Math for Non-Geeks/Bounded series and convergence|Bounded series and convergence]] {{stage|50%}}
* [[Math for Non-Geeks/Direct comparison test|Direct comparison test]] {{stage|50%}}
* [[Math for Non-Geeks/ Root test|Root test]] {{stage|50%}}
* [[Math for Non-Geeks/ Ratio test|Ratio test]] {{stage|50%}}
* [[Math for Non-Geeks/ Alternating series test|Alternating series test]] {{stage|50%}}
* [[Math for Non-Geeks/ Cauchy condensation test|Cauchy condensation test]] {{stage|50%}}
* [[Math for Non-Geeks/ Application of convergence criteria|Application of convergence criteria]] {{stage|50%}}
* [[Math for Non-Geeks/ Exercises: Convergence criteria for series|Exercises]] {{stage|50%}}
=== Exponential and Logarithm functions ===
* [[Math for Non-Geeks/ Derivation and definition of the exponential series|Derivation and definition of the exponential series]] {{stage|0%}}
* [[Math for Non-Geeks/ Properties of the exponential series|Properties of the exponential series]] {{stage|0%}}
* [[Math for Non-Geeks/ Logarithmic function|Logarithmic function]] {{stage|0%}}
* [[Math for Non-Geeks/ Real exponents|Real exponents]] {{stage|0%}}
* [[Math for Non-Geeks/ Exp and log functions for complex numbers|Exp and log functions for complex numbers]] {{stage|0%}}
* [[Math for Non-Geeks/ Exercises: Exponential and Logarithm functions|Exercises]] {{stage|50%}}
=== Trigonometric and Hyperbolic functions ===
* [[Math for Non-Geeks/ Sine and cosine|Sine and cosine]] {{stage|50%}}
=== Continuity ===
* [[Math for Non-Geeks/ Continuity of functions|Continuity of functions]] {{stage|50%}}
* [[Math for Non-Geeks/ Epsilon-delta definition of continuity|Epsilon-delta definition of continuity]] {{stage|50%}}
* [[Math for Non-Geeks/ Sequential definition of continuity|Sequential definition of continuity]] {{stage|50%}}
* [[Math for Non-Geeks/ Limit of functions|Limit of functions]] {{stage|25%}}
* [[Math for Non-Geeks/ Proving continuity|Proving continuity]] {{stage|50%}}
* [[Math for Non-Geeks/ Proving discontinuity|Proving discontinuity]] {{stage|50%}}
* [[Math for Non-Geeks/ Composition of continuous functions|Composition of continuous functions]] {{stage|50%}}
* [[Math for Non-Geeks/ Extreme value theorem|Extreme value theorem]] {{stage|50%}}
* [[Math for Non-Geeks/ Intermediate value theorem|Intermediate value theorem]] {{stage|50%}}
* [[Math for Non-Geeks/ Continuity of the inverse function|Continuity of the inverse function]] {{stage|50%}}
* [[Math for Non-Geeks/ Uniform continuity|Uniform continuity]] {{stage|50%}}
* [[Math for Non-Geeks/ Lipschitz continuity|Lipschitz continuity]] {{stage|50%}}
* [[Math for Non-Geeks/ Exercises: Continuity|Exercises]] {{stage|50%}}
=== Differential Calculus ===
* [[Math for Non-Geeks/ Derivatives|Derivatives]] {{stage|50%}}
* [[Math for Non-Geeks/ Computing derivatives|Computing derivatives]] {{stage|50%}}
* [[Math for Non-Geeks/ Computing derivatives - special|Computing derivatives - special]] {{stage|50%}}
* [[Math for Non-Geeks/ Derivative - inverse function|Derivative - inverse function]] {{stage|50%}}
* [[Math for Non-Geeks/ Examples for derivatives|Examples for derivatives]] {{stage|50%}}
* [[Math for Non-Geeks/ Derivatives of higher order|Derivatives of higher order]] {{stage|50%}}
* [[Math for Non-Geeks/ Rolle's theorem|Rolle's theorem]] {{stage|50%}}
* [[Math for Non-Geeks/ Mean value theorem|Mean value theorem]] {{stage|50%}}
* [[Math for Non-Geeks/ Constant functions|Constant functions]] {{stage|50%}}
* [[Math for Non-Geeks/ Monotonic functions|Monotonic functions]] {{stage|50%}}
* [[Math for Non-Geeks/ Derivative and local extrema|Derivative and local extrema]] {{stage|50%}}
* [[Math for Non-Geeks/ L'Hôspital's rule|L'Hôspital's rule]] {{stage|50%}}
* [[Math for Non-Geeks/ Overview: continuity and differentiability|Overview: continuity and differentiability]] {{stage|50%}}
* [[Math for Non-Geeks/ Exercises: Derivatives 1|Exercises 1]] {{stage|50%}}
* [[Math for Non-Geeks/ Exercises: Derivatives 2|Exercises 2]] {{stage|50%}}
* [[Math for Non-Geeks/ Exercises: Derivatives 3|Exercises 3]] {{stage|50%}}
* [[Math for Non-Geeks/ Exercises: Derivatives 4|Exercises 4]] {{stage|50%}}
== [[Math for Non-Geeks/Linear algebra|Linear algebra]] ==
=== Vector spaces ===
* [[Math for Non-Geeks/Introduction: Vector space|Introduction: Vector space]] {{stage|50%}}
* [[Math for Non-Geeks/Vector space|Vector space]] {{stage|50%}}
* [[Math for Non-Geeks/Vector space: properties|Vector space: properties]] {{stage|50%}}
* [[Math for Non-Geeks/Proofs for vector spaces|Proofs for vector spaces]] {{stage|50%}}
* [[Math for Non-Geeks/Field as a vector space|Field as a vector space]] {{stage|50%}}
* [[Math for Non-Geeks/Coordinate spaces|Coordinate spaces]] {{stage|50%}}
* [[Math for Non-Geeks/Sequence spaces|Sequence spaces]] {{stage|50%}}
* [[Math for Non-Geeks/Function spaces|Function spaces]] {{stage|50%}}
* [[Math for Non-Geeks/Subspace|Subspace]] {{stage|50%}}
* [[Math for Non-Geeks/Union and intersection of vector spaces|Union and intersection of vector spaces]] {{stage|50%}}
* [[Math for Non-Geeks/Sum of subspaces|Sum of subspaces]] {{stage|50%}}
* [[Math for Non-Geeks/Inner direct sum|Inner direct sum]] {{stage|50%}}
* [[Math for Non-Geeks/Complements of vector spaces|Complements of vector spaces]] {{stage|50%}}
* [[Math for Non-Geeks/Cosets of a subspace|Cosets of a subspace]] {{stage|50%}}
* [[Math for Non-Geeks/Quotient space|Quotient space]] {{stage|50%}}
=== Linear combinations, generators and bases ===
* [[Math for Non-Geeks/Linear combinations|Linear combinations]] {{stage|50%}}
* [[Math for Non-Geeks/Span|Span]] {{stage|50%}}
* [[Math for Non-Geeks/Generators|Generators]] {{stage|50%}}
* [[Math for Non-Geeks/Linear independence|Linear independence]] {{stage|50%}}
* [[Math for Non-Geeks/Basis|Basis]] {{stage|50%}}
* [[Math for Non-Geeks/Steinitz's theorem|Steinitz's theorem]] {{stage|50%}}
* [[Math for Non-Geeks/Dimension|Dimension]] {{stage|50%}}
=== Linear maps ===
* [[Math for Non-Geeks/Linear map|Linear map]] {{stage|50%}}
* [[Math for Non-Geeks/Properties of linear maps|Properties of linear maps]] {{stage|50%}}
* [[Math for Non-Geeks/Linear continuation|Linear continuation]] {{stage|50%}}
* [[Math for Non-Geeks/Proofs for linear maps|Proofs for linear maps]] {{stage|50%}}
* [[Math for Non-Geeks/Monomorphisms|Monomorphisms]] {{stage|50%}}
* [[Math for Non-Geeks/Epimorphisms|Epimorphisms]] {{stage|50%}}
* [[Math for Non-Geeks/Isomorphisms|Isomorphisms]] {{stage|50%}}
* [[Math for Non-Geeks/Endomorphism and Automorphism|Endomorphism and Automorphism]] {{stage|50%}}
* [[Math for Non-Geeks/Image of a linear map|Image of a linear map]] {{stage|50%}}
* [[Math for Non-Geeks/Kernel of a linear map|Kernel of a linear map]] {{stage|50%}}
* [[Math for Non-Geeks/Vector space of a linear map|Vector space of a linear map]] {{stage|50%}}
* [[Math for Non-Geeks/Dual space|Dual space]] {{stage|50%}}
* [[Math for Non-Geeks/Exercises Linear Maps|Exercises]] {{stage|50%}}
=== Matrices ===
* [[Math for Non-Geeks/Introduction: Matrices|Introduction: Matrices]] {{stage|50%}}
* [[Math for Non-Geeks/Matrix of a linear map|Matrix of a linear map]] {{stage|50%}}
* [[Math for Non-Geeks/Definition of a matrix|Definition of a matrix]] {{stage|50%}}
* [[Math for Non-Geeks/Linear systems and matrices|Linear systems and matrices]] {{stage|50%}}
* [[Math for Non-Geeks/Vector space structure on matrices|Vector space structure on matrices]] {{stage|50%}}
* [[Math for Non-Geeks/Matrix multiplication|Matrix multiplication]] {{stage|50%}}
* [[Math for Non-Geeks/Basis change via matrices|Basis change via matrices]] {{stage|50%}}
* [[Math for Non-Geeks/Exercises: Matrices|Exercises]] {{stage|50%}}
== [[Math for Non-Geeks/Measure theory|Measure theory]] ==
=== Introduction, basic definitions ===
* [[Math for Non-Geeks/Overview: Objects in Measure Theory|Overview: Objects in Measure Theory]] {{stage|50%}}
* [[Math for Non-Geeks/Volumes on rings|Volumes on rings]] {{stage|50%}}
* [[Math for Non-Geeks/Continuity of volumes on rings|Continuity of volumes on rings]] {{stage|50%}}
* [[Math for Non-Geeks/Pre-measures and measures|Pre-measures and measures]] {{stage|50%}}
=== Constructing measures ===
* [[Math for Non-Geeks/Constructing measures: overview|Constructing measures: overview]] {{stage|50%}}
* [[Math for Non-Geeks/Generated sigma-algebras|Generated sigma-algebras]] {{stage|50%}}
* [[Math for Non-Geeks/Existence of a measure continuation|Existence of a measure continuation]] {{stage|50%}}
* [[Math for Non-Geeks/Uniqueness of a continuation|Uniqueness of a continuation]] {{stage|50%}}
{{BookCat}}
g9qru6rfnppadcestyh5hljihnmuaej
Fundamentals of Mechanics/Manual of Style
0
483845
4639832
4639704
2026-06-10T21:04:11Z
Rainmonger
122366
4639832
wikitext
text/x-wiki
Welcome, fellow physicists! I hope you are interested in helping to contribute to the ''Fundamentals of Mechanics'' effort. If so, please be sure to follow the style guidelines as detailed below. I'd also like to set some basic ground rules on how to create or edit style guidelines:
# If no particular guideline has been set yet, '''consider whether setting a particular guideline improves the readability or accessibility of the book''':
#* If so, [[WB:BOLD|be bold]] and make a call! Please make sure any future guidelines align with previously set ones or carve out explicitly detailed exceptions. Be sure to document it here in an appropriate, logical place.
#* If not, consider whether it would be helpful to document options or default decisions to help speed up content creation.
# If a particular guideline ''has'' been set already, and you think it needs to be changed, please use one of the following procedures:
#* If you need to carve out a new exception that creates minimal change for extant content, use the procedure detailed above.
#* If you need to change anything else, please [https://en.wikibooks.org/w/index.php?title=Talk:Fundamentals_of_Mechanics/Manual_of_Style&action=edit§ion=new start a new topic] on the discussion page for this manual to allow for a period of debate and consensus-building.
== Source ==
See the [[../Preface/]] for more information.
== Default Style ==
Excepting any decisions detailed below or covered by the overarching [[WB:MOS|Wikibooks Manual of Style]], the following print manuals of style will apply in priority order (insofar as they can apply to digital text):
# American Institute of Physics (1990). ''[https://www.aapt.org/Publications/upload/aip_style_4thed.pdf AIP Style Manual]'' (4th ed.). New York: American Institute of Physics Press. Primarily the following pages:
#* pp. 12–19 (III. General style),
#* pp. 23–25 (IV. Mathematical expressions: D. RECOMMENDED NOTATION), and
#* pp. 35–40 (APPENDIX B: CORRECT OR PREFERRED SPELLINGS OF FREQUENTLY OCCURING WORDS and APPENDIX C: UNITS OF MEASURE)
# University of Chicago Press Editorial Staff (2024). ''[https://www.chicagomanualofstyle.org/book/ed18/frontmatter/toc.html The Chicago Manual of Style]'' (18th ed.). Chicago: University of Chicago Press.
#* If anyone knows of a freely accessible version or edition of the CMoS, please link it here!
You can use the corresponding abbreviations '''AIP''' and '''CMoS''' to refer to these works.
== Naming and Structure ==
* Each part of this book that contains subparts should, itself, only consist of a short introduction and a table of contents on its page. Use the following heading conventions to help folks better know where they are in the book:
** The main page of the book uses the heading <code>== Contents ==</code>.
** Each chapter page of the book uses the heading <code>== Chapter Contents ==</code>.
** The page for each section that consists of 2 or more subsections uses the heading <code>== Section Contents ==</code>. (No section should consist of only one subsection; instead include that content on the section page directly.)
* This book is divided into chapters, sections, and subsections as organized in the original text, with any deviations noted below.
** All chapters consist only of sections.
*** ''With one exception (for now):'' '''[[../Preface/|Chapter 0 - Preface]]'''
** Each section consists only of a single page of content or consists only of two or more subsections (with an optional short intro paragraph).
** All subsections consist only of a single page of content.
* Intentional deviations from source naming and structure:
** Remove any parenthetical parts of chapter, section, and subsection titles:
*** ''E.g.,'' '''Kinetic Energy and the Work–Energy Theorem''' ''instead of'' <s>'''Kinetic Energy (KE) and the Work‐Energy Theorem'''</s>
** The first section of each chapter should have the title '''Introduction''' regardless of what title is used in the source.
** Remove any leading article from the title of a section or subsection, except for named theorems and laws:
*** ''E.g.,'' '''Center of Gravity''' ''instead of'' <s>'''The Center of Gravity'''</s> ''but'' '''The Parallel-Axis Theorem'''
== Style and Grammar ==
=== Non-Technical Style ===
==== Tables ====
* All column/row headers in a table should be in title case, regardless of how they appear in the source:
** ''E.g.,'' '''Unit Name''' ''instead of'' <s>'''Unit name'''</s>
* All ''other'' words and phrases in a table should usually not be capitalized, unless it is capitalized in general use:
** ''E.g.,'' '''kelvin''' ''instead of'' <s>'''Kelvin'''</s> ''as the unit, but use standard name capitalization:'' '''William Thomson, 1st Baron Kelvin'''
=== Technical Style ===
==== Numbers and Units ====
* Numbers should be displayed using the following conventions (which largely follow AIP):
** Negative values should use the HTML element <code>&minus;</code> (−) instead of any other symbol: −2
** Numbers in scientific notation should use the HTML element <code>&times;</code> (×): 3.0 × 10<sup>−4</sup>
* Certain sequences of information within a sentence or phrase should not break between lines, which can be accomplished thru various means:
** Number/unit pairs should be linked together with a non-breaking space, though it's OK for a unit made up of multiple words to break within itself: <code>18&nbsp;kg</code>, <code>5&nbsp;boxes of hay</code>
** Numbers in scientific notation should not break: <code>3.0&nbsp;&times;&nbsp;10<sup>&minus;4</sup></code>
* Exceptions to AIP style include:
** Use the HTML element <code>&micro;</code> without italics (µ) for the SI prefix "micro-", not <s><code>''&mu;''</code></s> (<s>''μ''</s>)
9kozgpfh5kgaeimnb0fc7er9bpwv3m1
4639850
4639832
2026-06-11T01:00:35Z
JackBot
396820
Formatting, [[Special:UncategorizedPages]]
4639850
wikitext
text/x-wiki
Welcome, fellow physicists! I hope you are interested in helping to contribute to the ''Fundamentals of Mechanics'' effort. If so, please be sure to follow the style guidelines as detailed below. I'd also like to set some basic ground rules on how to create or edit style guidelines:
# If no particular guideline has been set yet, '''consider whether setting a particular guideline improves the readability or accessibility of the book''':
#* If so, [[WB:BOLD|be bold]] and make a call! Please make sure any future guidelines align with previously set ones or carve out explicitly detailed exceptions. Be sure to document it here in an appropriate, logical place.
#* If not, consider whether it would be helpful to document options or default decisions to help speed up content creation.
# If a particular guideline ''has'' been set already, and you think it needs to be changed, please use one of the following procedures:
#* If you need to carve out a new exception that creates minimal change for extant content, use the procedure detailed above.
#* If you need to change anything else, please [https://en.wikibooks.org/w/index.php?title=Talk:Fundamentals_of_Mechanics/Manual_of_Style&action=edit§ion=new start a new topic] on the discussion page for this manual to allow for a period of debate and consensus-building.
== Source ==
See the [[../Preface/]] for more information.
== Default Style ==
Excepting any decisions detailed below or covered by the overarching [[WB:MOS|Wikibooks Manual of Style]], the following print manuals of style will apply in priority order (insofar as they can apply to digital text):
# American Institute of Physics (1990). ''[https://www.aapt.org/Publications/upload/aip_style_4thed.pdf AIP Style Manual]'' (4th ed.). New York: American Institute of Physics Press. Primarily the following pages:
#* pp. 12–19 (III. General style),
#* pp. 23–25 (IV. Mathematical expressions: D. RECOMMENDED NOTATION), and
#* pp. 35–40 (APPENDIX B: CORRECT OR PREFERRED SPELLINGS OF FREQUENTLY OCCURING WORDS and APPENDIX C: UNITS OF MEASURE)
# University of Chicago Press Editorial Staff (2024). ''[https://www.chicagomanualofstyle.org/book/ed18/frontmatter/toc.html The Chicago Manual of Style]'' (18th ed.). Chicago: University of Chicago Press.
#* If anyone knows of a freely accessible version or edition of the CMoS, please link it here!
You can use the corresponding abbreviations '''AIP''' and '''CMoS''' to refer to these works.
== Naming and Structure ==
* Each part of this book that contains subparts should, itself, only consist of a short introduction and a table of contents on its page. Use the following heading conventions to help folks better know where they are in the book:
** The main page of the book uses the heading <code>== Contents ==</code>.
** Each chapter page of the book uses the heading <code>== Chapter Contents ==</code>.
** The page for each section that consists of 2 or more subsections uses the heading <code>== Section Contents ==</code>. (No section should consist of only one subsection; instead include that content on the section page directly.)
* This book is divided into chapters, sections, and subsections as organized in the original text, with any deviations noted below.
** All chapters consist only of sections.
*** ''With one exception (for now):'' '''[[../Preface/|Chapter 0 - Preface]]'''
** Each section consists only of a single page of content or consists only of two or more subsections (with an optional short intro paragraph).
** All subsections consist only of a single page of content.
* Intentional deviations from source naming and structure:
** Remove any parenthetical parts of chapter, section, and subsection titles:
*** ''E.g.,'' '''Kinetic Energy and the Work–Energy Theorem''' ''instead of'' <s>'''Kinetic Energy (KE) and the Work‐Energy Theorem'''</s>
** The first section of each chapter should have the title '''Introduction''' regardless of what title is used in the source.
** Remove any leading article from the title of a section or subsection, except for named theorems and laws:
*** ''E.g.,'' '''Center of Gravity''' ''instead of'' <s>'''The Center of Gravity'''</s> ''but'' '''The Parallel-Axis Theorem'''
== Style and Grammar ==
=== Non-Technical Style ===
==== Tables ====
* All column/row headers in a table should be in title case, regardless of how they appear in the source:
** ''E.g.,'' '''Unit Name''' ''instead of'' <s>'''Unit name'''</s>
* All ''other'' words and phrases in a table should usually not be capitalized, unless it is capitalized in general use:
** ''E.g.,'' '''kelvin''' ''instead of'' <s>'''Kelvin'''</s> ''as the unit, but use standard name capitalization:'' '''William Thomson, 1st Baron Kelvin'''
=== Technical Style ===
==== Numbers and Units ====
* Numbers should be displayed using the following conventions (which largely follow AIP):
** Negative values should use the HTML element <code>&minus;</code> (−) instead of any other symbol: −2
** Numbers in scientific notation should use the HTML element <code>&times;</code> (×): 3.0 × 10<sup>−4</sup>
* Certain sequences of information within a sentence or phrase should not break between lines, which can be accomplished thru various means:
** Number/unit pairs should be linked together with a non-breaking space, though it's OK for a unit made up of multiple words to break within itself: <code>18&nbsp;kg</code>, <code>5&nbsp;boxes of hay</code>
** Numbers in scientific notation should not break: <code>3.0&nbsp;&times;&nbsp;10<sup>&minus;4</sup></code>
* Exceptions to AIP style include:
** Use the HTML element <code>&micro;</code> without italics (µ) for the SI prefix "micro-", not <s><code>''&mu;''</code></s> (<s>''μ''</s>)
{{BookCat}}
c1inhu0e0gvgtymd8xegp5g53fjyz12
Oberon/ThreeBoxes
0
483854
4639852
4639543
2026-06-11T01:00:37Z
JackBot
396820
Formatting, [[Special:UncategorizedPages]]
4639852
wikitext
text/x-wiki
<div style="display:block; width: fit-content; padding: 0px; border: 1px solid; margin: 2px"><div
style="display:inline-block; width: 250px; height: {{{4}}}; padding: 1px; border: none; margin: 3; vertical-align: top; background-color:#FFFFCC">{{{1}}}</div><div
style="display:inline-block; width: 250px; height: {{{4}}}; padding: 1px; border: none; margin: 3; vertical-align: top; background-color:#98FB98">{{{2}}}</div><div
style="display:inline-block; width: 250px; height: {{{4}}}; padding: 1px; border: none; margin: 3; vertical-align: top; background-color:#CCFFFF">{{{3}}}</div>
</div>
{{BookCat}}
cl2ovtqfqc6t2biehje0xabeht6ztvs
Template:FoM/Nav
10
483856
4639785
4639705
2026-06-10T14:36:18Z
Rainmonger
122366
4639785
wikitext
text/x-wiki
{| class="navlinks noprint" style="width: 100%; border: solid 1px #71dc837; background-color: var(--background-color-success-subtle, #c6e9af); color: inherit;"
| class="navprevious" style="text-align: left; width: 33%" | {{#if: {{{prev|{{{1|}}}}}} | <span class="cdx-button">[[File:Navigation_Left_Arrow.svg|18px|link={{#rel2abs: ../{{{prev|{{{1|}}}}}} | {{FULLPAGENAME}} }}|{{{prev|{{{1|}}}}}}]] [[{{#rel2abs: ../{{{prev|{{{1|}}}}}} | {{FULLPAGENAME}} }}|{{{prev|{{{1|}}}}}}]]</span> | }} || class="navtitle" style="text-align: center; width: 34%" | [[Fundamentals of Mechanics]]{{#if: {{CHAPTERNAME}} | <br />{{#ifeq: {{CHAPTERNAME}} | {{SUBPAGENAME}} | '''{{CHAPTERNAME}}''' | [[../|{{CHAPTERNAME}}]]<br />'''{{SUBPAGENAME}}''' }} | }} || class="navnext" style="text-align: right; width: 33%" | {{#if: {{{next|{{{2|}}}}}} | <span class="cdx-button">[[{{#rel2abs: ../{{{next|{{{2|}}}}}} | {{FULLPAGENAME}} }}|{{{next|{{{2|}}}}}}]] [[File:Navigation_Right_Arrow.svg|18px|link={{#rel2abs: ../{{{next|{{{2|}}}}}} | {{FULLPAGENAME}} }}|{{{next|{{{2}}}}}}]]</span> | }}
|}
<templatedata>
{
"params": {
"prev": {
"aliases": [
"1"
],
"label": "Previous",
"description": "This is the name of the previous subsection, section, or chapter before the one this template is used on. Should be empty if on the first element of its group.",
"type": "string"
},
"next": {
"aliases": [
"2"
],
"label": "Next",
"description": "This is the name of the next subsection, section, or chapter after the one this template is used on. Should be empty if on the last element of its group.",
"type": "string"
}
},
"description": "This template provides the navigation template for the [[Fundamentals of Mechanics]] text.",
"format": "inline"
}
</templatedata>
skmkwkf4rjucff09x2spc1jku1wtwre
4639786
4639785
2026-06-10T14:36:58Z
Rainmonger
122366
4639786
wikitext
text/x-wiki
{| class="navlinks noprint" style="width: 100%; border: solid 1px #71dc837; background-color: var(--background-color-success-subtle, #c6e9af); color: inherit;"
| class="navprevious" style="text-align: left; width: 33%" | {{#if: {{{prev|{{{1|}}}}}} | <span class="cdx-button">[[File:Navigation_Left_Arrow.svg|18px|link={{#rel2abs: ../{{{prev|{{{1|}}}}}} | {{FULLPAGENAME}} }}|{{{prev|{{{1|}}}}}}]] [[{{#rel2abs: ../{{{prev|{{{1|}}}}}} | {{FULLPAGENAME}} }}|{{{prev|{{{1|}}}}}}]]</span> | }} || class="navtitle" style="text-align: center; width: 34%" | [[Fundamentals of Mechanics]]{{#if: {{CHAPTERNAME}} | <br />{{#ifeq: {{CHAPTERNAME}} | {{SUBPAGENAME}} | '''{{CHAPTERNAME}}''' | [[../|{{CHAPTERNAME}}]]<br />'''{{SUBPAGENAME}}''' }} | }} || class="navnext" style="text-align: right; width: 33%" | {{#if: {{{next|{{{2|}}}}}} | <span class="cdx-button">[[{{#rel2abs: ../{{{next|{{{2|}}}}}} | {{FULLPAGENAME}} }}|{{{next|{{{2|}}}}}}]] [[File:Navigation_Right_Arrow.svg|18px|link={{#rel2abs: ../{{{next|{{{2|}}}}}} | {{FULLPAGENAME}} }}|{{{next|{{{2}}}}}}]]</span> | }}
|}
<noinclude>
<templatedata>
{
"params": {
"prev": {
"aliases": [
"1"
],
"label": "Previous",
"description": "This is the name of the previous subsection, section, or chapter before the one this template is used on. Should be empty if on the first element of its group.",
"type": "string"
},
"next": {
"aliases": [
"2"
],
"label": "Next",
"description": "This is the name of the next subsection, section, or chapter after the one this template is used on. Should be empty if on the last element of its group.",
"type": "string"
}
},
"description": "This template provides the navigation template for the [[Fundamentals of Mechanics]] text.",
"format": "inline"
}
</templatedata>
</noinclude>
rs7jop4uoim36s0hipw8x53hoy4le63
4639787
4639786
2026-06-10T14:39:23Z
Rainmonger
122366
4639787
wikitext
text/x-wiki
{| class="navlinks noprint" style="width: 100%; border: solid 1px #71dc837; background-color: var(--background-color-success-subtle, #c6e9af); color: inherit;"
| class="navprevious" style="text-align: left; width: 33%" | {{#if: {{{prev|{{{1|}}}}}} | <span class="cdx-button">[[File:Navigation_Left_Arrow.svg|18px|link={{#rel2abs: ../{{{prev|{{{1|}}}}}} | {{FULLPAGENAME}} }}|{{{prev|{{{1|}}}}}}]] [[{{#rel2abs: ../{{{prev|{{{1|}}}}}} | {{FULLPAGENAME}} }}|{{{prev|{{{1|}}}}}}]]</span> | }} || class="navtitle" style="text-align: center; width: 34%" | [[Fundamentals of Mechanics]]{{#if: {{CHAPTERNAME}} | <br />{{#ifeq: {{CHAPTERNAME}} | {{SUBPAGENAME}} | '''{{CHAPTERNAME}}''' | [[../|{{CHAPTERNAME}}]]<br />'''{{SUBPAGENAME}}''' }} | }} || class="navnext" style="text-align: right; width: 33%" | {{#if: {{{next|{{{2|}}}}}} | <span class="cdx-button">[[{{#rel2abs: ../{{{next|{{{2|}}}}}} | {{FULLPAGENAME}} }}|{{{next|{{{2|}}}}}}]] [[File:Navigation_Right_Arrow.svg|18px|link={{#rel2abs: ../{{{next|{{{2|}}}}}} | {{FULLPAGENAME}} }}|{{{next|{{{2}}}}}}]]</span> | }}
|}
<noinclude>{{Documentation}}</noinclude>
1vqqwcv2z0h7wjpsjp4cucyy33zpdhx
4639840
4639787
2026-06-10T23:32:20Z
Rainmonger
122366
4639840
wikitext
text/x-wiki
<templatestyles src="FoM/Nav/styles.css" />
{| class="navlinks noprint fom"
| class="navprevious fom" | {{#if: {{{prev|{{{1|}}}}}} | <span class="cdx-button">[[File:Navigation_Left_Arrow.svg|18px|link={{#titleparts: {{FULLPAGENAME}} | -1}}/{{{prev|{{{1|}}}}}}|{{{prev|{{{1|}}}}}}]] [[{{#titleparts: {{FULLPAGENAME}} | -1}}/{{{prev|{{{1|}}}}}}|{{{prev|{{{1|}}}}}}]]</span> | }}
| class="navtitle fom" | [[Fundamentals of Mechanics]]<br />{{#ifeq: {{CHAPTERNAME}} | {{SUBPAGENAME}} | '''{{CHAPTERNAME}}''' | [[{{#titleparts: {{FULLPAGENAME}} | 2}}|{{CHAPTERNAME}}]]}}{{#if: {{#titleparts: {{FULLPAGENAME}} | 1 | 3}} | <br />{{#ifeq: {{#titleparts: {{FULLPAGENAME}} | 1 | 3}} | {{SUBPAGENAME}} | '''{{SUBPAGENAME}}''' | [[{{#titleparts: {{FULLPAGENAME}} | 3}}|{{#titleparts: {{FULLPAGENAME}} | 1 | 3}}]]}} | }}{{#if: {{#titleparts: {{FULLPAGENAME}} | 1 | 4}} | <br />'''{{SUBPAGENAME}}''' | }}
| class="navnext fom" | {{#if: {{{next|{{{2|}}}}}} | <span class="cdx-button">[[{{#titleparts: {{FULLPAGENAME}} | -1}}/{{{next|{{{2|}}}}}}|{{{next|{{{2|}}}}}}]] [[File:Navigation_Right_Arrow.svg|18px|link={{#titleparts: {{FULLPAGENAME}} | -1}}/{{{next|{{{2|}}}}}}|{{{next|{{{2|}}}}}}]] | }}
|}
<noinclude>{{Documentation}}</noinclude>
4d0njvwnivt4eym5t4g1tnakpv79j20
Fundamentals of Mechanics/Units and Vectors/SI Units
0
483858
4639878
4639769
2026-06-11T03:00:04Z
Rainmonger
122366
4639878
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|Introduction|Conversion Factors}}</noinclude>
A physical quantity is a quantitative description of a physical phenomenon. For a precise description, one has to measure the physical quantity and represent this measurement by a number. Such a measurement is made by comparing the quantity with a standard; this standard is called a unit. For example, mass is a physical quantity that refers to the quantity of matter contained in an object. The kilogram is one of the units used to measure mass and, until 2019, was defined as the mass of a specific platinum–iridium alloy cylinder, kept at the International Bureau of Weights and Measures. (In 2019, the kilogram was redefined to be in terms of precisely measured and defined fundamental constants, an in-depth discussion of which is beyond the scope of this book.) Therefore, when we say that a block’s mass is {{Nobr|300 kg,}} we mean that it is {{Nobr|300 times}} the reference definition. All units chosen should obey certain properties such as being accurate, accessible, and should remain stable under varied environmental conditions or time. (The 2019 redefinition of the kilogram addressed this last point specifically, as the reference prototype ''did'' change in mass very slightly over its {{Nobr|130 year}} history.)
{| class="wikitable" style="float: right; margin-left: 1.6em"
|+ style="font-weight: normal" | {{Anchor|table 1.1}}'''Table 1.1''' The SI system's seven fundamental base units
|-
! Quantity !! Unit Name !! Unit Symbol
|-
| length || meter || m
|-
| mass || kilogram || kg
|-
| time || second || s
|-
| temperature || kelvin || K
|-
| electric current || ampere || A
|-
| luminous intensity || candela || cd
|-
| amount of substance || mole || mol
|}
In 1960, the International System of Units was established. Its abbreviation, SI, is derived from its French name ''<u>S</u>ystème <u>i</u>nternational d'unités''. As shown in [[#table 1.1|Table 1.1]], the SI system consists of seven fundamental base units, each representing a quantity assumed to be naturally independent. The system also includes two supplementary units:
* the radian, which is a unit of the plane angle, and
* the steradian, which is a unit of the solid angle.
All other quantities in physics are derived from these base quantities. For example, mechanical quantities such as force, velocity, volume, and energy can be derived from the fundamental quantities length, mass, and time. Furthermore, powers of ten are used to represent the larger and smaller values for a certain physical quantity as listed in [[#table 1.2|Table 1.2]]. The most recent definitions of the SI units of time, length, and mass, each depend on defining a particular fundamental constant to be an exact value. Those definitions are as follows:
{| class="wikitable" style="float: right; margin-left: 1.6em"
|+ style="font-weight: normal" | {{Anchor|table 1.2}}'''Table 1.2''' Prefixes for powers of ten
|-
! Factor !! Prefix !! Symbol !! !! Factor !! Prefix !! Symbol
|-
| 10<sup>−30</sup> || quecto- || q || || 10<sup>30</sup> || quetta- || Q
|-
| 10<sup>−27</sup> || ronto- || r || || 10<sup>27</sup> || ronna- || R
|-
| 10<sup>−24</sup> || yocto- || y || || 10<sup>24</sup> || yotta- || Y
|-
| 10<sup>−21</sup> || zepto- || z || || 10<sup>21</sup> || zetta- || Z
|-
| 10<sup>−18</sup> || atto- || a || || 10<sup>18</sup> || exa- || E
|-
| 10<sup>−15</sup> || femto- || f || || 10<sup>15</sup> || peta- || P
|-
| 10<sup>−12</sup> || pico- || p || || 10<sup>12</sup> || tera- || T
|-
| 10<sup>−9</sup> || nano- || n || || 10<sup>9</sup> || giga- || G
|-
| 10<sup>−6</sup> || micro- || µ || || 10<sup>6</sup> || mega- || M
|-
| 10<sup>−3</sup> || milli- || m || || 10<sup>3</sup> || kilo- || k
|-
| 10<sup>−2</sup> || centi- || c || || 10<sup>2</sup> || hecto- || h
|-
| 10<sup>−1</sup> || deci- || d || || 10<sup>1</sup> || deka- || da
|}
* The '''second''' is defined to be the amount of time elapsed during precisely {{Nobr|9 192 631 770 hyperfine}} transitions of a cesium-133 atom in its ground state, at rest, and at a temperature of {{Nobr|0 K.}}
* The '''meter''' is defined to be the distance that light travels in a vacuum during {{Nobr|one 299 792 458th}} of a second. This is done by fixing the value of the speed of light in a vacuum to be precisely {{Nobr|299& 792 458&m/s}} (along with the definition of the second above).
* The '''kilogram''' is defined by fixing the value of a third fundamental constant, the Planck constant, to be precisely {{Nobr|6.626 070 15 × 10<sup>−19</sup> J·s,}} the dimensions of which are equivalent to {{Nobr|kg m<sup>2</sup>/s}} (along with the definitions of the second and the meter above).
The details of how these units are defined and how their corresponding fundamental constants are measured are well beyond the scope of this text. However, the important thing to note here is that these definitions are precisely defined, accurate, and should remain stable for the foreseeable future.
{{BookCat}}
ek48bt4mgc3q0oqubwnv9sb1jj4inbl
Fundamentals of Mechanics/Units and Vectors/Conversion Factors
0
483859
4639770
4639713
2026-06-10T11:59:42Z
Rainmonger
122366
4639770
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|SI Units|Dimensional Analysis}}</noinclude>
There are two other major systems of units besides the SI units.
* The CGS system of units, which uses the <u>c</u>entimeter, <u>g</u>ram, and <u>s</u>econd as its base units, and
* The FPS system of units, which uses the <u>f</u>oot, <u>p</u>ound, and <u>s</u>econd as its base units.
The conversion factors between the SI units and other systems of units of length, mass, and time are as follows:
{| class="wikitable" style="margin: 0 auto"
|+ style="font-weight: normal" | {{Anchor|table 1.3}}'''Table 1.3''' Length conversion factors
|-
! {{Diagonal split header|One:|  Equals:}}
! Meters
! Inches
! Feet
! Miles
|-
| scope=row | Meter
| ''1 m''
| 39.37 in
| 3.281 ft
| 6.214 × 10<sup>−4</sup> mi
|-
| scope=row | Inch
| 0.0254 m
| ''1 in''
| <math display="inline">1/12 \text{ ft} \approx 0.083\ 33 \text{ ft}</math>
| <math display="inline">1/63\ 360 \text{ mi} \approx 1.578 \times 10^{-5} \text{ mi}</math>
|-
| scope=row | Foot
| 0.3048 m
| 12 in
| ''1 ft''
| <math display="inline">1/5280 \text{ mi} \approx 1.894 \times 10^{-4} \text{ mi}</math>
|-
| scope=row | Mile
| 1609 m
| 63 360 in
| 5280 ft
| ''1 mi''
|}
<br />
{| class="wikitable" style="margin: 0 auto"
|+ style="font-weight: normal" | {{Anchor|table 1.4}}'''Table 1.4''' Mass conversion factors
|-
! {{Diagonal split header|One:|  Equals:}}
! Kilograms
! Grams
! Slugs
! Atomic Mass Units
|-
| scope=row | Kilogram
| ''1 kg''
| 1000 g
| 0.068 52 slug
| 6.022 × 10<sup>26</sup> u
|-
| scope=row | Gram
| 1 × 10<sup>−4</sup> kg
| ''1 g''
| 6.852 × 10<sup>−5</sup> slug
| 6.022 × 10<sup>23</sup> u
|-
| scope=row | Slug
| 14.59 kg
| 14 590 g
| ''1 slug''
| 8.789 × 10<sup>27</sup> u
|-
| scope=row | Atomic Mass Unit
| 1.661 × 10<sup>−27</sup> kg
| 1.661 × 10<sup>−24</sup> g
| 1.138 × 10<sup>−28</sup> slug
| ''1 u''
|}
<br />
{| class="wikitable" style="margin: 0 auto"
|+ style="font-weight: normal" | {{Anchor|table 1.5}}'''Table 1.5''' Time conversion factors
|-
! {{Diagonal split header|One:|  Equals:}}
! Seconds
! Minutes
! Hours
! Years
|-
| scope=row | Second
| ''1 s''
| <math display="inline">1/60 \text{ min} \approx 0.016\ 67 \text{ min}</math>
| <math display="inline">1/3600 \text{ h} \approx 2.778 \times 10^{-4} \text{ min}</math>
| 3.169 × 10<sup>−8</sup> yr
|-
| scope=row | Minute
| 60 s
| ''1 min''
| <math display="inline">1/60 \text{ h} \approx 0.016\ 67 \text{ h}</math>
| 1.901 × 10<sup>−6</sup> yr
|-
| scope=row | Hour
| 3600 s
| 60 min
| ''1 h''
| 1.141 × 10<sup>−4</sup> yr
|-
| scope=row | Year
| 3.156 × 10<sup>7</sup> s
| 525 900 min
| 8766 hr
| ''1 yr''
|}
{{BookCat}}
nyccbawryvm2zq04gwqwp012jrsrgy7
4639774
4639770
2026-06-10T12:14:57Z
Rainmonger
122366
4639774
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|SI Units|Dimensional Analysis}}</noinclude>
There are two other major systems of units besides the SI units.
* The CGS system of units, which uses the <u>c</u>entimeter, <u>g</u>ram, and <u>s</u>econd as its base units, and
* The FPS system of units, which uses the <u>f</u>oot, <u>p</u>ound, and <u>s</u>econd as its base units.
The conversion factors between the SI units and other systems of units of length, mass, and time are as follows:
{| class="wikitable" style="margin: 0 auto"
|+ style="font-weight: normal" | {{Anchor|table 1.3}}'''Table 1.3''' Length conversion factors
|-
! {{Diagonal split header|One:|  Equals:}}
! Meters
! Inches
! Feet
! Miles
|-
| scope=row | Meter
| ''1 m''
| 39.37 in
| 3.281 ft
| 6.214 × 10<sup>−4</sup> mi
|-
| scope=row | Inch
| 0.0254 m
| ''1 in''
| <math display="inline">1/12 \text{ ft} \approx 0.083\ 33 \text{ ft}</math>
| <math display="inline">1/63\ 360 \text{ mi} \approx 1.578 \times 10^{-5} \text{ mi}</math>
|-
| scope=row | Foot
| 0.3048 m
| 12 in
| ''1 ft''
| <math display="inline">1/5280 \text{ mi} \approx 1.894 \times 10^{-4} \text{ mi}</math>
|-
| scope=row | Mile
| 1609 m
| 63 360 in
| 5280 ft
| ''1 mi''
|}
<br />
{| class="wikitable" style="margin: 0 auto"
|+ style="font-weight: normal" | {{Anchor|table 1.4}}'''Table 1.4''' Mass conversion factors
|-
! {{Diagonal split header|One:|  Equals:}}
! Kilograms
! Grams
! Slugs
! Atomic Mass Units
|-
| scope=row | Kilogram
| ''1 kg''
| 1000 g
| 0.068 52 slug
| 6.022 × 10<sup>26</sup> u
|-
| scope=row | Gram
| 1 × 10<sup>−4</sup> kg
| ''1 g''
| 6.852 × 10<sup>−5</sup> slug
| 6.022 × 10<sup>23</sup> u
|-
| scope=row | Slug
| 14.59 kg
| 14 590 g
| ''1 slug''
| 8.789 × 10<sup>27</sup> u
|-
| scope=row | Atomic Mass Unit
| 1.661 × 10<sup>−27</sup> kg
| 1.661 × 10<sup>−24</sup> g
| 1.138 × 10<sup>−28</sup> slug
| ''1 u''
|}
<br />
{| class="wikitable" style="margin: 0 auto"
|+ style="font-weight: normal" | {{Anchor|table 1.5}}'''Table 1.5''' Time conversion factors
|-
! {{Diagonal split header|One:|  Equals:}}
! Seconds
! Minutes
! Hours
! Years
|-
| scope=row | Second
| ''1 s''
| <math display="inline">1/60 \text{ min} \approx 0.016\ 67 \text{ min}</math>
| <math display="inline">1/3600 \text{ h} \approx 2.778 \times 10^{-4} \text{ min}</math>
| 3.169 × 10<sup>−8</sup> yr
|-
| scope=row | Minute
| 60 s
| ''1 min''
| <math display="inline">1/60 \text{ h} \approx 0.016\ 67 \text{ h}</math>
| 1.901 × 10<sup>−6</sup> yr
|-
| scope=row | Hour
| 3600 s
| 60 min
| ''1 h''
| 1.141 × 10<sup>−4</sup> yr
|-
| scope=row | Year
| 3.156 × 10<sup>7</sup> s
| 525 900 min
| 8766 hr
| ''1 yr''
|}
<br />
{{FoM/Ex|1.1|If a tree is measured to be 10 m long, what is its length in inches and in feet?}}
{{BookCat}}
pxwe9m3bj960han07n6tv8yqdripdir
4639778
4639774
2026-06-10T12:48:40Z
Rainmonger
122366
4639778
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|SI Units|Dimensional Analysis}}</noinclude>
There are two other major systems of units besides the SI units.
* The CGS system of units, which uses the <u>c</u>entimeter, <u>g</u>ram, and <u>s</u>econd as its base units, and
* The FPS system of units, which uses the <u>f</u>oot, <u>p</u>ound, and <u>s</u>econd as its base units.
The conversion factors between the SI units and other systems of units of length, mass, and time are as follows:
{| class="wikitable" style="margin: 0 auto"
|+ style="font-weight: normal" | {{Anchor|table 1.3}}'''Table 1.3''' Length conversion factors
|-
! {{Diagonal split header|One:|  Equals:}}
! Meters
! Inches
! Feet
! Miles
|-
| scope=row | Meter
| ''1 m''
| 39.37 in
| 3.281 ft
| 6.214 × 10<sup>−4</sup> mi
|-
| scope=row | Inch
| 0.0254 m
| ''1 in''
| <math display="inline">1/12 \text{ ft} \approx 0.083\ 33 \text{ ft}</math>
| <math display="inline">1/63\ 360 \text{ mi} \approx 1.578 \times 10^{-5} \text{ mi}</math>
|-
| scope=row | Foot
| 0.3048 m
| 12 in
| ''1 ft''
| <math display="inline">1/5280 \text{ mi} \approx 1.894 \times 10^{-4} \text{ mi}</math>
|-
| scope=row | Mile
| 1609 m
| 63 360 in
| 5280 ft
| ''1 mi''
|}
<br />
{| class="wikitable" style="margin: 0 auto"
|+ style="font-weight: normal" | {{Anchor|table 1.4}}'''Table 1.4''' Mass conversion factors
|-
! {{Diagonal split header|One:|  Equals:}}
! Kilograms
! Grams
! Slugs
! Atomic Mass Units
|-
| scope=row | Kilogram
| ''1 kg''
| 1000 g
| 0.068 52 slug
| 6.022 × 10<sup>26</sup> u
|-
| scope=row | Gram
| 1 × 10<sup>−4</sup> kg
| ''1 g''
| 6.852 × 10<sup>−5</sup> slug
| 6.022 × 10<sup>23</sup> u
|-
| scope=row | Slug
| 14.59 kg
| 14 590 g
| ''1 slug''
| 8.789 × 10<sup>27</sup> u
|-
| scope=row | Atomic Mass Unit
| 1.661 × 10<sup>−27</sup> kg
| 1.661 × 10<sup>−24</sup> g
| 1.138 × 10<sup>−28</sup> slug
| ''1 u''
|}
<br />
{| class="wikitable" style="margin: 0 auto"
|+ style="font-weight: normal" | {{Anchor|table 1.5}}'''Table 1.5''' Time conversion factors
|-
! {{Diagonal split header|One:|  Equals:}}
! Seconds
! Minutes
! Hours
! Years
|-
| scope=row | Second
| ''1 s''
| <math display="inline">1/60 \text{ min} \approx 0.016\ 67 \text{ min}</math>
| <math display="inline">1/3600 \text{ h} \approx 2.778 \times 10^{-4} \text{ min}</math>
| 3.169 × 10<sup>−8</sup> yr
|-
| scope=row | Minute
| 60 s
| ''1 min''
| <math display="inline">1/60 \text{ h} \approx 0.016\ 67 \text{ h}</math>
| 1.901 × 10<sup>−6</sup> yr
|-
| scope=row | Hour
| 3600 s
| 60 min
| ''1 h''
| 1.141 × 10<sup>−4</sup> yr
|-
| scope=row | Year
| 3.156 × 10<sup>7</sup> s
| 525 900 min
| 8766 hr
| ''1 yr''
|}
<br />
{{FoM/Ex
| 1.1
| If a tree is measured to be 10 m long, what is its length in inches and in feet?
| <math display="block">(10 \text{ m})\left(\dfrac{39.37 \text{ in}}{1 \text{ m}}\right) = 393.7 \text{ in}</math>
}}
{{BookCat}}
l1j6jlbi9q588cozbgh41nl5re6s584
4639782
4639778
2026-06-10T14:25:48Z
Rainmonger
122366
4639782
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|SI Units|Dimensional Analysis}}</noinclude>
There are two other major systems of units besides the SI units.
* The CGS system of units, which uses the <u>c</u>entimeter, <u>g</u>ram, and <u>s</u>econd as its base units, and
* The FPS system of units, which uses the <u>f</u>oot, <u>p</u>ound, and <u>s</u>econd as its base units.
The conversion factors between the SI units and other systems of units of length, mass, and time are as follows:
{| class="wikitable" style="margin: 0 auto"
|+ style="font-weight: normal" | {{Anchor|table 1.3}}'''Table 1.3''' Length conversion factors
|-
! {{Diagonal split header|One:|  Equals:}}
! Meters
! Inches
! Feet
! Miles
|-
| scope=row | Meter
| ''1 m''
| 39.37 in
| 3.281 ft
| 6.214 × 10<sup>−4</sup> mi
|-
| scope=row | Inch
| 0.0254 m
| ''1 in''
| <math display="inline">1/12 \text{ ft} \approx 0.083\ 33 \text{ ft}</math>
| <math display="inline">1/63\ 360 \text{ mi} \approx 1.578 \times 10^{-5} \text{ mi}</math>
|-
| scope=row | Foot
| 0.3048 m
| 12 in
| ''1 ft''
| <math display="inline">1/5280 \text{ mi} \approx 1.894 \times 10^{-4} \text{ mi}</math>
|-
| scope=row | Mile
| 1609 m
| 63 360 in
| 5280 ft
| ''1 mi''
|}
<br />
{| class="wikitable" style="margin: 0 auto"
|+ style="font-weight: normal" | {{Anchor|table 1.4}}'''Table 1.4''' Mass conversion factors
|-
! {{Diagonal split header|One:|  Equals:}}
! Kilograms
! Grams
! Slugs
! Atomic Mass Units
|-
| scope=row | Kilogram
| ''1 kg''
| 1000 g
| 0.068 52 slug
| 6.022 × 10<sup>26</sup> u
|-
| scope=row | Gram
| 1 × 10<sup>−4</sup> kg
| ''1 g''
| 6.852 × 10<sup>−5</sup> slug
| 6.022 × 10<sup>23</sup> u
|-
| scope=row | Slug
| 14.59 kg
| 14 590 g
| ''1 slug''
| 8.789 × 10<sup>27</sup> u
|-
| scope=row | Atomic Mass Unit
| 1.661 × 10<sup>−27</sup> kg
| 1.661 × 10<sup>−24</sup> g
| 1.138 × 10<sup>−28</sup> slug
| ''1 u''
|}
<br />
{| class="wikitable" style="margin: 0 auto"
|+ style="font-weight: normal" | {{Anchor|table 1.5}}'''Table 1.5''' Time conversion factors
|-
! {{Diagonal split header|One:|  Equals:}}
! Seconds
! Minutes
! Hours
! Years
|-
| scope=row | Second
| ''1 s''
| <math display="inline">1/60 \text{ min} \approx 0.016\ 67 \text{ min}</math>
| <math display="inline">1/3600 \text{ h} \approx 2.778 \times 10^{-4} \text{ min}</math>
| 3.169 × 10<sup>−8</sup> yr
|-
| scope=row | Minute
| 60 s
| ''1 min''
| <math display="inline">1/60 \text{ h} \approx 0.016\ 67 \text{ h}</math>
| 1.901 × 10<sup>−6</sup> yr
|-
| scope=row | Hour
| 3600 s
| 60 min
| ''1 h''
| 1.141 × 10<sup>−4</sup> yr
|-
| scope=row | Year
| 3.156 × 10<sup>7</sup> s
| 525 900 min
| 8766 hr
| ''1 yr''
|}
<br />
{{FoM/Ex
| 1.1
| If a tree is measured to be 10.0 m tall, what is its height in inches and in feet?
| <math display="block">(10.0 \text{ m})\left(\dfrac{39.37 \text{ in}}{1 \text{ m}}\right) = 394 \text{ in}</math>
<math display="block">(10.0 \text{ m})\left(\dfrac{3.281 \text{ ft}}{1 \text{ m}}\right) = 32.8 \text{ ft}</math>
}}
<br />
{{FoM/Ex
| 1.2
| If the volume of a room is 32.0 m<sup>3</sup>, what is the volume in cubic inches?
| <math display="block">(32.0 \text{ m}^{3})\left(\dfrac{39.37 \text{ in}}{1 \text{ m}}\right)^{3} = 1.95 \times 10^{6} \text{ in}^{3}</math>
}}
{{BookCat}}
5gcd2p47rawi39ql1j0392qugp1kzxb
4639879
4639782
2026-06-11T03:10:25Z
Rainmonger
122366
4639879
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|SI Units|Dimensional Analysis}}</noinclude>
There are two other major systems of units besides the SI units.
* The CGS system of units, which uses the <u>c</u>entimeter, <u>g</u>ram, and <u>s</u>econd as its base units, and
* The FPS system of units, which uses the <u>f</u>oot, <u>p</u>ound, and <u>s</u>econd as its base units.
The conversion factors between the SI units and other systems of units of length, mass, and time are as follows:
{| class="wikitable" style="margin: 0 auto"
|+ style="font-weight: normal" | {{Anchor|table 1.3}}'''Table 1.3''' Length conversion factors
|-
! {{Diagonal split header|One:|  Equals:}}
! Meters
! Inches
! Feet
! Miles
|-
| scope=row | Meter
| {{Nobr|''1 m''}}
| {{Nobr|39.37 in}}
| {{Nobr|3.281 ft}}
| {{Nobr|6.214 × 10<sup>−4</sup> mi}}
|-
| scope=row | Inch
| {{Nobr|0.0254 m}}
| {{Nobr|''1 in''}}
| <math display="inline">1/12 \text{ ft} \approx 0.083\ 33 \text{ ft}</math>
| <math display="inline">1/63\ 360 \text{ mi} \approx 1.578 \times 10^{-5} \text{ mi}</math>
|-
| scope=row | Foot
| {{Nobr|0.3048 m}}
| {{Nobr|12 in}}
| {{Nobr|''1 ft''}}
| <math display="inline">1/5280 \text{ mi} \approx 1.894 \times 10^{-4} \text{ mi}</math>
|-
| scope=row | Mile
| {{Nobr|1609 m}}
| {{Nobr|63 360 in}}
| {{Nobr|5280 ft}}
| {{Nobr|''1 mi''}}
|}
<br />
{| class="wikitable" style="margin: 0 auto"
|+ style="font-weight: normal" | {{Anchor|table 1.4}}'''Table 1.4''' Mass conversion factors
|-
! {{Diagonal split header|One:|  Equals:}}
! Kilograms
! Grams
! Slugs
! Atomic Mass Units
|-
| scope=row | Kilogram
| {{Nobr|''1 kg''}}
| {{Nobr|1000 g}}
| {{Nobr|0.068 52 slug}}
| {{Nobr|6.022 × 10<sup>26</sup> u}}
|-
| scope=row | Gram
| {{Nobr|1 × 10<sup>−4</sup> kg}}
| {{Nobr|''1 g''}}
| {{Nobr|6.852 × 10<sup>−5</sup> slug}}
| {{Nobr|6.022 × 10<sup>23</sup> u}}
|-
| scope=row | Slug
| {{Nobr|14.59 kg}}
| {{Nobr|14 590 g}}
| {{Nobr|''1 slug''}}
| {{Nobr|8.789 × 10<sup>27</sup> u}}
|-
| scope=row | Atomic Mass Unit
| {{Nobr|1.661 × 10<sup>−27</sup> kg}}
| {{Nobr|1.661 × 10<sup>−24</sup> g}}
| {{Nobr|1.138 × 10<sup>−28</sup> slug}}
| {{Nobr|''1 u''}}
|}
<br />
{| class="wikitable" style="margin: 0 auto"
|+ style="font-weight: normal" | {{Anchor|table 1.5}}'''Table 1.5''' Time conversion factors
|-
! {{Diagonal split header|One:|  Equals:}}
! Seconds
! Minutes
! Hours
! Years
|-
| scope=row | Second
| {{Nobr|''1 s''}}
| <math display="inline">1/60 \text{ min} \approx 0.016\ 67 \text{ min}</math>
| <math display="inline">1/3600 \text{ h} \approx 2.778 \times 10^{-4} \text{ min}</math>
| {{Nobr|3.169 × 10<sup>−8</sup> yr}}
|-
| scope=row | Minute
| {{Nobr|60 s}}
| {{Nobr|''1 min''}}
| <math display="inline">1/60 \text{ h} \approx 0.016\ 67 \text{ h}</math>
| {{Nobr|1.901 × 10<sup>−6</sup> yr}}
|-
| scope=row | Hour
| {{Nobr|3600 s}}
| {{Nobr|60 min}}
| {{Nobr|''1 h''}}
| {{Nobr|1.141 × 10<sup>−4</sup> yr}}
|-
| scope=row | Year
| {{Nobr|3.156 × 10<sup>7</sup> s}}
| {{Nobr|525 900 min}}
| {{Nobr|8766 hr}}
| {{Nobr|''1 yr''}}
|}
<br />
{{FoM/Ex
| 1.1
| If a tree is measured to be {{Nobr|10.0 m}} tall, what is its height in inches and in feet?
| <math display="block">(10.0 \text{ m})\left(\dfrac{39.37 \text{ in}}{1 \text{ m}}\right) = 394 \text{ in}</math>
<math display="block">(10.0 \text{ m})\left(\dfrac{3.281 \text{ ft}}{1 \text{ m}}\right) = 32.8 \text{ ft}</math>
}}
<br />
{{FoM/Ex
| 1.2
| If the volume of a room is {{Nobr|32.0 m<sup>3</sup>,}} what is the volume in cubic inches?
| <math display="block">(32.0 \text{ m}^{3})\left(\dfrac{39.37 \text{ in}}{1 \text{ m}}\right)^{3} = 1.95 \times 10^{6} \text{ in}^{3}</math>
}}
{{BookCat}}
m9nvqx571gz8aixhwnjz72nv4my1naf
Inclusive Data Research Skills for Arts and Humanities/Example title - Diana
0
483870
4639772
4639756
2026-06-10T12:06:24Z
MathXplore
3097823
Added {{[[Template:BookCat|BookCat]]}} using [[User:1234qwer1234qwer4/BookCat.js|BookCat.js]]
4639772
wikitext
text/x-wiki
=== This is a Test Page! ===
[[File:A Representation of Meta AI and Llama (Meta AI Imagine 2025).webp|thumb|Testing the addition of AI Generated Image. ]]
{{BookCat}}
92x08rsn6d1udm8a8f29pfqvzmrzh6t
4639802
4639772
2026-06-10T14:58:14Z
DianaMilenaGalindoClavijo
3604260
4639802
wikitext
text/x-wiki
=== This is a Test Page! ===
[[File:A Representation of Meta AI and Llama (Meta AI Imagine 2025).webp|thumb|Testing the addition of AI Generated Image. ]]
AI + Inclusion Provocations:
- Inclusion from the perspective of who has access to Infrastructure/ Hardware and Software.
- Inclusion from the perspective of who is represented in the system itself, and the people who design the systems.
- Inclusion from the perspective of what skills are needed to access the tools (Is there certain rebellion in not using these tools? Similar to those who use the Operating System Linux, and not Windows or MacOS?)
- Data Frictions
{{BookCat}}
sjsr7lxm8455okvmdqimp8k0d0gr13w
4639815
4639802
2026-06-10T18:55:12Z
Omphalographer
3427146
delete - test
4639815
wikitext
text/x-wiki
{{delete|Test page, per title and text}}
=== This is a Test Page! ===
[[File:A Representation of Meta AI and Llama (Meta AI Imagine 2025).webp|thumb|Testing the addition of AI Generated Image. ]]
AI + Inclusion Provocations:
- Inclusion from the perspective of who has access to Infrastructure/ Hardware and Software.
- Inclusion from the perspective of who is represented in the system itself, and the people who design the systems.
- Inclusion from the perspective of what skills are needed to access the tools (Is there certain rebellion in not using these tools? Similar to those who use the Operating System Linux, and not Windows or MacOS?)
- Data Frictions
{{BookCat}}
if0l72ekh6bxkj44trhag5y4er8xmlb
Template:FoM/Ex
10
483875
4639773
2026-06-10T12:13:07Z
Rainmonger
122366
Created page with "<div style="border: 1px solid; background-color: #ccc; padding: 0 5px"> '''''Example {{{1}}}''''' {{{2}}} </div>"
4639773
wikitext
text/x-wiki
<div style="border: 1px solid; background-color: #ccc; padding: 0 5px">
'''''Example {{{1}}}''''' {{{2}}}
</div>
64vcac54pai9zg7t4ggvsuid9pyukrk
4639776
4639773
2026-06-10T12:30:53Z
Rainmonger
122366
4639776
wikitext
text/x-wiki
<div style="">
'''''Example {{{1}}}''''' {{{2}}}
<hr />
'''Solution {{{1}}}'''
<br />
{{{3}}}
</div>
a4num94zfim04ipqk6amw3oqy4uka1m
4639777
4639776
2026-06-10T12:45:49Z
Rainmonger
122366
4639777
wikitext
text/x-wiki
<div style="padding: 0 1.6em; filter: invert(1) hue-rotate(180deg); backdrop-filter: invert(0) hue-rotate(0deg)">
'''''Example {{{1}}}''''' {{{2}}}
<hr />
'''Solution {{{1}}}'''
<br />
{{{3}}}
</div>
brreirtzlpiq1nh47cildx7abgaeq0y
4639781
4639777
2026-06-10T14:25:21Z
Rainmonger
122366
4639781
wikitext
text/x-wiki
<div style="padding: 0 1.6em; filter: invert(1) hue-rotate(180deg); backdrop-filter: invert(0) hue-rotate(0deg)">
'''''Example {{{1}}}'''''
<span style="font-weight: normal">{{{2}}}</span>
<hr />
'''Solution {{{1}}}'''
<br />
{{{3}}}
</div>
kjzi9skgvugni6rgu40bwicy1hihitl
4639799
4639781
2026-06-10T14:51:43Z
Rainmonger
122366
4639799
wikitext
text/x-wiki
<div style="padding: 0 1.6em; filter: invert(1) hue-rotate(180deg); backdrop-filter: invert(0) hue-rotate(0deg)">
'''''Example {{{1}}}'''''
<span style="font-weight: normal">{{{2}}}</span>
<hr />
'''Solution {{{1}}}'''
<br />
{{{3}}}
</div>
<noinclude>{{Documentation}}</noinclude>
9xytqj1ae1e5fg2wn00snvoti9djfah
Template:FoM/Nav/doc
10
483876
4639789
2026-06-10T14:43:23Z
Rainmonger
122366
Created page with "{{Documentation subpage}} <!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. --> == TemplateData == <templatedata> { "params": { "prev": { "aliases": [ "1" ], "label": "Previous", "description": "This is the name of the previous subsection, section, or chapter before the one this template is used on. Should be empty if on the first element of its group.", "type": "string" }, "next": { "..."
4639789
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. -->
== TemplateData ==
<templatedata>
{
"params": {
"prev": {
"aliases": [
"1"
],
"label": "Previous",
"description": "This is the name of the previous subsection, section, or chapter before the one this template is used on. Should be empty if on the first element of its group.",
"type": "string"
},
"next": {
"aliases": [
"2"
],
"label": "Next",
"description": "This is the name of the next subsection, section, or chapter after the one this template is used on. Should be empty if on the last element of its group.",
"type": "string"
}
},
"description": "This template provides the navigation template for the [[Fundamentals of Mechanics]] text.",
"format": "inline"
}
</templatedata>
<includeonly>
<!-- Categories and interwikis go here, and interwikis also go on Wikidata. -->
</includeonly>
a71nu7yb36uw2nion40g0k4yrrapp45
Template:FoM/Ex/doc
10
483877
4639797
2026-06-10T14:51:24Z
Rainmonger
122366
Created page with "{{Documentation subpage}} <!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. --> == TemplateData == <includeonly> <!-- Categories and interwikis go here, and interwikis also go on Wikidata. --> </includeonly> <templatedata> { "params": { "1": { "label": "Number", "description": "The number of the exercise and solution; should be sequential within a chapter.", "example": "1.1, 1.2, 1.3...", "type"..."
4639797
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. -->
== TemplateData ==
<includeonly>
<!-- Categories and interwikis go here, and interwikis also go on Wikidata. -->
</includeonly>
<templatedata>
{
"params": {
"1": {
"label": "Number",
"description": "The number of the exercise and solution; should be sequential within a chapter.",
"example": "1.1, 1.2, 1.3...",
"type": "string",
"required": true
},
"2": {
"label": "Exercise text",
"description": "The text that follows the \"Exercise #.#\" header; usually a question or problem to be solved.",
"type": "string",
"required": true
},
"3": {
"label": "Solution text",
"description": "The text that follows the \"Solution #.#\" header; usually a question or problem solution.",
"required": true
}
},
"description": "This template provides a simple container for a exercise/solution pair.",
"format": "block"
}
</templatedata>
ris22e7fnbuwtmruqyko7t8s07tm24g
4639800
4639797
2026-06-10T14:52:08Z
Rainmonger
122366
4639800
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. -->
== TemplateData ==
<includeonly>
<!-- Categories and interwikis go here, and interwikis also go on Wikidata. -->
</includeonly>
<templatedata>
{
"params": {
"1": {
"label": "Number",
"description": "The number of the exercise and solution; should be sequential within a chapter.",
"example": "1.1, 1.2, 1.3...",
"type": "string",
"required": true
},
"2": {
"label": "Exercise text",
"description": "The text that follows the \"Exercise #.#\" header; usually a question or problem to be solved.",
"type": "string",
"required": true
},
"3": {
"label": "Solution text",
"description": "The text that follows the \"Solution #.#\" header; usually a question or problem solution.",
"required": true,
"type": "string"
}
},
"description": "This template provides a simple container for a exercise/solution pair.",
"format": "block"
}
</templatedata>
fl1zuj613asxvcb12y35rxiw72p2vjg
Fundamentals of Mechanics/Units and Vectors/Dimensional Analysis
0
483878
4639803
2026-06-10T15:08:07Z
Rainmonger
122366
Created page with "<noinclude>{{FoM/Nav|Conversion Factors|Vectors}}</noinclude> The symbols used to specify the dimensions of length, mass, and time are L, M, and T, respectively. Dimensional analysis is a method used to check the validity of an equation and to derive correct expressions. Only the same dimensions can be added or subtracted; that is, they obey the rules of algebra. To check the validity of an equation, the terms on both sides must have the same dimensions. The dimensions..."
4639803
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|Conversion Factors|Vectors}}</noinclude>
The symbols used to specify the dimensions of length, mass, and time are L, M, and T, respectively. Dimensional analysis is a method used to check the validity of an equation and to derive correct expressions. Only the same dimensions can be added or subtracted; that is, they obey the rules of algebra. To check the validity of an equation, the terms on both sides must have the same dimensions. The dimensions of a physical quantity are denoted using square brackets [ ]. For example, the dimensions of the volume are <math display="inline">[V] = \text{L}^{3}</math>, and those of acceleration are <math display="inline">[a] = \text{L}/\text{T}^{2}</math>.
{{FoM/Ex
| 1.3
| Show that the expression <math display="inline">v^{2} = 2ax</math> is dimensionally consistent, where ''v'' represents the speed, ''x'' represents the displacement, and ''a'' represents the acceleration of the object.
| <math display="block">\left[v^{2}\right] = \left(\text{L}/\text{T}\right)^{2} = \text{L}^{2}/\text{T}^{2}</math>
<math display="block">[ax] = \left(\text{L}/\text{T}^{2}\right) \cdot \text{L} = \text{L}^{2}/\text{T}^{2}</math>
Each term in the equation has the same dimensions, and therefore it is dimensionally correct.
}}
hcap5vqpa6qb5bthb3av3pzklyi940n
4639804
4639803
2026-06-10T15:09:09Z
Rainmonger
122366
4639804
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|Conversion Factors|Vectors}}</noinclude>
The symbols used to specify the dimensions of length, mass, and time are L, M, and T, respectively. Dimensional analysis is a method used to check the validity of an equation and to derive correct expressions. Only the same dimensions can be added or subtracted; that is, they obey the rules of algebra. To check the validity of an equation, the terms on both sides must have the same dimensions. The dimensions of a physical quantity are denoted using square brackets [ ]. For example, the dimensions of the volume are <math display="inline">[V] = \text{L}^{3}</math>, and those of acceleration are <math display="inline">[a] = \text{L}/\text{T}^{2}</math>.
{{FoM/Ex
| 1.3
| Show that the expression <math display="inline">v^{2} = 2ax</math> is dimensionally consistent, where ''v'' represents the speed, ''x'' represents the displacement, and ''a'' represents the acceleration of the object.
| <math display="block">\left[v^{2}\right] = \left(\text{L}/\text{T}\right)^{2} = \text{L}^{2}/\text{T}^{2}</math>
<math display="block">[ax] = \left(\text{L}/\text{T}^{2}\right) \cdot \text{L} = \text{L}^{2}/\text{T}^{2}</math>
Each term in the equation has the same dimensions, and therefore it is dimensionally correct.
}}
{{BookCat}}
53qh2heyd8891dynkvl97gkfsko4mb3
Barriers to Inclusion and Demand for Inclusive AI
0
483879
4639805
2026-06-10T15:38:14Z
Beathebard
3454923
Created page with "[[File:DARESeditinpeson.jpg|thumb|250x250px]] [[File:DARESeditonline.png|thumb]]"
4639805
wikitext
text/x-wiki
[[File:DARESeditinpeson.jpg|thumb|250x250px]]
[[File:DARESeditonline.png|thumb]]
0040osvw83scjctm1g1qkqqaotrjoil
4639807
4639805
2026-06-10T15:46:58Z
Atcovi
1015207
query
4639807
wikitext
text/x-wiki
{{query|does this fit [[Wikibooks:What is Wikibooks?]]}}
[[File:DARESeditinpeson.jpg|thumb|250x250px]]
[[File:DARESeditonline.png|thumb]]
l6ntfc4cz02ilztczwagaojb2assso9
Fundamentals of Mechanics/Units and Vectors/Vectors
0
483880
4639806
2026-06-10T15:38:28Z
Rainmonger
122366
Created page with "<noinclude>{{FoM/Nav|Dimensional Analysis|Vector Algebra}}</noinclude> When exploring physical quantities in nature, it is found that some quantities can be completely described by giving a number along with its unit, such as the mass of an object or the time between two events. These quantities are called scalar quantities. It is also found that other quantities are fully described by giving a number along with its unit in addition to a specified direction, such as the..."
4639806
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|Dimensional Analysis|Vector Algebra}}</noinclude>
When exploring physical quantities in nature, it is found that some quantities can be completely described by giving a number along with its unit, such as the mass of an object or the time between two events. These quantities are called scalar quantities. It is also found that other quantities are fully described by giving a number along with its unit in addition to a specified direction, such as the force on an object. These quantities are called vector quantities.
Scalar quantities have magnitude but don't have a direction, and they obey the rules of ordinary arithmetic. Some examples with their typical variables are:
* mass: ''m''
* volume: ''V''
* temperature: ''T''
* energy: ''E''
* time: ''t''
Vector quantities have both magnitude and direction and obey the rules of vector algebra. Examples are displacement, force, velocity, and acceleration. Analytically, a vector can be indicated in a couple ways:
* Boldface: This notation is often used in printed material, but may be difficult for non-sighted folks to understand.
** Ex: '''x''' '''F''' '''v''' '''a'''
* Overarrow: This notation (used in this book) is the typical way to indicate a vector in handwriting and is more accessible in print and digital forms.
** Ex: <math display="inline">\vec{x} \quad \vec{F} \quad \vec{v} \quad \vec{a}</math>
The magnitude or length of a vector is indicated similar to how absolute value is indicated for scalars: | |.
* Boldface: <math display="inline">|\mathbf{x}| \quad |\mathbf{F}| \quad |\mathbf{v}| \quad |\mathbf{a}|</math>
* Overarrow: <math display="inline">\left|\vec{x}\right| \quad \left|\vec{F}\right| \quad \left|\vec{v}\right| \quad \left|\vec{a}\right|</math>
Geometrically, a vector is represented by and arrow connecting two points (see Fig. 1.1). The length and direction of the arrow represent the magnitude and direction of the vector, respectively, and those values are independent of the choice of coordinate system. For vector <math display="inline">\vec{A}</math> in Fig. 1.1, point P is called the initial point or tail of <math display="inline">\vec{A}</math>, and Q is called the terminal point or head of <math display="inline">\vec{A}</math>.
{{BookCat}}
jy7dimq7cfc5gerwdamr4gcpj1t6c92
4639830
4639806
2026-06-10T21:00:40Z
Rainmonger
122366
4639830
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|Dimensional Analysis|Vector Algebra}}</noinclude>
When exploring physical quantities in nature, it is found that some quantities can be completely described by giving a number along with its unit, such as the mass of an object or the time between two events. These quantities are called scalar quantities. It is also found that other quantities are fully described by giving a number along with its unit in addition to a specified direction, such as the force on an object. These quantities are called vector quantities.
Scalar quantities have magnitude but don't have a direction, and they obey the rules of ordinary arithmetic. Some examples with their typical variables are:
* mass: ''m''
* volume: ''V''
* temperature: ''T''
* energy: ''E''
* time: ''t''
Vector quantities have both magnitude and direction and obey the rules of vector algebra. Examples are displacement, force, velocity, and acceleration. Analytically, a vector can be indicated in a couple ways:
* Boldface: This notation is often used in printed material, but may be difficult for non-sighted folks to understand.
** Ex: '''x''' '''F''' '''v''' '''a'''
* Overarrow: This notation (used in this book) is the typical way to indicate a vector in handwriting and is more accessible in print and digital forms.
** Ex: <math display="inline">\vec{x} \quad \vec{F} \quad \vec{v} \quad \vec{a}</math>
The magnitude or length of a vector is indicated similar to how absolute value is indicated for scalars: | |.
* Boldface: <math display="inline">|\mathbf{x}| \quad |\mathbf{F}| \quad |\mathbf{v}| \quad |\mathbf{a}|</math>
* Overarrow: <math display="inline">\left|\vec{x}\right| \quad \left|\vec{F}\right| \quad \left|\vec{v}\right| \quad \left|\vec{a}\right|</math>
{{Anchor|fig 1.1}}
[[File:FoM Figure 1.1.svg|frame|right|'''Fig. 1.1''' A vector is represented geometrically by an arrow PQ]]
Geometrically, a vector is represented by an arrow connecting two points (see [[#fig 1.1|Fig. 1.1]]). The length and direction of the arrow represent the magnitude and direction of the vector, respectively, and those values are independent of the choice of coordinate system. For vector <math display="inline">\vec{A}</math> in Fig. 1.1, point P is called the initial point or tail of <math display="inline">\vec{A}</math>, and Q is called the terminal point or head of <math display="inline">\vec{A}</math>.
{{BookCat}}
3ykzcb8jpyrsjo73oeys7tr3uc6hmo6
Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bc4/3...Nf6/4. Ng5/4...d5/5. exd5/5...Na5/6. Bb5/6...c6/7. dxc6/7...bxc6/8. Qf3/8...cxb5/9. Qxa8/9...Qc7
0
483881
4639818
2026-06-10T19:34:53Z
Klranlage27
3604250
Added a page for 9...Qc7 with a description of the move.
4639818
wikitext
text/x-wiki
=== 9...Qc7 ===
Defends the a7-pawn and prepares Nc6. If White isn't careful and doesn't play 10.Qf3!, there may be ideas to trap the queen on a8.
b91r9kax0di8fn78m6pbdq4r73xtdhs
Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bc4/3...Nf6/4. Ng5/4...d5/5. exd5/5...Na5/6. Bb5/6...c6/7. dxc6/7...bxc6/8. Qf3/8...cxb5/9. Qxa8/9...Qc7/10. Qf3
0
483882
4639819
2026-06-10T19:48:42Z
Klranlage27
3604250
Added a page for 10.Qf3 with a description of the move.
4639819
wikitext
text/x-wiki
=== 10.Qf3 ===
The queen returns to a safer square.
q1od8yz9yn4hibddd9zgvxt97vxores
4639820
4639819
2026-06-10T19:49:38Z
Klranlage27
3604250
/* 10.Qf3 */
4639820
wikitext
text/x-wiki
=== 10. Qf3 ===
The queen returns to a safer square.
2zqrzcmofbzorn2u5x7p03kcbyg47pf
Fundamentals of Mechanics/Units and Vectors/Vector Algebra
0
483883
4639833
2026-06-10T21:09:15Z
Rainmonger
122366
Created page with "<noinclude>{{FoM/Nav|Vectors|Coordinate Systems}}</noinclude> In this section, we will discuss how mathematical operations are applied to vectors. == Section Contents == # [[/Equality of Two Vectors/]] # [[/Addition/]] # [[/Negative of a Vector/]] # [[/Zero Vector/]] # [[/Subtraction of Vectors/]] # [[/Multiplication of a Vector by a Scalar/]] # [[/Some Properties/]] # [[/Unit Vector/]] # [[/Scalar or Dot Product/]] # [[/Vector or Cross Product/]] {{BookCat}}"
4639833
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|Vectors|Coordinate Systems}}</noinclude>
In this section, we will discuss how mathematical operations are applied to vectors.
== Section Contents ==
# [[/Equality of Two Vectors/]]
# [[/Addition/]]
# [[/Negative of a Vector/]]
# [[/Zero Vector/]]
# [[/Subtraction of Vectors/]]
# [[/Multiplication of a Vector by a Scalar/]]
# [[/Some Properties/]]
# [[/Unit Vector/]]
# [[/Scalar or Dot Product/]]
# [[/Vector or Cross Product/]]
{{BookCat}}
emr99lht1d2y8fovznn4maienx6iizr
Template:FoM/Nav/styles.css
10
483884
4639836
2026-06-10T22:32:47Z
Rainmonger
122366
Created page with "table.navlinks { width: 100%; border: solid 1px #71c837; background-color: var(--background-color-success-subtle, #c6e9af); color: inherit; } td.navprevious { text-align: left; width: 33%; } td.navtitle { text-align: center; width: 34%; } td.navnext { text-align: right; width: 33%; }"
4639836
sanitized-css
text/css
table.navlinks {
width: 100%;
border: solid 1px #71c837;
background-color: var(--background-color-success-subtle, #c6e9af);
color: inherit;
}
td.navprevious {
text-align: left;
width: 33%;
}
td.navtitle {
text-align: center;
width: 34%;
}
td.navnext {
text-align: right;
width: 33%;
}
dn6dswzynkkgpg77lhdjr0hqow89w7y
4639838
4639836
2026-06-10T23:28:27Z
Rainmonger
122366
4639838
sanitized-css
text/css
table.navlinks.fom {
width: 100%;
border: solid 1px #71c837;
background-color: var(--background-color-success-subtle, #c6e9af);
color: inherit;
}
td.navprevious.fom {
text-align: left;
width: 33%;
}
td.navtitle.fom {
text-align: center;
width: 34%;
}
td.navnext.fom {
text-align: right;
width: 33%;
}
5yd56w629tq2exvkem1cfwmg15h8jqf
Template:FoM/Vec
10
483885
4639841
2026-06-10T23:44:07Z
Rainmonger
122366
Created page with "{{#tag: math | \vec{ {{{1}}} } }}"
4639841
wikitext
text/x-wiki
{{#tag: math | \vec{ {{{1}}} } }}
rab6l9c2toz924brd6h6bp97jxyddjb
4639844
4639841
2026-06-10T23:48:48Z
Rainmonger
122366
4639844
wikitext
text/x-wiki
{{#tag: math | \vec{ {{{1}}} } }}
<noinclude>{{Documentation}}</noinclude>
gts8osmi4stkkmqggcwjz3s90ykd36r
4639845
4639844
2026-06-11T00:03:08Z
Rainmonger
122366
4639845
wikitext
text/x-wiki
{{#tag:math|\vec{ {{{1}}} } }}<noinclude>{{Documentation}}</noinclude>
o7adh4g338x4c733didxta4n3736eyb
4639863
4639845
2026-06-11T01:56:18Z
Rainmonger
122366
4639863
wikitext
text/x-wiki
{{#if:{{{2|}}}|''{{{1}}}⃗''|{{#tag:math|\vec{ {{{1}}} } }}}}<noinclude>{{Documentation}}</noinclude>
lk26l7tq6uan4czwb8dq3tevjsoy6qy
4639866
4639863
2026-06-11T02:07:16Z
Rainmonger
122366
4639866
wikitext
text/x-wiki
{{#if:{{{2|}}}|''{{{1}}}⃑''|{{#tag:math|\vec{ {{{1}}} } }}}}<noinclude>{{Documentation}}</noinclude>
1lez906ldldpy9kzbg48qmiyxkn6u2a
4639867
4639866
2026-06-11T02:16:29Z
Rainmonger
122366
4639867
wikitext
text/x-wiki
{{#if:{{{2|}}}|<var class="vector fom">{{{1}}}⃑</var>|{{#tag:math|\vec{ {{{1}}} } }}}}<noinclude>{{Documentation}}</noinclude>
8l33a67pbv6y316447azfocr1n1yfuf
4639870
4639867
2026-06-11T02:24:54Z
Rainmonger
122366
4639870
wikitext
text/x-wiki
{{#if:{{{2|}}}|<templatestyles src="FoM/Vec/styles.css" /><var class="vector fom">{{{1}}}<span>⃑</span></var>|{{#tag:math|\vec{ {{{1}}} } }}}}<noinclude>{{Documentation}}</noinclude>
6az0t3pkxqkphpzhzs37xyva0mq2on1
4639871
4639870
2026-06-11T02:25:39Z
Rainmonger
122366
4639871
wikitext
text/x-wiki
{{#if:{{{2|}}}|<templatestyles src="FoM/Vec/styles.css" /><var class="vector fom">{{{1}}}<span>⃗</span></var>|{{#tag:math|\vec{ {{{1}}} } }}}}<noinclude>{{Documentation}}</noinclude>
6guz6xl4uiy8qo92qnz2g1qwt1i469r
Template:FoM/Vec/doc
10
483886
4639843
2026-06-10T23:48:15Z
Rainmonger
122366
Created page with "{{Documentation subpage}} <!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. --> == TemplateData == <templatedata> { "params": { "1": { "label": "Variable", "description": "String to be used as the vector name. Displays in italics by default", "type": "string", "required": true } }, "description": "Simple template that creates an appropriately formatted vector variable", "format": "inline" } </t..."
4639843
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. -->
== TemplateData ==
<templatedata>
{
"params": {
"1": {
"label": "Variable",
"description": "String to be used as the vector name. Displays in italics by default",
"type": "string",
"required": true
}
},
"description": "Simple template that creates an appropriately formatted vector variable",
"format": "inline"
}
</templatedata>
<includeonly>
<!-- Categories and interwikis go here, and interwikis also go on Wikidata. -->
</includeonly>
ppxmqp6yz3m7xb7hvqczrlg3v8i6hsm
4639857
4639843
2026-06-11T01:23:51Z
Rainmonger
122366
4639857
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. -->
== TemplateData ==
{{TemplateData header}}<templatedata>
{
"params": {
"1": {
"label": "Variable",
"description": "String to be used as the vector name. Displays in italics by default",
"type": "string",
"required": true
}
},
"description": "Simple template that creates an appropriately formatted vector variable",
"format": "inline"
}
</templatedata>
<includeonly>
<!-- Categories and interwikis go here, and interwikis also go on Wikidata. -->
</includeonly>
dlxuhh1l2wvdugtqkee2r29md3p2068
4639858
4639857
2026-06-11T01:24:48Z
Rainmonger
122366
4639858
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. -->
== TemplateData ==
{{TemplateData header}}<templatedata>
{
"params": {
"1": {
"label": "Variable",
"description": "String to be used as the vector name. Displays in italics by default",
"type": "string",
"required": true
}
},
"description": "Simple template that creates an appropriately formatted vector variable; for inverted colors, see {{FoM/VecI}}",
"format": "inline"
}
</templatedata>
<includeonly>
<!-- Categories and interwikis go here, and interwikis also go on Wikidata. -->
</includeonly>
syb9vn2pz3oipxu5ljofyckhwgnqq2i
4639864
4639858
2026-06-11T02:00:49Z
Rainmonger
122366
4639864
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. -->
== TemplateData ==
{{TemplateData header}}<templatedata>
{
"params": {
"1": {
"label": "Variable",
"description": "String to be used as the vector name. Displays in italics by default",
"type": "string",
"required": true
},
"2": {
"label": "File caption?",
"description": "If truthy, will display as Unicode instead of rendered math",
"type": "string",
"default": "no"
}
},
"description": "Simple template that creates an appropriately formatted vector variable, with an option for file captions",
"format": "inline"
}
</templatedata>
<includeonly>
<!-- Categories and interwikis go here, and interwikis also go on Wikidata. -->
</includeonly>
ilkgyhhpzs7ulke8ypgbpdghgpksa5c
Template:FoM/VecI
10
483887
4639846
2026-06-11T00:27:44Z
Rainmonger
122366
Created page with "{{#tag:math|\vec{ {{{1}}} } }}<noinclude>{{Documentation}}</noinclude>"
4639846
wikitext
text/x-wiki
{{#tag:math|\vec{ {{{1}}} } }}<noinclude>{{Documentation}}</noinclude>
o7adh4g338x4c733didxta4n3736eyb
4639856
4639846
2026-06-11T01:22:21Z
Rainmonger
122366
4639856
wikitext
text/x-wiki
<templatestyles src="FoM/VecI/styles.css" />{{#tag:math|\vec{ {{{1}}} } | class="invert fom"}}<noinclude>{{Documentation}}</noinclude>
8it44uexja5u2eytabzc81n3yy8i1ac
4639860
4639856
2026-06-11T01:34:58Z
Rainmonger
122366
4639860
wikitext
text/x-wiki
{{#tag:math|\vec{ {{{1}}} } | style="filter: invert(1) hue-rotate(180deg); backdrop-filter: invert(0) hue-rotate(0deg)"}}<noinclude>{{Documentation}}</noinclude>
9tcthpi29y8mtcq2ium0a44xad7xbr5
4639861
4639860
2026-06-11T01:48:56Z
Rainmonger
122366
Blanked the page
4639861
wikitext
text/x-wiki
phoiac9h4m842xq45sp7s6u21eteeq1
Template:FoM/VecI/doc
10
483888
4639847
2026-06-11T00:35:28Z
Rainmonger
122366
Created page with "{{Documentation subpage}} <!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. --> == TemplateData == <includeonly> <!-- Categories and interwikis go here, and interwikis also go on Wikidata. --> </includeonly> <templatedata> { "params": { "1": { "label": "Variable", "description": "String to be used as the vector name. Displays in italics by default", "type": "string", "required": true } }, "de..."
4639847
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. -->
== TemplateData ==
<includeonly>
<!-- Categories and interwikis go here, and interwikis also go on Wikidata. -->
</includeonly>
<templatedata>
{
"params": {
"1": {
"label": "Variable",
"description": "String to be used as the vector name. Displays in italics by default",
"type": "string",
"required": true
}
},
"description": "Simple template that creates an appropriately formatted vector variable, with colors inverted from that of {{Tl|FoM/Vec}}",
"format": "inline"
}
</templatedata>
hxm2sd73c7u9lep5qj0stzcv2b79hz3
4639853
4639847
2026-06-11T01:15:26Z
Rainmonger
122366
4639853
wikitext
text/x-wiki
{{Documentation subpage}}
<!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. -->
== TemplateData ==
{{TemplateData header}}<templatedata>
{
"params": {
"1": {
"label": "Variable",
"description": "String to be used as the vector name. Displays in italics by default",
"type": "string",
"required": true
}
},
"description": "Simple template that creates an appropriately formatted vector variable, with colors inverted from that of its sibling template, {{FoM/Vec}}.",
"format": "inline"
}
</templatedata>
<includeonly>
<!-- Categories and interwikis go here, and interwikis also go on Wikidata. -->
</includeonly>
54he9fz8pxxocj2wmm1am9ux8zdp59o
4639862
4639853
2026-06-11T01:49:28Z
Rainmonger
122366
Blanked the page
4639862
wikitext
text/x-wiki
phoiac9h4m842xq45sp7s6u21eteeq1
Fundamentals of Mechanics/Units and Vectors/Vector Algebra/Equality of Two Vectors
0
483889
4639848
2026-06-11T00:37:49Z
Rainmonger
122366
Created page with "<noinclude>{{FoM/Nav|next=Addition}}</noinclude> [[File:FoM Figure 1.2.svg|frame|left|'''Fig 1.2''' Vectors {{FoM/Vec|A}} and {{FoM/Vec|B}} are equal]] The two vectors {{FoM/Vec|A}} and {{FoM/Vec|B}} are said to be equal <math display="inline">(\vec{A} = \vec{B})</math> only if they have the same magnitude and direction, whether or not their initial points are the same. (See [[#fig 1.2|Fig. 1.2]].) {{BookCat}}"
4639848
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|next=Addition}}</noinclude>
[[File:FoM Figure 1.2.svg|frame|left|'''Fig 1.2''' Vectors {{FoM/Vec|A}} and {{FoM/Vec|B}} are equal]]
The two vectors {{FoM/Vec|A}} and {{FoM/Vec|B}} are said to be equal <math display="inline">(\vec{A} = \vec{B})</math> only if they have the same magnitude and direction, whether or not their initial points are the same. (See [[#fig 1.2|Fig. 1.2]].)
{{BookCat}}
sgbc18k6p9d39gmj2menusm4y19lzau
4639865
4639848
2026-06-11T02:01:50Z
Rainmonger
122366
4639865
wikitext
text/x-wiki
<noinclude>{{FoM/Nav|next=Addition}}</noinclude>
{{Anchor|fig 1.2}}
[[File:FoM Figure 1.2.svg|frame|left|'''Fig 1.2''' Vectors {{FoM/Vec|A|yes}} and {{FoM/Vec|B|yes}} are equal]]
The two vectors {{FoM/Vec|A}} and {{FoM/Vec|B}} are said to be equal <math display="inline">(\vec{A} = \vec{B})</math> only if they have the same magnitude and direction, whether or not their initial points are the same. (See [[#fig 1.2|Fig. 1.2]].)
{{BookCat}}
qlbu4vb11gtqrl4vw9pm8jzj3ydayad
Module:Format TemplateData
828
483890
4639849
2026-06-11T00:48:34Z
Rainmonger
122366
Copied from WP version
4639849
Scribunto
text/plain
local TemplateData = {
item = 46997995,
serial = "2025-02-07",
suite = "TemplateData"
}
local Failsafe = TemplateData
local Config = {
-- Multiple option names mapped into unique internal fields.
basicCnf = {
catProblem = "strange",
classMultiColumns = "selMultClm",
classNoNumTOC = "suppressTOCnum",
classTable = "classTable",
cssParWrap = "cssTabWrap",
cssParams = "cssTable",
docpageCreate = "suffix",
docpageDetect = "subpage",
helpAliases = "supportAliases",
helpBoolean = "support4boolean",
helpContent = "support4content",
helpDate = "support4date",
helpDefault = "support4default",
helpFile = "support4wiki-file-name",
helpFormat = "supportFormat",
helpLine = "support4line",
helpNumber = "support4number",
helpPage = "support4wiki-page-name",
helpString = "support4string",
helpTemplate = "support4wiki-template-name",
helpURL = "support4url",
helpUser = "support4wiki-user-name",
msgDescMiss = "solo",
tStylesMultiColumns = "stylesMultClm",
tStylesTOCnum = "stylesTOCnum"
},
classTable = { "wikitable" }, -- Classes for params table
cssTable = false, -- Styles for params table
cssTabWrap = false, -- Styles for params table wrapper
debug = false,
debugmultilang = "#c0c0c0",
jsonDebug = "json-code-lint", -- Class for jsonDebug tool
loudly = false, -- Show exported element, etc.
solo = false, -- Complaint on missing description
strange = false, -- Title of maintenance category
subpage = false, -- Pattern to identify subpage
suffix = false, -- Subpage creation scheme
suppressTOCnum = false -- Class for TOC number suppression
}
local Data = {
div = false, -- <div class="mw-templatedata-doc-wrap">
got = false, -- table, initial templatedata object
heirs = false, -- table, params that are inherited
jump = false, -- source position at end of "params"
less = false, -- main description missing
lasting = false, -- old syntax encountered
lazy = false, -- doc mode; do not generate effective <templatedata>
leading = false, -- show TOC
-- low = false, -- 1= mode
order = false, -- parameter sequence
params = false, -- table, exported parameters
scream = false, -- error messages
sibling = false, -- TOC juxtaposed
slang = nil, -- project/user language code
slim = false, -- JSON reduced to plain
source = false, -- JSON input
strip = false, -- <templatedata> evaluation
tag = false, -- table, exported root element
title = false, -- page
tree = false -- table, rewritten templatedata object
}
local Permit = {
builder = {
after = "block",
align = "block",
block = "block",
compressed = "block",
dense = "block",
grouped = "inline",
half = "inline",
indent = "block",
inline = "inline",
last = "block",
lead = "block",
newlines = "*",
spaced = "inline"
},
colors = {
bg = "var(--background-color-base, #fff)",
deprecated = "#ffcbcb",
fg = "var(--color-base, #000)",
optional = "#eaecf0",
required = "#eaf3ff",
suggested = "#fff",
tableheadbg = "var(--background-color-progressive-subtle, #b3b7ff)"
},
params = {
aliases = "table",
autovalue = "string",
default = "string table I18N nowiki",
deprecated = "boolean string I18N",
description = "string table I18N",
example = "string table I18N nowiki",
inherits = "string",
label = "string table I18N",
required = "boolean",
style = "string table",
suggested = "boolean",
suggestedvalues = "string table number boolean",
type = "string"
},
root = {
description = "string table I18N",
format = "string",
maps = "table",
paramOrder = "table",
params = "table",
sets = "table"
},
search = "[{,]%%s*(['\"])%s%%1%%s*:%%s*%%{",
types = {
boolean = true,
content = true,
date = true,
line = true,
number = true,
string = true,
unknown = true,
url = true,
["string/line"] = "line",
["string/wiki-page-name"] = "wiki-page-name",
["string/wiki-user-name"] = "wiki-user-name",
["unbalanced-wikitext"] = true,
["wiki-file-name"] = true,
["wiki-page-name"] = true,
["wiki-template-name"] = true,
["wiki-user-name"] = true
}
}
local function Fault(alert)
-- Memorize error message.
-- Parameter:
-- alert -- string, error message
if Data.scream then
Data.scream = string.format("%s *** %s", Data.scream, alert)
else
Data.scream = alert
end
end -- Fault()
local function Fetch(ask, allow)
-- Fetch module.
-- Parameter:
-- ask -- string, with name
-- "/global"
-- "JSONutil"
-- "Multilingual"
-- "Text"
-- "WLink"
-- allow -- true: no error if unavailable
-- Returns table of module
-- Error: Module not available
local sign = ask
local r, stem
if sign:sub(1, 1) == "/" then
sign = TemplateData.frame:getTitle() .. sign
else
stem = sign
sign = "Module:" .. stem
end
if TemplateData.extern then
r = TemplateData.extern[sign]
else
TemplateData.extern = {}
end
if not r then
local lucky, g = pcall(require, sign)
if type(g) == "table" then
if stem and type(g[stem]) == "function" then
r = g[stem]()
else
r = g
end
TemplateData.extern[sign] = r
elseif not allow then
error(string.format("Fetch(%s) %s", sign, g), 0)
end
end
return r
end -- Fetch()
local function Foreign()
-- Guess human language, returns slang or not.
if type(Data.slang) == "nil" then
local Multilingual = Fetch("Multilingual", true)
if Multilingual and type(Multilingual.userLangCode) == "function" then
Data.slang = Multilingual.userLangCode()
else
Data.slang = mw.language.getContentLanguage():getCode():lower()
end
end
if Data.slang and mw.ustring.codepoint(Data.slang, 1, 1) > 122 then
Data.slang = false
end
return Data.slang
end -- Foreign()
local function facet(ask, at)
-- Find physical position of parameter definition in JSON.
-- Parameter:
-- ask -- string, parameter name
-- at -- number, physical position within definition
-- Returns number or nil.
local seek = string.format(Permit.search, ask:gsub("%%", "%%%%"):gsub("([%-.()+*?^$%[%]])", "%%%1"))
local i, k, r, slice, source
if not Data.jump then
Data.jump = Data.source:find("params", 2)
if Data.jump then
Data.jump = Data.jump + 7
else
Data.jump = 1
end
end
i, k = Data.source:find(seek, at + Data.jump)
while i and not r do
source = Data.source:sub(k + 1)
slice = source:match('^%s*"([^"]+)"s*:')
if not slice then
slice = source:match("^%s*'([^']+)'%s*:")
end
if (slice and Permit.params[slice]) or source:match("^%s*%}") then
r = k
else
i, k = Data.source:find(seek, k)
end
end -- while i
return r
end -- facet()
local function facilities(apply)
-- Retrieve details of suggestedvalues.
-- Parameter:
-- apply -- table, with plain or enhanced values
-- .suggestedvalues -- table|string|number, or more
-- Returns
-- 1 -- table, with suggestedvalues
-- 2 -- table, with CSS map, or not
-- 3 -- string, with class, or not
-- 4 -- string, with templatestyles, or not
local elements = apply.suggestedvalues
local s = type(elements)
local r1, r2, r3, r4
if s == "table" then
local values = elements.values
if type(values) == "table" then
r1 = values
if type(elements.scroll) == "string" then
r2 = r2 or {}
r2.height = apply.scroll
r2.overflow = "auto"
end
if type(elements.minwidth) == "string" then
local s = type(elements.maxcolumns)
r2 = r2 or {}
r2["column-width"] = elements.minwidth
if s == "string" or s == "number" then
s = tostring(elements.maxcolumns)
r2["column-count"] = s
end
if type(Config.selMultClm) == "string" then
r3 = Config.selMultClm
end
if type(Config.stylesMultClm) == "string" then
local src = Config.stylesMultClm .. "/styles.css"
r4 = TemplateData.frame:extensionTag("templatestyles", nil, { src = src })
end
end
elseif elements and elements ~= "" then
r1 = elements
end
elseif s == "string" then
s = mw.text.trim(about)
if s ~= "" then
r1 = {}
table.insert(r1, { code = s })
end
elseif s == "number" then
r1 = {}
table.insert(r1, { code = tostring(elements) })
end
return r1, r2, r3, r4
end -- facilities()
local function factory(adapt)
-- Retrieve localized text from system message.
-- Parameter:
-- adapt -- string, message ID after "templatedata-"
-- Returns string, with localized text
local o = mw.message.new("templatedata-" .. adapt)
if Foreign() then
o:inLanguage(Data.slang)
end
return o:plain()
end -- factory()
local function faculty(adjust)
-- Test template argument for Boolean.
-- adjust -- string or nil
-- Returns boolean.
local s = type(adjust)
local r
if s == "string" then
r = mw.text.trim(adjust)
r = (r ~= "" and r ~= "0")
elseif s == "boolean" then
r = adjust
else
r = false
end
return r
end -- faculty()
local function failures()
-- Retrieve error collection and category, returns string.
local r
if Data.scream then
local e = mw.html.create("span"):addClass("error"):wikitext(Data.scream)
r = tostring(e)
mw.addWarning("'''TemplateData'''<br />" .. Data.scream)
if Config.strange then
r = string.format("%s[[category:%s]]", r, Config.strange)
end
else
r = ""
end
return r
end -- failures()
local function fair(adjust)
-- Reduce text to one line of plain text, or noexport wikitext blocks.
-- adjust -- string
-- Returns string with adjusted text.
local f = function(a)
return a:gsub("%s*\n%s*", " "):gsub("%s%s+", " ")
end
local tags = {
{
start = "<noexport>",
stop = "</noexport>",
},
{
start = "<exportonly>",
stop = "</exportonly>",
l = false,
},
}
local r = adjust
local i, j, k, s, tag
for m = 1, 2 do
tag = tags[m]
if r:find(tag.start, 1, true) then
s = r
r = ""
i = 1
tag.l = true
j, k = s:find(tag.start, i, true)
while j do
if j > 1 then
r = r .. f(s:sub(i, j - 1))
end
i = k + 1
j, k = s:find(tag.stop, i, true)
if j then
if m == 1 then
r = r .. s:sub(i, j - 1)
end
i = k + 1
j, k = s:find(tag.start, i, true)
else
Fault("missing " .. tag.stop)
end
end -- while j
r = r .. s:sub(i)
elseif m == 1 then
r = f(r)
end
end -- for m
if tags[2].l then
r = r:gsub("<exportonly>.*</exportonly>", "")
end
return r
end -- fair()
local function fancy(advance, alert)
-- Present JSON source.
-- Parameter:
-- advance -- true, for nice
-- alert -- true, for visible
-- Returns string.
local r
if Data.source then
local support = Config.jsonDebug
local css
if advance then
css = {
height = "6em",
resize = "vertical",
}
r = {
[1] = "syntaxhighlight",
[2] = Data.source,
lang = "json",
style = table.concat(css, ";"),
}
if alert then
r.class(support)
end
r = TemplateData.frame:callParserFunction("#tag", r)
else
css = {
["font-size"] = "0.77em",
["line-height"] = "1.35",
}
if alert then
css.resize = "vertical"
else
css.display = "none"
end
r = mw.html.create("pre"):addClass(support):css(css):wikitext(mw.text.encode(Data.source))
r = tostring(r)
end
r = "\n" .. r
else
r = ""
end
return r
end -- fancy()
local function faraway(alternatives)
-- Retrieve best language version from multilingual text.
-- Parameter:
-- alternatives -- table, to be evaluated
-- Returns
-- 1 -- string, with best match
-- 2 -- table of other versions, if any
local n = 0
local variants = {}
local r1, r2
for k, v in pairs(alternatives) do
if type(v) == "string" then
v = mw.text.trim(v)
if v ~= "" and type(k) == "string" then
k = k:lower()
variants[k] = v
n = n + 1
end
end
end -- for k, v
if n > 0 then
local Multilingual = Fetch("Multilingual", true)
if Multilingual and type(Multilingual.i18n) == "function" then
local show, slang = Multilingual.i18n(variants)
if show then
r1 = show
variants[slang] = nil
r2 = variants
end
end
if not r1 then
Foreign()
for k, v in pairs(variants) do
if n == 1 then
r1 = v
elseif Data.slang == k then
variants[k] = nil
r1 = v
r2 = variants
end
end -- for k, v
end
if r2 and Multilingual then
for k, v in pairs(r2) do
if v and not Multilingual.isLang(k, true) then
Fault(string.format("%s <code>lang=%s</code>", "Invalid", k))
end
end -- for k, v
end
end
return r1, r2
end -- faraway()
local function fashioned(about, asked, assign)
-- Create description head.
-- Parameter:
-- about -- table, supposed to contain description
-- asked -- true, if mandatory description
-- assign -- <block>, if to be equipped
-- Returns <block> with head, or nil.
local para = assign or mw.html.create("div")
local plus, r
if about and about.description then
if type(about.description) == "string" then
para:wikitext(about.description)
else
para:wikitext(about.description[1])
plus = mw.html.create("ul")
plus:css("text-align", "left")
for k, v in pairs(about.description[2]) do
plus:node(
mw.html
.create("li")
:node(mw.html.create("code"):wikitext(k))
:node(mw.html.create("br"))
:wikitext(fair(v))
)
end -- for k, v
if Config.loudly then
plus = mw.html
.create("div")
:css("background-color", Config.debugmultilang)
:css("color", "inherit")
:node(plus)
else
plus:addClass("templatedata-maintain"):css("display", "none")
end
end
elseif Config.solo and asked then
para:addClass("error"):wikitext(Config.solo)
Data.less = true
else
para = false
end
if para then
if plus then
r = mw.html.create("div"):node(para):node(plus)
else
r = para
end
end
return r
end -- fashioned()
local function fatten(access)
-- Create table row for subheadline.
-- Parameter:
-- access -- string, with name
-- Returns <tr>.
local param = Data.tree.params[access]
local sub, sort = access:match("(=+)%s*(%S.*)$")
local headline = mw.html.create(string.format("h%d", #sub))
local r = mw.html.create("tr")
local td = mw.html.create("td"):attr("colspan", "5"):attr("data-sort-value", "!" .. sort)
local s
if param.style then
s = type(param.style)
if s == "table" then
td:css(param.style)
elseif s == "string" then
td:cssText(param.style)
end
end
s = fashioned(param, false, headline)
if s then
headline = s
else
headline:wikitext(sort)
end
td:node(headline)
r:node(td)
return r
end -- fatten()
local function fathers()
-- Merge parameters with inherited values.
local n = 0
local p = Data.params
local t = Data.tree.params
local p2, t2
for k, v in pairs(Data.heirs) do
n = n + 1
end -- for k, v
for i = 1, n do
if Data.heirs then
for k, v in pairs(Data.heirs) do
if v and not Data.heirs[v] then
n = n - 1
t[k].inherits = nil
Data.heirs[k] = nil
p2 = {}
t2 = {}
if p[v] then
for k2, v2 in pairs(p[v]) do
p2[k2] = v2
end -- for k2, v2
if p[k] then
for k2, v2 in pairs(p[k]) do
if type(v2) ~= "nil" then
p2[k2] = v2
end
end -- for k2, v2
end
p[k] = p2
for k2, v2 in pairs(t[v]) do
t2[k2] = v2
end -- for k2, v2
for k2, v2 in pairs(t[k]) do
if type(v2) ~= "nil" then
t2[k2] = v2
end
end -- for k2, v2
t[k] = t2
else
Fault("No params[] inherits " .. v)
end
end
end -- for k, v
end
end -- i = 1, n
if n > 0 then
local s
for k, v in pairs(Data.heirs) do
if v then
if s then
s = string.format("%s | %s", s, k)
else
s = "Circular inherits: " .. k
end
end
end -- for k, v
Fault(s)
end
end -- fathers()
local function favorize()
-- Local customization issues.
local boole = { ["font-size"] = "1.25em" }
local l, cx = pcall(mw.loadData, TemplateData.frame:getTitle() .. "/config")
local scripting, style
TemplateData.ltr = not mw.language.getContentLanguage():isRTL()
if TemplateData.ltr then
scripting = "left"
else
scripting = "right"
end
boole["margin-" .. scripting] = "3em"
Permit.boole = {
[false] = {
css = boole,
lead = true,
show = "☐",
},
[true] = {
css = boole,
lead = true,
show = "☑",
},
}
Permit.css = {}
for k, v in pairs(Permit.colors) do
if k == "tableheadbg" then
k = "tablehead"
end
if k == "fg" then
style = "color"
else
style = "background-color"
end
Permit.css[k] = {}
Permit.css[k][style] = v
end -- for k, v
if type(cx) == "table" then
local c, s
if type(cx.permit) == "table" then
if type(cx.permit.boole) == "table" then
if type(cx.permit.boole[true]) == "table" then
Permit.boole[false] = cx.permit.boole[false]
end
if type(cx.permit.boole[true]) == "table" then
Permit.boole[true] = cx.permit.boole[true]
end
end
if type(cx.permit.css) == "table" then
for k, v in pairs(cx.permit.css) do
if type(v) == "table" then
Permit.css[k] = v
end
end -- for k, v
end
end
for k, v in pairs(Config.basicCnf) do
s = type(cx[k])
if s == "string" or s == "table" then
Config[v] = cx[k]
end
end -- for k, v
end
if type(Config.subpage) ~= "string" or type(Config.suffix) ~= "string" then
local got = mw.message.new("templatedata-doc-subpage")
local suffix
if got:isDisabled() then
suffix = "doc"
else
suffix = got:plain()
end
if type(Config.subpage) ~= "string" then
Config.subpage = string.format("/%s$", suffix)
end
if type(Config.suffix) ~= "string" then
Config.suffix = string.format("%%s/%s", suffix)
end
end
end -- favorize()
local function feasible(all, at, about)
-- Deal with suggestedvalues within parameter.
-- Parameter:
-- all -- parameter details
-- .default
-- .type
-- at -- string, with parameter name
-- about -- suggestedvalues -- table,
-- value and possibly description
-- table may have elements:
-- .code -- mandatory
-- .label -- table|string
-- .support -- table|string
-- .icon -- string
-- .class -- table|string
-- .css -- table
-- .style -- string
-- .less -- true: suppress code
-- Returns
-- 1: mw.html object <ul>
-- 2: sequence table with values, or nil
local h = {}
local e, r1, r2, s, v
if #about > 0 then
for i = 1, #about do
e = about[i]
s = type(e)
if s == "table" then
if type(e.code) == "string" then
s = mw.text.trim(e.code)
if s == "" then
e = nil
else
e.code = s
end
else
e = nil
s = string.format("params.%s.%s[%d] %s", at, "suggestedvalues", i, "MISSING 'code:'")
end
elseif s == "string" then
s = mw.text.trim(e)
if s == "" then
e = nil
s = string.format("params.%s.%s[%d] EMPTY", at, "suggestedvalues", i)
Fault(s)
else
e = { code = s }
end
elseif s == "number" then
e = { code = tostring(e) }
else
s = string.format("params.%s.%s[%d] INVALID", at, "suggestedvalues", i)
Fault(s)
e = false
end
if e then
v = v or {}
table.insert(v, e)
if h[e.code] then
s = string.format("params.%s.%s REPEATED %s", at, "suggestedvalues", e.code)
Fault(s)
else
h[e.code] = true
end
end
end -- for i
else
Fault(string.format("params.%s.suggestedvalues %s", at, "NOT AN ARRAY"))
end
if v then
local code, d, k, less, story, swift, t, u
r1 = mw.html.create("ul")
r2 = {}
for i = 1, #v do
u = mw.html.create("li")
e = v[i]
table.insert(r2, e.code)
story = false
less = (e.less == true)
if not less then
swift = e.code
if e.support then
local scream, support
s = type(e.support)
if s == "string" then
support = e.support
elseif s == "table" then
support = faraway(e.support)
else
scream = "INVALID"
end
if support then
s = mw.text.trim(support)
if s == "" then
scream = "EMPTY"
elseif s:find("[%[%]|%<%>]") then
scream = "BAD PAGE"
else
support = s
end
end
if scream then
s = string.format("params.%s.%s[%d].support %s", at, "suggestedvalues", i, scream)
Fault(s)
else
swift = string.format("[[:%s|%s]]", support, swift)
end
end
if all.type:sub(1, 5) == "wiki-" and swift == e.code then
local rooms = {
file = 6,
temp = 10,
user = 2,
}
local ns = rooms[all.type:sub(6, 9)] or 0
t = mw.title.makeTitle(ns, swift)
if t and t.exists then
swift = string.format("[[:%s|%s]]", t.prefixedText, swift)
end
end
if e.code == all.default then
k = 800
else
k = 300
end
code =
mw.html.create("code"):css("font-weight", tostring(k)):css("white-space", "nowrap"):wikitext(swift)
u:node(code)
end
if e.class then
s = type(e.class)
if s == "string" then
u:addClass(e.class)
elseif s == "table" then
for k, s in pairs(e.class) do
u:addClass(s)
end -- for k, s
else
s = string.format("params.%s.%s[%d].class INVALID", at, "suggestedvalues", i)
Fault(s)
end
end
if e.css then
if type(e.css) == "table" then
u:css(e.css)
else
s = string.format("params.%s.%s[%d].css INVALID", at, "suggestedvalues", i)
Fault(s)
end
end
if e.style then
if type(e.style) == "string" then
u:cssText(e.style)
else
s = string.format("params.%s.%s[%d].style INVALID", at, "suggestedvalues", i)
Fault(s)
end
end
if all.type == "wiki-file-name" and not e.icon then
e.icon = e.code
end
if e.label then
s = type(e.label)
if s == "string" then
s = mw.text.trim(e.label)
if s == "" then
s = string.format("params.%s.%s[%d].label %s", at, "suggestedvalues", i, "EMPTY")
Fault(s)
else
story = s
end
elseif s == "table" then
story = faraway(e.label)
else
s = string.format("params.%s.%s[%d].label INVALID", at, "suggestedvalues", i)
Fault(s)
end
end
s = false
if type(e.icon) == "string" then
t = mw.title.makeTitle(6, e.icon)
if t and t.file.exists then
local g = mw.html.create("span")
s = string.format("[[%s|16px]]", t.prefixedText)
g:attr("role", "presentation"):wikitext(s)
s = tostring(g)
end
end
if not s and not less and e.label then
s = mw.ustring.char(0x2013)
end
if s then
d = mw.html.create("span"):wikitext(s)
if TemplateData.ltr then
if not less then
d:css("margin-left", "0.5em")
end
if story then
d:css("margin-right", "0.5em")
end
else
if not less then
d:css("margin-right", "0.5em")
end
if story then
d:css("margin-left", "0.5em")
end
end
u:node(d)
end
if story then
u:wikitext(story)
end
r1:newline():node(u)
end -- for i
end
if not r1 and v ~= false then
Fault(string.format("params.%s.suggestedvalues INVALID", at))
r1 = mw.html.create("code"):addClass("error"):wikitext("INVALID")
end
return r1, r2
end -- feasible()
local function feat()
-- Check and store parameter sequence.
if Data.source then
local i = 0
local s
for k, v in pairs(Data.tree.params) do
if i == 0 then
Data.order = {}
i = 1
s = k
else
i = 2
break -- for k, v
end
end -- for k, v
if i > 1 then
local pointers = {}
local points = {}
local given = {}
for k, v in pairs(Data.tree.params) do
i = facet(k, 1)
if type(v) == "table" then
if type(v.label) == "string" then
s = mw.text.trim(v.label)
if s == "" then
s = k
end
else
s = k
end
if given[s] then
if given[s] == 1 then
local scream = "Parameter label '%s' detected multiple times"
Fault(string.format(scream, s))
given[s] = 2
end
else
given[s] = 1
end
end
if i then
table.insert(points, i)
pointers[i] = k
i = facet(k, i)
if i then
s = "Parameter '%s' detected twice"
Fault(string.format(s, k))
end
else
s = "Parameter '%s' not detected"
Fault(string.format(s, k))
end
end -- for k, v
table.sort(points)
for i = 1, #points do
table.insert(Data.order, pointers[points[i]])
end -- i = 1, #points
elseif s then
table.insert(Data.order, s)
end
end
end -- feat()
local function feature(access)
-- Create table row for parameter, check and display violations.
-- Parameter:
-- access -- string, with name
-- Returns <tr>.
local mode, s, status
local fine = function(a)
s = mw.text.trim(a)
return a == s and a ~= "" and not a:find("%|=\n") and not a:find("%s%s")
end
local begin = mw.html.create("td")
local code = mw.html.create("code")
local desc = mw.html.create("td")
local eager = mw.html.create("td")
local legal = true
local param = Data.tree.params[access]
local ranking = { "required", "suggested", "optional", "deprecated" }
local r = mw.html.create("tr")
local styles = "mw-templatedata-doc-param-"
local sort, typed
for k, v in pairs(param) do
if v == "" then
param[k] = false
end
end -- for k, v
-- label
sort = param.label or access
if sort:match("^%d+$") then
begin:attr("data-sort-value", string.format("%05d", tonumber(sort)))
end
begin:css("font-weight", "700"):wikitext(sort)
-- name and aliases
code:css("font-size", "0.92em"):css("white-space", "nowrap"):wikitext(access)
if not fine(access) then
code:addClass("error")
Fault(string.format("Bad ID params.<code>%s</code>", access))
legal = false
begin:attr("data-sort-value", " " .. sort)
end
code = mw.html.create("td"):addClass(styles .. "name"):node(code)
if access:match("^%d+$") then
code:attr("data-sort-value", string.format("%05d", tonumber(access)))
end
if type(param.aliases) == "table" then
local lapsus, syn
for k, v in pairs(param.aliases) do
code:tag("br")
if type(v) == "string" then
if not fine(v) then
lapsus = true
code:node(mw.html.create("span"):addClass("error"):css("font-style", "italic"):wikitext("string"))
:wikitext(s)
else
if Config.supportAliases then
s = string.format("[[%s|%s]]", Config.supportAliases, mw.text.nowiki(s))
end
syn = mw.html.create("span"):addClass(styles .. "alias"):css("white-space", "nowrap"):wikitext(s)
code:node(syn)
end
else
lapsus = true
code:node(mw.html.create("code"):addClass("error"):wikitext(type(v)))
end
end -- for k, v
if lapsus then
s = string.format("params.<code>%s</code>.aliases", access)
Fault(factory("invalid-value"):gsub("$1", s))
legal = false
end
end
-- description etc.
s = fashioned(param)
if s then
desc:node(s)
end
if param.style then
s = type(param.style)
if s == "table" then
desc:css(param.style)
elseif s == "string" then
desc:cssText(param.style)
end
end
if param.suggestedvalues or param.default or param.example or param.autovalue then
local details = {
"suggestedvalues",
"default",
"example",
"autovalue",
}
local dl = mw.html.create("dl")
local dd, section, show
for i = 1, #details do
s = details[i]
show = param[s]
if show then
dd = mw.html.create("dd")
section = factory("doc-param-" .. s)
if s == "default" and Config.support4default then
section = string.format("[[%s|%s]]", Config.support4default, mw.text.nowiki(section))
end
if param.type == "boolean" and (show == "0" or show == "1") then
local boole = Permit.boole[(show == "1")]
if boole.lead == true then
dd:node(mw.html.create("code"):wikitext(show)):wikitext(" ")
end
if type(boole.show) == "string" then
local v = mw.html.create("span"):attr("aria-hidden", "true"):wikitext(boole.show)
if boole.css then
v:css(boole.css)
end
dd:node(v)
end
if type(boole.suffix) == "string" then
dd:wikitext(boole.suffix)
end
if boole.lead == false then
dd:wikitext(" "):node(mw.html.create("code"):wikitext(show))
end
elseif s == "suggestedvalues" then
local v, css, class, ts = facilities(param)
if v then
local ul
ul, v = feasible(param, access, v)
if v then
dd:newline():node(ul)
if css then
dd:css(css)
if class then
dd:addClass(class)
end
if ts then
dd:newline()
dd:node(ts)
end
end
Data.params[access].suggestedvalues = v
end
end
else
dd:wikitext(show)
end
dl:node(mw.html.create("dt"):wikitext(section)):node(dd)
end
end -- i = 1, #details
desc:node(dl)
end
-- type
if type(param.type) == "string" then
param.type = mw.text.trim(param.type)
if param.type == "" then
param.type = false
end
end
if param.type then
s = Permit.types[param.type]
typed = mw.html.create("td"):addClass(styles .. "type")
if s then
if s == "string" then
Data.params[access].type = s
typed:wikitext(factory("doc-param-type-" .. s)):tag("br")
typed:node(mw.html.create("span"):addClass("error"):wikitext(param.type))
Data.lasting = true
else
local support = Config["support4" .. param.type]
s = factory("doc-param-type-" .. param.type)
if support then
s = string.format("[[%s|%s]]", support, s)
end
typed:wikitext(s)
end
else
Data.params[access].type = "unknown"
typed:addClass("error"):wikitext("INVALID")
s = string.format("params.<code>%s</code>.type", access)
Fault(factory("invalid-value"):gsub("$1", s))
legal = false
end
else
typed = mw.html.create("td"):wikitext(factory("doc-param-type-unknown"))
Data.params[access].type = "unknown"
if param.default then
Data.params[access].default = nil
Fault("Default value requires <code>type</code>")
legal = false
end
end
typed:addClass("navigation-not-searchable")
-- status
if param.required then
mode = 1
if param.autovalue then
Fault(string.format("autovalued <code>%s</code> required", access))
legal = false
end
if param.default then
Fault(string.format("Defaulted <code>%s</code> required", access))
legal = false
end
if param.deprecated then
Fault(string.format("Required deprecated <code>%s</code>", access))
legal = false
end
elseif param.deprecated then
mode = 4
elseif param.suggested then
mode = 2
else
mode = 3
end
status = ranking[mode]
ranking = factory("doc-param-status-" .. status)
if mode == 1 or mode == 4 then
ranking = mw.html.create("span"):css("font-weight", "700"):wikitext(ranking)
if type(param.deprecated) == "string" then
ranking:tag("br")
ranking:wikitext(param.deprecated)
end
if param.suggested and mode == 4 then
s = string.format("Suggesting deprecated <code>%s</code>", access)
Fault(s)
legal = false
end
end
eager
:attr("data-sort-value", tostring(mode))
:node(ranking)
:addClass(string.format("%sstatus-%s %s", styles, status, "navigation-not-searchable"))
-- <tr>
r:attr("id", "templatedata:" .. mw.uri.anchorEncode(access))
:css(Permit.css[status])
:addClass(styles .. status)
:node(begin)
:node(code)
:node(desc)
:node(typed)
:node(eager)
:newline()
if not legal then
r:css("border", "3px solid #f00")
end
return r
end -- feature()
local function features()
-- Create <table> for parameters.
-- Returns <table>, or nil.
local r
if Data.tree and Data.tree.params then
local tbl = mw.html.create("table")
local tr = mw.html.create("tr")
feat()
if Data.order and #Data.order > 1 then
tbl:addClass("sortable")
end
if type(Config.classTable) == "table" then
for k, v in pairs(Config.classTable) do
tbl:addClass(v)
end -- for k, v
end
if type(Config.cssTable) == "table" then
tbl:css(Config.cssTable)
end
tr:addClass("navigation-not-searchable")
:node(
mw.html.create("th"):attr("colspan", "2"):css(Permit.css.tablehead):wikitext(factory("doc-param-name"))
)
:node(mw.html.create("th"):css(Permit.css.tablehead):wikitext(factory("doc-param-desc")))
:node(mw.html.create("th"):css(Permit.css.tablehead):wikitext(factory("doc-param-type")))
:node(mw.html.create("th"):css(Permit.css.tablehead):wikitext(factory("doc-param-status")))
tbl
:newline()
-- :node( mw.html.create( "thead" )
:node(tr)
-- )
:newline()
if Data.order then
local leave, s
for i = 1, #Data.order do
s = Data.order[i]
if s:sub(1, 1) == "=" then
leave = true
tbl:node(fatten(s))
Data.order[i] = false
elseif s:match("[=|]") then
Fault(string.format("Bad param <code>%s</code>", s))
else
tbl:node(feature(s))
end
end -- for i = 1, #Data.order
if leave then
for i = #Data.order, 1, -1 do
if not Data.order[i] then
table.remove(Data.order, i)
end
end -- for i = #Data.order, 1, -1
end
Data.tag.paramOrder = Data.order
end
if Config.cssTabWrap or Data.scroll then
r = mw.html.create("div")
if type(Config.cssTabWrap) == "table" then
r:css(Config.cssTabWrap)
elseif type(Config.cssTabWrap) == "string" then
-- deprecated
r:cssText(Config.cssTabWrap)
end
if Data.scroll then
r:css("height", Data.scroll):css("overflow", "auto")
end
r:node(tbl)
else
r = tbl
end
end
return r
end -- features()
local function fellow(any, assigned, at)
-- Check sets[] parameter and issue error message, if necessary.
-- Parameter:
-- any -- should be number
-- assigned -- parameter name
-- at -- number, of set
local s
if type(any) ~= "number" then
s = "<code>sets[%d].params[%s]</code>??"
Fault(string.format(s, at, mw.text.nowiki(tostring(any))))
elseif type(assigned) == "string" then
if not Data.got.params[assigned] then
s = "<code>sets[%d].params %s</code> is undefined"
Fault(string.format(s, at, assigned))
end
else
s = "<code>sets[%d].params[%d] = %s</code>??"
Fault(string.format(s, k, type(assigned)))
end
end -- fellow()
local function fellows()
-- Check sets[] and issue error message, if necessary.
local s
if type(Data.got.sets) == "table" then
if type(Data.got.params) == "table" then
for k, v in pairs(Data.got.sets) do
if type(k) == "number" then
if type(v) == "table" then
for ek, ev in pairs(v) do
if ek == "label" then
s = type(ev)
if s ~= "string" and s ~= "table" then
s = "<code>sets[%d].label</code>??"
Fault(string.format(s, k))
end
elseif ek == "params" and type(ev) == "table" then
for pk, pv in pairs(ev) do
fellow(pk, pv, k)
end -- for pk, pv
else
ek = mw.text.nowiki(tostring(ek))
s = "<code>sets[%d][%s]</code>??"
Fault(string.format(s, k, ek))
end
end -- for ek, ev
else
k = mw.text.nowiki(tostring(k))
v = mw.text.nowiki(tostring(v))
s = string.format("<code>sets[%s][%s]</code>??", k, v)
Fault(s)
end
else
k = mw.text.nowiki(tostring(k))
s = string.format("<code>sets[%s]</code> ?????", k)
Fault(s)
end
end -- for k, v
else
s = "<code>params</code> required for <code>sets</code>"
Fault(s)
end
else
s = "<code>sets</code> needs to be of <code>object</code> type"
Fault(s)
end
end -- fellows()
local function finalize(advance)
-- Wrap presentation into frame.
-- Parameter:
-- advance -- true, for nice
-- Returns string.
local r, lapsus
if Data.div then
r = tostring(Data.div)
elseif Data.strip then
r = Data.strip
else
lapsus = true
r = ""
end
r = r .. failures()
if Data.source then
local live = (advance or lapsus)
if not live then
live = TemplateData.frame:preprocess("{{REVISIONID}}")
live = (live == "")
end
if live then
r = r .. fancy(advance, lapsus)
end
end
return r
end -- finalize()
local function find()
-- Find JSON data within page source (title).
-- Returns string, or nil.
local s = Data.title:getContent()
local i, j = s:find("<templatedata>", 1, true)
local r
if i then
local k = s:find("</templatedata>", j, true)
if k then
r = mw.text.trim(s:sub(j + 1, k - 1))
end
end
return r
end -- find()
local function flat(adjust)
-- Remove formatting from text string for VisualEditor.
-- Parameter:
-- arglist -- string, to be stripped, or nil
-- Returns string, or nil.
local r
if adjust then
r = adjust:gsub("\n", " ")
if r:find("<noexport>", 1, true) then
r = r:gsub("<noexport>.*</noexport>", "")
end
if r:find("<exportonly>", 1, true) then
r = r:gsub("</?exportonly>", "")
end
if r:find("''", 1, true) then
r = r:gsub("'''", ""):gsub("''", "")
end
if r:find("<", 1, true) then
local Text = Fetch("Text")
r = r:gsub("<br */?>", "\r\n"):gsub("<sup>2</sup>", "²"):gsub("<sup>3</sup>", "³")
r = Text.getPlain(r)
end
if r:find("[", 1, true) then
local WLink = Fetch("WLink")
if WLink.isBracketedURL(r) then
r = r:gsub("%[([hf]tt?ps?://%S+) [^%]]+%]", "%1")
end
r = WLink.getPlain(r)
end
if r:find("&", 1, true) then
r = mw.text.decode(r)
if r:find("­", 1, true) then
r = r:gsub("­", "")
end
end
end
return r
end -- flat()
local function flush()
-- JSON encode narrowed input; obey unnamed (numerical) parameters.
-- Returns <templatedata> JSON string.
local r
if Data.tag then
r = mw.text.jsonEncode(Data.tag):gsub("%}$", ",")
else
r = "{"
end
r = r .. '\n"params":{'
if Data.order then
local sep = ""
local s
for i = 1, #Data.order do
s = Data.order[i]
r = string.format("%s%s\n%s:%s", r, sep, mw.text.jsonEncode(s), mw.text.jsonEncode(Data.params[s]))
sep = ",\n"
end -- for i = 1, #Data.order
end
r = r .. "\n}\n}"
return r
end -- flush()
local function focus(access)
-- Check components; focus multilingual description, build trees.
-- Parameter:
-- access -- string, name of parameter, nil for root
local f = function(a, at)
local r
if at then
r = string.format("<code>params.%s</code>", at)
else
r = "''root''"
end
if a then
r = string.format("%s<code>.%s</code>", r, a)
end
return r
end
local parent
if access then
parent = Data.got.params[access]
else
parent = Data.got
end
if type(parent) == "table" then
local elem, permit, s, scope, slot, tag, target
if access then
permit = Permit.params
if type(access) == "number" then
slot = tostring(access)
else
slot = access
end
else
permit = Permit.root
end
for k, v in pairs(parent) do
scope = permit[k]
if scope then
s = type(v)
if s == "string" and k ~= "format" then
v = mw.text.trim(v)
end
if scope:find(s, 1, true) then
if scope:find("I18N", 1, true) then
if s == "string" then
elem = fair(v)
elseif s == "table" then
local translated
v, translated = faraway(v)
if v then
if translated and k == "description" then
elem = {
[1] = fair(v),
[2] = translated,
}
else
elem = fair(v)
end
else
elem = false
end
end
if type(v) == "string" then
if k == "deprecated" then
if v == "1" then
v = true
elseif v == "0" then
v = false
end
elem = v
elseif scope:find("nowiki", 1, true) then
elem = mw.text.nowiki(v)
elem = elem:gsub(" " .. string.char(10), "<br>")
v = v:gsub(string.char(13), "")
else
v = flat(v)
end
elseif s == "boolean" then
if scope:find("boolean", 1, true) then
elem = v
else
s = "Type <code>boolean</code> bad for " .. f(k, slot)
Fault(s)
end
end
else
if k == "params" and not access then
v = nil
elem = nil
elseif k == "format" and not access then
elem = mw.text.decode(v)
v = nil
elseif k == "inherits" then
elem = v
if not Data.heirs then
Data.heirs = {}
end
Data.heirs[slot] = v
v = nil
elseif k == "style" then
elem = v
v = nil
elseif s == "string" then
v = mw.text.nowiki(v)
elem = v
else
elem = v
end
end
if type(elem) ~= "nil" then
if not target then
if access then
if not Data.tree.params then
Data.tree.params = {}
end
Data.tree.params[slot] = {}
target = Data.tree.params[slot]
else
Data.tree = {}
target = Data.tree
end
end
target[k] = elem
elem = false
end
if type(v) ~= "nil" then
if not tag then
if access then
if type(v) == "string" and v.sub(1, 1) == "=" then
v = nil
else
if not Data.params then
Data.params = {}
end
Data.params[slot] = {}
tag = Data.params[slot]
end
else
Data.tag = {}
tag = Data.tag
end
end
if type(v) ~= "nil" and k ~= "suggestedvalues" then
tag[k] = v
end
end
else
s = string.format("Type <code>%s</code> bad for %s", scope, f(k, slot))
Fault(s)
end
else
Fault("Unknown component " .. f(k, slot))
end
end -- for k, v
if not access and Data.got.sets then
fellows()
end
else
Fault(f() .. " needs to be of <code>object</code> type")
end
end -- focus()
local function format()
-- Build formatted element.
-- Returns <inline>.
local source = Data.tree.format:lower()
local r, s
if source == "inline" or source == "block" then
r = mw.html.create("i"):wikitext(source)
else
local code
if source:find("|", 1, true) then
local scan = "^[\n ]*%{%{[\n _]*|[\n _]*=[\n _]*%}%}[\n ]*$"
if source:match(scan) then
code = source:gsub("\n", "N")
else
s = mw.text.nowiki(source):gsub("\n", "\n")
s = tostring(mw.html.create("code"):wikitext(s))
Fault("Invalid format " .. s)
source = false
end
else
local words = mw.text.split(source, "%s+")
local show, start, support, unknown
for i = 1, #words do
s = words[i]
if i == 1 then
start = s
end
support = Permit.builder[s]
if support == start or support == "*" then
Permit.builder[s] = true
elseif s:match("^[1-9]%d?") and Permit.builder.align then
Permit.builder.align = tonumber(s)
else
if unknown then
unknown = string.format("%s %s", unknown, s)
else
unknown = s
end
end
end -- i = 1, #words
if unknown then
s = tostring(mw.html.create("code"):css("white-space", "nowrap"):wikitext(s))
Fault("Unknown/misplaced format keyword " .. s)
source = false
start = false
end
if start == "inline" then
if Permit.builder.half == true then
show = "inline half"
code = "{{_ |_=_}}"
elseif Permit.builder.grouped == true then
show = "inline grouped"
code = "{{_ | _=_}}"
elseif Permit.builder.spaced == true then
show = "inline spaced"
code = "{{_ | _ = _ }}"
end
if Permit.builder.newlines == true then
show = show or "inline"
code = code or "{{_|_=_}}"
show = show .. " newlines"
code = string.format("N%sN", code)
end
elseif start == "block" then
local space = "" -- amid "|" and name
local spaced = " " -- preceding "="
local spacer = " " -- following "="
local suffix = "N" -- closing "}}" on new line
show = "block"
if Permit.builder.indent == true then
start = " "
show = "block indent"
else
start = ""
end
if Permit.builder.compressed == true then
spaced = ""
spacer = ""
show = show .. " compressed"
if Permit.builder.last == true then
show = show .. " last"
else
suffix = ""
end
else
if Permit.builder.lead == true then
show = show .. " lead"
space = " "
end
if type(Permit.builder.align) ~= "string" then
local n
s = " align"
if Permit.builder.align == true then
n = 0
if type(Data.got) == "table" and type(Data.got.params) == "table" then
for k, v in pairs(Data.got.params) do
if type(v) == "table" and not v.deprecated and type(k) == "string" then
k = mw.ustring.len(k)
if k > n then
n = k
end
end
end -- for k, v
end
else
n = Permit.builder.align
if type(n) == "number" and n > 1 then
s = string.format("%s %d", s, n)
else
n = 0 -- How come?
end
end
if n > 1 then
spaced = string.rep("_", n - 1) .. " "
end
show = show .. s
elseif Permit.builder.after == true then
spaced = ""
show = show .. " after"
elseif Permit.builder.dense == true then
spaced = ""
spacer = ""
show = show .. " dense"
end
if Permit.builder.last == true then
suffix = spacer
show = show .. " last"
end
end
code = string.format("N{{_N%s|%s_%s=%s_%s}}N", start, space, spaced, spacer, suffix)
if show == "block" then
show = "block newlines"
end
end
if show then
r = mw.html.create("span"):wikitext(show)
end
end
if code then
source = code:gsub("N", "\n")
code = mw.text.nowiki(code):gsub("N", "\n")
code = mw.html.create("code"):css("margin-left", "1em"):css("margin-right", "1em"):wikitext(code)
if r then
r = mw.html.create("span"):node(r):node(code)
else
r = code
end
end
end
if source and Data.tag then
Data.tag.format = source
end
return r
end -- format()
local function formatter()
-- Build presented documentation.
-- Returns <div>.
local r = mw.html.create("div")
local x = fashioned(Data.tree, true, r)
local s
if x then
r = x
end
if Data.leading then
local toc = mw.html.create("div")
local shift
if Config.suppressTOCnum then
toc:addClass(Config.suppressTOCnum)
if type(Config.stylesTOCnum) == "string" then
local src = Config.stylesTOCnum .. "/styles.css"
s = TemplateData.frame:extensionTag("templatestyles", nil, { src = src })
r:newline():node(s)
end
end
toc:addClass("navigation-not-searchable"):css("margin-top", "0.5em"):wikitext("__TOC__")
if Data.sibling then
local block = mw.html.create("div")
if TemplateData.ltr then
shift = "right"
else
shift = "left"
end
block:css("float", shift):wikitext(Data.sibling)
r:newline():node(block):newline()
end
r:newline():node(toc):newline()
if shift then
r:node(mw.html.create("div"):css("clear", shift)):newline()
end
end
s = features()
if s then
if Data.leading then
r:node(mw.html.create("h" .. Config.nested):wikitext(factory("doc-params"))):newline()
end
r:node(s)
end
if Data.shared then
local global = mw.html.create("div"):attr("id", "templatedata-global")
local shift
if TemplateData.ltr then
shift = "right"
else
shift = "left"
end
global:css("float", shift):wikitext(string.format("[[%s|%s]]", Data.shared, "Global"))
r:newline():node(global)
end
if Data.tree and Data.tree.format then
local e = format()
if e then
local show = "Format"
if Config.supportFormat then
show = string.format("[[%s|%s]]", Config.supportFormat, show)
end
r:node(mw.html.create("p"):addClass("navigation-not-searchable"):wikitext(show .. ": "):node(e))
end
end
return r
end -- formatter()
local function free()
-- Remove JSON comment lines.
if Data.source:find("//", 1, true) then
Data.source:gsub("([{,\"'])(%s*\n%s*//.*\n%s*)([{},\"'])", "%1%3")
end
end -- free()
local function full()
-- Build survey table from JSON data, append invisible <templatedata>.
Data.div = mw.html.create("div"):addClass("mw-templatedata-doc-wrap")
if Permit.css.bg then
Data.div:css(Permit.css.bg)
end
if Permit.css.fg then
Data.div:css(Permit.css.fg)
end
focus()
if Data.tag then
if type(Data.got.params) == "table" then
for k, v in pairs(Data.got.params) do
focus(k)
end -- for k, v
if Data.heirs then
fathers()
end
end
end
Data.div:node(formatter())
if not Data.lazy then
Data.slim = flush()
if TemplateData.frame then
local div = mw.html.create("div")
local tdata = {
[1] = "templatedata",
[2] = Data.slim,
}
Data.strip = TemplateData.frame:callParserFunction("#tag", tdata)
div:wikitext(Data.strip)
if Config.loudly then
Data.div:node(mw.html.create("hr"):css({ height = "7ex" }))
else
div:css("display", "none")
end
Data.div:node(div)
end
end
if Data.lasting then
Fault("deprecated type syntax")
end
if Data.less then
Fault(Config.solo)
end
end -- full()
local function furnish(adapt, arglist)
-- Analyze transclusion.
-- Parameter:
-- adapt -- table, #invoke parameters
-- arglist -- table, template parameters
-- Returns string.
local source
favorize()
-- deprecated:
for k, v in pairs(Config.basicCnf) do
if adapt[k] and adapt[k] ~= "" then
Config[v] = adapt[k]
end
end -- for k, v
if arglist.heading and arglist.heading:match("^[3-6]$") then
Config.nested = arglist.heading
else
Config.nested = "2"
end
Config.loudly = faculty(arglist.debug or adapt.debug)
Data.lazy = faculty(arglist.lazy) and not Config.loudly
Data.leading = faculty(arglist.TOC)
if Data.leading and arglist.TOCsibling then
Data.sibling = mw.text.trim(arglist.TOCsibling)
end
if arglist.lang then
Data.slang = arglist.lang:lower()
elseif adapt.lang then
Data.slang = adapt.lang:lower()
end
if arglist.JSON then
source = arglist.JSON
elseif arglist.Global then
source = TemplateData.getGlobalJSON(arglist.Global, arglist.Local)
elseif arglist[1] then
local s = mw.text.trim(arglist[1])
local start = s:sub(1, 1)
if start == "<" then
Data.strip = s
elseif start == "{" then
source = s
elseif mw.ustring.sub(s, 1, 8) == mw.ustring.char(127, 39, 34, 96, 85, 78, 73, 81) then
Data.strip = s
end
end
if type(arglist.vertical) == "string" and arglist.vertical:match("^%d*%.?%d+[emprx]+$") then
Data.scroll = arglist.vertical
end
if not source then
Data.title = mw.title.getCurrentTitle()
source = find()
if not source and not Data.title.text:match(Config.subpage) then
local s = string.format(Config.suffix, Data.title.prefixedText)
Data.title = mw.title.new(s)
if Data.title.exists then
source = find()
end
end
end
if not Data.lazy then
if not Data.title then
Data.title = mw.title.getCurrentTitle()
end
Data.lazy = Data.title.text:match(Config.subpage)
end
if type(source) == "string" then
TemplateData.getPlainJSON(source)
end
return finalize(faculty(arglist.source))
end -- furnish()
Failsafe.failsafe = function(atleast)
-- Retrieve versioning and check for compliance.
-- Precondition:
-- atleast -- string, with required version
-- or wikidata|item|~|@ or false
-- Postcondition:
-- Returns string -- with queried version/item, also if problem
-- false -- if appropriate
-- 2024-03-01
local since = atleast
local last = (since == "~")
local linked = (since == "@")
local link = (since == "item")
local r
if last or link or linked or since == "wikidata" then
local item = Failsafe.item
since = false
if type(item) == "number" and item > 0 then
local suited = string.format("Q%d", item)
if link then
r = suited
else
local entity = mw.wikibase.getEntity(suited)
if type(entity) == "table" then
local seek = Failsafe.serialProperty or "P348"
local vsn = entity:formatPropertyValues(seek)
if type(vsn) == "table" and type(vsn.value) == "string" and vsn.value ~= "" then
if last and vsn.value == Failsafe.serial then
r = false
elseif linked then
if mw.title.getCurrentTitle().prefixedText == mw.wikibase.getSitelink(suited) then
r = false
else
r = suited
end
else
r = vsn.value
end
end
end
end
elseif link then
r = false
end
end
if type(r) == "nil" then
if not since or since <= Failsafe.serial then
r = Failsafe.serial
else
r = false
end
end
return r
end -- Failsafe.failsafe()
TemplateData.getGlobalJSON = function(access, adapt)
-- Retrieve TemplateData from a global repository (JSON).
-- Parameter:
-- access -- string, with page specifier (on WikiMedia Commons)
-- adapt -- JSON string or table with local overrides
-- Returns true, if succeeded.
local plugin = Fetch("/global")
local r
if type(plugin) == "table" and type(plugin.fetch) == "function" then
local s, got = plugin.fetch(access, adapt)
if got then
Data.got = got
Data.order = got.paramOrder
Data.shared = s
r = true
full()
else
Fault(s)
end
end
return r
end -- TemplateData.getGlobalJSON()
TemplateData.getPlainJSON = function(adapt)
-- Reduce enhanced JSON data to plain text localized JSON.
-- Parameter:
-- adapt -- string, with enhanced JSON
-- Returns string, or not.
if type(adapt) == "string" then
local JSONutil = Fetch("JSONutil", true)
Data.source = adapt
free()
if JSONutil then
local Multilingual = Fetch("Multilingual", true)
local f
if Multilingual then
f = Multilingual.i18n
end
Data.got = JSONutil.fetch(Data.source, true, f)
else
local lucky
lucky, Data.got = pcall(mw.text.jsonDecode, Data.source)
end
if type(Data.got) == "table" then
full()
elseif not Data.strip then
local scream = type(Data.got)
if scream == "string" then
scream = Data.got
else
scream = "Data.got: " .. scream
end
Fault("fatal JSON error: " .. scream)
end
end
return Data.slim
end -- TemplateData.getPlainJSON()
TemplateData.test = function(adapt, arglist)
TemplateData.frame = mw.getCurrentFrame()
return furnish(adapt, arglist)
end -- TemplateData.test()
-- Export.
local p = {}
p.f = function(frame)
-- Template call.
local lucky, r
TemplateData.frame = frame
lucky, r = pcall(furnish, frame.args, frame:getParent().args)
if not lucky then
Fault("INTERNAL: " .. r)
r = failures()
end
return r
end -- p.f
p.failsafe = function(frame)
-- Versioning interface.
local s = type(frame)
local since
if s == "table" then
since = frame.args[1]
elseif s == "string" then
since = frame
end
if since then
since = mw.text.trim(since)
if since == "" then
since = false
end
end
return Failsafe.failsafe(since) or ""
end -- p.failsafe
p.TemplateData = function()
-- Module interface.
return TemplateData
end
setmetatable(p, {
__call = function(func, ...)
setmetatable(p, nil)
return Failsafe
end,
})
return p
gq8e9ue777rz14xixllqvc778bxk2t4
Template:FoM/VecI/styles.css
10
483891
4639855
2026-06-11T01:20:39Z
Rainmonger
122366
Created page with "math.invert.fom { filter: invert(1) hue-rotate(180deg); }"
4639855
sanitized-css
text/css
math.invert.fom {
filter: invert(1) hue-rotate(180deg);
}
s6i3tsco1q5hlu3qz99tb7skqa5flcz
4639859
4639855
2026-06-11T01:33:14Z
Rainmonger
122366
Blanked the page
4639859
sanitized-css
text/css
phoiac9h4m842xq45sp7s6u21eteeq1
Template:FoM/Vec/styles.css
10
483892
4639869
2026-06-11T02:22:39Z
Rainmonger
122366
Created page with "var.vector.fom { font-style: italic; } var.vector.fom span { margin-left: -0.55em; vertical-align: 0.2em; }"
4639869
sanitized-css
text/css
var.vector.fom {
font-style: italic;
}
var.vector.fom span {
margin-left: -0.55em;
vertical-align: 0.2em;
}
7xuoig7prnbtqvzxxtvw65v034zo2rt
4639872
4639869
2026-06-11T02:26:26Z
Rainmonger
122366
4639872
sanitized-css
text/css
var.vector.fom {
font-style: italic;
}
var.vector.fom span {
margin-left: 0em;
vertical-align: 0.2em;
}
k69dp0asntd2w38vzrmu57sznwbo2d9
4639873
4639872
2026-06-11T02:29:31Z
Rainmonger
122366
4639873
sanitized-css
text/css
var.vector.fom {
font-style: italic;
}
var.vector.fom span {
margin-left: -0.25em;
vertical-align: 0.2em;
}
pl3g186aqilrmw1f767p4fw0rqfcyh3
4639874
4639873
2026-06-11T02:32:16Z
Rainmonger
122366
4639874
sanitized-css
text/css
var.vector.fom {
font-style: italic;
}
var.vector.fom span {
margin-left: -0.25em;
vertical-align: 0.2em;
}
var.vector.fom span::after {
content: "";
margin-left: 0.25em;
}
jzl0vm36dc0zqjk2kzw6qx7it91a3kx
Template:Nobr/styles.css
10
483893
4639875
2026-06-11T02:48:29Z
Rainmonger
122366
Created page with "span.nowrap.nobr { white-space: nowrap; }"
4639875
sanitized-css
text/css
span.nowrap.nobr {
white-space: nowrap;
}
efje6381wbd7cjf40zf90i8rtn1xszg
Template:Nobr
10
483894
4639876
2026-06-11T02:49:58Z
Rainmonger
122366
Created page with "<templatestyles src="Template:Nobr/styles.css" /><span class="nowrap nobr">{{{1}}}</span><noinclude>{{Documentation}}</noinclude>"
4639876
wikitext
text/x-wiki
<templatestyles src="Template:Nobr/styles.css" /><span class="nowrap nobr">{{{1}}}</span><noinclude>{{Documentation}}</noinclude>
fjidrb3erwz853li5z36q7rnhfh79yi
Template:Nobr/doc
10
483895
4639877
2026-06-11T02:54:03Z
Rainmonger
122366
Created page with "{{Documentation subpage}} {{possible-risk}} <!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. --> == TemplateData == {{Uses TemplateStyles|Template:Nobr/styles.css}} {{TemplateData header}}<templatedata> { "params": { "1": { "label": "Content", "description": "Content you don't want to break across lines", "type": "string" } }, "description": "Simple template that keeps its contents from breaking a..."
4639877
wikitext
text/x-wiki
{{Documentation subpage}}
{{possible-risk}}
<!-- Please add categories and interwikis to the bottom of this page, and also add interwikis to Wikidata. -->
== TemplateData ==
{{Uses TemplateStyles|Template:Nobr/styles.css}}
{{TemplateData header}}<templatedata>
{
"params": {
"1": {
"label": "Content",
"description": "Content you don't want to break across lines",
"type": "string"
}
},
"description": "Simple template that keeps its contents from breaking across lines",
"format": "inline"
}
</templatedata>
<includeonly>
<!-- Categories and interwikis go here, and interwikis also go on Wikidata. -->
</includeonly>
gwqp96gn2088sj1dt8fzixuxvs1b04x