text:
User talk:RobKohr

NASA text -- public domain?
I see that you put a note that NASA text is public domain. How did you find out the terms under which NASA permits use of its text? I have not been able to find this information. Like -- can we grab a page or paragraph and edit it up any way we like it? Are there certain invariant parts? How are we supposed to credit NASA?

Thanks for the information. --SV Resolution 18:00, 8 September 2005 (UTC)

The definitive reference should probably be the NASA copyright template at Wikimedia Commons. Probably the best detailed explanation is at http://www.jsc.nasa.gov/policies.html#Guidelines. In short, NASA material is not protected by copyright unless noted:

NASA generally has no objection to the reproduction and use of NASA material (e.g., audio transmissions and recordings; video transmission or recordings including NASA TV; still or motion picture photography; or World Wide Web pages), for educational or informational purposes, including photo collections, textbooks, public exhibits and Internet Web pages, subject to the following conditions:

(NOT a lawyer) EHartwell 17:53, 27 March 2006 (UTC)
 * You should acknowledge NASA as the source of the material.
 * You may not use a NASA logo or seal
 * You may not state or imply NASA's endorsement of a commercial product, service, or activity.
 * You may not claim copyright or other rights in NASA material.
 * NASA material is not protected by copyright unless noted. If not copyrighted, it can be used without further permission from NASA.
 * If copyrighted, permission should be obtained from the copyright owner prior to use.
 * If a NASA image includes an identifiable person, using the image for commercial purposes may infringe that person's right of privacy or publicity, and permission should be obtained from the person.
 * Use of a portion or segment of audio or video, such as talent, narration or music, may infringe a right of publicity or copyright and permission should be obtained from the source.

Emulation Wikibook
This is just a heads up about this Wikibook and a contribution that you made there. I posted a VfD discussion about aquiring ROMs for different game consoles, and the overwhelming concensus was to delete this content from Wikibooks. I want to thank you for your contributions, but I hope you understand that we can't condone illegal activity here on Wikibooks, even indirectly. The unauthorized distribution of copyrighted content is illegal and could potentially shut this whole project down if we didn't act swiftly on things of this nature. I hope you understand and don't take this as a personal insult. --Rob Horning 17:44, 29 October 2005 (UTC)

In reply to this:

 * Thats too bad, but I understand your decision. I don't really think emulation is illegal, just the same as it is perfectly legal to rip cds and into mp3s play them on your computer. There are plenty of legal ways to buy roms today and run them on your platform of choice. I more wanted a single good source here for information on how to play those roms on whatever platform you liked. --Rob Kohr 24 December 2005

I want you to know that I agree completely that it is legal to do emulation, and I for one am completely opposed politically to software patents on stuff like mp3s and other so-called intellectual property B.S. that unfortunately many people in the computer industry are involved with. The problem here is not that you showed how to make a ROM, but that it was largely a list of rom sources with absolutely no attribution or listing of where you got permission to redistribute those copyrighted images. As both an author (dead tree plain english) as well as a software engineer, I take it seriously that the content I have written is protected under copyright laws, and seek to protect the works of other authors as well. I seriously doubt that you had permission for the lists of ROMs that were displayed earlier in that Emulation Wikibook. Prove me wrong, please. As for a simple how-to duplicate ROMs or import them into emulation software, I don't have any problems with that... as long as you advocate the legal and legitimate aquisition of those ROMs.

BTW, the reason you can legally rip mp3s and DVDs (even over the supposed objections of the MPAA) is because of the "first sale" doctrine, that doesn't prohibit how you transfer the content from one media to another as long as you own the first copy legally. You are however prohibited from distributing that content, generally to another household (which also has a legal definition). On the other hand, if you have content that is under a copyleft license, you don't have to be so worried about this first sale doctrine and can send copies to your friends as well. There is plenty of software available, even for older ROM-based game architechtures, that you don't need to be paranoid about copyright. Unfortunately, many of those older game consoles had stuff written for them by companies that are no longer in business and it is hard to trace copyright permissions down. --Rob Horning 15:14, 26 December 2005 (UTC)

hallelujah i've found ya look i need your help
you know your website editthis.com well i'm using it and i'm having some problems with it:how do you upload images?, how do you make templates?, how do you change user status and could you edit my site as i'm not having much luck with it and I can't upload images here it is:ultipedia --Ace10000 (discuss • contribs) 11:24, 4 September 2011 (UTC)

title: User talk:RobKohr


text:
How to Write a Research Paper in History/Picking a topic

The most difficult part of any research paper is picking a topic. There is no sure-fire way to do it, and there is no systematic way to approach it. This section will outline some of the basic considerations in thinking about how to pose a historical question which will stimulate your own interest as well as provide a workable approach to a research paper.

What is a historical question?
Every discipline has its own sorts of questions which it tries to answer. A question in astronomy, for example, might be "Why does the sun sometimes have spots on it?" This is a question which stimulated a number of different research programs, using entirely different methods and assumptions, for hundreds of years. It is a question which can be answered using the tools of the discipline and the methodological approaches. A non-astronomical question might be "Is the sun morally good?" It might be a question answerable to a theologian or a philosopher, but an astronomer, using astronomer's tools (be they telescopes or mathematical formulae), would have no way to even begin answering the question.

Similarly, there are questions which fit within the study of history and many which do not. "Was Richard Nixon a good man?" would not be a historical question, and neither would "Was the bombing of Hiroshima and Nagasaki evil?" These questions, while quite valid questions to ask in general, are not generally thought answerable by the historian using only the tools of history.

Many good historical questions are about causes and changes. "Why did the United States bomb Hiroshima and Nagasaki?" is a perfectly good historical question, one on which many books have been written. "Why did the Roman Empire fall?" is another such question. "How did the experience of African Americans change after the Civil Rights movement?" would be another. "How did the SAT become the standard test for American students?" is another. The question need not be stated explicitly in the work itself, but it should be underlying the overall investigation.

There are also many questions which can be quite broader, along the lines of, "What were the experiences of slaves in the Southern United States?" These questions, without specific temporal delimiters, are likely too large to be answered in one research paper — entire books could be written on just this issue. However large questions can be made smaller by the use of temporal or thematic demarcation. For example, by changing our original question to "What were the experiences of slaves in the Southern United States in the years just before the Civil War?" puts a "cap" on how comprehensive our approach must be, and allows us to easily compartmentalize the past in a way suitable to writing a paper.

Historical questions can be very broad or very narrow in scope and it does not necessarily affect how important or interesting the topic may be. What is usually important about whether a topic will be historically "interesting" is whether it "speaks" to a particular larger question or issue.

Searching the literature
Starting without any topic at all can be difficult, even for the seasoned student. The first step towards finding an area of research is to narrow down the basic range of topics to an existing body of literature. For example, if you were wanting to write a paper related in some way to the discovery of the Americas by Europeans, a good way to start searching for topics would be to find a survey book which would give an overview of the entire historical framework of the time period and topics. A reference librarian should be able to help you find such a thing, as should any expert in the field (do not be afraid to e-mail him if his addresses are posted online).

One easy way to find out which books are currently considered "required reading" for a given topic is to find an academic book or article which is reasonably similar in its own topic, and to look at its first three or so footnotes. Introductions to academic works usually contain one large footnote early on which gives a brief listing of all of the books which any general reader of the paper is expected to be familiar with.

When reading over a survey, keep an eye out for interesting issues or questions you might have. Looking at the footnotes in such works will also give you an idea of the sorts of sources which are available for these sorts of works (there will be more on sources in the next section).

Don't fret
Your topic might change half way into your research, or even while writing up the final paper — this is a natural occurrence and reflects the fact that you have been thinking it over for a longer period of time. Even if you aren't completely sure what your final "question" will be, don't be afraid to start doing the background secondary source research once you have a general idea of what you want your work to be about. History is not an exact science, and many important and interesting things will surface out of sheer serendipity as your work continues

Next section: ../Finding sources/

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


text:
Wikibooks talk:Bookshelves

Categorization of bookshelves
In my opinion, it's important that every page is categorized, and this includes bookshelves. I propose to put every bookshelve inside the category "Wikibooks bookshelves", as well as inside its specific category as the main entry (changing the sortkey to the value " *Name of the page"). For example, Information technology bookshelf will be inside category Category:Wikibooks bookshelves and Category:Information Technology. I think that All bookshelves should be only inside the Category:Wikibooks bookshelves, but as the main entry. --surueña 18:23, September 8, 2005 (UTC)

Bookshelf requests
The page did not exist before, but I created it and boot a request there. My request concerns the six computer-related bookshelves and a slight change in policy. See Bookshelf requests for details. --Kernigh 01:47, 24 October 2005 (UTC)

Embedded Systems

 * Embedded Systems: Theory, Design and Implementation has been merged into Embedded Systems. --Whiteknight T C E 16:33, 11 November 2005 (UTC)

Obsolete?
Is this obsolete (or heading in that direction) now that we're starting to implement the Subject: namespace? We're getting to the point where the bookshelves are (in practice) being superseded by the Subject: pages, I think. Should we therefore start thinking about making this obsolete and/or making a new policy/guideline/useful page regarding that new system? – Mike.lifeguard  | talk 02:13, 26 March 2008 (UTC)

title: Wikibooks talk:Bookshelves


text:
Microsoft Office/Create and Edit a Document

A header is the top margin of each page, and a footer is the bottom margin of each page. Headers and footers are useful for including material that you want to appear on every page of a document such as your name, the title of the document, or page numbers.

Starting Microsoft Word
To open Microsoft Word: First click on your "Start" button. Next click on All Programs. You will probably need to scroll to find the Microsoft Office program menu. When you do click on Microsoft Word this will start the program. Note: Microsoft Word 2016 is the most recent perpetual version released.

(Since Office 2016, the apps do not lie in the Microsoft Office folder; to open Word, you'll have to look at 'W'. In Windows 7, this is before the listing of folders.)

Alternatively, look on your Desktop for an icon shortcut to Word, click this (or if this doesn't work, double-click).

Basic Rules for formatting text
To change the formatting of text, highlight the text you wish to change and then choose your formatting options. You may want to increase the font size, change the font color, change the font design. To change the formatting, including the font size, font, color, and many other properties.

 * right click on the selection and choose what you'd like to change
 * use the toolbar (1997 - 2003 versions) or
 * Select the options on the Format Menu to change

Word 2007 and later uses tabs and ribbons to interface (interact) with users. To change text formats, be sure you have clicked the Home tab and are using the options found in the Font grouping.

If you change the formatting options without any text being selected, then these options will apply to any further text entered after that point in the document.

Entering Text
When you start MS-Word for Windows, you see a blank area. (This blank area is called a Normal Template). To work effectively with Word, you must understand that every Word Document is based on template.

 * 1) The Blinking Vertical Line that marks the insertion point, the location where text you type    will be inserted into the document and where certain editing actions will occur.
 * 2) The horizontal line is the end-of-document marker.

There are a number of different views available for working on the text, available on the View menu. The simplest is the 'Normal' view, while the most complex view, but the best for working on heavily formatted pages is the 'Print layout' view.

Menu Structure
When you work with MS-Word for Windows, you give it commands to instruct the program to carry out the desired tasks. Commands are usually entered by means of menus. MS-Word for Windows has three types of menus:
 * 1) The Main Menu is displayed in the menu bar, on the second line of the screen.
 * 2) A Pull-down Menu is a list of commands associated with each choice on the main menu. When you choose a command on the main menu, its pull-down menu is displayed.
 * 3) A Context Sensitive Menu is pop-up screen when you right-click the mouse. Wherein it shows a list of commands to work with.

Dialog Boxes
When MS-Word for Windows needs additional information to carry out a command, it displays a dialog box. Dialog boxes contain a number of components, but mainly contain only some of these components.

Components of Dialog Box

 * 1) A dotted outline or highlight bar indicate the current dialog box item.
 * 2) The title bar gives the name of the dialog box, which is the command used to display the dialog box.
 * 3) A text box is used to enter and edit text information.
 * 4) A list box displays a list of items from which you can choose. If the list is too big to display at one time, a vertical scroll bar lets you scroll up or down the list.
 * 5) The command buttons to either confirm or cancel the dialog box.

Working With A Document
MS-Word is used by people with widely varying levels of skill and experience, and there are often several different ways to do some tasks. Most commands are available through the Menu and sub menus. For frequently used commands, there are often iconic shortcut buttons on the Tool bars that can be selected with the mouse. For people with better keyboard skills or experience, there are keyboard shortcuts, often using the Control (CTRL), Shift (SHFT) or Alternate (ALT) keys on the PC and Command or Option keys of the Macintosh.

Create a New Document

 * Choose File ➪ New from the menu bar.
 * This may ask you to select which document template to use for the new document.
 * Click the New Blank Document button of the tool bar.
 * Press CTRL + N on the keyboard. (Depress and hold CTRL, Press and release 'N')

Open an Existing Document

 * Choose File ➪ Open from the menu bar.
 * Click the Open button on the toolbar.
 * Press CTRL + O on the keyboard.

NOTE: Each method will show the Open dialog box. Select the drive the file was saved on, choose the file, and click the Open button.

Save a Document

 * Select File ➪ Save from the menu bar.
 * Click the Save button on the toolbar.
 * Press CTRL + S on the keyboard.

Navigate to the location where you would like to save the document. Make a note of the drive where the document is saved for future reference. To save an existing open document under a different name, select 'File ➪ Save As'.

Renaming a Document
To rename an existing, but not open, Word document while using the program,
 * Select File ➪ Open (or press CTRL + O on the keyboard) and find the file you want to rename.
 * Right-click on the document name with the mouse and select Rename from the shortcut menu.
 * Type the new name for the file and press the ENTER key.

Working with Multiple Documents
Several documents can be opened simultaneously if you are typing or editing multiple documents at once. All open documents are listed under the Windows menu. The current document has checkmark beside the filename. Select another name to view another open document or click the button on the Windows taskbar at the bottom of the screen.

Closing a Document

 * Selecting File ➪ Close from the menu bar
 * Click the close window icon if it’s visible on the menu bar
 * Press CTRL + W or CTRL + F4 on the keyboard.

Exiting Word

 * Choose the File ➪ Exit on the menu bar.
 * Click the Close button align with the title bar.
 * Press ALT + F4 on the Keyboard.


text:
User:Shanel

Hello! My name is Shanel Kalicharan. My edits on this wiki are mostly part of my steward work. If you have any comments or questions, please let me know on my global talk page!

title: User:Shanel


text:
Portuguese/Contents/Slang (Brazil)

General Slang

 * Bagulho (bah-GOO-lyo)
 * Thing, drug (very rude)

 * Beleza? (beh-LEH-zah)
 * Wassup? (Positive way.)

 * Cê (between SEH and SAY)
 * Short for "você" (you)

 * Zueira, zuera, zoeira (zoo-AY-rah - zoo-E-rah ["E" sounds like "E" in "trend"])
 * Prank, joke

 * Chapado (shah-PAH-do)
 * Drunk, stoned

 * Baseado (bah-zeh-A-doo)
 * Joint, marijuana cigarette

 * Gata, gatinha (GAH-tah - gah-CHEEN-yah)
 * Babe, hot girl

 * Gato, gatinho (GAH-to - gat-CHEEN-yo)
 * Babe, hot boy

 * Grana (GRAHN-nah)
 * Money

 * Gringo (GREEN-go)
 * Foreigner

 * Legal (leh-GOW ["OW" sounds like "OW" in "NOW"])
 * Cool

 * Mana (MAHN-nah)
 * Sister

 * Mano (MAHN-no)
 * Brother

 * Massa (MAH-sah)
 * Same as "legal": cool

 * Muito louco (MOO-een-to LOE-co)
 * Cool (or funny)

 * Nossa (NOH-sah)
 * Exclamation like Wow

 * Os homi (OOZ OHM-mee)
 * The cops

 * Parceira (par-SAY-rah)
 * sis, mate, buddy (female)

 * Parceiro (par-SAY-ro)
 * Bro, mate, dude, buddy (male)

 * Perua (pee-ROO-ah)
 * Rich Women (Negative), Station wagon car

 * Playba, playboy (PLAY-bah - play-BOY)
 * Playboy, rake

 * Puxa, puxa vida) (POO-shah - POO-shah VEE-dah)
 * Whoa, Geez, gosh

 * Qualé? (kwal-EH)
 * Wassup?

 * X-9 (SHEES NOH-vee)
 * Snitch

 * P-T, Perda Total (pee-tee - pee-er-DUH toh-TOW ["OW" sounds like "OW" in "NOW"])
 * Passed out, Puking, Wasted, from drinking

The above list of expressions can be understood all over the country, but it doesn't mean you'll hear people speaking this all around. 'Legal', for instance, is far less used in the Northeast region. There, 'massa' is much more used.

Northeast region (Alagoas, Bahia, Ceará, Paraíba, Pernambuco, Rio Grande do Norte, Sergipe)

 * Cabra (CAH-brah)
 * Same as "meu" from São Paulo, but, like "cara", it is used only when you're talking to a male person

 * Eita, eita pega (AY-tah - AY-tah PAY-gah)
 * Gosh, as in "Gosh! what have done!"

 * Oxe, oxente (OSH - osh-EHN-tee)
 * Why, as in "why! that's strange"

 * Vixe, vixe Maria (VEESH - VEESH mah-REE-ah)
 * Holy mother! (comes from Virgem Maria -- the Virgin Mary)

 * Vôti (VOE-tee)
 * Same as "eita" or "vixe"

Rio de Janeiro

 * Sangue bom (SAHN-ghee BOHM)
 * "Nice man", someone trustable, means "Good blood". You can also say only "Sangue"

 * Mermao (MEH-MOUN)
 * Brother, brodah

 * Caraca (cah-RAH-cah)
 * Exclamation, like "Holy" Or "What the..."

Rio Grande do Sul

 * Tri (TREE)
 * Cool (in many contexts)

 * Tri-legal (TREE leh-GOW)
 * Very cool

São Paulo
Note: If you talk in slangs with the young ones, be careful because they are divided in "tribos"(meaning: groups) like skaters, surfers, etc. The slang spoken by a certain group may sound senseless to another one.

 * Mano (MAHN-no)
 * Boy, dude, guy

 * Mina (MEEN-nah)
 * Girl

 * Rolé (hol-EH)
 * "A ride." (e.g. Vamos dar um rolé. - Let´s go for a ride.)

 * Sampa (SAHM-pah)
 * São Paulo

 * Truta (TROO-tah)
 * Friend

 * Brother, brodi, brou (same pronoun as in english)
 * Friend, dude

 * Cara (CAH-rah)
 * Dude

 * Meu (MEH-o)
 * Dude

Minas Gerais

 * Trem (TREIN)
 * Stuff

 * Sô (between SOH and SOE)
 * Emphasis per se, it´s an early alitheration for SENHOR(Sir). E.g. O quê que é isso, sô? - What is this *sô* !!;Trem (TREHM-eem)
 * Used as a substitute for "this" (e.g.: "Que TREM que é esse?" - What is this? )

 * Arreda: Chegar pra lá, dar licença
 * Uai (like the letter "Y")
 * Doubt Exclamation (Used also as an emphasis.)

Goiás

 * Vish (VEESH)
 * Used for surprise, like "Wow". (abreviation for "virgem Maria" (virgin Mary))

 * Nem (NAIM)
 * Demonstration of disapproval (something like "no way").

 * Anem (ah-NAIM)
 * Demonstration of disapproval (same as "nem"), or pity (like "oh no, I can't believe").

 * Moço (MOLSS)
 * dude

 * Moço do céu (MOLLS-doo-cell)
 * vocative used to start a tragic story or to indicate surprise. (translates literally as "heaven's man")

 * Véi de Deus (VAIGH-dee-deaous)
 * alternative "moço do céu" (other alternation is "véu do céu" or "moço de Deus" - translates literally as "god's old man")

 * Cê pira? (say-PEE-rah?)
 * "Do you believe?" or used to begin unlikely stories: "do you believe (that) ______ ?". "Cê pira?" literally means "you go crazy?".

 * Desgreta (jees-GRAY-tah)
 * shit

 * Esparrado (espa-RAH-doh)
 * suspicious

Brasilia (DF)

 * Vei (vaigh)
 * dude

 * Sinistro (SEE-NIS-Through)
 * sometimes cool, sometimes awesome, sometimes unbelievable (depends on context)

 * Pega leve (Pague a lav)
 * take it easy

 * Vaza (vah zah)
 * go away

 * Carai, Vei! (Car i, vaigh)
 * whadda fuck, dude!

 * Pô (Pow)
 * Oh, what? OR Fuck!

 * Sacanagem (SAH-CAH-NAH-jin)
 * (lots of meanings - also bad word) could be prank, mean

title: Portuguese/Contents/Slang (Brazil)


text:
Wikibooks talk:Book of the month/October 2005 voting

Moved Programming:C -/- -/- from the page
(Automatically nominated with 4 votes in August.)

Votes:

 * 1) Dirtyliberal 08:20, 1 September 2005 (UTC)
 * 2) Klingoncowboy4 23:51, 2 September 2005 (UTC)

Opposing votes:

 * 1) Krischik 06:45, 1 September 2005 (UTC)
 * 2) * In violation of Forking policy (forked with no good reason apart from a flawed "one page" layout - from which even the contributors have stepped back by now).
 * 3) * In violation of Naming policy (the fork was done after Bookshelve:Book conventions was made obsolete)
 * 4) * Has been automatically nominated the 4th time in a row.
 * 5) * Supporters and Contributors have nevers said anything to the defense of there book.
 * 6) MShonle 06:11, 6 September 2005 (UTC) -- This book isn't ready yet to be a book of the month, and it should be merged with the C++ book, transcluding can give you both a chapter by chapter and whole book view.

Comments:

 * Just to clarify: I would not oppose nomination of any other Programming - including Programming:C plus plus - and I would consider them books not chapters. I oppose only the the flawed und unecessary fork of Programming:C -/- -/-. --Krischik 06:38, 2 September 2005 (UTC)

Thanks Krischik for bringing this policy violation to our attention; I have finally looked into it. Given that this book will be deleted by September 21st, it doesn't make much sense to vote on it for being a book of the month in October. MShonle 21:33, 8 September 2005 (UTC)


text:
How to Write a Research Paper in History/Finding sources

As a knowledge-creating discipline, history is driven primarily by its sources. This section is designed to help the student think about finding sources, types of sources, and the difficulties inherent in sources.

What is a source?
"Sources" is a catch-all term for any information used by the historian to generate narratives (a story about what happened in the past) and interpretations (conclusions drawn about the meaning of this story). Sources are to the historian what measurements are to the scientist, in a very real sense. Just like the scientist who wants to measure the sun, one must first think very carefully about what one is trying to measure and how one is trying to measure it. What sources are available can very well shape the questions asked, for trying to answer questions for which there are no sources is not the work of the historian.

Sources used by the historian can be broadly divided into two categories: primary sources and secondary sources. The former, as you probably know, consists of any source which is to be taken as a "document of its time" — something to be read and analyzed as a bit of information. A secondary source is a work which was derived from primary sources. The line between these can be somewhat blurred — things generally considered secondary sources can also be taken as "documents of their time" in many circumstances (a paper about historical education in the United States, for example, would likely use many textbooks, usually considered secondary sources, as primary sources).

Using secondary sources
Though it may seem an odd notion at first, historians cannot usually effectively work with primary sources if they have not first read over many secondary sources. The reason for this is that any historical question will involve immersing one's self in a massive amount of historical contingency. Every historical event is embedded in a larger historical framework, and no historian can re-invent the wheel each time he wants to write a paper. Reading the work of other historians related to your topic will allow you to see the entire historical landscape that you are entering in, and give you the ability to interpret the primary sources you will look at. Other historians are not always correct, of course, and one should always maintain a free mindset when doing one's own research. But knowledge of secondary sources is essential, especially for beginners, if only for the reason that anybody reading your work will expect that you are familiar with the more prominent works done by other historians.

Secondary sources can also be useful for their own citations and references, which can alert you as to what sorts of primary sources exist for your topic. Paying attention to how other historians construct and craft their narratives will also give you a more clear idea of how you will do it yourself when you come to writing.

Using primary sources
Primary sources, while the mainstay of the historical diet, are problematic little beasts. They are only as reliable as the person or people who created them. Their veracity and applicability must be weighed against the sum of all other information about the subject. They cannot be simply taken at face value, and must be weighed within the context of their creation.

The types of primary sources available depends very heavily on the topic. A medievalist uses very different types of sources than someone working on the history of the Cold War, both in terms of what sorts of media the sources consist of (e.g., parchment vs. typewritten letters) as well as the reason for creating such a source (e.g., showing the divinity of a ruler vs. attempting to work within a large democratic bureaucracy). Assessing what types of sources are available for any given topic can be most easily done by reading through secondary literature. Looking for new sources is of course always encouraged and can lead to real and new breakthroughs, but in general one is usually stuck with known sources.

Limitations of sources
Sources can only "say" so much about the past. For example, a newspaper article about a historical event might seem like a great way to learn about the event, but how much can an article say about the past? Journalism is often called the "first draft" of history, but like most "first drafts" there is much editing to be done — a newspaper article will often lack historical consciousness, much less a good deal of less-obvious facts about a given event, orientated around a goal of selling newspapers. This doesn't invalidate a newspaper article as a source, but it does place limitations on what you can use it for. A newspaper article could provide some factual information about an event itself, but it must always be interpretted through the lens of a historian aware of its limitations; such a source would be perhaps best used (and thought about) as evidence of how an event was reported, rather than how an event actually occurred. This when some take place sudden or unexpexted.

This consideration of epistemology (the philosophy of knowledge itself) is necessary for any source used. Diaries, letters, parchment, official histories, newspaper articles, telegrams, manuscripts, interviews, and even photography have their own separate limitations which need to be considered before a final conclusion is drawn.

Though historical methodology in regards to sources urges much caution, the historian is also lucky in that almost any form of recorded information can be a source: the records of governments or businesses, the correspondence of individuals, early drafts of manuscripts or articles, interviews and oral histories (previously made or conducted yourself), published works, telegrams, etc. Most of these sorts of primary sources will be found in research libraries and archives, though their exact locations can be difficult to track down.

Finding secondary sources
Finding worthwhile secondary sources will save you a lot of time and effort later, and allow you to have a more comprehensive view of your primary sources. Below are general suggestions towards this end.
 * 1) Talk to a reference librarian. Reference librarians will, at the very least, be able to point out to you where in the library you should be looking. They may be able to give you a whole host of things to look at.
 * 2) Browse the shelves. Once you've found a single book which looks certainly related, look at the books physically near it on the shelves as well. Most library filing systems are thematically based, so you will often find very similar books nearby, sometimes ones you may not have noticed otherwise. Of course, any given book may be in a number of categories, so you can't rely on this as a comprehensive approach.
 * 3) Look at the sources used by articles on related subjects. Most articles, usually in the first three footnotes, will have a long footnote of all of the relevant "standard" secondary source literature for the topic, used as a way of signalling to the reader what they ought to read if they are having difficulty with the basic premise of the paper. You should have a passing acquaintance with these as well, at the very least.
 * 4) Don't be afraid to skim. You usually will not need to read every word of all of your secondary sources. Use the table of contents and index to good effect, find the most relevant sections. Reading the introduction carefully is definitely recommended — along with telling you the approach the author is bringing to the topic, they will often, in academic histories, give you a short summary of the book as a whole, with explanations of what each chapter will cover. This can save you a lot of time. In an ideal world, we'd all have enough time to read every printed word on a subject. But this is not an ideal world.
 * 5) Use online databases to their fullest extent. There are many online databases available which can help you in this aim. If you have access to JSTOR, it will be a great help for you, both in locating full historical articles on any number of topics, but also allowing you to search book reviews to see how any given historical work was received. Inquire with your reference librarian about what sorts of online resources are available and how to use them. Your library's website may have an excellent online search function, with access to various journals, databases and reviews. Many colleges and universities buy memberships to sites like JSTOR, so accessing articles through your library's website may be free.

Finding primary sources
The following is a general approach to finding primary sources, but again, there is no sure-fire way to do it — there is always a bit of luck involved.
 * 1) Look at the sources used in relevant secondary literature. The first step, and the easiest, is to simply look at what other historians have already been looking at. Pay attention especially to references to archives — they may contain additional records not surveyed by that particular historian. Don't be afraid to look at sources which have already been heavily used by historians — there are often things missed and new people bring new interpretations to old things.
 * 2) Contact archives and research libraries which may plausibly have records related to your topic. Geographical proximity often (but not always!) is helpful in this respect (check with archives near wherever the creator of the records may have been). Most archives and libraries have librarians who know their collections very well and can be quite helpful in tracking down sources. When possible, try to get finding aids for larger collections, as they will help you figure out how useful the collection may be (and save you a lot of time).
 * 3) Contact other researchers in the field. Don't be afraid to e-mail or call other researchers in the same field. Tell them a little about yourself, tell them the topic of the paper you are working on, and ask if they have any suggestions towards working on it. A flattering note about how their own work has so far been useful to you, and how you believe that if anyone would know about this, they would, always helps. Even if the particular researcher you e-mail does not know about the topic, they may know someone better to contact — most historians belong to professional societies, read trade journals, and keep in touch with the general layout of the discipline, and can point you in the right direction even if they have no knowledge about the topic itself.

Next section: ../Doing research/


text:
X86 Disassembly/Code Optimization

Code Optimization
An optimizing compiler is perhaps one of the most complicated, most powerful, and most interesting programs in existence. This chapter will talk about optimizations, although this chapter will not include a table of common optimizations.

Stages of Optimizations
There are two times when a compiler can perform optimizations: first, in the intermediate representation, and second, during the code generation.

Intermediate Representation Optimizations
While in the intermediate representation, a compiler can perform various optimizations, often based on dataflow analysis techniques. For example, consider the following code fragment:

An optimizing compiler might notice that at the point of "if (x != 5)", the value of x is always the constant "5". This allows substituting "5" for x resulting in "5 != 5". Then the compiler notices that the resulting expression operates entirely on constants, so the value can be calculated now instead of at run time, resulting in optimizing the conditional to "if (false)". Finally the compiler sees that this means the body of the if conditional will never be executed, so it can omit the entire body of the if conditional altogether.

Consider the reverse case:

In this case, the optimizing compiler would notice that the IF conditional will always be true, and it won't even bother writing code to test x.

Control Flow Optimizations
Another set of optimization which can be performed either at the intermediate or at the code generation level are control flow optimizations. Most of these optimizations deal with the elimination of useless branches. Consider the following code:

In this code, a simplistic compiler would generate a jump from the C block to end_B, and then another jump from end_B to end_A (to get around the E statements). Clearly jumping to a jump is inefficient, so optimizing compilers will generate a direct jump from block C to end_A.

This unfortunately will make the code more confused and will prevent a nice recovery of the original code. For complex functions, it's possible that one will have to consider the code made of only if-goto; sequences, without being able to identify higher level statements like if-else or loops.

The process of identifying high level statement hierarchies is called "code structuring".

Code Generation Optimizations
Once the compiler has sifted through all the logical inefficiencies in your code, the code generator takes over. Often the code generator will replace certain slow machine instructions with faster machine instructions.

For instance, the instruction:

operates much slower than the equivalent instruction set:

So then why would a compiler ever use a loopxx instruction? The answer is that most optimizing compilers never use a loopxx instruction, and therefore as a reverser, you will probably never see one used in real code.

What about the instruction:

The mov instruction is relatively quick, but a faster part of the processor is the arithmetic unit. Therefore, it makes more sense to use the following instruction:

because xor operates in very few processor cycles (and saves three bytes at the same time), and is therefore faster than a "mov eax, 0". The only drawback of a xor instruction is that it changes the processor flags, so it cannot be used between a comparison instruction and the corresponding conditional jump.

Loop Unwinding
When a loop needs to run for a small, but definite number of iterations, it is often better to unwind the loop in order to reduce the number of jump instructions performed, and in many cases prevent the processor's branch predictor from failing. Consider the following C loop, which calls the function  5 times:

Converting to assembly, we see that this becomes, roughly:

Each loop iteration requires the following operations to be performed:
 * 1) Compare the value in eax (the variable "x") to 5, and jump to the end if greater then or equal
 * 2) Increment eax
 * 3) Jump back to the top of the loop.

Notice that we remove all these instructions if we manually repeat our call to :

This new version not only takes up less disk space because it uses fewer instructions, but also runs faster because fewer instructions are executed. This process is called Loop Unwinding.

Inline Functions
The C and C++ languages allow the definition of an  type of function. Inline functions are functions which are treated similarly to macros. During compilation, calls to an inline function are replaced with the body of that function, instead of performing a  instruction. In addition to using the  keyword to declare an inline function, optimizing compilers may decide to make other functions inline as well.

Function inlining works similarly to loop unwinding for increasing code performance. A non-inline function requires a call instruction, several instructions to create a stack frame, and then several more instructions to destroy the stack frame and return from the function. By copying the body of the function instead of making a call, the size of the machine code increases, but the execution time decreases.

It is not necessarily possible to determine whether identical portions of code were created originally as macros, inline functions, or were simply copy and pasted. However, when disassembling it can make your work easier to separate these blocks out into separate inline functions, to help keep the code straight.

title: X86 Disassembly/Code Optimization


text:
Talk:Programming:C -/- -/-

lets add some diagrams and pictures to spiff up this entry. Even text diagrams would help, you must know some people who are visual learners...

title: Talk:Programming:C -/- -/-


text: Subject:Higher School Certificate

title: Subject:Higher School Certificate


text:
C++ Programming/Programming Languages

What is a programming language?
In the most basic terms, a "programming language" is a means of communication between a human being (programmer) and a computer. A programmer uses this means of communication in order to give the computer instructions. These instructions are called "programs".

Like the many natural languages we use to communicate with each other, there are many languages that a programmer can use to communicate with a computer. Each programming language has its own set of words and rules, called the syntax of that language. If you're going to write a program, you have to follow the syntax of the language you're using, otherwise you won't be understood.

Programming languages can generally be divided in two categories: Low-Level and High-level, both concepts will be introduced to you and their relevance to C++.

Low-level
The lower level in computer "languages" are:

Machine code (also called binary) is the lowest form of a low-level language. Machine code consists of a string of 0s and 1s, which combine to form meaningful instructions that computers can take action on. If you look at a page of binary it becomes apparent why binary is never a practical choice for writing programs; what kind of person would actually be able to remember what a bunch of strings of 1 and 0 mean?

Assembly language (also called ASM), is just above machine code on the scale from low level to high level. It is a human-readable translation of the machine language instructions the computer executes. For example, instead of referring to processor instructions by their binary representation (0s and 1s), the programmer refers to those instructions using a more memorable (mnemonic) form. These mnemonics are usually short collections of letters that symbolize the action of the respective instruction, such as "ADD" for addition, and "MOV" for moving values from one place to another.

You do not have to understand assembly language to program in C++, but it does help to have an idea of what's going on "behind-the-scenes". Learning about assembly language will also allow you to have more control as a programmer and help you in debugging and understanding code.

The advantages of writing in a high-level language format far outweigh any drawbacks, due to the size and complexity of most programming tasks, those advantages include:

 * Advanced program structure: loops, functions, and objects all have limited usability in low-level languages, as their existence is already considered a "high" level feature; that is, each structure element must be further translated into low-level language.
 * Portability: high-level programs can run on different kinds of computers with few or no modifications. Low-level programs often use specialized functions available on only certain processors, and have to be rewritten to run on another computer.
 * Ease of use: many tasks that would take many lines of code in assembly can be simplified to several function calls from libraries in high-level programming languages. For example, Java, a high-level programming language, is capable of painting a functional window with about five lines of code, while the equivalent assembly language would take at least four times that amount.

High-level
High-level languages do more with less code, although there is sometimes a loss in performance and less freedom for the programmer. They also attempt to use English language words in a form which can be read and generally interpreted by the average person with little to no programming experience. A program written in one of these languages is sometimes referred to as "human-readable code". In general, abstraction makes learning a programming language easier.

No programming language is written in what one might call a natural language like "plain English" though, (although BASIC and COBOL come close and someone is working hard at it in the Osmosian Order's Plain English compiler and Integrated Development Environment, which is written entirely in Plain English, being plain English then open to debate regarding its definition). Anyhow, because of this necessity for reduction and control regarding written expression that results in the use of programming languages (constructed and formal languages) the text for the program is sometimes referred to as "code" or more specifically as "source code." This is discussed in more detail in The Code Section of the book.

The important bits to retain is that while some words (instructions) are in English (mostly for ease) the language used is different (with generally good reasons why, otherwise someone will create a new programming language), beyond that the rest of above paragraph may only be of importance when you start building parsers, languages and compilers. The Higher-level a language is, the harder it works to solve the problem of abstraction to the hardware (CPU, co-processors, number of registers etc...) by supporting portability on code and higher human intelligibility via added complexity in expression and constructs.

Keep in mind that this classification scheme is evolving. C++ is still considered a high-level language, but with the appearance of newer languages (Java, C#, Ruby etc...), C++ is beginning to be grouped with lower level languages like C.

Translating programming languages
Since a computer is only capable of understanding machine code, human-readable code must be either interpreted or translated into machine code.

An Interpreter is a program (often written in a lower level language) that interprets the instructions of a program one instruction at a time into commands that are to be carried out by the interpreter as it happens. Typically each instruction consists of one line of text or provides some other clear means of telling each instruction apart and the program must be reinterpreted again each time the program is run.

A Compiler is a program used to translate the source code, one instruction at a time, into machine code. The translation into machine code may involve splitting one instruction understood by the compiler into multiple machine instructions. The instructions are only translated once and after that the machine can understand and follow the instructions directly whenever it is instructed to do so. A complete examination of the C++ compiler is given in the Compiler Section of the book.

The tools with which to instruct a computer may differ, however no matter which statements are used, just about every programming language will support constructs that accomplish the following:

 * Input: Input is the act of getting information from a device such as a keyboard or mouse, or sometimes another program.

 * Output: Output is the opposite of input; it gives information to the computer monitor or another display device or program.

 * Math/Algorithm: All computer processors (the brain of the computer), have the ability to perform basic mathematical computation, and every programming language has some way of telling it to do so.

 * Testing: Testing involves telling the computer to check for a certain condition and to do something when that condition is true or false. Conditionals are one of the most important concepts in programming, and all languages have some method of testing conditions.

 * Repetition: Perform some action repeatedly, usually with some variation.

Further examination and analysis of C++ language constructs is provided on the Statements Section of the book.

Believe it or not, that's pretty much all there is to it. Every program you have ever used, no matter how simple or complex, is made up of functions that function more or less like these. Therefore, one way to describe computer programming is the process of breaking a large, complex task up into smaller and smaller sub-tasks until eventually each sub-task is simplified enough to be performed with one of these functions.

C++ is mostly compiled rather than interpreted (there are some C++ interpreters), and then "executed" later. As complicated as this may seem, further on you will see how easy it can be.

So as we have seen in the Introducing C++ Section, C++ evolved from C by adding some levels of abstraction (so we can correctly state that C++ is of a higher level than C). We will learn the particulars of those differences in the Programming Paradigms Section of the book and for some of you that already know some other languages should look into Programming Languages Comparisons Section.

title: C++ Programming/Programming Languages


text:
Behringer FCB1010 MIDI Pedal

Behringer FCB1010 MIDI Pedal

Well it occurs to me that other than using this pedal, I don’t know enough about its background. Perhaps another writer will fill in the original ship date. Suffice it to say that it has been on the market for at least a couple of years, and that it is priced at the bottom of the pack. However, its features and durability place it more toward the upper middle of the pack, if you are willing to put up with a few quirks. There are more capable MIDI pedals on the market, but they are easily twice to six times the price. It is no wonder that this pedal has become very popular – so popular that the FCB1010 group on yahoogroups has nearly 12,000 members, as of March 2009.

The first version of the pedal essentially worked, but there were a few minor bugs in the firmware, most notably having to do with the Expression pedal functionality. Behringer responded by releasing new firmware that attempted to rid it of bugs, and add some new features. Unfortunately this took several releases to get right, and the pedal was in shipping during this experimentation. Thus, a new pedal could have Version 1.0, through 2.5 in about six different steps. To keep costs down, Behringer left out a way to reprogram the firmware in the board, so replacing the firmware must be done by replacing the EPROM. The units, as built in China, have copious quantities of hot glue all around and on the original EPROM, so it may be a minor challenge getting the old one out. The good news is that Behringer have been forthcoming with EPROMs for those who have had their pedals for less than a year, and for a very minor fee for the rest of us. In addition, a number of folks who can program EPROMs offer the service for a minor charge.

Most users discover that the pedal is shipped with the Expression Pedals needing calibration. Calibration is a software-controlled setting of the expression pedal’s range. In addition, some units are shipped with a mis-aligned LED that operates the expression pedals. Those users have had to open the unit and tweak the position of the LED to restore normal function of the expression pedals. These procedures are detailed below.

One of the other irritants has been the display and LEDs. The way the pedal works, the LED that is on is above the last pedal pressed. But since you can program a button to send only Control Change data, you can use them to turn effects on and off. Thus you can choose a preset, then turn on an effect, and not have a visual cue as to which preset is enabled. The display is not programmable, and in fact only displays which bank you are currently working with.

Despite the obvious quirks and minor irritations, the pedal has a reputation as being one of the best on the market. This is due to a very capable MIDI implementation (although it is difficult to understand for the MIDI newbie), and a very reliable physical build. The pedal can send info to up to five separate devices. It can send Program Changes, Control Changes, and Note messages. It can store up to 100 presets. It supports the full 128 Program Change messages. It can send up to five different Program Change messages, two Control Change messages, and Note messages at one time. In addition, both expression pedals can send Control Change data for each preset.

Physical
The pedal has ten preset buttons, a pair of up and down buttons, and two expression pedals. The unit is quite large at 27” long, x 8 ¾” deep, and 2 3/8” thick. The unit weighs 7.7lbs. Each button has an LED above it. In addition there is a display that indicates which bank is active, and some status lights that provide mode and status information while programming.

There are two 1/4" jacks on the back for the two relay contacts that can be programmed, as well as a MIDI In and MIDI Out jack, and of course the power input jack.

Programming
BEFORE beginning ANY programming on the FCB1010, it is extremely important that you verify (and upgrade if necessary) the firmware. The minimum firmware version would be 2.3. The most current version is 2.5.1.

Please visit the FCB1010 Yahoo group http://groups.yahoo.com/group/fcb1010 and download the free Windows Editor. Even if you don't use it, just loading it up and looking at it, will help you to understand it's capabilities and how to program it. For the Mac, a non-free editor, called "iFCB", is available from Wabbit Wanch Design at http://www.wabbitwanch.com/iFCB.html.

Manual Programming Example
This exchange is from the FCB1010 user group on Yahoogroups. These instructions walk you through programming one Program Change message as a means of illustrating how programming works on this pedal.

First, here are the steps to set up a program change from the manual:

Preset programming: Generally UP confirms and DOWN cancels the current changes.

1. Select the preset you would like to edit.

2. Press the DOWN button for 2-3 seconds, to enter the preset configuration mode.

3. The green LED for switch 1-2 will flash now. If you want to use the relay switches in this preset, you can activate/deactivate them by pressing pedal 1 and/or 2. Once set, press ENTER/UP to confirm.

4. The green select LED will now light up. The red LED's in the buttons indicate the MIDI commands that are to be transmitted when you select this preset. In factory condition, these will be : PROG CHG 1, EXP A and EXP B. If you want to transmit other commands in this preset, press the relevant functions (pedals) until the red LED lights up (2-3 seconds).

5. To set the parameters of the MIDI commands, press the function you would like to edit briefly. The red LED in the pedal of the selected function will start to flash now. Confirm with ENTER/UP.

6. Fig. 2 shows the parameters that need to be set. Fill in the required values, and always confirm with ENTER/UP.

7. When all values have been entered, leave the preset programming by pressing the DOWN button for 2-3 seconds. Your preset is stored now.

Referring to the steps above, follow this procedure:

First power up your FCB1010.

In step 1 above, you press a button, and the LED comes on. For the sake of argument, and to help clarify things (you'll see why) please choose button 5. So now button 5's LED is on.

In step 2 above, you hold the Down button for a couple seconds, and you should see (step 3) the green LED for the switch flashing. Ignore them for now and press the UP button.

Step 4, you should see the green LED by Select is On. You should also have at this point the LED on button 1 should be on steady, and both LEDs on buttons 8 and 9 should be on steady. What these LED's are indicating are that you have one MIDI channel configured to transmit your program change messages (that's why the first button's LED is on), and that the preset you are configuring includes both expression pedals (that's why the LED's on buttons 8 and 9 are on). This, for me, was the most confusing aspect of programming this controller - the LED's are indicating different things during the process of programming - sometimes indicating which button was pressed, but also indicating MIDI channel, Control Change info, Expression Pedal status, etc.

Step 5. Here it gets interesting. We're going to set up Program Change 5 on button 5 here, and the LED on button 1 is on. So, you press button 1 until it begins to flash. Why? You started this process by pressing button 5, so the FCB knows you are configuring preset 5 all the way through the process. You also have to remember this! You only have one MIDI channel configured (if it's still in Factory configuration), and it's status and programming are on the first button. So you press button 1 to start configuring what goes out on that channel. So now button 1 is blinking, right? Press the UP button and you should see the display change to indicate what program change message is configured to go out on that channel. The left number is steady, and the right number is blinking. If you started on FCB bank 0, the left number will be 0. If you started on FCB bank 9, the left number will be 9. But this two digit number is the program change message that will go out when you press button 5 (remember, we're programming button 5 here). So I expect you see 05 in the display, with the 5 flashing. To program this Program Change, select any two numbers, and press the up button. So if you want button 5 to send out Program Change 5, press the 0 button and then the 5 button to choose that. Obviously, you can choose to set button 5 to ANY program change message from 00 to 127 at this step.

Once you set the program change value and pressed the Up button, the LED's go back to showing the programming status. If you are done configuring what you want to go out on MIDI channel 1, you can press the down button for a few seconds to exit programming mode. But you can choose any other active function to program at this point. As we noted earlier, buttons 8 and 9 have their LED's illuminated as well. That tells you that you could choose to press one, wait for it to begin blinking, and set up an expression pedal. But for the moment, please exit programming mode (press Down for about 3 seconds) and go see if you get anything to respond to the button you just programmed.

At this point, you should have had your "AHA!" moment, and now understand the way all programming works on this pedal - choose a preset, go into programming mode, choose the feature you wish to program, program it, and exit programming mode.

Expression Pedals
Calibrate the Expression pedals BEFORE you attempt to use them. Here's the procedure for firmware versions PRIOR to 2.4:

1. Keep footswitches 1 and 3 pressed while switching on the unit (This bit you can't do standing up!). Release the switches when the display blanks. The LEDs on the footswitches, the ones on the display and each segment of the two numeric displays will turn on and off in sequence.

2. Wait until all footswitch LEDs are on. Depress all footswitches one at a time, including UP and DOWN, until all LEDs are off.

3. Wait until relay switch test is finished. (There will be a couple of mechanical clicks, and the display will end up reading "F1" (at least, it did on mine)). [Also, if you have connected a MIDI cable between the MIDI in and out, the display will show "A1" before this, meaning the midi ports work correctly.]

4. Press DOWN once.

5. Adjust the left expression pedal (A) to the lowest value. Once adjusted press UP.

6. Adjust the left expression pedal (A) to the highest value. Once adjusted press UP.

7. Adjust the right expression pedal (B) to the lowest value. Once adjusted press UP.

8. Adjust the right expression pedal (B) to the highest value. Once adjusted press UP.

9. Select a patch which has both pedals set to their full range, and check the expression pedals now send 0-127 (0x00-0x7F)

For firmware versions 2.4 and later:

1. Press buttons 1 + 5 while powering your FCB1010 up (VAL 1 LED on).

2. First bring the expression pedal A to the up position and confirm with UP (VAL 2 LED turns on), then put the pedal A down and also confirm with UP (VAL 1 LED turns on).

3. Now proceed with moving expression pedal B to the up position, and confirm with UP (VAL 2 LED turns on).

4. Finally push expression pedal B down and confirm pressing UP. Now the pedals of your FCB1010 are calibrated and settings are automatically stored.

EPROMs
The FCB1010’s firmware is contained on its internal EPROM, a standard type 27C512 (64kB) or 27C256 (32kB). The EPROM is an OTP (One Time Programmable) type. To upgrade the FCB1010 to a newer firmware revision, the old EPROM inside the FCB1010 must be replaced by the newer EPROM. Care must be exercised when removing the original EPROM. Behringer uses quite a bit of hot glue to secure components in place. Instructions for replacing the EPROM can be found on Behringer's website.

It is also possible to obtain third-party EPROMs made specifically for the FCB1010.

UnO http://www.fcb1010.eu/ is a popular general purpose EPROM replacement, which fixes some 'bugs' in the standard Behringer firmware, while adding some features.

EurekaSound! http://www.eurekasound.com/ sells the EurekaPROM for the FCB1010, which has configurations that target specific effects boxes along with a programmable configuration. While this PROM limits flexibility somewhat, it is very user friendly and much easier to set up.

Setup with G-Major
There are two features in the MIDI/IO Menu on the G-Major that will enable your FCB1010 (or other controllers) to communicate with your G-Major.

1. MIDI Channel: First and foremost, the G-Major has to be able to communicate with the FCB1010 Controller. You can change the MIDI Channel that the FCB1010 is sending MIDI data on as long as you set the G-Major to the same channel in the as the G-Major. Personally, I would simply set the G-Major's MIDI channel to 'OMNI' which will receive everything you send it. This way, you can accidentally change the MIDI channel on the FCB1010 (or any other controller) and it'll still respond to MIDI commands.

2. MIDI Program Change: This MUST also be turned on for the G-Major to respond to external controllers (FCB1010). A lot of people miss this step. At this point, you should be able to change presets on the G-Major with your FCB Controller. Make sure this is working before you proceed any further.

CHANGING PRESETS: In the MIDI/UTIL Menu on the G-Major, there is a Program Bank option that allows you to determine which bank of presets you wish to use. There are 100 Factory presets in the G-Major. These CAN NOT be edited! User presets are blank and can be edited and saved for future use. If you want to make changes to a factory preset, you can edit it, then save it to a User preset. The G-Major allows you to select presets within either the Factory presets, User presets, or both. Here are the options as they show up in the G-Major's MIDI/UTIL Program Bank menu:

1. Factory: Allows you to select only factory preset from an external controller. This works fine if you like the factory presets and don't need to make any changes to the presets.

2. User: Allows you to select only saved User presets. I use this option as I prefer to customize all of my presets.

3. Custom: Allows you to select between Factory or User presets. Decide which group of presets you wish to use and select the appropriate option within the Program Bank menu.

USING THE FCB1010 EXPRESSION PEDALS: Within the G-Major, you can assign up to four Modifiers. A Modifier is an external controller that can control various effects parameters. In this case, we'll use the two expression pedals on the FCB1010 as Modifiers. The left expression pedal will be MOD 1 and the right expression pedal will be MOD 2. Here's how you set them up:

1. On the G-Major, press the MOD menu button.

2. Select MOD 1 using the CONTROL PARAMETER wheel.

3. Turn the inner EDIT wheel clockwise and you'll see your control options, which are OFF, LEARN, PEDAL, and CC1-128. Select the LEARN option.

4. Press ENTER and the display will begin blinking "LEARNING". This means that you are in LEARN mode and you can automatically assign your Modifier.

5. Move the left expression up and down. The "LEARNING" indicator will disappear. The G-Major has now automatically recognized your left expression pedal as MOD 1.

6. Repeat Steps 1-5, except select MOD 2 instead and move the right expression pedal during the LEARNING mode. Your right controller is now assigned as MOD 2.

Once you have completed these steps, you can assign either pedal to effects parameters within the G-Major. These settings are Global, meaning that they are present within all presets in the G-Major.

ASSIGNING THE FCB1010 EXPRESSION PEDALS TO PARAMETERS IN THE G-MAJOR: This section covers setting up the expression pedals to control various effects parameters (i.e.: Chorus speed, Reverb levels, Delay time, etc.) NOTE: Only effects parameters for the 'activated' effects can be assigned. In other words, you must have the CHORUS effect button enabled if you wish to control Chorus parameters within a preset.

1. On the G-Major, press the MOD menu button. The display will show you MOD 1, 2 ,3 or 4. Do not worry about what is displayed here! This just lets you know that you are in the proper Modifier menu.

2. Press ENTER. At this point, you will see a list of the various effects parameters that can be modified. In the menu display, you will see the effect listed on the right, and the effects value on the right.

3. Scroll through the various effects parameters using the PARAMETER wheel until you find the effects parameter that you want to control.

4. Use the inner VALUE knob to scroll through the various controllers that are available. Select M1 for Modifier 1 (left expression pedal). Press ENTER. You have now assigned your left expression pedal to control the desired effects parameter. You can repeat this step, except using M2 (Modifier 2) for the right expression pedal.

Also, the controller assignment settings made here are unique to each preset and will need to be initialized for each preset within the G-Major. If you copy a preset, these settings will be copied as well. My suggestion is to set up a generic preset to use as a template for all presets, copy it to all of your other presets within the G-Major, then modify each individual preset as desired.

Using the FCB1010 with Roland GR and VG Products
First, most Roland GR guitar synthesizers do NOT support MIDI THRU. None of the following GR units have MIDI THRU: -GR-700 -GR-1 -GR-30 -GR-33 -GR-55 (please expand this list if you can) The following VG units PORTS are described: -VGA-7 (no MIDI THRU port, but THRU setting of MIDI OUT port is possible) -V-Bass (no MIDI THRU port, and no THRU setting found) Put the GR at the End of the MIDI Chain This means that if you have other MIDI equipment to communicate with, do NOT put the GR units without MIDI THRU before other target devices in the MIDI chain. The targets beyond the GR will not receive MIDI data. There is no way to "set" these GR units to pass MIDI data thru to the MIDI output. This means that the GR must be the last MIDI device in the MIDI chain or the FCB1010 commands will not get through the GR unit to the intended target device. GR's use 6 MIDI Channels Second, GR units use 6 MIDI channels, one per string, even the bass units (since some basses have 6 strings). Typically GR units have channel 11 set as the default MIDI channel, which really means channels 11 to 16. This usually works out well because most keyboards will default to channel 1 and MIDI drums are almost always on channel 10. Using and especially while programming the FCB1010, it's important to remember that although sending commands to MIDI channel 11, with a GR they can effect 12-16 also. You probably don't want to set the FCB1010 GLOBAL CONFIG to use channels 12-16 if you have a GR unit among the target devices. Possible uses of FCB1010 with GR units Finally, the FCB1010 is a great compliment to any GR unit with MIDI input. It can be used to call up patches, control parameters via CC commands such as HOLD, PITCH, MODULATION, WAH, DELAY and more. See the Roland User Manual for the particular GR unit, and check the MIDI Implementation list at the back of the manual for a list of parameters that can be controlled by CC commands.

The FCB1010 doesn't send PITCH signals, alas.

title: Behringer FCB1010 MIDI Pedal


text:
C++ Programming/Code/API/Generic Wrappers

Generic wrappers
Generic GUI/API wrappers are programming libraries that provide a uniform platform neutral interface (API) to the operating system regardless of underlying platform. Such libraries greatly simplify development of cross-platform software.

Using a wrapper as a portability layer will offer applications some or all following benefits:

 * Independence from the hardware.
 * Independence from the Operating System.
 * Independence from changes made to specific releases.
 * Independence from API styles and error codes.

Cross-platform programming is more than only GUI programming. Cross-platform programming deals with the minimum requirements for the sections of code that aren't specified by the C++ Standard Language, so as programs can be compiled and run across different hardware platforms.

Here is some cross-platform GUI toolkit:
 * Gtkmm - an interface for the C GUI library GTK+. It is not cross-platform by design, but rather multi-platform i.e. can be used on many platform.
 * Qt (http://qt-project.org) - a cross-platform (Qt is the basis for the Linux KDE desktop environment and supports the X Window System (Unix/X11), Apple Mac OS X, Microsoft Windows NT/9x/2000/XP/Vista/7 and the Symbian OS), it is an object-oriented application development framework, widely used for the development of GUI programs (in which case it is known as a widget toolkit), and for developing non-GUI programs such as console tools and servers. Used in numerous commercial applications such as Google Earth, Skype for Linux and Adobe Photoshop Elements. Released under the LGPL or a commercial license.
 * wxWidgets (http://wxwidgets.org/) - a widget toolkit for creating graphical user interfaces (GUIs) for cross-platform applications on Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more using one codebase. It can be used from languages such as C++, Python, Perl, and C#/.NET. Unlike other cross-platform toolkits, wxWidgets applications look and feel native. This is because wxWidgets uses the platform's own native controls rather than emulating them. It's also extensive, free, open-source, and mature. wxWidgets is more than a GUI development toolkit it provides classes for files and streams, application settings, multiple threads, interprocess communication, database access and more.
 * FLTK The "Fast, Light Toolkit"


text:
Art Tutorials/General Concepts/Light and Shadows

==Light and shadows are different and the light does not have a shadow. To make a shadow, you will need any object and a source of light. At night-time, you can also make shadows, but you cannot make a shadow without any light.==

Umbra and Penumbra
The umbra is the darkest region of a shadow. The penumbra is the lightest region of a shadow. The more intense the light source, the harder the shadow and the less variation between umbra and penumbra. The less intense the light source, the softer the shadow and the more variation between umbra and penumbra.

Edges of Shadows
Visually, shadows have greatest local value near the edge. This is apparent with more intense light sources. The shadows appear to get darker near the edge of the shadow meeting with the light. This is mostly an illusion. However, when combined with the use of the rendering of umbra and penumbra, shadows in works often have a more interesting purpose.


text:
Java Programming/Design Patterns

A design pattern is not a finished design, it is a description of a solution to a common problem. A design pattern can be reused in multiple applications, and that is the main advantage of using it. It can also be seen as a template for how to solve a problem that can occur in many different situations and/or applications. It is not code reuse as it usually does not specify code, but code can be easily created from a design pattern. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved.

Each design pattern consists of the following parts:
 * Problem/requirement: To create a design pattern, we need to go through a mini analysis design and may be coding to test out the solution. This section state the requirements the problem we want to solve. This is usually a common problem that will occur in more than one application.

 * Forces: This section states the technological boundaries, that helps and guides the creation of the solution.

 * Solution: This section describes how to write the code to solve the above problem. This is the design part of the design pattern. It may contain class diagrams, sequence diagrams, and or whatever is needed to describe how to code the solution.

A design pattern can be considered as block that can be placed in your design document, and you have to implement the design pattern with your application.

Using design patterns speeds up your design and helps to communicate your design to other team members.

= Terminology =

The design patterns are not always simple to understand as it is a theoretical vision of programming. You must distinguish the abstraction and the representation. For example, we have a method that implements an addition:
 * The abstraction is only the visible part of your code outside. It is the contract between the provider and the client code. In Java, this theoretical concept is mostly the signatures of the methods of a class or an interface.
 * The representation is the way a problem is resolved. It follows the contract of what is given as input and what is expected to be returned. In Java, this theoretical concept is mostly the code lines in a class and any internal calls to other methods or classes.

title: Java Programming/Design Patterns


text:
Art Tutorials/Traditional Media/Drawing

Introduction
Drawing - whether with pen, pencil, crayon or something else, this is a fascinating way to create artworks. It is probably one of the easiest to begin with.

Drawing is the basis for most visual media art. Some people may say something like "I can paint, but I can't draw". This is silly since a strong base in drawing is needed to be good at painting, even for abstract painters.

Common Tools
This is a typical list of drawing tools from any college level drawing course. Your supplies may vary based on your needs.

 * 1) stick(s) of jumbo charcoal
 * 2) stick(s) of vine charcoal (soft or medium)
 * 3) charcoal pencil (4B)
 * 4) woodless pencil (6B)
 * 5) ebony pencil
 * 6) conté crayons
 * 7) blending stump
 * 8) pink pearl eraser
 * 9) kneaded eraser
 * 10) chamois skin or paper towel
 * 11) drawing paper tablet
 * 12) rough newsprint pad
 * 13) fixative

Drawing from Life
Drawing from Life means drawing the three dimensional objects you see in front of you. Drawing from life is what will make your drawing skills improve fastest and is a great exercise at any skill level. Many beginners don't understand the value of it and eventually become bored and abandon it pretty soon. Give it a chance and try to draw from life on scrap paper or in your sketchbook whenever possible. And sometimes take your time to do elaborate long time still-life studies.

When you are just starting out all you will need is tons of cheap paper and pencils. For beginners it is best to choose simple geometric objects like balls, cylinders and cubes lit by a single light-source.

Tutorials
How To Draw A Face

title: Art Tutorials/Traditional Media/Drawing


text:
Talk:Ancient History/Rome/Coming of the Dark Ages

This period should be called The Middle Ages or the neo-Keltic Ages.

Originaly the term "The Dark Ages" refered to the relative lack of information about the period at the start of the 19th century, when the term was coined. Later it became synonimous with "underdeveloped period". Now that in the second half of the 20th century more and more information has been recovered and interpreted, it is becoming clearer and clearer that the period between ca. 500 AD and ca. 1500 AD is neither unknown nor underdeveloped. In fact, the return to natural law in combination with ancient (Roman) laws and habits, supported the start of a new Empire in Europe: The Frankish Empire. Out of the Frankish Empire developed the different peoples, states and countries (in Europe and later in the world through colonialism) we know today. There is a direct line between the new empire of Clovis (Merovingian), Charlemagne (Franks), William the Conqueror (Norman-English) to the Habsburg Kingdom (Hispano-Austrian) of the 16th century.

All times were ruled by a stringent rule of law supported by force. No force, no law, but force could not be applied without legal stature or the consequences could be dire. Law developed from the rules of Charlemagne. Many additions and changes in interpretations were introduced as the ruling powers tried to enhance there strength, always affraid of losing there position on the first sign of weakness. However, it is now clear that the European (and later Western) society did not start in the modern era with the Renaissance in Italy, but it rather developed from the growing powers of the Middle Ages, starting directly after the destruction of the Western Roman Empire.


text:
Ancient History/Rome/Coming of the Dark Ages

This period should be called The Middle Ages or the neo-Keltic Ages.

Originally the term "The Dark Ages" referred to the relative lack of information about the period at the start of the 19th century, when the term was coined. Later it became synonymous with "underdeveloped period". In the second half of the 20th Century more and more information has been recovered and interpreted, and it is becoming clearer and clearer that the period between ca. 500 AD and ca. 1500 AD is neither unknown nor underdeveloped. In fact, the return to natural law in combination with ancient (Roman) laws and habits supported the start of a new empire in Europe: The Frankish Empire. Out of the Frankish Empire developed the different peoples, states and countries (in Europe and later throughout the world through colonialism) that we know today. There is a direct line from the new empire of Clovis (Merovingian), Charlemagne (Franks), William the Conqueror (Norman-English) to the Hapsburg Kingdom (Hispano-Austrian) of the 16th Century.

All eras have been ruled by a stringent rule of law supported by force. No force - no law, but force could not be applied without legal stature or the consequences could be dire. Law developed from the rules of Charlemagne. Many additions and changes in interpretations were introduced as the ruling powers tried to enhance their strength, always afraid of losing their position at the first sign of weakness. However, it is now clear that European (and later Western) society did not start in the modern era with Renaissance Italy, but rather developed from the growing powers of the Middle Ages, starting directly after the destruction of the Western Roman Empire.


text:
Talk:Kinematics

Possible Merge
There is already a book on theoretical mechanics (predates this book with a few months ;-) ). Perhaps it might be a good idea to merge the content of this book with Theoretical Mechanics? --Patrik 13:02, 9 September 2005 (UTC)

 * Patrik,

 * This book would not be a good addition to the theoretical mechanics book. The reason for this comes from the definition for mechanics, which I quote from Wiktionary: "That science, or branch of applied mathematics, which treats of the action of forces on bodies."

 * The primary point of kinematics (as opposed to kinetics, which you might have been thinking of), is that one looks at the range of motion of objects without respect to the forces involved in this movement. Looking at kinematics from a mechanics standpoint is more in the realm of a course in mechanisms, robotics, or kinetics.

 * Since it has been nearly a year since your post and no one has responded, I am going to remove the merger request from the main page.

 * Âme Errante 11:41, 30 July 2006 (UTC)

title: Talk:Kinematics


text:
Algebra/Iteration

Iteration
Iteration is a method of calculating of finding a value of a function through repeated guesses, with each one becoming closer and closer to the correct answer. This is commonly used in computer programs, where this kind of evaluation is easier than direct algebraic manipulation. It is also used in pure mathematics where the answer to a problem is either very difficult or impossible to find using algebraic manipulation. The main problem with Iteration is that it takes many steps to arrive at a suitably precise value for the calculation. However due to the speed of modern computers, it remains a very effective method of calculating values of equation.

When to use Iteration
Iteration can be used for all equations needed to be evaluated in a computer program. Due to the simplicity of the code required to implement this kind of evaluation, and the accuracy and speed that the computer can calculate the result, it is one of the most effective ways for a computer to evaluate mathematical expressions.

Iteration can also be used for formula that cannot be solved using conventional mathematical techniques. For example, for the equation $$27 = e^x + x$$, there is no known way to directly solve it for x. Using iteration however, the correct answer of 3.17 (to 2 decimal places) is easily calculated.

Thirdly, iteration is useful as a guide to the correct solution to a problem. For example, to evaluate all the values of x in the equation $$x^3 - 3 * x^2 - 10 * x + 24$$, one must first be found using either the Remainder Theorem and trial and error, or complicated simultaneous equation involving the sum, product and sum of product of roots of this equation. By using iteration, one root may be found easily, thereby making the final solution much easier to calculate.

Finally, iteration can be used to provide an estimate for the solution to a mathematical problem. Using iteration, simple arithmetic errors can often be detected as the calculated result does not match up with the expected result (see Mathematical estimation Techniques.

When not to use Iteration
Iteration can not be used to prove a mathematical equation. This is because iteration never provides an exact answer to a problem, only increasingly accurate estimates.

Also, sometimes the iteration method fails to calculate the correct answer for an equation. This will be discussed later.

Iteration will not work if the equation being tested uses function that only work with integer values. For example an equation with a factorial in it will not work.

Finally, for an equation with multiple roots, the iteration method will only find one (root).

How to use Iteration
Iteration is very simple to use once the basics are understood. Note that basic function notation is required to understand this explanation.

 * 1) Move all elements of the equation to one side of the equation so that one side of the equation equals 0 and call the other side f(x)
 * 2) Draw a rough graph of f(x) to find an estimate of which value of x f(x) = 0. Call this value x1.
 * 3) Choose values to the left and to the right of x1 and find f(x2) and f(x3).
 * 4) If either f(x2) or f(x3) is not an opposite sign to the evaluated value of the initial guess.
 * 5) If f(x2) or f(x3) is closer to 0 than f(x1) then choose x2 or x3 the new x1 and start again from step 3.
 * 6) Otherwise try different values to the left and right of the initial guess.
 * 7) If f(x2) or f(x3) is an opposite sign to f(x1):
 * 8) Take xA = x1 and xB = x2 or x3.
 * 9) Take a new guess xC from between xA and xB (i.e. $$xC = (xA + xB) / 2$$). For example xC = 3.5
 * 10) If f(xC) is an opposite sign to f(xA)
 * 11) Make xB = xC
 * 12) Repeate from step 5b until desired accuracy is achieved
 * 13) If f(xC) is an opposite sign to f(xB)
 * 14) Make xA = xC
 * 15) Repeat from step 5b until desired accuracy is achieved

Here is an example of this process in operation:

 * 1) $$x^2 + ln x + 3 ^ x = 87$$ becomes
 * $$f(x) = x^2 + ln x + 3 ^ x - 87 = 0$$ (note how one side equals 0).
 * 1) Clearly $$3^x$$ has to be less than 87 for f(x) to be 0. $$3^4 = 81$$ would be a good approximation as 81 nearly cancels out the -87. Hence x1 = 4.
 * f(x1) = 11.38
 * 1) try  x2 = 3... $$f(3) = -49.90$$
 * x3 = 5... $$f(5) = 182.61$$
 * 1) Not necessary.
 * 2) f(x1) has an opposite sign to f(x2)
 * a) xA = 4, xB = 3
 * f(xA) = 11.38
 * f(xB) = -49.90
 * b) xC = (4 + 3) / 2 = 3.5
 * f(xC) = f(3.5) = -26.73
 * c) f(xC) is opposite sign to f(xA)
 * i) xB = 3.5
 * f(xB) = -26.73
 * ii) go back to step 5b

5 b) xC = (3.5 + 3) / 2 = 3.25       f(xC) = -39.72    c) f(xC) is opposite sign to f(xA) i) xB = 3.25         Take xB as answer

That’s all that's to it. It may seem to take a lot of working on paper but normally most of the working can be skipped once you understand the method of iteration.

title: Algebra/Iteration


text:
Talk:Algebra/Iteration

Page Creation
Hi this is my first Wikibook page (or Wikipedia page for that matter...). Anyway I would greatly appreciate any feedback from more experienced Wikipedia user about how to go about making pages --WikiWizard 02:28, 10 September 2005 (UTC)

Example Formating
I have had a lot of trouble formatting the example I gave for iteration. I would appreciate any help to get this to work properly. --WikiWizard 02:28, 10 September 2005 (UTC)

title: Talk:Algebra/Iteration


text:
Wikibooks talk:Community Portal

Editing sections of the Community Portal
I removed " " from the Community Portal. I saw no reason for it, and it prevents one from editing one section; for example to add one link. --Kernigh 20:10, 6 December 2005 (UTC)

 * There's too much links now in the Portal. Pages should be simple - with lots of section edit links it does not look nice. --Derbeth talk 12:31, 7 December 2005 (UTC)

The four == boxes == should have section edit links, though. Maybe the === smaller sections === should become  smaller sections  ? --Kernigh 21:28, 7 December 2005 (UTC)

 * The main purpose of Community Portal is to be viewed, not edited. It aleady has a ton of links, adding more would just create more mess. I think lack of section edit links is just a small inconvenience. BTW, how often do you edit CP? Not so often I think. You're experienced user, I don't think you have big problem because of lack of edit links. --Derbeth talk 21:53, 7 December 2005 (UTC)

>>>>>WHY WAS THIS ALTERED? I CAN'T SEE ANY REASON HERE.... The four == boxes == should have section edit links, though. Maybe the === smaller sections === should become  smaller sections  ? --Kernigh 21:28, 7 December 2005 (UTC)

Let's get going
I'd really like to start this up again. Its a great idea and should ideally be an active central point of collaboration among editors. If we could a bot to update the template, that'd be great! I'm not sure how to step forward, but let's just take it one step at a time. --Iamunknown 05:42, 11 April 2007 (UTC)

Add fr:
The page seems protected, so I note it here: the French page is fr:Wikilivres:Accueil. Could someone add the link, please ?

 * Done. 百家姓之四 (talk) 09:47, 22 February 2009 (UTC)

How to convert pdf to word?
I'm writting my paper and need to extract some paragraph out of pdf materials, but the pdf can not be copied, so I need to tranfer them to word so that I can use them freely. Any idea to do that? Do I have to use a software or any tools?

Yes Succid (discuss • contribs) 10:21, 21 April 2022 (UTC)

Yes you have to use a software or any tools Succid (discuss • contribs) 10:22, 21 April 2022 (UTC)

Maya script
Deat friends! Please see talk:LaTeX#Maya script. There is a

question: How can the Maya and the marvosym glyphs be displayed? Thanks for any help in advance! Best regards lɛʁi ʁɑjnhɑʁt (Leri Reinhart)

·לערי ריינהארט·T·m:[//meta.wikimedia.org/wiki/user_talk:%D7%9C%D7%A2%D7%A8%D7%99_%D7%A8%D7%99%D7%99%D7%A0%D7%94%D7%90%D7%A8%D7%98?action=history Th]·T·email me· 06:21, 14 August 2015 (UTC)
 * BTW: LaTeX/FAQ shows some code but not what is finaly generated with LaTeX. ·לערי ריינהארט·T·m:[//meta.wikimedia.org/wiki/user_talk:%D7%9C%D7%A2%D7%A8%D7%99_%D7%A8%D7%99%D7%99%D7%A0%D7%94%D7%90%D7%A8%D7%98?action=history Th]·T·email me· 06:21, 14 August 2015 (UTC)

Volunteering to help
Anything I can help with? BookImaginationIsNeeded (discuss • contribs) 18:44, 29 July 2020 (UTC)

title: Wikibooks talk:Community Portal


text: Collection of Mathematical Formulas/References


text:
Collection of Mathematical Formulas/Fibonacci Numbers

Definition of the Fibonacci sequence:

[TAOCP1, p. 83], [Concrete, p. 299]:

[TAOCP1, p. 85]:


text:
Radiation Oncology/NHL/Mantle cell lymphoma

Overview

 * Rare subtype, comprises ~6% of NHL in US
 * Usually in older men
 * Only 5-15% present with Stage I-II
 * Most often Stage III or IV disease, extranodal involvement including spleen and liver and bone marrow common, frequent B symptoms (about 50%).
 * A variant can present as multiple polyps throughout the GI tract (lymphomatous polyposis)
 * Microscopically they have "angulated" nuclei, and resemble lymphocytes in mantle zone adjacent to the lymphoid follicles
 * Translocation t(11;14) rearranges the Bcl-1 gene (PRAD-1) which codes for Cyclin D1 (involved in cell cycle regulation) and puts it under the control of the immunoglobulin gene promoter.
 * Very poor survival. Aggressive and doesn't respond well to chemotherapy. Subset of elderly patients can present asymptomatic and have a very indolent course

Treatment

 * CHOP alone not very effective, early SWOG experience showed median OS 3 years
 * Addition of Rituximab (R-CHOP) did not improve PFS or OS
 * More intense chemotherapy regimens required
 * Stem cell transplant is being evaluated (e.g. R-CHOP-14 -> R-ICE -> ASCT)
 * Hyper-CVAD also appears promising
 * In asymptomatic elderly with limited disease, careful observation may be considered
 * RT has a potentially significant role in Stage I-II disease, as MCL is very radiosensitive

Radiotherapy
All Stages:
 * MSKCC; 2006 (1998-2004) PMID 16682133 -- "Highly effective local control and palliation of mantle cell lymphoma with involved-field radiation therapy (IFRT)." (Rosenbluth BD, Int J Radiat Oncol Biol Phys. 2006 Jul 15;65(4):1185-91.)
 * Retrospective. 21 pts treated to 38 sites. 81% were Stage IV or relapsed. Most pts had received prior chemotherapy. IFRT, mean dose 30 Gy (range: 10.5-45 Gy), dose per fraction 150-200 cGy. 2 pts received RT as consolidative therapy after CR to chemo.
 * Mean f/u 13 mo. For 36 sites with measurable disease, overall local response of 100% (CR 64%, PR 36%). 94% with pain relief. Local progression in 34% at a median of 10 months. No significant correlation between RT dose and control. 1-yr OS 55%
 * Conclusion: RT provided effective and lasting local responses in MCL patients and was associated with minimal toxicity. Radiation doses required for most lesions were relatively low and responses were noticed early in the course of treatment. Radiation therapy should be considered early in the course of relapsing, refractory, or localized MCL.

Limited Stage:
 * British Columbia; 2003 PMID 14504058 -- "Limited-stage mantle-cell lymphoma." (Leitch HA, Ann Oncol. 2003 Oct;14(10):1555-61.)
 * Retrospective. 26 patients. Initial therapy IFRT +/- chemo (n=17), observation or chemo (n=9)
 * 5-year outcome: PFS 46%, OS 70%
 * Predictors: age (PFS <60 83% vs. >60 39%, SS), RT (PFS RT 68% vs. no RT 11%; OS 71% vs. 25%, NS)
 * Conclusion: Limited-stage MCL had improved outcome with RT

Advanced Stage

 * GLSG (Germany)
 * Randomized. 122 untreated patients, advanced-stage MCL. Treated with Arm 1) CHOP vs. Arm 2) R-CHOP. Patients <=65 with CR/PR second randomization to ASCT vs. IFN-alpha. Patients >65 received IFN-alpha maintenance
 * 2005 PMID 15668467 -- "Immunochemotherapy with rituximab and cyclophosphamide, doxorubicin, vincristine, and prednisone significantly improves response and time to treatment failure, but not long-term outcome in patients with previously untreated mantle cell lymphoma: results of a prospective randomized trial of the German Low Grade Lymphoma Study Group (GLSG)." (Lenz G, J Clin Oncol. 2005 Mar 20;23(9):1984-92.)
 * Outcome: R-CHOP better for CR (34% vs. 7%, SS), and TTF (21 months vs. 14 months, SS), but no difference in PFS or OS
 * Conclusion: Better response rate, but no difference in PFS or OS

 * SWOG; 1995 -- PMID 7849295 -- "A clinical analysis of two indolent lymphoma entities: mantle cell lymphoma and marginal zone lymphoma (including the mucosa-associated lymphoid tissue and monocytoid B-cell subcategories): a Southwest Oncology Group study. (Fisher RI, Blood. 1995 Feb 15;85(4):1075-82.)
 * Retrospective. Treated with CHOP on SWOG-7204, SWOG-7426, SWOG-7713
 * Outcome: median FFS 1.7 years, median OS 3 years
 * Conclusion: MCL is not an indolent lymphoma, and requires innovative therapy

Reviews

 * Mayo; 2005 - PMID 16155027 — "Current Treatment Approaches for Mantle-Cell Lymphoma." Witzig TE et al. J Clin Oncol. Vol 23, No 26 (September 10), 2005: pp. 6409-6414.


text:
Radiation Oncology/NHL/Nodal marginal zone

RT dose
See discussion at Follicular lymphoma

Reviews

 * JCO, 2005 - PMID 16155028 — "State-of-the-Art Therapeutics: Marginal-Zone Lymphoma." Bertoni F et al. Journal of Clinical Oncology, Vol 23, No 26 (September 10), 2005: pp. 6415-6420.