text:
Talk:Catherine of Aragon/Archive 3

Unsourced text
This article is lacking in citations and references. I have provided a few, from reliable sources, as well as removing some of the speculations and unnecessary information. The Coronation section needs to be cut down to just a few lines. As it stands now, it reads like a novel.--jeanne (talk) 04:42, 20 October 2008 (UTC)

Speaking of novels, I am moving the note about Charity Bishop's novel to Popular Media and out of the biography block. I think someone misplaced that.GingerSnapsBack (talk) 20:15, 20 January 2009 (UTC)

I took the initiative of striking a couple of uncited lines concerning reactions to the news of Katharine/Catherine's death, and replacing the basic information with something we could reference. I used Warnicke because, unlike some authors, she includes the two different versions of what happened when King Henry learned Catherine died. I thought this was the best way to be neutral and factual, since the accounts contradict each other (one says Henry wore yellow and the other says Anne did, and there are different ideas on what that meant). I did not add back in the frequently repeated claim that yellow was the color for Spanish mourning, because I have not been able to find anything reputable that backs this up, only information to the contrary. If someone has a decent citation and can verify that this is true, please put it back into the article. It seemed like editors here were looking to clean up information without a proper reference. I hope I did not overstep here. GingerSnapsBack (talk) 20:51, 31 January 2009 (UTC)

"It is a common belief that Catharine was indeed related to Clement VII." How? What is the citation for this? Mannanan51 (talk) 20:52, 18 February 2011 (UTC) Mannanan51

Charles V
Catherine must have known that by not having produced a healthy male heir she would inevitably be looking at an Annulment/divorce "for reasons of state". In advance of this approaching situation Henry must have sounded out the Pope about the routine annulment usually available to Kings and other heads of state for reasons of state.

There doesn't seem to have been any serious objections and when Catherine did reach menopause, Henry applied to the Pope for the routine annulment. It is at this stage that something seems to have gone wrong. It cannot have been simply the Pope being a prisoner as the armies occuppying Rome were gone after six looting months. Having been released the Pope was desperate for money and would almost certainly have given Henry the routine annulment for the right price.

Charles V was the most powerful man in Europe but just how much support could or would he be willing to give a menopausal aunt in the matter of state that was facing Henry VIII, especially as Henry was initially willing to pension off Catherine. In turn, Catherine would probably have bowed to the Popes anulment and accepted Henry's pension.

There still seems to be some unidentified reason for the whole routine plan going so badly wrong requiring Henrys later religious and political actions.AT Kunene (talk) 09:43, 3 May 2011 (UTC)

Battle of Flodden
This article contains the phrase "...Battle of Flodden, an event in which Catherine played an important part" but in the Battle of Flodden article there is no mention of her, other than to list her as one of the leaders. Either the phrase should be removed, or the Battle of Flodden article should be expanded. Emika22 (talk) 12:12, 24 July 2011 (UTC)

Flodden appears in the section 'Pregnancies and children', in chronological position. I've added a quote from her letter to Wolsey mentioning her role. Regarding the next sentence, she was at Richmond Palace, I doubt she rode further much than 'north of London' to address any troops.Unoquha (talk) 12:54, 24 July 2011 (UTC)

Other details
The History Channel recently broadcast a programme where the medical experts seemed to think that Henry VII and Arthur died of Tuberculosis. Henry (VIII) didn't catch the disease which may have saved his life.

When Henry broke with Rome, the Pope stripped Henry of the title "Defender of the Faith" but according to the professor at the Hampton Court exhibition, Henry gave it back to himself. How this may have affected Catherine is uncertain but his daughter Elizabeth certainly inherited the title and down to the present Queen of England.

Shouldn't Catherines title have been "Ambassdress" following the latin feminine custom in use at the time and still the correct usage.AT Kunene (talk) 14:52, 23 April 2012 (UTC)

 * According to contemporary reports, Arthur died of a fever of some kind. An important thing to note is that Catherine was also ill, apparently with the same symptoms, at the same time; however, she recovered.  If it was TB Arthur had, it's unlikely she would have recovered.  I didn't see the programme so I don't know if the content shed any further light on the matter. Deb (talk) 10:57, 30 April 2012 (UTC)

Mistake in Chronology
Why was the trouble caused Catherine's father Ferdinand about the dowry and his betrayal of the English cause mentioned after the events of 1520 and directly before Henry wanted an annullment in 1527? Ferdinand died in 1516 and the mentioned events logically happened before this. It might confuse people not familiar with the correct chronology. Tom 11:29, 12 September 2006 (UTC)

Another mistake, she had a still born daughter on New Year's Eve of 1510 and then a son born on New Year's Day of 1511? That is not possible. These dates are incorrect. —Preceding unsigned comment added by <IP_ADDRESS> (talk) 03:16, 16 February 2009 (UTC)

Actually, that is possible, though it does not apply to this particular article. A woman CAN be pregnant with twins (boy and girl) and have a stillborn girl at 11:59 on New Year's Eve and a surviving son on New Years Day. —Preceding unsigned comment added by <IP_ADDRESS> (talk) 04:53, 29 December 2009 (UTC)

 * There is an easier reason for the confusion in dates. On the calendar in Tudor times the actual year did not roll over until 25 March.  Thus the day following 31 December 1510 would be 1 January 1510.  This is the reason why you see so many years during this time written as "4 February 1510/11" because Tudor England would say that was in 1510 while we would say it was 1511.  So in Tudor England the dates 31 Dec 1510 and 1 Jan 1511 are separated by a year and a day, but today it can cause much confusion as some historians record the year as the Tudors would have and others record it in the modern usage.  History Lunatic (talk) 05:13, 21 January 2013 (UTC) History Lunatic

Titles in full
Sorry, I know this is a bit long, but I hope it's pretty definitive.

Over the last few days something approaching an edit war seems to have broken out over whether or not to include the following titles for Catherine of Aragon in the article: "Queen Consort of England (Which at that time included Wales and Calais), and also for a time Queen Regent of England (Which at that time included Wales and Calais) Princess of Wales, Dowager Princess of Wales, Infanta of Castile, León, Aragon, Majorca, Naples and Valencia, and Barcelona". I believe the proponents of inclusion mean well but are mistaken on several counts. User:<IP_ADDRESS> asked in an edit summary at 11.12 on 4 October 2008 "excuse me but can you actually specify what part of that imformation is wrong? hmm can you": I think I can.

Location of the information
Such a list should not appear in the lead section or in the infobox on the top right of the page, as these areas are for introduction and summary only. Any detailed list of Catherine's titles should be in a separate section further down the page. Template:Infobox British Royalty does actually include a piped link to such a section, under "Detail", but one does not presently exist. User:Chloe2kaii7 did create such a section at 19.23 on 4 October 2008 but this was reverted by User:PatGallacher at 19.46 the same day.

"England (Which at that time included Wales and Calais)"
This is simply wrong: England did not include Wales or Calais at this time.

Though Wales was ruled by the King of England, this was as a separate fief with a separate civil law. Wales was not annexed to England until after Catherine's divorce from Henry; see the article on the Laws in Wales Acts 1535–1542 for more information.

Calais was never part of England; it was the remnant of the English possessions on the Continent which they ruled as claimants to the entire Kingdom of France. See English claims to the French throne for details. Henry VIII's full title during his marriage to Catherine was "King of England and France and Lord of Ireland"; the title Defender of the Faith was added in 1521 (see style of the British sovereign).

"Queen Regent"
Though Catherine may have been regent for the Kingdom in 1513-1514 and was certainly Queen Consort at the time, it does not necessarily follow that she bore the title of Queen Regent. For example, the Prince of Wales was regent of the United Kingdom from 1811 to 1820 and was known as the Prince Regent, but Prince Paul of Yugoslavia, who was regent of that kingdom from 1934 to 1941, was not. User:<IP_ADDRESS> said in an edit summary of 09.48 on 5 October 2008 "Just added her ttles in full they are all factual go check". One should not have to "go check"; if you know she was styled Queen Regent at that time then the onus is on you to provide evidence for it. See WP:PROVEIT.

 * There is a difference in being regent for a time while ruler is absent from their realm and being regent because the rightful ruler cannot perform their duty. Henry made Katherine his regent while he warred in France, appointing her the final say-so while he was absent from his realm.  That is very different from the future George IV being declared Prince Regent because his father was unable to rule.  Most often we see a Queen Regent when the ruler is a child, but only if his mother had been Queen Consort and was now given the power to rule in her minor child's name.

 * In the case of 1513, Katherine was both Queen Consort and Regent, but she was not Queen Regent. History Lunatic (talk) 05:32, 21 January 2013 (UTC)History Lunatic

"Infanta of Castile, León, Aragon, Majorca, Naples and Valencia, and Barcelona"
Catherine's father bore the titles of "King of Aragon, Valencia, Majorca, Sardinia and Corsica, Count of Barcelona, Duke of Athens and Neopatria, Count of Roussillon and Cerdagne and Margrave of Oristano and Goceano". Her mother bore the titles of "Queen of Castile, Leon, Sicily, Toledo, Galicia, Sevilla, Cordova, Murica, Jaen, the Algarves, Algeciras and Gibraltar, Lady of Biscay and Molina". However the Iberian lands listed had long been united under the Crown of Aragon and the Crown of Castile, respectively, and I think it extremely unlikely that Catherine bore the title of Infanta for every one of her parents' notionally independent Kingdoms. Again, if somebody knows differently then he or she has to prove it.

This site, which is quite good for this sort of thing, cites a contemporary example (about five-sixths of the way down the page) in which Catherine is styled "Nos Katherina Princeps Walliæ, Ducissa Cornubiæ, Comitissa Cestriæ, Infans Castellæ & Aragonum, Filia Altissimorum & Potentissimorum Principum Dominorum meorum Domini Ferdinandi & Dominæ Elizabetha Regis & Reginæ Castellæ, Legionis, Aragonum, Siciliæ, Granatæ, &c." Note that though her parents' titles are given in the long form, she herself is still only Infanta of Castile and Aragon.

Summary
To sum up, then, Catherine's titles were: Any other titles attributed to her need sources to back them up. Opera hat (talk) 13:04, 5 October 2008 (UTC)
 * Infanta of Castile and Aragon, from birth in 1485.
 * Princess of Wales, Duchess of Cornwall and Countess of Chester, from her marriage to Arthur Prince of Wales in 1501.
 * Dowager Princess of Wales, from Arthur's brother's creation as Prince in 1504.
 * Queen(-Consort) of England and France, and Lady of Ireland, from her marriage to King Henry VIII in 1509.
 * In 1519 Henry VIII, previously known as "His Grace", adopted the style of Majesty, and presumably Catherine was styled likewise.
 * Dowager Princess of Wales again, from her annulment in 1533 which effectively meant that her marriage in 1509 had never taken place. She never recognised this and continued to consider herself Queen until her death in 1536.

Discussion
I fully agree with Opera hat. I have added a section called Titles and styles. All of Catherine's titles are summarised there and there is no need to list the in the lead section. Do not include the title of Queen Regent until you can prove that she used that title.

On the other hand, I need to correct Opera hat: Prince Paul of Yugoslavia did hold a special title which distinguished him as a regent. He was styled Njegovo Kraljevsko Visočanstvo Knez Namesnik (English: His Royal Highness The Prince Regent), but that's irrelevant for Catherine of Aragon. Surtsicna (talk) 14:48, 5 October 2008 (UTC)
 * Whoops! The article on prince regents might need changing for clarification, then. I do tend to rely far too heavily on other wp articles when making contributions: despicable I know. Opera hat (talk) 16:12, 5 October 2008 (UTC)

An example of a regent whose status was not described by his title is Catherine's own father, Ferdinand II of Aragon/V of Castile. He acted as regent for his second daughter, Catherine's sister Joanna the Mad, but he didn't style himself King Regent. What I want to say is that assuming regency doesn't necessarily change person's title. Surtsicna (talk) 14:52, 5 October 2008 (UTC)

 * I strongly suspect the original contributor confused the term "Queen Regnant" with that of Queen and Regent. Choess (talk) 01:10, 7 October 2008 (UTC)

Portrait of Catherine
I noticed that someone put up a portrait of Catherine Parr in the "King's Great Matter" section and labeled it as Catherine of Aragon. The file clearly identifies it as Catherine Parr, the description on the picture page is incorrect and I had to correct that; the original source that it came from was incorrectly quoted or someone just changed the description without looking at the original source put up by the up loader of the picture. Because other people copy wiki and use it as a "reliable" source it is now on other pages incorrectly identified as Catherine of Aragon. What a disgrace to Catherine Parr. The Peerage Entry Catherine Parr, The Tudor Place Catherine Parr It is also identified by the Lambeth Palace online Library site - Catherine Parr Lambeth Palace Painting Lady Meg (talk) 20:43, 19 October 2010 (UTC)

Update: According to here, dated just the other day (24 Jan 8:44 AM GMT), IT IS Catherine of Aragon. Therefore, I move that it be renamed accordingly in Commons and be re-upped in said "King's Great Matter". Heran et Sang'gres (talk) 18:59, 25 January 2013 (UTC)

 * I have known for months about this but forgot I even made a comment about this portrait on here. Yes, the portrait is now Katherine of Aragon, but I have no idea how to change file names. I also already took the portrait off of Catherine Parr's page months ago. So I support changing the name and adding it to Katherine of Aragon's page. -- Lady Meg (talk) 20:28, 26 January 2013 (UTC)
 * Thanks for the heads-up. Even I don't know how to update and edit, and considering that I'm already a 10-year old user of Wiki! Heran et Sang'gres (talk) 04:51, 31 January 2013 (UTC)
 * P.S. Henry VIII annulled Catherine of Aragon and got rid of her, and now posterity declared they be together for eternity. LOL. I read somewhere that Anne Boleyn's portrait is somewhere besides the legitimate (unhappy) couple. Talk about sarcasm... Heran et Sang'gres (talk) 04:57, 31 January 2013 (UTC)

Henry
Henry is said to have been worried about the lack of a precedent for a female monarch. Boadicea was a female monarch. — Preceding unsigned comment added by <IP_ADDRESS> (talk) 16:15, 29 May 2013 (UTC)
 * Ann Boleyn was the main motive. — Preceding unsigned comment added by <IP_ADDRESS> (talk) 16:17, 29 May 2013 (UTC)
 * A complicated theory about Matilda and two civil wars appears in the text. — Preceding unsigned comment added by <IP_ADDRESS> (talk) 11:24, 30 May 2013 (UTC)
 * Perhaps Henry was worried about the effects of the rule of Manchu Empress Dowager Cixi in China. — Preceding unsigned comment added by <IP_ADDRESS> (talk) 11:35, 30 May 2013 (UTC)
 * If Henry had known the future, he would have approved of Elizabeth's rule in England. — Preceding unsigned comment added by <IP_ADDRESS> (talk) 10:42, 1 June 2013 (UTC)
 * If Henry was worried about causing another civil war, he succeeded in causing one, in England, in the 17th. century. — Preceding unsigned comment added by <IP_ADDRESS> (talk) 12:36, 5 June 2013 (UTC)

Requested move 16 January 2015

The result of the move request was: not moved. Favonian (talk) 14:47, 24 January 2015 (UTC)

Catherine of Aragon → Katherine of Aragon – Although this issue has been discussed at length it has never been the subject of a formal move request. The argument is that this spelling (or Katharine) is how she was known at the time and called herself, is used by academic historians, and is still not uncommon in general use. PatGallacher (talk) 19:02, 16 January 2015 (UTC)

 * Oppose per WP:COMMONNAME. Her name has predominantly been spelled Catherine for the past 260 years at least . -- Calidum  19:49, 16 January 2015 (UTC)

 * Oppose. How someone spelt her name 500 years ago in an age without fixed spellings (the article attests five such spellings) is not that relevant (Otherwise, we might have to move Shakespeare to William Shakspear).  Go with common usage over the last 100 years or so.  —  AjaxSmack   22:09, 17 January 2015 (UTC)

 * Oppose per Calidium and AjaxSmack. She is overwhelmingly known as Catherine now. — Amakuru (talk) 12:59, 22 January 2015 (UTC)

Floating Quote
In the middle of the section titled "The King's great matter," there's a quote from Catherine ("My tribulations are so great...") just floating there in italics - not attributed to her, not in quote marks, not obviously related to the text before and after it. I'm reluctant to mess with the article, but perhaps someone else knows where it belongs? Sadiemonster (talk) 14:37, 18 April 2015 (UTC)

Children
Would it have been normal religous practice to give a name to a stillbirth. I detect a peculiar bias on Wikipedia, treating stillbirths among children. Do we need the box since it's all immediately above? PatGallacher (talk) 22:45, 20 November 2015 (UTC)

Assessment comment
Substituted at 11:04, 29 April 2016 (UTC)

Spelling of Name vs General Reliability/Respectability of Wikiepdia
I know that I am going to regret this, but I feel compelled to speak up about what I consider to be the misspelling of the name Katherine. Yes, I have read all the spirited discussions from the past on this topic. And it has repeatedly been correctly asserted in those discussions that the person described by this article quite consistently spelled her own name with a K when signing letters and documents written in England, not a C. Now, maybe I am just stupid, but it seems to me that if a person consistently spells his or her name beginning with a certain letter, it is absurd for persons living 500 years later to think they know better and to change that spelling based on nothing more substantial than the "popularity" of the new spelling. By that standard, every article on Wikipedia should be re-written to reflect the spelling system that has become so popular when using cell phones. Do u c what I mean? There is a reason why Wikipedia has such a bad reputation. Facts are too often ignored in favor of false information that is often more "popular" than the facts. The simple incontrovertible historical FACT is that Henry VIII's first wife consistently spelled the Anglicized form of her own name beginning with a K, NOT a C. 2605:E000:FFC0:3B:1197:2EDC:F482:BF3C (talk) 10:35, 18 June 2016 (UTC)

Removed source and citation...
...that did not confirm statement. The source mentioned, which was added according to this diff and which I removed, is which is actually, this one, with correct name of coordinator, author of chapter, year of publication, etc.: Page 68, used as citation and which can be viewed in googlebooks, does not support statement about her complexion, color of eyes, hair, etc.  --Maragm (talk) 12:18, 6 August 2016 (UTC)

"was inherited by Catherine's mentally unstable elder sister, Joana"
In my understanding Joana supposed went mad after the death of her husband Phillip (on 25th September 1506) which occurred after the death of her mother Isabella I (on 26th November 1504) so she wouldn't have been mentally unstable upon receiving control of Castille even if she later did go mad. WSGB11 (talk) 18:05, 21 November 2016 (UTC)

Date of birth
I come from the German language version in which (until today) the date of birth was given as December 15th, 1485. I have changed the date to December 15th or 16th, as I have not found conclusive answers if there is something like a authoritative date. Her biographer Giles Tremlett: ''Catherine of Aragon. Henry’s Spanish Queen.'' Faber and Faber, London 2010, p. 22 leaves the question open. Any help? --Andropov (talk) 20:26, 22 February 2018 (UTC)

 * Well, Tremlett appears to be somewhat reliable(Anthropology?), according to;

 * "Mary I: England's Catholic Queen", John Edwards, page 1;"On 16 December 1485, at Alcala de Henares in central Spain, a daughter was born to Queen Isabella of Castile and King Ferdinand of Aragon. She was to remain their youngest child, and was named Catalina, after her English great-grandmother, Catherine of Lancaster. The future Catherine of Aragon."
 * However;

 * "Mary I (Penguin Monarchs): The Daughter of Time", John Edwards,"Mary's mother Catherine was born at Alcalá de Henares, east of Madrid, on 15 or 16 December 1485, in a palace which belonged to the Archbishops of Toledo."
 * I would have it show, "15/16 December 1485". --Kansas Bear (talk) 22:38, 22 February 2018 (UTC)

 * Thanks a lot for your input, Kansas Bear! It seems rather strange that John Edwards contradicts himself, but then again, he is writing about Catherine's daughter and will presumably not have researched very thoroughly the date of birth of the mother. Neither does Tremlett cite any specific sources, unfortunately. The ODNB has no doubt that it was the 16th, but I agree with you that it is preferable not to put out any date as given (see de:Katharina von Aragon: „15. oder 16. Dezember“). What would you suggest to do with the date in this article (and with Catherine's birthdate on Wikidata)? --Andropov (talk) 00:04, 23 February 2018 (UTC)

 * "What would you suggest to do with the date in this article (and with Catherine's birthdate on Wikidata)?"
 * Make the date of birth 15/16 December 1485.
 * As for Wikidata, no idea. --Kansas Bear (talk) 05:32, 24 February 2018 (UTC)
 * In his biography of Isabella, Spanish historian Manuel Fernández Álvarez gives Catherine's date of birth as the 16th of December. The source is:
 * in pages 244-245 and 599. Regards, Maragm (talk) 08:25, 24 February 2018 (UTC)

 * Thank you both; as there seems to be not one definitive answer given by a consensus of historians, I would continue to treat the question as unresolved. And as I do not know what the usances here are, I would be glad if one of you regulars would change the date of birth in the article. Best regards, --Andropov (talk) 21:23, 25 February 2018 (UTC)

Civil war
We are told that Henry the Eighth was worried about various civil wars. — Preceding unsigned comment added by 2A00:23C0:FCF6:4801:19E0:151E:E9F8:E8BD (talk) 12:42, 8 June 2018 (UTC)
 * If female government always causes civil war, there must have been a civil war in China in the 7th. century A.D. Did Henry study Chinese history? — Preceding unsigned comment added by 2A00:23C0:FCF6:4801:19E0:151E:E9F8:E8BD (talk) 12:48, 8 June 2018 (UTC)
 * See Wu Zetian. — Preceding unsigned comment added by 2A00:23C0:FCF6:4801:19E0:151E:E9F8:E8BD (talk) 12:53, 8 June 2018 (UTC)

title: Talk:Catherine of Aragon/Archive 3


text:
sattumalta

Adverb

 * 1) accidentally, by chance
 * 2) fortuitously
 * 3) as it happens, by coincidence

source: wikimedia

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: sattumalta


text:
Voyles

Voyles is an English surname, of Welsh origin. It is a variant of Voyle. Notable people with the surname include:

 * Brad Voyles (born 1976), American baseball player
 * Carl M. Voyles (1898–1982), American football coach
 * Phil Voyles (1900–1972), American baseball player
 * Scott Voyles (born 1980), American conductor
 * William Voyles (1741–1798), American Revolutionary War soldier

title: Voyles


text:
Film school:Software reviews

{| cellspacing="0" cellpadding="0" style="margin:0em 0em 1em 0em; width:98%" Filmmaking Software Review for Narrative Film Production
 * colspan="2" style="width:100%; vertical-align:top; border:1px solid Sienna; background-color:Cornsilk;" |

Software reviews

 * Here is a list of interesting software for filmmakers. Some of the programs are free and some are proprietary.  Naturally, you should start with the free software.

 * }

{| cellspacing="0" cellpadding="0" style="margin:0em 0em 1em 0em; width:98%" Review by Robert Elliott
 * style="width:55%; vertical-align:top; border:1px solid Gold; background-color: LightYellow;" rowspan="5"|

 * style="padding:0em 0.5em 0em 0.5em;" |

Film School Preparitory
 * style="width:45%; vertical-align:top; border:1px solid #abd5f5; background-color:#f1f5fc;" |

WikiU Film School magazine

 * The first issue of Film School magazine will be published in 2008. Students will be able to download a free copy from Wikiversity Film School.

 * style="padding:0em 0.5em 0em 0.5em;" |
 * style="padding:0em 0.5em 0em 0.5em;" |

The Intel Macintosh PC
 * style="width: 45%; vertical-align:top; border:1px solid #ff0; background-color:#ffe;" |

Which computer to buy
By March of 2008, if you want to purchase a Windows computer, you might as well purchase a Macintosh and get the best of both worlds.

Understand The Macintosh
Understanding Apple is not easy. Perhaps this will help:

 * 1. The Original Macintosh
 * In 1984, Apple Computer, Inc. invented the Macintosh computer with its unique operating system which was a forerunner of Microsoft Windows. The operating system is what gives a personal computer its personality.

 * 2. New Operating System
 * In 2001, Apple stopped making the Macintosh Operating System. Apple replaced the Macintosh operating system with Unix which is a computer operating system for nerds.  This particular version of Unix was developed by NextStep.  However, Apple still calls its NextStep Unix operating system "Macintosh OS X".

 * 3. New Computer Hardware
 * In 2005, Apple stopped making the Macintosh computer. Instead, Apple has switched to making only Intel PCs.  However, Apple continues to call its Intel PC computers "Macintosh".  (Note: It will take a while for the old Macintosh programs to be able to run on the new Apple Intel PCs using Apple's Unix operating system so wait until March of 2008.)

Which Model To Buy
For beginners, I recommend the iMac with the 20 inch screen or a laptop computer: either the MacBook or the MacBook Pro. The Mac mini is an interesting option but it costs the same as a MacBook. Note: You need to buy a complete hardware package. This can be a bit confusing... so get help from someone who really knows. This includes extra disk drives and lots of RAM. I do not recommend the wireless keyboard for your first keyboard.

 * style="padding:0em 0.5em 0em 0.5em;" |
 * style="padding:0em 0.5em 0em 0.5em;" |

Help wanted
 * style="width: 45%; vertical-align:top; border:1px solid #ff0; background-color:#ffe;" |

Wanted: Software reviewers

 * The Wikiversity Film School needs people to review software.

 * We need people who can communicate. Communicating with other people is the most important skill needed by filmmakers who must collaborate with hundreds of people.  Write me!

 * style="padding:0.5em 0.5em 0.5em 0.5em;" |
 * style="padding:0.5em 0.5em 0.5em 0.5em;" |

Most Interesting
 * style="width: 45%; vertical-align:top; border:1px solid #d0f; background-color:#f7f7ff;" |

Things to buy

 * Good gifts for young filmmakers
 * Young filmmakers will find these extremely interesting:

 * BackStage West - Trade Paper - The printed newspaper/magazine called "BackStage West" is a weekly newspaper for actors. Purchase single copies if you are in LA.  Note there is a website with the same name and almost the same price which is not what I recommend.    (BackStage West Print edition is listed as Back Stage Print which is a "Weekly delivery of Back Stage magazine, providing national & local news, plus interviews, reviews and career advice.")
 * Cinefex Magazine is more than a collector's item. It is very informative for people who want to work in Hollywood.

 * style="padding:0.5em 0.5em 0.5em 0.5em;" |
 * style="padding:0.5em 0.5em 0.5em 0.5em;" |

Coming soon!
 * style="width: 45%; vertical-align:top; border:1px solid #7af; background-color:#f1f5fc;" |

Future reviews

 * We might review some of the free programs which were used to make Elephants Dream.

 * Blender
 * CinePaint
 * GIMP
 * Inkscape
 * Seashore
 * }

{| cellspacing="0" cellpadding="0" style="margin:0em 0em 1em 0em; width:98%" Recommendation
 * colspan="2" style="width:100%; vertical-align:top; border:1px solid Gold; background-color:LightYellow;" |

What do you recommend?

 * Free programs can give you the start you need learning the many different subjects you need to know to make motion pictures. If you have any recommendations, please email me.  Robert Elliott

 * }

title: Film school:Software reviews


text:
File:Homesick (MercyMe song - sample).ogg

Summary

 * Sound sample from the song "Homesick"
 * Song length: 3:42
 * Reduced quality: yes
 * Source : Undone
 * Songwriter(s): Bart Millard
 * Performed by: MercyMe
 * Producer(s): Peter Kipley
 * Copyright © 2004 INO Records

Rationale of fair use for "Homesick (MercyMe song)" sample
This is a sound sample from a commercial recording. Its inclusion here is claimed as fair use because:
 * It illustrates an educational article that specifically discusses the song from which this sample was taken. The section of music used is discussed in the article in relation to the song's lyrics, musical and vocal style, and may contain part of the song's chorus.
 * It is a sample of no more than 30 seconds from a much longer recording, and could not be used as a substitute for the original commercial recording or to recreate the original recording.
 * It is of a lower quality than the original recording.
 * It is not replaceable with an uncopyrighted or freely copyrighted sample of comparable educational value.
 * It is believed that this sample will not affect the value of the original work or limit the copyright holder's rights or ability to distribute the original recording.
 * The audio sample is a copyrighted work. U.S. copyright laws apply to this work. Should a free or public domain sample be located, it should be used in place of this audio sample.

Rationale of fair use for "Undone (MercyMe album)" sample
This is a sound sample from a commercial recording. Its inclusion here is claimed as fair use because:
 * It illustrates an educational article that specifically discusses the song from which this sample was taken. The section of music used is discussed in the article in relation to the song's lyrics, musical and vocal style, and may contain part of the song's chorus.
 * It is a sample of no more than 30 seconds from a much longer recording, and could not be used as a substitute for the original commercial recording or to recreate the original recording.
 * It is of a lower quality than the original recording.
 * It is not replaceable with an uncopyrighted or freely copyrighted sample of comparable educational value.
 * It is believed that this sample will not affect the value of the original work or limit the copyright holder's rights or ability to distribute the original recording.
 * The audio sample is a copyrighted work. U.S. copyright laws apply to this work. Should a free or public domain sample be located, it should be used in place of this audio sample.


text:
Talk:How to Become a Vocational Teacher

Broadening to other States & Countries
This article is based off an article that I originally wrote for California. It needs to be broadened to include other states.

--Jacob Walker 13:46, 5 April 2007 (UTC)

I'm Zimbabwean currently seeking asylum in South Africa. Any chance I could get involved in this. I am passionate about teaching Eddiebee7 (discuss • contribs) 17:45, 7 June 2019 (UTC)

Changing the Language
Since this article is based off of something I wrote, it uses the word "I" quite a bit. Now that I have opened it up to a collaborative/open effort on Wikiversity, the language needs to change.

--Jacob Walker 13:46, 5 April 2007 (UTC)

title: Talk:How to Become a Vocational Teacher


text:
Japanese/Kana/Lessons/Katakana/Lesson 1

Welcome to the first installment of the katakana lessons. In this lesson you are going to learn how to read and write the Japanese vowels, "ア", "イ", "ウ", "エ" and "オ".

Japanisch/ Katakana Japonais/Katakana/Leçon 1

title: Japanese/Kana/Lessons/Katakana/Lesson 1


text:
Anupam Nath

Anupam Nath is an international photojournalist from Assam. Nath's photo has been selected for the Time magazine's top 100 photos of 2017 list. He currently works as a photographer at Associated Press.

Career
Nath has been covering events and happenings of the entire northeastern region of Assam since c. 1995. Starting his career as a photo journalist with a couple of Assamese dailies, Anupam went on to work as a stringer in Outlook. Later he worked as a staff photographer for the Hindustan Times and The Telegraph before joining the Associated Press in 2000.

title: Anupam Nath


text:
User:KUMARESHYADAV1

￼MR.kumaresh yadav. Punjab￼￼ india beautiful Saini Punjabi dhaba derabassi Punjab￼￼ india

👍

title: User:KUMARESHYADAV1


text:
miller moth

Noun

 * 1) Any of several species of moths with pale, dusty wings.
 * 2) Any of the s in genus  or in tribe
 * 3) especially the , in America
 * , in Britain
 * 1)  (goat moth)
 * 1) especially the , in America
 * , in Britain
 * 1)  (goat moth)

title: miller moth


text:
Naresh Yadav

Naresh Yadav (AAP) (नरेश यादव) is an Indian politician and a member of the Delhi Legislative Assembly in India. He represents the Mehrauli constituency of the National capital territory of Delhi and is a member of the Aam Aadmi Party.

Early life and education
Naresh Yadav was born in Delhi. He attended the Chaudhary Charan Singh University and attained Bachelor of Laws degree.

Political career
Naresh Yadav is a Member Of Legislative Assembly in the Legislative Assembly of Delhi. He was elected twice as the representative from the Mehrauli constituency with the candidacy of the Aam Aadmi Party. In the 2015 Delhi Legislative Assembly election, he polled 51.06% of the votes and won with a margin of 16,591. In the 2020 Delhi Legislative Assembly election, he increased his vote share, polling 54.27% of the votes and won with a margin of 18,161.

Assassination attempt
The results of the 2020 Delhi Legislative Assembly were declared on 11 February 2020. On the night of the same day, while he was returning from a temple visit, the convoy escorting Naresh Yadav was shot at. It resulted in the death of an accompanying Aam Aadmi Party volunteer and he was injured during the incident. The perpetrator was arrested and it appears that he was known to Naresh and to the volunteer.

Member of Legislative Assembly (2020 - present)
Since 2020, he is an elected member of the 7th Delhi Assembly.

 * Committee assignments of Delhi Legislative Assembly
 * Member (2022-2023), Committee on Estimates

title: Naresh Yadav


text:
João Manzarra

João Maria Manzarra is a Portuguese television host mainly on the Portuguese  SIC Radical network and best known as co-host for the reality television show Ídolos, the Portuguese version of the Idol series for three years and is now one of the most popular presenters on Portuguese television.

Career
Manzarra studied Social Communication at Universidade Católica but had to cut short his studies to host his first major show on television. For two-and-a-half years, he took part in Curto Circuito, a direct call program without prepared scripts becoming a popular presenter. In 2009 he co-hosted SIC ao Vivo with José Figueiras and Liliana Campos followed by co-hosting the show TGV (Todos Gostam do Verão)'' with Carolina Patrocínio

From 2009 onwards he has hosted Ídolos, the Portuguese version of the Idol series for three consecutive seasons co-host with Cláudia Vieira making him earn great fame in Portugal due to the popularity of the show. In 2010, he was nominated for the Portuguese Golden Globes award for "Revelation of the Year".

Following his success in Ídolos, he has hosted another popular television series on SIC, namely Achas que Sabes Dançar? the Portuguese version of So You Think You Can Dance series that was launched on SIC in April 2010.

Because of his popularity, he has won commercial endorsements. He is also actively involved in charities.

Filmography

 * Acting
 * 2010: Lua Vermelha (SIC Radical)
 * 2011: Yacun (short)

TV hosting

 * 2007/2009: Curto Circuito
 * 2009: SIC ao Vivo
 * 2009: TGV (Todos Gostam do Verão)
 * 2009/2010: Ídolos
 * 2010: Achas que Sabes Dançar?
 * 2010: Natal de Esperança
 * 2010: Parabéns a Você (the 18th anniversary special of SIC)
 * 2010/2011: Ídolos
 * 2011: Chamar a Música
 * 2011: SIC 19 Anos - Parabéns a Você
 * 2011: Natal Portugal
 * 2012: Ídolos
 * 2013: Factor X

title: João Manzarra


text:
User:Lifeindeath/TWA/Earth/2

Shape and structure

Tectonic plates

Surface

Atmosphere

Weather, climate, and water cycle

Orbit and rotation

title: User:Lifeindeath/TWA/Earth/2


text:
Talk:The Studio School Liverpool

Separate article for CUC
It may be beneficial to split the "History" section into a separate article page perhaps named Contemporary Urban Centre but I'm not sure if it meets the notability standards (though it has been mentioned in numerous older news sources and is used by both The Studio School Liverpool and Liverpool Life Sciences UTC DannyDouble (talk) 00:10, 19 August 2020 (UTC)

title: Talk:The Studio School Liverpool


text:
Talk:Charlotte Chorpenning

Federal Theatre Project
There was nothing in the article about Chorpenning's involvement with the Federal Theatre Project. In the FTP's anthology of children's plays there is a script for "A Letter to Santa Claus", a great play with an anti-war message. Marcus Duskin — Preceding unsigned comment added by <IP_ADDRESS> (talk) 21:40, 10 March 2013 (UTC)

title: Talk:Charlotte Chorpenning


text:
Talk:George Jones (sport shooter)

External links modified
Hello fellow Wikipedians,

I have just modified one external link on George Jones (sport shooter). Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20150209224417/http://www.sports-reference.com/olympics/athletes/jo/george-jones-1.html to http://www.sports-reference.com/olympics/athletes/jo/george-jones-1.html

Cheers.— InternetArchiveBot  (Report bug) 01:21, 10 January 2017 (UTC)

title: Talk:George Jones (sport shooter)


text:
1985–86 Mansfield Town F.C. season

The 1985–86 season was Mansfield Town's 49th season in the Football League and 12th in the Fourth Division they finished in 3rd position with 81 points, gaining promotion back to the Third Division.

Squad statistics

 * Squad list sourced from

title: 1985–86 Mansfield Town F.C. season


text:
Algorithms/Divide and Conquer

The first major algorithmic technique we cover is divide and conquer. Part of the trick of making a good divide and conquer algorithm is determining how a given problem could be separated into two or more similar, but smaller, subproblems. More generally, when we are creating a divide and conquer algorithm we will take the following steps:

The first algorithm we'll present using this methodology is the merge sort.

Merge Sort
The problem that merge sort solves is general sorting: given an unordered array of elements that have a total ordering, create an array that has the same elements sorted. More precisely, for an array a with indexes 1 through n, if the condition

 * for all i, j such that 1 ≤ i < j ≤ n then a[i] ≤ a[j]

holds, then a is said to be sorted. Here is the interface:

// sort -- returns a sorted copy of array a function sort(array a): array

Following the divide and conquer methodology, how can a be broken up into smaller subproblems? Because a is an array of n elements, we might want to start by breaking the array into two arrays of size n/2 elements. These smaller arrays will also be unsorted and it is meaningful to sort these smaller problems; thus we can consider these smaller arrays "similar". Ignoring the base case for a moment, this reduces the problem into a different one: Given two sorted arrays, how can they be combined to form a single sorted array that contains all the elements of both given arrays:

// merge—given a and b (assumed to be sorted) returns a merged array that // preserves order function merge(array a, array b): array

So far, following the methodology has led us to this point, but what about the base case? The base case is the part of the algorithm concerned with what happens when the problem cannot be broken into smaller subproblems. Here, the base case is when the array only has one element. The following is a sorting algorithm that faithfully sorts arrays of only zero or one elements:

// base-sort -- given an array of one element (or empty), return a copy of the // array sorted function base-sort(array a[1..n]): array assert (n <= 1) return a.copy end

Putting this together, here is what the methodology has told us to write so far:

// sort -- returns a sorted copy of array a function sort(array a[1..n]): array if n <= 1: return a.copy else: let sub_size := n / 2 let first_half := sort(a[1,..,sub_size]) let second_half := sort(a[sub_size + 1,..,n]) return merge(first_half, second_half) fi end

And, other than the unimplemented merge subroutine, this sorting algorithm is done! Before we cover how this algorithm works, here is how merge can be written:

// merge -- given a and b (assumed to be sorted) returns a merged array that // preserves order function merge(array a[1..n], array b[1..m]): array let result := new array[n + m] let i, j := 1 for k := 1 to n + m: if i >= n: result[k] := b[j]; j += 1 else-if j >= m: result[k] := a[i]; i += 1 else: if a[i] < b[j]: result[k] := a[i]; i += 1 else: result[k] := b[j]; j += 1 fi    fi   repeat end

[TODO: how it works; including correctness proof] This algorithm uses the fact that, given two sorted arrays, the smallest element is always in one of two places. It's either at the head of the first array, or the head of the second.

Analysis
Let $$T(n)$$ be the number of steps the algorithm takes to run on input of size $$n$$.

Merging takes linear time and we recurse each time on two sub-problems of half the original size, so

 * $$T(n) = 2\cdot T\left(\frac{n}{2}\right) + O(n).$$

By the master theorem, we see that this recurrence has a "steady state" tree. Thus, the runtime is:

 * $$T(n) = O(n \cdot \log n).$$

This can be seen intuitively by asking how may times does n need to be divided by 2 before the size of the array for sorting is 1? Why, m times of course!

More directly, 2m = n, equivalent to log  2m = log n, equivalent to m  log22 = log 2 n , and since log2 2 = 1, equivalent to m = log2n.

Since m is the number of halvings of an array before the array is chopped up into bite sized pieces of 1-element arrays, and then it will take m levels of merging a sub-array with its neighbor where the sum size of sub-arrays will be n at each level, it will be exactly n 2 comparisons for merging at each level, with m ( log2n ) levels, thus O(n 2   log n ) <=>  O ( n log n).

Iterative Version
This merge sort algorithm can be turned into an iterative algorithm by iteratively merging each subsequent pair, then each group of four, et cetera. Due to a lack of function overhead, iterative algorithms tend to be faster in practice. However, because the recursive version's call tree is logarithmically deep, it does not require much run-time stack space: Even sorting 4 gigs of items would only require 32 call entries on the stack, a very modest amount considering if even each call required 256 bytes on the stack, it would only require 8 kilobytes.

The iterative version of mergesort is a minor modification to the recursive version - in fact we can reuse the earlier merging function. The algorithm works by merging small, sorted subsections of the original array to create larger subsections of the array which are sorted. To accomplish this, we iterate through the array with successively larger "strides".

// sort -- returns a sorted copy of array a function sort_iterative(array a[1,.n]): array let result := a.copy for power := 0 to log2(n-1) let unit := 2^power for i := 1 to n by unit*2 if i+unit-1 < n:          let a1[1..unit] := result[i..i+unit-1] let a2[1.unit] := result[i+unit..min(i+unit*2-1, n)] result[i..i+unit*2-1] := merge(a1,a2) fi     repeat repeat return result end

This works because each sublist of length 1 in the array is, by definition, sorted. Each iteration through the array (using counting variable i) doubles the size of sorted sublists by merging adjacent sublists into sorted larger versions. The current size of sorted sublists in the algorithm is represented by the unit variable.

space inefficiency
Straight forward merge sort requires a space of 2 n, n to store the 2 sorted smaller arrays , and n to store the final result of merging. But merge sort still lends itself for batching of merging.

Binary Search
Once an array is sorted, we can quickly locate items in the array by doing a binary search. Binary search is different from other divide and conquer algorithms in that it is mostly divide based (nothing needs to be conquered). The concept behind binary search will be useful for understanding the partition and quicksort algorithms, presented in the randomization chapter.

Finding an item in an already sorted array is similar to finding a name in a phonebook: you can start by flipping the book open toward the middle. If the name you're looking for is on that page, you stop. If you went too far, you can start the process again with the first half of the book. If the name you're searching for appears later than the page, you start from the second half of the book instead. You repeat this process, narrowing down your search space by half each time, until you find what you were looking for (or, alternatively, find where what you were looking for would have been if it were present).

The following algorithm states this procedure precisely:

// binary-search -- returns the index of value in the given array, or ''// -1 if value cannot be found. Assumes array is sorted in ascending order'' function binary-search(value, array A[1..n]): integer return search-inner(value, A, 1, n + 1) end // search-inner -- search subparts of the array; end is one past the // last element  function search-inner(value, array A, start, end): integer if start == end: return -1                  // not found fi  let length := end - start if length == 1: if value == A[start]: return start else: return -1 fi  fi   let mid := start + (length / 2) if value == A[mid]: return mid else-if value > A[mid]: return search-inner(value, A, mid + 1, end) else: return search-inner(value, A, start, mid) fi end

Note that all recursive calls made are tail-calls, and thus the algorithm is iterative. We can explicitly remove the tail-calls if our programming language does not do that for us already by turning the argument values passed to the recursive call into assignments, and then looping to the top of the function body again:

// binary-search -- returns the index of value in the given array, or ''// -1 if value cannot be found. Assumes array is sorted in ascending order'' function binary-search(value, array A[1,..n]): integer let start := 1 let end := n + 1 loop: if start == end: return -1 fi                // not found let length := end - start if length == 1: if value == A[start]: return start else: return -1 fi    fi     let mid := start + (length / 2) if value == A[mid]: return mid else-if value > A[mid]: start := mid + 1 else: end := mid fi  repeat end

Even though we have an iterative algorithm, it's easier to reason about the recursive version. If the number of steps the algorithm takes is $$T(n)$$, then we have the following recurrence that defines $$T(n)$$:
 * $$T(n) = 1\cdot T\left(\frac{n}{2}\right) + O(1).$$

The size of each recursive call made is on half of the input size ($$n$$), and there is a constant amount of time spent outside of the recursion (i.e., computing length and mid will take the same amount of time, regardless of how many elements are in the array). By the master theorem, this recurrence has values $$a=1, b=2, k=0$$, which is a "steady state" tree, and thus we use the steady state case that tells us that
 * $$T(n) = \Theta(n^k\cdot\log n) = \Theta(\log n).$$

Thus, this algorithm takes logarithmic time. Typically, even when n is large, it is safe to let the stack grow by $$\log n$$ activation records through recursive calls.

difficulty in initially correct binary search implementations
The article on wikipedia on Binary Search also mentions the difficulty in writing a correct binary search algorithm: for instance, the java Arrays.binarySearch(..) overloaded function implementation does an iterative binary search which didn't work when large integers overflowed a simple expression of mid calculation  i.e.  . Hence the above algorithm is more correct in using a length = end - start, and adding half length to start. The java binary Search algorithm gave a return value useful for finding the position of the nearest key greater than  the search key, i.e. the position where the search key could be inserted.

i.e. it returns  - (keypos+1) , if the search key wasn't found exactly, but an insertion point was needed for the search key ( insertion_point =  -return_value - 1). Looking at boundary values, an insertion point could be at the front of the list ( ip = 0, return value = -1 ), to the position just after the last element, ( ip = length(A), return value = - length(A) - 1).

As an exercise, trying to implement this functionality on the above iterative binary search can be useful for further comprehension.

Integer Multiplication
If you want to perform arithmetic with small integers, you can simply use the built-in arithmetic hardware of your machine. However, if you wish to multiply integers larger than those that will fit into the standard "word" integer size of your computer, you will have to implement a multiplication algorithm in software or use a software implementation written by someone else. For example, RSA encryption needs to work with integers of very large size (that is, large relative to the 64-bit word size of many machines) and utilizes special multiplication algorithms.

Grade School Multiplication
How do we represent a large, multi-word integer? We can have a binary representation by using an array (or an allocated block of memory) of words to represent the bits of the large integer. Suppose now that we have two integers, $$X$$ and $$Y$$, and we want to multiply them together. For simplicity, let's assume that both $$X$$ and $$Y$$ have $$n$$ bits each (if one is shorter than the other, we can always pad on zeros at the beginning). The most basic way to multiply the integers is to use the grade school multiplication algorithm. This is even easier in binary, because we only multiply by 1 or 0:

x6 x5 x4 x3 x2 x1 x0      ×  y6 y5 y4 y3 y2 y1 y0       --- x6 x5 x4 x3 x2 x1 x0 (when y0 is 1; 0 otherwise) x6 x5 x4 x3 x2 x1 x0 0 (when y1 is 1; 0 otherwise) x6 x5 x4 x3 x2 x1 x0 0  0 (when y2 is 1; 0 otherwise) x6 x5 x4 x3 x2 x1 x0 0  0  0 (when y3 is 1; 0 otherwise) ... et cetera

As an algorithm, here's what multiplication would look like:

// multiply -- return the product of two binary integers, both of length n function multiply(bitarray x[1,..n], bitarray y[1,..n]): bitarray bitarray p = 0 for i:=1 to n: if y[i] == 1: p := add(p, x) fi    x := pad(x, 0)         // add another zero to the end of x repeat return p end

The subroutine add adds two binary integers and returns the result, and the subroutine pad adds an extra digit to the end of the number (padding on a zero is the same thing as shifting the number to the left; which is the same as multiplying it by two). Here, we loop n times, and in the worst-case, we make n calls to add. The numbers given to add will at most be of length $$2n$$. Further, we can expect that the add subroutine can be done in linear time. Thus, if n calls to a $$O(n)$$ subroutine are made, then the algorithm takes $$O(n^2)$$ time.

Divide and Conquer Multiplication
As you may have figured, this isn't the end of the story. We've presented the "obvious" algorithm for multiplication; so let's see if a divide and conquer strategy can give us something better. One route we might want to try is breaking the integers up into two parts. For example, the integer x could be divided into two parts, $$x_{h}$$ and $$x_{l}$$, for the high-order and low-order halves of $$x$$. For example, if $$x$$ has n bits, we have

 * $$x = x_{h}\cdot 2^{n/2} + x_{l}$$

We could do the same for $$y$$:

 * $$y = y_{h}\cdot 2^{n/2} + y_{l}$$

But from this division into smaller parts, it's not clear how we can multiply these parts such that we can combine the results for the solution to the main problem. First, let's write out $$x\times y$$ would be in such a system:

 * $$x\times y = x_h\times y_h\cdot (2^{n/2})^2 + (x_h\times y_l + x_l\times y_h)\cdot (2^{n/2}) + x_l\times y_l$$

This comes from simply multiplying the new hi/lo representations of and $$y$$ together. The multiplication of the smaller pieces are marked by the "$$\times$$" symbol. Note that the multiplies by $$2^{n/2}$$ and $$(2^{n/2})^2 = 2^n$$ does not require a real multiplication: we can just pad on the right number of zeros instead. This suggests the following divide and conquer algorithm:

// multiply -- return the product of two binary integers, both of length n function multiply(bitarray x[1,..n], bitarray y[1,..n]): bitarray if n == 1: return x[1] * y[1] fi         // multiply single digits: O(1) let xh := x[n/2 + 1, .., n]              // array slicing, O(n) let xl := x[0, .., n / 2]                // array slicing, O(n) let yh := y[n/2 + 1, .., n]              // array slicing, O(n) let yl := y[0, .., n / 2]                // array slicing, O(n) let a := multiply(xh, yh)                // recursive call; T(n/2) let b := multiply(xh, yl)                // recursive call; T(n/2) let c := multiply(xl, yh)                // recursive call; T(n/2) let d := multiply(xl, yl)                // recursive call; T(n/2) b := add(b, c)                           // regular addition; O(n) a := shift(a, n)                         // pad on zeros; O(n) b := shift(b, n/2)                       // pad on zeros; O(n) return add(a, b, d)                      // regular addition; O(n) end

We can use the master theorem to analyze the running time of this algorithm. Assuming that the algorithm's running time is $$T(n)$$, the comments show how much time each step takes. Because there are four recursive calls, each with an input of size $$n/2$$, we have:

 * $$T(n) = 4T(n/2) + O(n)$$

Here, $$a=4, b=2, k=1$$, and given that $$4>2^1$$ we are in the "bottom heavy" case and thus plugging in these values into the bottom heavy case of the master theorem gives us:

 * $$T(n)=O(n^{\log_2 4}) = O(n^2).$$

Thus, after all of that hard work, we're still no better off than the grade school algorithm! Luckily, numbers and polynomials are a data set we know additional information about. In fact, we can reduce the running time by doing some mathematical tricks.

First, let's replace the $$2^{n/2}$$ with a variable, z:

 * $$x\times y = x_h*y_h z^2 + (x_h*y_l + x_l*y_h)z + x_l*y_l$$

This appears to be a quadratic formula, and we know that you only need three co-efficients or points on a graph in order to uniquely describe a quadratic formula. However, in our above algorithm we've been using four multiplications total. Let's try recasting and $$y$$ as linear functions:

 * $$P_x(z) = x_h\cdot z + x_l$$
 * $$P_y(z) = y_h\cdot z + y_l$$

Now, for $$x\times y$$ we just need to compute $$(P_x\cdot P_y)(2^{n/2})$$. We'll evaluate $$P_x(z)$$ and $$P_y(z)$$ at three points. Three convenient points to evaluate the function will be at $$(P_x\cdot P_y)(1), (P_x\cdot P_y)(0), (P_x\cdot P_y)(-1)$$:

[TODO: show how to make the two-parts breaking more efficient; then mention that the best multiplication uses the FFT, but don't actually cover that topic (which is saved for the advanced book)]

Base Conversion
[TODO: Convert numbers from decimal to binary quickly using DnC.]

Along with the binary, the science of computers employs bases 8 and 16 for it's very easy to convert between the three while using bases 8 and 16 shortens considerably number representations.

To represent 8 first digits in the binary system we need 3 bits. Thus we have, 0=000, 1=001, 2=010, 3=011, 4=100, 5=101, 6=110, 7=111. Assume M=(2065)8. In order to obtain its binary representation, replace each of the four digits with the corresponding triple of bits: 010 000 110 101. After removing the leading zeros, binary representation is immediate: M=(10000110101)2. (For the hexadecimal system conversion is quite similar, except that now one should use 4-bit representation of numbers below 16.) This fact follows from the general conversion algorithm and the observation that 8=$$2^3$$ (and, of course, 16=$$2^4$$). Thus it appears that the shortest way to convert numbers into the binary system is to first convert them into either octal or hexadecimal representation. Now let see how to implement the general algorithm programmatically.

For the sake of reference, representation of a number in a system with base (radix) N may only consist of digits that are less than N.

More accurately, if

 * $$(1) M = a_kN^k+a_{k-1}N^{k-1}+...+a_1N^1+a_0$$

with $$0 <= a_i < N$$ we have a representation of M in base N system and write

 * $$M = (a_ka_{k-1}...a_0)N$$

If we rewrite (1) as

 * $$(2) M = a_0+N*(a_1+N*(a_2+N*...))$$

the algorithm for obtaining coefficients ai becomes more obvious. For example, $$a_0=M\ modulo\ n$$ and $$a_1=(M/N)\ modulo\ n$$, and so on.

Recursive Implementation
Let's represent the algorithm mnemonically: (result is a string or character variable where I shall accumulate the digits of the result one at a time)

result = "" if M < N, result = 'M' + result. Stop. S = M mod N, result = 'S' + result M = M/N goto 2

A few words of explanation.

"" is an empty string. You may remember it's a zero element for string concatenation. Here we check whether the conversion procedure is over. It's over if M is less than N in which case M is a digit (with some qualification for N>10) and no additional action is necessary. Just prepend it in front of all other digits obtained previously. The '+' plus sign stands for the string concatenation. If we got this far, M is not less than N. First we extract its remainder of division by N, prepend this digit to the result as described previously, and reassign M to be M/N. This says that the whole process should be repeated starting with step 2. I would like to have a function say called Conversion that takes two arguments M and N and returns representation of the number M in base N. The function might look like this

1 String Conversion(int M, int N) // return string, accept two integers 2 {  3     if (M < N) // see if it's time to return 4        return new String(""+M); // ""+M makes a string out of a digit 5    else // the time is not yet ripe 6        return Conversion(M/N, N) + new String(""+(M mod N)); // continue 7 }

This is virtually a working Java function and it would look very much the same in C++ and require only a slight modification for C. As you see, at some point the function calls itself with a different first argument. One may say that the function is defined in terms of itself. Such functions are called recursive. (The best known recursive function is factorial: n!=n*(n-1)!.) The function calls (applies) itself to its arguments, and then (naturally) applies itself to its new arguments, and then ... and so on. We can be sure that the process will eventually stop because the sequence of arguments (the first ones) is decreasing. Thus sooner or later the first argument will be less than the second and the process will start emerging from the recursion, still a step at a time.

Iterative Implementation
Not all programming languages allow functions to call themselves recursively. Recursive functions may also be undesirable if process interruption might be expected for whatever reason. For example, in the Tower of Hanoi puzzle, the user may want to interrupt the demonstration being eager to test his or her understanding of the solution. There are complications due to the manner in which computers execute programs when one wishes to jump out of several levels of recursive calls.

Note however that the string produced by the conversion algorithm is obtained in the wrong order: all digits are computed first and then written into the string the last digit first. Recursive implementation easily got around this difficulty. With each invocation of the Conversion function, computer creates a new environment in which passed values of M, N, and the newly computed S are stored. Completing the function call, i.e. returning from the function we find the environment as it was before the call. Recursive functions store a sequence of computations implicitly. Eliminating recursive calls implies that we must manage to store the computed digits explicitly and then retrieve them in the reversed order.

In Computer Science such a mechanism is known as LIFO - Last In First Out. It's best implemented with a stack data structure. Stack admits only two operations: push and pop. Intuitively stack can be visualized as indeed a stack of objects. Objects are stacked on top of each other so that to retrieve an object one has to remove all the objects above the needed one. Obviously the only object available for immediate removal is the top one, i.e. the one that got on the stack last.

Then iterative implementation of the Conversion function might look as the following.

1 String Conversion(int M, int N) // return string, accept two integers 2 {   3     Stack stack = new Stack; // create a stack 4    while (M >= N) // now the repetitive loop is clearly seen 5    {    6         stack.push(M mod N); // store a digit 7        M = M/N; // find new M   8     } 9    // now it's time to collect the digits together 10    String str = new String(""+M); // create a string with a single digit M  11     while (stack.NotEmpty) 12        str = str+stack.pop // get from the stack next digit 13    return str; 14 }

The function is by far longer than its recursive counterpart; but, as I said, sometimes it's the one you want to use, and sometimes it's the only one you may actually use.

Closest Pair of Points
For a set of points on a two-dimensional plane, if you want to find the closest two points, you could compare all of them to each other, at $$O(n^2)$$ time, or use a divide and conquer algorithm.

[TODO: explain the algorithm, and show the n^2 algorithm]

[TODO: write the algorithm, include intuition, proof of correctness, and runtime analysis]

Use this link for the original document.

http://www.cs.mcgill.ca/~cs251/ClosestPair/ClosestPairDQ.html

Introduction
The brute force approach to the closest pair problem (i.e. checking every possible pair of points) takes quadratic time. We would now like to introduce a faster divide-and-conquer algorithm for solving the closest pair problem. Given a set of points in the plane S, our approach will be to split the set into two roughly equal halves (S1 and S2) for which we already have the solutions, and then to merge the halves in linear time to yield an O(nlogn) algorithm. However, the actual solution is far from obvious. It is possible that the desired pair might have one point in S1 and one in S2, does this not force us once again to check all possible pairs of points? The divide-and-conquer approach presented here generalizes directly from the one dimensional algorithm we presented in the previous section.

Closest Pair in the Plane
Alright, we'll generalize our 1-D algorithm as directly as possible (see figure 3.2). Given a set of points S in the plane, we partition it into two subsets S1 and S2 by a vertical line l such that the points in S1 are to the left of l and those in S2 are to the right of l.

We now recursively solve the problem on these two sets obtaining minimum distances of d1 (for S1), and d2 (for S2). We let d be the minimum of these.

Now, identical to the 1-D case, if the closes pair of the whole set consists of one point from each subset, then these two points must be within d of l. This area is represented as the two strips P1 and P2 on either side of l

Up to now, we are completely in step with the 1-D case. At this point, however, the extra dimension causes some problems. We wish to determine if some point in say P1 is less than d away from another point in P2. However, in the plane, we don't have the luxury that we had on the line when we observed that only one point in each set can be within d of the median. In fact, in two dimensions, all of the points could be in the strip! This is disastrous, because we would have to compare n2 pairs of points to merge the set, and hence our divide-and-conquer algorithm wouldn't save us anything in terms of efficiency. Thankfully, we can make another life saving observation at this point. For any particular point p in one strip, only points that meet the following constraints in the other strip need to be checked:

 * those points within d of p in the direction of the other strip
 * those within d of p in the positive and negative y directions

Simply because points outside of this bounding box cannot be less than d units from p (see figure 3.3). It just so happens that because every point in this box is at least d apart, there can be at most six points within it.

Now we don't need to check all n2 points. All we have to do is sort the points in the strip by their y-coordinates and scan the points in order, checking each point against a maximum of 6 of its neighbors. This means at most 6*n comparisons are required to check all candidate pairs. However, since we sorted the points in the strip by their y-coordinates the process of merging our two subsets is not linear, but in fact takes O(nlogn) time. Hence our full algorithm is not yet O(nlogn), but it is still an improvement on the quadratic performance of the brute force approach (as we shall see in the next section). In section 3.4, we will demonstrate how to make this algorithm even more efficient by strengthening our recursive sub-solution.

Summary and Analysis of the 2-D Algorithm
We present here a step by step summary of the algorithm presented in the previous section, followed by a performance analysis. The algorithm is simply written in list form because I find pseudo-code to be burdensome and unnecessary when trying to understand an algorithm. Note that we pre-sort the points according to their x coordinates, and maintain another structure which holds the points sorted by their y values(for step 4), which in itself takes O(nlogn) time.

ClosestPair of a set of points:

 * 1) Divide the set into two equal sized parts by the line l, and recursively compute the minimal distance in each part.
 * 2) Let d be the minimal of the two minimal distances.
 * 3) Eliminate points that lie farther than d apart from l.
 * 4) Consider the remaining points according to their y-coordinates, which we have precomputed.
 * 5) Scan the remaining points in the y order and compute the distances of each point to all of its neighbors that are distanced no more than d(that's why we need it sorted according to y). Note that there are no more than 5(there is no figure 3.3, so this 5 or 6 doesnt make sense without that figure . Please include it .) such points(see previous section).
 * 6) If any of these distances is less than d then update d.

Analysis:
 * Let us note T(n) as the efficiency of out algorithm
 * Step 1 takes 2T(n/2) (we apply our algorithm for both halves)
 * Step 3 takes O(n) time
 * Step 5 takes O(n) time (as we saw in the previous section)

so,

$$T(n) = 2T(n/2) + O(n)$$

which, according the Master Theorem, result

$$T(n) \isin O(nlogn)$$

Hence the merging of the sub-solutions is dominated by the sorting at step 4, and hence takes O(nlogn) time.

This must be repeated once for each level of recursion in the divide-and-conquer algorithm,

hence the whole of algorithm ClosestPair takes O(logn*nlogn) = O(nlog2n) time.

Improving the Algorithm
We can improve on this algorithm slightly by reducing the time it takes to achieve the y-coordinate sorting in Step 4. This is done by asking that the recursive solution computed in Step 1 returns the points in sorted order by their y coordinates. This will yield two sorted lists of points which need only be merged (a linear time operation) in Step 4 in order to yield a complete sorted list. Hence the revised algorithm involves making the following changes: Step 1: Divide the set into..., and recursively compute the distance in each part, returning the points in each set in sorted order by y-coordinate. Step 4: Merge the two sorted lists into one sorted list in O(n) time. Hence the merging process is now dominated by the linear time steps thereby yielding an O(nlogn) algorithm for finding the closest pair of a set of points in the plane.

Towers Of Hanoi Problem
[TODO: Write about the towers of hanoi algorithm and a program for it]

There are n distinct sized discs and three pegs such that discs are placed at the left peg in the order of their sizes. The smallest one is at the top while the largest one is at the bottom. This game is to move all the discs from the left peg

Rules
1) Only one disc can be moved in each step.

2) Only the disc at the top can be moved.

3) Any disc can only be placed on the top of a larger disc.

Intuitive Idea
In order to move the largest disc from the left peg to the middle peg, the smallest discs must be moved to the right peg first. After the largest one is moved. The smaller discs are then moved from the right peg to the middle peg.

Recurrence
Suppose n is the number of discs.

To move n discs from peg a to peg b,

1) If n>1 then move n-1 discs from peg a to peg c

2) Move n-th disc from peg a to peg b

3) If n>1 then move n-1 discs from peg c to peg a

Pseudocode
void hanoi(n,src,dst){ if (n>1) hanoi(n-1,src,pegs-{src,dst}); print "move n-th disc from src to dst"; if (n>1) hanoi(n-1,pegs-{src,dst},dst); }

Analysis
The analysis is trivial. $$ T(n) = 2T(n-1) + O(1) = O(2^n)$$

title: Algorithms/Divide and Conquer


text:
Primary Mathematics/Dividing numbers

Dividing numbers
When first teaching young children to divide, you may like to try getting a small group together and sharing out a number of objects evenly between them. This will ensure that the students get a clear understanding of the concept of division before moving on to the written process of short and long division.

The process of division should be taught as the reverse of multiplication, again the times tables are needed. The links between addition and subtraction and multiplication and division become important later when the 'opposite' or inverse operation will be needed to solve algebraic problems. Primary teachers can help with later learning by emphasising that division is the undoing of multiplication, as well as pointing children in the right direction for actually doing division.

The simplest division is where the multiplication is known:

$$\frac{10}{2} = 5$$

(Note that I will write division as fractions - the formating is easier - the two are the same thing, children need to know this; I have met GCSE students, 15 and 16 years old, who were confused about this. The usual line with dots above and below (÷) is normally used for these simple problems.)

Harder are problems where the inverse is not known:

$$\frac{98}{2}$$

As 98 is greater than 10×2, children are unlikely to know the answer. This is where we introduce long division, which we write like this: __ 2/98

The first step is then to divide 9 by 2, however 2 does not go into 9. We find the highest number less than 9 into which 2 does go (8) and divide it by 2. The remainder (9-8=1) we add to the units as a ten (we have taken 10 away from 90 to get 80, we then add the 10 to the 8 to get 18). Having done this we divide 18 by 2 to get 9. This is often set out like this (more often it is set out as a crossed out 9 with a little 1 squished in by the 8, however this setting out is clearer and much better for harder problems):

49 2/98  - 80    18  - 18     0

The 8 under the 9 is 4×2 and is the lowest multiple of 2 less than 9. As the 9 is in the 10s column it is 90 and the 8 is 80. We then subtract the 80 from the original 98 and divide the resulting 18 by 2.

In a longer example we do the same thing more than once:

78487 2/156974  - 140000  (2 does not go into 1 or 15, but 2×7 is 14) 16974    - 16000  (2 does go into 16, 8 times) 974    - 800  (2 does not go into 9 but it does 8) 174    - 160  (not 17 but 16) 14     - 14  (and finally 7×2=14) 0

This method extends directly to division by larger numbers. For numbers larger than 12 writing out the multiples of the number to the side can be useful - only go up to what is required, calculating more as you need them. It also extends to decimals - just continue after the decimal point, allthough if the number you are dividing by is a decimal you need to multiply both it and the number you are dividing it by by 10 or 100 or 1000 etc. in order to make it an integer (whole number).

title: Primary Mathematics/Dividing numbers


text:
Kadriorg Stadium

Kadriorg Stadium (Kadrioru staadion) is a multi-purpose stadium in Tallinn, Estonia. Opened in 1926, it is one of the oldest stadiums in Estonia. It is currently used mostly for track and field competitions, but also serves as a home ground for JK Tallinna Kalev. The stadium holds 5,000. Kadriorg Stadium is located about 2 km east of the city centre in the subdistrict of Kadriorg near Kadriorg Palace. The address of the stadium is Roheline aas 24, 10150 Tallinn.

Kadriorg has been the national athletics stadium of the nation throughout its entire history and was the home ground of the Estonia national football team from its opening in 1926 until the Soviet occupation of Estonia in 1940, and again after the country's re-independence from 1992 until 2000, after which the team moved to A. Le Coq Arena. Throughout its history, Kadriorg Stadium has at some point been the home ground for nearly all of the top-flight football teams of Tallinn, such as FC Flora, Levadia, Kalev, Nõmme Kalju, TJK Legion and TVMK.

Kadriorg Stadium has hosted the European Athletics U23 Championships in 2015 and 2021, as well as the European Athletics U20 Championships in 2011 and 2021. It was also one of the venues for the 2012 UEFA European U19 Championship.

History
Kadriorg Stadium was opened on 13 June 1926, eight years after Estonia had become independent. The stadium's opening event was attended by 15,000 people and saw Estonia beat Lithuania 3–1 in football. The stadium complex was designed by German architect Renner and the first wooden grandstand by Estonian architect Karl Burman. Upon completion, the stadium was inaugurated as the country's national stadium and was considered to be the finest of the Baltic states.

Despite its grand look, the 2,500-capacity grandstand quickly proved to be too small to facilitate the growing number of spectators and underwent an expansion in 1934, before an inspection in 1935 found the wooden structure to be in need of immediate repairs as it was in danger of collapsing.

A design competition for a new grandstand was held in the spring of 1936 and the project of Estonian architect Elmar Lohk was chosen, mainly due to his innovative solution to lead the spectators to their seats through passages from the back of the grandstand, unlike the then commonly used approach in Europe that often saw spectators enter the stand from the front. The construction began in late 1936 and was finished in a year, by late 1937.

With its freestanding concrete roof, the new grandstand was believed to be one of the most modern in Europe at the time and was seen as an outstanding achievement in the field of reinforced concrete structures. The stadium was officially re-opened on 15 May 1938 with great celebration by the first president of Estonia Konstantin Päts. The opening event saw Estonia draw 1–1 with RC Strasbourg in front of 8,000 people. A year later, World War II had reached Estonia and the country was occupied by the Soviet Union, after which Kadriorg Stadium was renamed as Dünamo staadion. During the Soviet occupation, the stadium continued to be one of the primary sports venues of the region and hosted a number of international and Soviet wide athletics competitions, most notably the Soviet Union – USA – West Germany decathlon event in 1974 and the Soviet Union – East Germany athletics competition in 1986. The 1986 event also saw two athletics world records set in Kadriorg, when Yuriy Sedykh set a world record of 86.66 m in hammer throw and Heike Drechsler a world record of 7.45 m in women's long jump.

In 1992, the stadium hosted the first match of the Estonia national football team after the country's re-independence, when Estonia drew 1–1 with Slovenia. It was also the location of the infamous "One team in Tallinn" fixture between Estonia and Scotland, which was abandoned after three seconds when the home team refused to turn up, in protest at the game's kick-off time being brought forward several hours. The national team's last match in Kadriorg took place on 3 September 2000 against Portugal, after which the team moved to A. Le Coq Arena.

In 2011, Kadriorg Stadium hosted the 21st European Athletics Junior Championships. The stadium was one of the venues for the 2012 UEFA European U19 Championship and hosted three group stage matches. In 2015, the stadium hosted the U23 European Athletics Championships. In 2021, Kadriorg hosted both U20 and U23 European Athletics Championships.

Future
For Kadriorg Stadium's 100th birthday in 2026, the City of Tallinn will renovate the complex for €20 million. The renovation will see the complete refurbishment of the sports field and the historic grandstand, as well as the construction of a new 1,600-seat stand on the opposite side of the field. Additionally, a new 1,000-seat football ground will be built behind the main stadium, next to the current athletics training field. The new football ground will also have its own administrative building that would be connected with the grandstand by a planned tunnel. The first works began in 2023, when floodlights were installed for the main stadium and its both training fields.

Grandstand
Kadriorg Stadium's current grandstand was opened in 1938 and is an official cultural heritage monument. Designed by architect Elmar Lohk and famous engineer August Komendant, it was seen during its time as an outstanding achievement in the field of reinforced concrete structures and was mostly noted for its 12.8 m long and 51 m wide cantilever concrete roof, the largest in the world at the time. The grandstand has also been brought out by world-famous architectural critic Kenneth Frampton as one of the most outstanding and historic concrete structures in Estonia.

World records
Kadriorg Stadium has seen three world records in athletics. The first two were set during the 1986 Soviet Union – East Germany athletics competition, where Yuriy Sedykh set a world record of 86.66 m in the hammer throw and Heike Drechsler a world record of 7.45 m in women's long jump. The stadium saw its third world record in 2006, when Tatyana Lysenko threw 77.80 m in women's hammer throw.

Stadium records
Updated on 1 January 2024.

title: Kadriorg Stadium


text:
Portal:U.S. roads/Selected article/September 2019

Interstate 469 (I-469) is an Interstate Highway in northeastern Indiana. It is an auxiliary route of parent I-69 that also carries portions of US Highway 24 (US 24), US 30, and US 33 around the urban parts of Fort Wayne. It is 30.83 mi in length. The Interstate was originally conceived as a bypass for US 24 around the south and east ends of Fort Wayne. Due to heavy traffic on US 30 through the city, support was gained to connect the bypass to I-69 on the city's north end. I-469 was given the name Ronald Reagan Expressway in 2005. I-469 was the most expensive civic project in the history of Allen County, costing over $207 million. As a bypass route, I-469 has been ineffective at helping with north–south traffic along I-69. However, the route has served effectively as an east–west bypass around the city, removing heavy truck traffic from passing through Fort Wayne.

Recently selected: Oklahoma State Highway 132* Interstate 235 (Iowa)* U.S. Route 163


text:
Talk:Ruby Programming

Refresh this project
I think this book contains some really useful information, but in its current form it's not all that much fun for a reader to read through this. There are multiple issues that could be improved and make this book into a really good one (and make it fun to read an contribute to):

Table of Contents: One of the first things a possible reader is going to see when encountering this book is the main page with the table of contents. In my eyes however the table of contents is quite big and contains some things that could easily be moved to other pages (for example do we really need a link to every control structure in the table of contents? Alternatively there could be a table of contents of the main topics which is easy to navigate and a list of all default modules, classes, and commands) to improve readibility.

Consistent syntax highlighting: Currently I see multiple ways how code is highlighted. (There's basically inlines without borders and some with borders; code is typically highlighted but with console outputs it's not always clear.) Content wise this isn't a real issue but I think it would do good to the presentation quality of this book. I'm not sure if there's a general style guideline for it already and I'm missing anything out, but what about making sure that everything is in a bordered box so it's clear where the main text stops and the code example starts?

Page completion: I think it would mean a lot if it was easy to spot from the table of contents how finished a given page is. Some pages really could need more work than others do.

Outdated information: Some pages deal with stuff that's not absolutely up to date with newest Ruby versions anymore (eg. old default encoding ascii). Should this be fixed or left as is? Personally I'd like the idea of having a really up to date book that will enable people to use current versions of Ruby.

Ok these are just some things and I didn't finger point at everything but I think it's a good idea to see what could all be done about the book. I'll try to fix some of these things, but I just wanted to know what anyone else thinks about this all and I don't want to accidentally do something that needs to be reverted...

Evotopid (discuss • contribs) 18:04, 28 March 2015 (UTC)

 * I completely agree. Old info needs to be removed, no question. Plus, I don't see the benefit of having all the library reference material in this textbook when the official Ruby docs contain it all, and are freely-licensed. I think we should delete those sections, and I'll be tidying up a bit. --Tmewett5 (discuss • contribs) 16:03, 2 October 2015 (UTC)

I didn't delete anything as of yet, but I'd still be interested in cleaning up at least the table of contents. This book could be pretty good with some more structure and has some interesting pages on more advanced topics. If no one has an argument against it I would like to start removing outdated reference material and improve the structure and quality of the actually relevant chapters. I guess I will leave this here for a week or two before I start doing something.--Evotopid (discuss • contribs) 20:27, 13 December 2016 (UTC)

Organization
The organization of the new material on strings is a mess. Why the heck is it placed before the section on Basic Ruby? Why are the sections on "Alternate Quotes", "Here Documents", and "ASCII" separate chapters rather than being subsections of the "Strings" chapter?

--OinkOink 23:32, 7 October 2006 (UTC)

 * Exactly. I warned the user doing all this that some of his/her creations were a bad idea, but nothing stopped. It would be nice if some others came in and started correcting it all. I did once and was reverted, so this user may not take it easily. If such an edit war continues, bring it to my or another admin's attention and we will try to resolve it. This book is heading in a bad direction. -within focus 23:41, 7 October 2006 (UTC)

I wonder if it isn't time to put in some additional structure to the "Getting Started" section. There are really three or four big headings here:

 * "Getting Started" includes installing, writing scripts as files, running scripts
 * "Baby Steps" (insert better name here) includes the "hello world" example and a whirlwind 2-3 chapter tour of what Ruby is about including some OO
 * "More Depth" (again, insert better name here) is a more methodical one-chapter-per-topic coverage, enough for your average programming task.

Then the intermediate section is an alacarte of self-contained topics, and the language reference for more details. Yes, I know this structure follows Pickaxe pretty closely.

-- Marburg 23:24, 20 December 2006 (UTC)

Examples
Would those who are working on this project mind putting exercises at the end of sections so that people like myself who are learning the language could practice implementing some programs? Thank you very much for your time, and the tutorial has taught me a lot already.

Sincerely, Eric Scrivner

Tutorial
I once started a tutorial on Ruby. It's right here:

http://www.math.umd.edu/~dcarrera/ruby/0.3/index.html

If any of this content is useful for this Ruby Wikibook feel free to take it. I have alread released the tutorial as GNU FDL, so it should be compatible with this Wikibook. But I'm happy to make it public domain if necessary.

I wish I had time to work on this project, but I'm already leading a large documentation project (oooauthors.org).

Cheers, Daniel Carrera.

Naming policy
You might want to consider the WB:NP. You current naming convention is depreciated and has several disadvantages - like it has no navigational links. Also you worthy effort is neiter considered a book nor a section inside a book. See wikistats which implements an exstensive book and section detector.

--Krischik T 07:15, 11 October 2005 (UTC)
 * I'll be converting this book today. -within focus 17:01, 24 August 2006 (UTC)
 * All the moves and re-organization is now done. Inter-linking within the book still needs significant work. Some double redirects might still exist and there aren't any navigation headers within pages two levels down or lower. -within focus 18:04, 24 August 2006 (UTC)

Ruby Prog?
Supriya, the name "Ruby Prog" is inconsistent with other programming books on Wikibooks. For example:

 * Ada Programming
 * C Programming
 * C++ Programming
 * C Sharp Programming
 * Java Programming

I don't see the reason for the name change. Also, many of the links to the sections broke when you renamed the main page. I'm going to revert.

-- Briand 00:17, 29 September 2006 (UTC)

Learning to program
I am currently in discussions about Mr Pine giving his documentation [1] into the public domain. If anyone wants to contact him, his email address is the following<EMAIL_ADDRESS>
Yours sincerely, Edward Rein

Learn to Program

--Herraotic 12:12, 29 October 2006 (UTC)

 * I have emailed and recently received a conformation mail to say that my proposal of displaying a link to this manual on the official Ruby website was accepted.
 * In all it's glory... http://www.ruby-lang.org/en/documentation/

 * --Herraotic 21:00, 31 October 2006 (UTC)

title: Talk:Ruby Programming