text:
More C++ Idioms/Copy-on-write

= Copy-on-write =

Intent
Achieve lazy copy optimization. Like lazy initialization, do the work just when you need because of efficiency.

Also Known As

 * COW (copy-on-write)
 * Lazy copy

Motivation
Copying an object can sometimes cause a performance penalty. If objects are frequently copied but infrequently modified later, copy-on-write can provide significant optimization. To implement copy-on-write, a smart pointer to the real content is used to encapsulate the object's value, and on each modification an object reference count is checked; if the object is referenced more than once, a copy of the content is created before modification.

Solution and Sample Code
This implementation of copy-on-write is generic, but apart from the inconvenience of having to refer to the inner object through smart pointer dereferencing, it suffers from at least one drawback: classes that return references to their internal state, like  can lead to unexpected behaviour.

Consider the following code snippet The intention of the last line is to modify the original string, not the copy, but as a side effect   is also accidentally modified.

A better approach is to write a custom copy-on-write implementation which is encapsulated in the class we want to lazy-copy, transparently to the user. In order to fix the problem above, one can flag objects that have given away references to inner state as "unshareable"—in other words, force copy operations to deep-copy the object. As an optimisation, one can revert the object to "shareable" after any non-const operations that do not give away references to inner state (for example, ), because client code expects such references to be invalidated anyway.

Known Uses

 * Active Template Library
 * Many Qt classes (implicit sharing)

title: More C++ Idioms/Copy-on-write


text:
User:Derbeth/javaLatex

Application
javaLatex is a program creating PDF versions of Wikibooks textbooks. It is able to download book structure, chapter text and graphics from Wikibooks server, generate list of authors and table of contents.

The application can be also used to convert single Wikipedia articles.

Limitations
javaLatex does not convert most of templates automatically. Some templates remain commented out in source code, so to make them appear correctly you might have to use Perl/Python script or implement handling of these templates in javaLatex source code.

The program is not capable of handling of all odd usages of MediaWiki syntax, so sometimes errors in parsing LaTeX source may appear and in such situations you may be required to edit generated files and fix errors. Consequently, knowledge of LaTeX is very useful when dealing with javaLatex, but with some amount of luck it won't be required.

javaLatex won't detect lines in source code listings which are too long, nor will it fix them. If your book covers a programming language, you should look through the output PDF and check if source code exceeds margin.

Since pdflatex tool, which translates LaTeX code to PDF, does not support GIF images, books using GIF images won't be translated and will cause pdflatex errors. javaLatex downloads GIF images, but you will have to convert them manually to PNG and replace GIF with PNG in LaTeX sources. See LaTeX/Importing Graphics for more information.

The program cannot assure that graphics and tables used in text will look good. The larger the image is, the greater is the chance of damaging text layout around it. You should look through the PDF and manually fix the mistakes. LaTeX/Floats, Figures and Captions is a great source of information in this field.

Example output
See Image:How To Assemble A Desktop PC.pdf (generated by Hagindaz program, see below). pl:Grafika:C.pdf is created with the most current version (the book is written in Polish).

Basic information
Program home page, when you can find binaries and the source code, is http://code.google.com/p/javalatex/. Blog http://javalatex.blogspot.com/ serves as a placeholder for announcements and is available as an Atom news feed.

javaLatex was created from Wiki2LaTeX code released to public domain by Hagindaz. It is free software released under MIT license and written in Java.

Requirements

 * Java Runtime Environment 1.5 or newer
 * LaTeX distribution

You can use Kile to edit generated LaTeX source.

Netbeans 6 IDE is recommended to edit source code.

Usage
Before you run the program, you have to edit conversion.properties file.

To get help on running the program, type java -jar javaLatex.jar --help

http://code.google.com/p/javalatex/wiki/CommandLineOptions gives extensive explanation of command line options.

The simplest program invocation is: java -jar javaLatex.jar --title="Raising Chickens" --genall pdflatex main.tex

Tips

 * I've got a table that is so wide that it exceeds page
 * You have to bound size of at least the widest column. See LaTeX/Tables

 * I get "! LaTeX Error : Something's wrong--perhaps a missing \item."
 * Perhaps there's a verbatim or enumerate enviroment inside a table. Change column specifier from c to eg. p{5cm}. See LaTeX/Tables

 * I get "! Missing $ inserted."
 * If there's a math text inside a table – see above.

 * Oh my god! Everything crashes and I can't find the solution!
 * Try to locate the error - first remove text from chapter that causes error. If this makes the error disappear, bring the chapter text back and try to remove a smaller part of text. After several attempts you should isolate a place where the error resides. Try to fix it and if it does not help - simply remove it and add the text manually.

pl:User:Derbeth/javaLatex

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

title: User:Derbeth/javaLatex


text:
User talk:Bdavis6868

Welcome!
Come introduce yourself at the new users page. If you have any questions, you can ask there or contact me personally.--Laleena (talk) 00:42, 18 February 2008 (UTC)

title: User talk:Bdavis6868


text:
User talk:128.82.57.235

{{#ifeq:"{{NAMESPACE}}"| "User talk"|

Welcome!
Welcome to Wikibooks, a collection of open-content textbooks! You don't have to log in to read or edit articles on Wikibooks, but creating an account is quick, free and non-intrusive, requires no personal information, and gives you many benefits, including:
 * The use of a username of your choice
 * Greater security and privacy, as your IP address will be hidden from most users.
 * Your contributions will be directly attributed to you.
 * The use of your own watchlist to monitor pages that you are interested in.
 * A personal user page and talk page.
 * The ability to customize certain aspects of the Wikibooks interface.
 * The ability to rename pages.
 * The eligibility to become an administrator.
 * You become a recognized member of the Wikibooks community.

We hope that you choose to become a Wikibookian and create an account.

Feel free to ask any questions on my talk page or in the Reading room. Be sure to sign your talk page comments with four tildes ( ~ ).

 * }} -Ravichandar84 (talk) 02:29, 18 February 2008 (UTC)

title: User talk:128.82.57.235


text:
User talk:24.254.228.184

-Ravichandar84 (talk) 02:30, 18 February 2008 (UTC)

title: User talk:24.254.228.184


text:
User talk:71.241.55.193

-Ravichandar84 (talk) 02:30, 18 February 2008 (UTC)

title: User talk:71.241.55.193


text:
User talk:72.218.120.152

-Ravichandar84 (talk) 02:32, 18 February 2008 (UTC)

title: User talk:72.218.120.152


text:
User talk:76.160.157.65

-Ravichandar84 (talk) 02:33, 18 February 2008 (UTC)

title: User talk:76.160.157.65


text:
User talk:76.103.244.174

-Ravichandar84 (talk) 02:34, 18 February 2008 (UTC)

title: User talk:76.103.244.174


text:
User talk:68.231.235.97

-Ravichandar84 (talk) 02:35, 18 February 2008 (UTC)

title: User talk:68.231.235.97


text:
Spanish/Tenses/Indicative/Perfect/Preterite

Some things to note:
 * 1) This tense (and all perfect tenses) uses a form of the irregular helping verb haber (meaning to have done). As this is the preterite perfect indicative (also called the preterite anterior), it takes the simple preterite indicative form of haber.
 * 2) The past participle of a regular verb is formed by adding -ado to the stem of an -AR verb, and -ido to the stem of an -ER or -IR verb.
 * 3) As the structure for this tense is a form of haber with the past participle, there are no irregular verbs in this tense. Any irregularity would come from a verb with an irregular past participle, but the haber + past participle structure still holds true.
 * 4) While the past participle is oftentimes the same word as the adjective form of a verb (las palabras habladas  - the spoken words), the past participle itself is not an adjective, and therefore does not have to "agree" with the subject. Regardless of the subject's gender or number, the past participle remains the same. Ellas hubieron hablado, NOT ellas hubieron habladas.
 * 5) Be careful not to confuse the past participle with the gerund. Hube hablado, not hube hablando.


text:
User talk:68.10.93.195

-Ravichandar84 (talk) 02:37, 18 February 2008 (UTC)

title: User talk:68.10.93.195


text:
User talk:72.218.6.247

-Ravichandar84 (talk) 02:39, 18 February 2008 (UTC)

title: User talk:72.218.6.247


text:
User talk:78.99.119.202

-Ravichandar84 (talk) 02:43, 18 February 2008 (UTC)

title: User talk:78.99.119.202


text:
Spanish/Tenses/Indicative/Perfect/Imperfect

Some things to note:
 * 1) This tense (and all perfect tenses) uses a form of the irregular helping verb haber (meaning to have done). As this is the pluperfect indicative, it takes the simple imperfect indicative form of haber.
 * 2) The past participle of a regular verb is formed by adding -ado to the stem of an -AR verb, and -ido to the stem of an -ER or -IR verb.
 * 3) As the structure for this tense is a form of haber with the past participle, there are no irregular verbs in this tense. Any irregularity would come from a verb with an irregular past participle, but the haber + past participle structure still holds true.
 * 4) While the past participle is oftentimes the same word as the adjective form of a verb (las palabras habladas  - the spoken words), the past participle itself is not an adjective, and therefore does not have to "agree" with the subject. Regardless of the subject's gender or number, the past participle remains the same. Ellas habían hablado, NOT ellas habían habladas.
 * 5) Be careful not to confuse the past participle with the gerund. había hablado, not había hablando.


text:
User talk:96.10.18.103

-Ravichandar84 (talk) 02:46, 18 February 2008 (UTC)

title: User talk:96.10.18.103


text:
User talk:68.0.45.28

-Ravichandar84 (talk) 02:51, 18 February 2008 (UTC)

title: User talk:68.0.45.28


text:
User talk:128.82.57.42

-Ravichandar84 (talk) 02:52, 18 February 2008 (UTC)

title: User talk:128.82.57.42


text:
User talk:68.119.172.22

-Ravichandar84 (talk) 02:52, 18 February 2008 (UTC)

title: User talk:68.119.172.22


text:
User talk:71.88.249.66

-Ravichandar84 (talk) 02:56, 18 February 2008 (UTC)

title: User talk:71.88.249.66


text:
User talk:87.196.215.142

-Ravichandar84 (talk) 03:05, 18 February 2008 (UTC)

title: User talk:87.196.215.142


text:
User talk:74.132.232.147

-Ravichandar84 (talk) 03:06, 18 February 2008 (UTC)

title: User talk:74.132.232.147


text:
User talk:68.99.98.191

-Ravichandar84 (talk) 03:13, 18 February 2008 (UTC)

title: User talk:68.99.98.191


text:
Talk:VHDL for FPGA Design

Commons images deleted
G'day, several images used by this book have been deleted on the Wiki Commons due to problems with their licensing. Please see the CommonsTicker for more information. Webaware talk 03:15, 18 February 2008 (UTC)

title: Talk:VHDL for FPGA Design


text:
User talk:72.218.123.186

-Ravichandar84 (talk) 03:27, 18 February 2008 (UTC)

title: User talk:72.218.123.186


text:
User talk:Desalvionjr

Come introduce yourself at the new users page. If you have any questions, you can ask there or contact me personally. – Mike.lifeguard  | talk 03:30, 18 February 2008 (UTC)

Copyright problem with Image:Wikibooks Compose.JPG
Please let me know if you have trouble figuring out what to do; we're trying to improve this message so new users can easily fix this and similar licensing problems. Thanks! – Mike.lifeguard  | talk 03:30, 18 February 2008 (UTC)

title: User talk:Desalvionjr


text:
User talk:Hmyer004

Come introduce yourself at the new users page. If you have any questions, you can ask there or contact me personally. – Mike.lifeguard  | talk 03:31, 18 February 2008 (UTC)

title: User talk:Hmyer004


text:
Talk:.NET Framework 3.0

This book has been moved to a new location Introduction to .NET Framework 3.0-Ravichandar84 (talk) 03:35, 18 February 2008 (UTC)

title: Talk:.NET Framework 3.0


text:
Talk:.NET Framework 3.0/Contents/Advantages of .NET 3.0

This book has been moved to a new location Introduction to .NET Framework 3.0-Ravichandar84 (talk) 03:38, 18 February 2008 (UTC)


text:
Talk:.NET Framework 3.0/Contents/An Overview

This book has been moved to a new location Introduction to .NET Framework 3.0-Ravichandar84 (talk) 03:39, 18 February 2008 (UTC)


text:
Talk:.NET Framework 3.0/Contents/An Overview of Master Pages

This book has been moved to a new location Introduction to .NET Framework 3.0-Ravichandar84 (talk) 03:41, 18 February 2008 (UTC)


text:
Talk:.NET Framework 3.0/Contents/Caching

This book has been moved to a new location Introduction to .NET Framework 3.0-Ravichandar84 (talk) 03:44, 18 February 2008 (UTC)


text:
Talk:.NET Framework 3.0/Contents

This book has been moved to a new location Introduction to .NET Framework 3.0-Ravichandar84 (talk) 03:45, 18 February 2008 (UTC)

title: Talk:.NET Framework 3.0/Contents


text:
User talk:Steventity

Come introduce yourself at the new users page. If you have any questions, you can ask there or contact me personally.

Spanish
Glad to see you're interested in the Spanish book. Its conjugation lists could use some work. I have started a new appendix that you might be interested in looking at, here. It is far from complete. Interested in helping out? Νεοπτόλεμος ( talk | email | contribs ) 03:46, 18 February 2008 (UTC)
 * Sounds great. Look forward to working with you on it. Νεοπτόλεμος ( talk | email | contribs ) 03:57, 18 February 2008 (UTC)

title: User talk:Steventity


text:
Talk:.NET Framework 3.0/Contents/Features of IIS 7.0

This book has been moved to a new location Introduction to .NET Framework 3.0-Ravichandar84 (talk) 03:46, 18 February 2008 (UTC)


text:
Talk:.NET Framework 3.0/Contents/Generics

This book has been moved to a new location Introduction to .NET Framework 3.0-Ravichandar84 (talk) 03:48, 18 February 2008 (UTC)


text:
User:Steventity

Other places:

english

spanish

romanian

latin

meta

title: User:Steventity


text:
User talk:71.111.23.115

Thanks
Thanks for your work on Glass Etching. The extra level of detail is really helpful! --Jomegat (talk) 03:53, 18 February 2008 (UTC)

title: User talk:71.111.23.115


text:
Talk:.NET Framework 3.0/Contents/Preface

This book has been moved to a new location Introduction to .NET Framework 3.0-Ravichandar84 (talk) 03:54, 18 February 2008 (UTC)


text:
Talk:.NET Framework 3.0/Contents/Windows Cardspace

This book has been moved to a new location Introduction to .NET Framework 3.0-Ravichandar84 (talk) 03:55, 18 February 2008 (UTC)


text:
Talk:.NET Framework 3.0/Contents/Windows Communication Foundation

This book has been moved to a new location Introduction to .NET Framework 3.0-Ravichandar84 (talk) 03:57, 18 February 2008 (UTC)


text:
Talk:.NET Framework 3.0/Contents/Windows Powershell

This book has been moved to a new location Ravichandar84 (talk) 03:59, 18 February 2008 (UTC)


text:
Talk:.NET Framework 3.0/Contents/Windows Presentation Foundation

This book has been moved to a new location Introduction to .NET Framework 3.0-Ravichandar84 (talk) 04:00, 18 February 2008 (UTC)


text:
Talk:.NET Framework 3.0/Contents/Windows Workflow Foundation

This book has been moved to a new location Introduction to .NET Framework 3.0-Ravichandar84 (talk) 04:02, 18 February 2008 (UTC)


text:
User talk:128.82.20.14

-Ravichandar84 (talk) 04:08, 18 February 2008 (UTC)

title: User talk:128.82.20.14


text: User talk:220.237.122.236

title: User talk:220.237.122.236


text:
Template:Russian/Table header

style="text-align: center; background: #faecc8; border: solid 10px #abd5f5" rules="all" ! style="background-color: #d0e5f5; height: 50px; text-align: center" colspan="" | Russian •

title: Template:Russian/Table header


text:
User:Alton/Work

http://www.auburn.edu/forlang/russian/tutorials/subject-index.html

title: User:Alton/Work


text:
User talk:Bollmanb

Welcome!
Come introduce yourself at the new users page. If you have any questions, you can ask there or contact me personally.-- Herby talk thyme 10:33, 18 February 2008 (UTC)

title: User talk:Bollmanb


text: User talk:81.158.42.239

title: User talk:81.158.42.239


text: User talk:124.83.24.129

title: User talk:124.83.24.129


text:
Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...Nf6/5. Nc3/5...e5/6. Ndb5/6...d6

= Sveshnikov Sicilian = Moves:1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 e5 6.Ndb5 d6

A little fact that is often forgotten by Sveshnikov players: the d5 square is genuinely weak and likely to remain so. Black's activity doesn't come easy but as compensation for taking on that weakness - an important distinction. White therefore has a logical mini-plan: occupy d5, preferably with a knight, preferably one that can't be instantly captured.

The immediate Nd5 has its followers, as the e-pawn is clearly immune from capture due to Nbc7+. This line was chosen four times by Fabiano Caruana in the World Chess Championship 2018 match against Magnus Carlsen. After Black plays 7...Nxd5, the nice outpost vanishes after 8.exd5 (8.Qxd5 a6 9. Nc3 Be6 is miserable - capturing on d5 with the queen is usually a sign that something's gone wrong). One plan for black is to play 8...Nb8 with ...Nd7 and ...f5 to follow. In their match, Carlsen also tried 8...Ne7 9.c4 Ng6.

White more often pins down the f6 knight with Bg5 - it's important to see this move as a means of increasing control of d5, rather than just pinning a knight out of boredom.

Theory table
1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 e5 6.Ndb5 d6


text:
XForms/Inline Repeats

Motivation
Most computer displays are wider then they are high. So to take advantage of this you sometimes want to grow form data to the right, not down. To do this you must add CSS instructions to use an "inline" display for items within a repeat.

Method
CSS has two "display" options:
 * 1)   adds new elements vertically so the left edge is aligned.
 * 2)   is horizontal placement where new divs gets added to the right just like new text is added to an input field.

The new elements get added to the current row. By default XForms used a block repeat. But this can be easily changed with a two stylesheet command.

In FireFox the class to modify the attributes of the repeated item is  . Other XForms players may use a different CSS element.

Executable XForms Application
Load XForms Application

Source Code
  Inline Repeat

Discussion
In the example above we note that the widths of each cell is determined by the size of the label. Each cell can have a different label. Note that we create a wrapper for each cell using a div. Both the cell wrapper and the .xf-fepeat-item must be set to be display:inline.

Adding Two Dimensional Nesting
You can nest repeat groups to create grids of cells. Just make the outer repeat have class attribute to adjust the line height.

Source Code
  Inline Repeat

CSS
The following CSS will be needed to display a each row on a new line:

Scoreboard Example
The following example shows how you can put text in before and after the inner repeat.

Dolphins Bears <team-name>Cubs</team-name> </xf:instance> <xf:bind nodeset="row/total" calculate="sum(../score)"/> </xf:model> XForms Scoreboard <xf:repeat nodeset="row" class="row"> <xf:output ref="team-name" class="team-name"/> <xf:repeat nodeset="score"> <xf:output ref="." class="score"/> </xf:repeat> <xf:output ref="total" class="total"/> </xf:repeat>

Repeats into CSS display tables
Get the table to align using CSS.

Here is an example:

title: XForms/Inline Repeats


text:
Embedded Control Systems Design/The design process

This chapter describes the process of designing a new embedded system, or of improving an existing one. That is, how does an individual engineer, or a team of engineers and project managers, tackle the design of an embedded system in a systematic way. This chapter tries to incorporate more than just the engineer's view of the design process: often, a process starts with a company's CTO (chief technical officer) discussing the functionalities of a new product with a customer (requirement analysis), with the HR (human resources) and CFO (chief financial officer) stepping in in a second phase (high level design) to estimate how many and which people to put on the project, and how much complexity and risks it brings for the company. Only then, the engineers can start the detailed design phase, and begin to think about implementation and testing.

Although this book focuses on embedded systems with an important amount of mechanical subsystems, the design steps can probably also be applied to design problems in most other areas of engineering.

Introduction
This chapter describes the process of designing a new embedded control system, or improving an existing one. That is, how can an individual engineer, or a team of engineers and project managers, tackle the design in a systematic way. With respect to the traditional views on the design process, this chapter adds an extra point of view—the design context of each particular system—to increase insight in the various interactions between the traditional design steps, and their relative importance. The last section treats some cross-sectional issues in the design of large-scale systems.

Design process: a predefined pattern?
The literature describes a set of phases or steps that each development team will pass through:
 * system identification, understand the process and identify the relationship between input and output
 * Requirement definition, determining the needs or conditions to meet for a new or altered product, taking into account the possibly conflicting (technical, functional and non-functional) requirements of the various stakeholders, such as beneficiaries, legal parties or users.
 * System specification, describing the requested behaviour of the system.
 * Functional design. defining which subprocesses (or components) are needed in the system.
 * Detailed design, resulting in a concrete structure of all modules from which the system must be made.
 * Implementation, building and testing prototypes of the eventual system.

Some cases (such as this example) pass all of these phases, but it is difficult to give a clear description of what phases each new design has to go through exactly, and of what the design team should do exactly in each phase. Some designs will spend more time in the functional design phase, others on the system specification, etc.

The market demands to deliver ever more complex systems, with ever more customization, life-long maintenance support, and recycling and disassembly requirements at the end of the active life of the system, have resulted in design activities that can no longer follow any of the traditional, very structured design process models. Except maybe for domains such as aviation, where strict regulations and certifications are to be satisfied.

Traditional design process models
This section discusses some of the popular, traditional design process models:
 * The Waterfall model is the most rigid one, suggesting to move to a phase only when its preceding phase is completed and perfected. Phases of development in the waterfall model are kept very separated, and there is no room for iteration or overlap.
 * The V model has the same strict serial structure as the waterfall model, but it suggests that, before going to a more detailed design level, one should already test all the system features and properties that can be tested at the current level of design abstraction.
 * The Incremental Model allows multiple iterations in some of the design phases, resulting in a multi-waterfall process.
 * The Spiral Model is similar to the incremental model, with more emphases placed on risk analysis. The spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation. A software project repeatedly passes through these phases in iterations (called Spirals in this model).
 * Model-Driven Engineering is an emerging design process, that improves on the V-Model by supporting the test phases at each design level by software models that simulate the system before real implementations exist already.

Design contexts
In practice, the design process of a particular system is not only determined by what phases to go through, in what order, but also by the particularities of the context in which the system is to be designed: does one make a next version of an already successful product? Does one design the first prototype of an innovative system based on still partially immature technology? Does one design a system to participate in a contest? Etc. The following sections bring some structure into this issue of design contexts, by presenting a (non-exhaustive) set of typical contexts.

From Scratch Environment
In this sort of project the design team starts working from scratch so everything needs to be organized and designed. This is an disadvantage as well as an advantage: it takes a lot of work (time and money) to complete these projects, but the whole system can be designed in such a way that every component has a good interaction with others. Let's take the Senseo coffee machine as an example. This product is not a result from previous models, but it is designed out of nothing. The used techniques, the basic principle, the looks,... all those things are totally new and are not recovered from old coffee machines (neither from the Philips company or from any competitor ).

A typical project in this environment goes on the cycle shown in figure 1. Starting from the "requirement definition", which can be defined by the design team or deduced from a market research, the process undergoes a level of more and more details. It's convenient that issues are coming up in the "system specification", "functional design" or "detailed design" step by which the requirements need to be adjusted.

Another important step is the testing or "implementing" phase. Because the product is completely new, the system should be tested thoroughly. The feedback of error messages is quite crucial at this point. These prototypes are also a source of adjustments in the architectural or detailed design. In extreme situations even the requirement definitions need to be redeveloped, e.g. when the prototype indicates the requirements are physically impossible.

This whole of iterations makes the project very time-consuming.

Adapting Environment
Here the design team starts from a previous model, version,... of their product and they try to improve the concept by reducing the shortcomings and to emphasize the plus points. It’s obvious that these projects are more time-efficient than when people have to start from scratch. One can apply this method of working for a few versions, but there’s the danger of making things more complex than they should be. Therefore it’s useful to start over some times.

We report the fact that there exist different adaptations. Sometimes the system is expanded with totally new features, this can vary from one or two radical changes in design requirements to a lot of small adjustments. Another adaptation is the optimization of existing design requirements.

In automotive industry, designers are usually working in this kind of environment. A car manufacturer typically has a few models which are improved with latest technologies e.g. the first Porsche Carrera 911 was introduced in 1963, but the concept is still renewed every few years. Even when a new model in a new segment is developed, the design team can reuse older concepts or components like a chassis.

Figure 2 shows there is obviously less feedback or iteration involved compared to a design process in a from scratch environment. The requirement definitions are mainly derived from market research. Customers are asked for the satisfaction and shortcomings of the current product so the company can counter these imperfections. In the automotive industry for example, concept cars are firstly introduced to the public. Depending on their reaction, the car manufacturer can decide whether a concept is ready for production, or is still in need of some modifications.

It should be noticed that these requirements can't all be derived from market research. Airbags for example weren't directly derived from market research, because you can't expect such results from any market research. In this case the market research results probably dealt with safety shortcomings. The engineers then have to translate this requirement into a new system. There was no customer that said: "design a bag that blows up when cars collide".

Prototypes can force the detailed design to change, because the required functions are not fulfilled, nevertheless iteration towards the system specifications is unusual.

Nowadays the aspect of maintenance (or after sale-support) is becoming important. In the early days of commercialisation a working product was a good product, but now customers are more demanding and a company is punished in short term or in long term when a product isn't designed in a good way. Total quality management is therefore a helpful tool.

Competition Environment
A lot of companies organize a competition where the winning team is accepted to produce or build the proposed product (e.g. in architectural environment). Typical for these kind of projects are the deadline and the strict boundary conditions or specifications which are dictated by the organizers. Often these targets are hard to succeed, and cause the designers to be creative and flexible. It typically demands an iterative way of working, the first design will be adapted a lot of times before it’s finished.

An example of this environment is the Robocup Challenge. In this competition different teams are trying to build a robot that is able to play a soccer game.

In figure 3 one can see the cycle that describes the design process. Iteration is involved in the design, but it's focused on the testing phase. Although the concepts, used technologies and details can change very frequently the requirements are firm as a rock and irreplaceable (symbolised by the stout frame in figure 3). These frequent conversions are only allowable if they are not too expensive. Changing some parameters in a driver's source code costs no money, but changing the hardware-components in a system does!

The maintenance aspect of the system is not on the designer's mind. The product should meet the requirements, but there's no need for commercialisation or mass fabrication. In some situations (e.g. architecture-competition) the maintenance or durability facet can be one of the requirements defined by the organiser. In that case it's obviously not negligible.

Research Environment
Research, although often linked to universities, is an important activity in modern companies (sometimes more than 20% of sales are injected into the R&D department). The main characteristic of these kind of projects is the flexible set-up of requirements. One starts from a given objective and by doing this, he finds related items where he can work on and which might lead to interesting new developments.

Google for instance is famous for its "20 percent time". In this philosophy all Google employees are encouraged to spend 20% of their time (or one working day in a week) on a subject they think is interesting. In this way a lot of new fields can be discovered, which wasn't thought of before.

In contrast with the competition environment, the requirements aren't outlined very strictly. By defining the system specifications, by searching for new developments or by analysing the prototypes some interesting new topics may come up which replace or complete the earlier defined demands.

Similar to the competition environment is the lack of the maintenance design step. The treated system doesn't have commercial objectives, so there is no need to take account for possible customers. Once there are clear results from a research project and the company decides to bring a specific product on the market, these steps become important and the project moves to a from scratch or adapting environment. A nice example of a project in a research environment is the Solar Impulse.

It's often difficult to terminate these projects, "Is it effective and useful to go on with the research?" or "Do we have enough information to build a new product?" are questions that are not easy to answer. In a company the R&D manager is accountable for these topics just like he is the person to see which research items are interesting and which are not.

 * A design team in a research environment focuses typically on one or two user requirements.
 * Another important issue concerning this environment is money. Spin off's for example are constantly spending time to find persons or organisations who are willing to finance their project.

Cross-sectional Issues
The similarities or items that are significant in all design steps are discussed in this section. These cross-sectional issues also cover the continuity between the different design phases. Information on obvious cross-sectional issues, i.e. communication, resources, quality, ..., can be found on wikipedia.

Late design commitments
A good design will wait as long as possible to fill in the real components and hardware. This leaves open a lot more options for the implementation later on and thus gives more margin for unexpected situations.

How far in the design process one can keep a broad view is often very market depending. The view can be kept broad until the point where a particular system or product is linked to a customer, this point is called the order penetration point. Depending on the product delivery strategy (make to stock, assemble-to-order, make-to-order, engineer-to-order) the view can be kept broad the whole process or is already determined by the end-user at the beginning of the design process.


text: User talk:83.28.142.205

title: User talk:83.28.142.205


text:
Talk:Circuit Theory/Resistive Circuit Analysis

I notice that your ohms law formulae show a comma or full stop symbol instead of I... should this not be edited?


text:
User talk:Noob1230

Come introduce yourself at the new users page. If you have any questions, you can ask there or contact me personally. – Mike.lifeguard  | talk 16:55, 18 February 2008 (UTC)

Copyright problem with Image:2100.jpg

 * This is a, and requires a . See WB:MEDIA for help with what needs to be included. – Mike.lifeguard  | talk 16:55, 18 February 2008 (UTC)

title: User talk:Noob1230


text:
User talk:Konstabel

Come introduce yourself at the new users page. If you have any questions, you can ask there or contact me personally. – Mike.lifeguard  | talk 16:57, 18 February 2008 (UTC)

title: User talk:Konstabel


text:
Talk:Trainz

Why have a Wikibook on Trainz
Trainz is an incredible yet complex railroad simulator. It has a relatively steep learning curve once you get past running through the tutorials and the default railways. The forums are a tremendous collection of knowledge relating to Trainz. They are a phenomenal place to get answers to questions. Problem is, even with the search tool, it's low signal to noise ratio makes it difficult to locate specific information. A little creative googling locates a wide variety of tutorials. The ones you can find are generally quite good. Sadly, some of the tutorials are a bit out of date. Other promising links wind up as 404s.

Enter this Wikibook. It is a collection of processes, techniques, tips, hints, etc. We hope will be the ultimate Trainz reference.

Rules of the Road

 * 1) Wikibooks are about egoless authorship. If you don't want anyone to edit or restructure your contribution don't make one.
 * 2) Note the license information on any edit page. Do not add copyrighted material without the original author's express permission. Editors should have blanket clearance to lift chunks of stuff and post it here; so the authors for this book should obtain permission for all future editors from the owners of relevant copyrights and post that info in the related discussion page.
 * 3) If you find material that you authored and didn't give permission to add it here, please remove it. Also, please let us know via the discussion page what you did and why.
 * 4) Consider opening a discussion before undertaking radical and major changes.
 * 5) Use the subpage structure. The Parts are arbitrary and are on the same level as Chapters. Sections should be subpages of Chapters and Sub-sections should be sub-pages of Sections. Try to resist further nesting.
 * 6) Consider adding a link to both the previous and next page for logical book order reading.
 * 7) Please sign and date stamp your entries in the discussions by adding ~ at the end.

Proposed Top Level
What is the best way of handling the differences between TRS2004, TRS2006 and TC? For example a lot of Surveyor is common to all three but not everything. Tricky. John259 (talk) 20:28, 18 February 2008 (UTC)

 * Assign each version of Trainz a category, in the form "Trainz UTC" "TRS2006", or some such, and apply the category to pages to which it is appropriate. ÞorsHammer (discuss • contribs) 08:03, 2 June 2013 (UTC)
 * This suggestion would be unnecessarily complicated, and duplicate much material. Best to just note exceptions and scope in a separate section. Or indent under a section title using the template that the technique or material does not apply to such and such a version.
 * See Trainz/Templates for some useful templates. // Fra nkB 03:35, 7 June 2013 (UTC)

Proposed Local Style Guide
I've copied the draft local style guide to Trainz/Local Style Manual for editing and/or comment. Please take a look when you get a chance.Mawilson (talk) 19:31, 18 February 2008 (UTC)

Worthwhile Templates
The list is getting long so I moved it to Trainz/Templates. Mawilson (talk) 13:32, 21 February 2008 (UTC)

Move Asset Management?
I'm thinking that the Asset Management part should move up to follow driving since that is the next thing most users are going to get into. Also, I think we can cut the title back to just "Asset Management." What do y'all think? Mawilson (talk) 13:32, 21 February 2008 (UTC)

Good ideas, both of them, IMHO. Go for it! John259 (talk) 14:13, 21 February 2008 (UTC)

Update Content Status
As you edit portions of the book please update the status on the contents page. Obviously any section that has some content should have some level of completion greater than zero.Mawilson (talk) 21:06, 4 April 2008 (UTC)

Time for Another Reboot
I started this wikibook almost 10 years ago. Not too long after that life and career took me away. I came back here after recently retiring. While I appreciate the efforts of contributors in the interim, the book has wandered away from the original intent: a reference and compendium to fill in all the blanks in the manual delivered by Auran as well as capturing the hard earned wisdom of creators and users. There are issues in voice, grammar, structure and yes, even in content. So I'm going to take a shot at a significant cleanup and facelift. That said, in light of the relatively new Trainz wiki hosted by Auran, I'm not totally sure there is a place for this book now. Perhaps the better approach might be editing the various articles that are here to become articles in the Trainz wiki. I'll incorporate that possibility in the reboot. Mawilson (discuss • contribs) 03:38, 17 November 2017 (UTC)

Nevermind
There is something wrong with Wikibooks when someone who has never had anything to do with this book can revert edits without even leaving a comment. I have a real problem spending any working on this book under those circumstances so I won't. As this book stands now, out of date, filled with unhelpful redundant marketing babble, loaded with stubs, it should be a candidate for deletion. If you came here thinking to contribute, consider contributing to the Trainz wiki instead. Mawilson (discuss • contribs) 22:57, 12 December 2017 (UTC)

title: Talk:Trainz


text:
Trainz/Launcher menu

Some options are only available in certain versions. This article covers the variety of changing features put into place during the N3V Games developed software, versions TS09—TS12 & will attempt to address differences with TANE, and the Trainz IMAC user interfaces from which TANE's code is derived.

TRS era Options
Both TRS2004 and the various TRS2006 spin-off versions of  Surveyor had minor control click-slides and mouse-cursor-keys options controls and video effects adjustments incorporated into a surveyor drop down menu, similar to that used to access the extended feature sets offered in TS09 and later Trainz,  and Driver in the TRS versions used that setting without any live mode dynamic ability to change parameters.

Configure/Options
In-game performance versus quality settings, etc.

Trainz renders in real time which means that the machine it runs on can make a difference to what can be seen. There are a set of sliders which can be adjusted according to the performance of your machine or even the layout. Essentially the eye is happy at 24 fps which is used in the film industry so if your machine is capable of more than this at the default settings then you can move the sliders across to the right, if your machine isn't quite powerful enough then you may slide them across to the left. The distance slider for example controls the cut off for scenery in the distance. This cuts down the number of polygons that the computer has to deal with thus allowing the hardware to show more frames per second.

In general ATI based video cards give better performance using directX and nVidia OpenGL. It is worth while comparing performance to see which gives better results on your video card.

More advanced configuration options are available by editing the commands in the trainzoptions.txt file.

In addition, Trainz will be affected by your video board's performance versus quality settings and factors such as the number of programs run when Windows starts up.

Surveyor
Create and edit layouts (maps, routes).

Driver
Run Driver sessions.

Scenarios
Run scripted activities (UTC/TRS2004 only).

Manage Content
Access CMP (Content Manager Plus) (TRS2006/TC only) or CM2 (Content Manager 2) (TS2009/2010). Trainz Objectz is a free third-party utility for managing installed content in TRS2004.

Railyard
Display 3D images of each installed rolling stock item.

Trainz Exchange
This online feature was never implemented.

title: Trainz/Launcher menu


text:
Trainz/Version And Build Numbers

Trainz Versions Overview
Trainz software releases or equivalently Trainz Retail releases or Trainz retail versions follow the common software industry practices of assigning releases version numbers paired to 'Marketing Names' as Major Releases of Retail base packages (to draw a parallel case, consider another more familiar family of software: {each of Microsoft Windows Operating system Retail Releases: Windows 1.0, Windows 2.0, Windows 3.1, Windows 95, ..., Windows Vista, Windows 7, Windows 8 & Windows 10}), any one of which per industry practices, might also then have applicable bug fix 'Hot fixes' and other less urgent change patches (generally adding capabilities and/or also making operational tweaks or fixing additional lesser serious bugs and those providing additional user feedback generated 'new' features) called Service Packs. To manage a series of such software & (supporting) data files collections, programmers use a serial number system, in Trainz called the code build number,, or Code Version number. Note that both each element in a software system (DLL, EXE, supporting data files such as images, scripts) each have some sort of serialization, or their own code build numbers, and the resulting overall distributed collection, a 'build', is given an overall code build identifier for the entire mix. All the changes to these products' retail releases (retail versions) collectively are known as software upgrades' and it is a side of computing with which the average lay computer user has little experience, sheltered as most are in a business environment by an IT department or an IT consultant. These days, internet based or enabled software often are written expecting to be updated periodically, numbing our sensitivity and inuring the computer user community to such instabilities in software. Home computer packages—including virtually all download obtained software these days, with massive distribution numbers, often have built-in update coding within to check for updates and either update automatically, or when well designed, alert the user, and update when commanded. Auran Holdings, the holding company with all the Trainz rights and their partner N3V Games, currently managing the development and marketing of the properties, has only recently in 'Trainz-version timespans' (2011, finally debugged in TS2009 SP3 and TS2010-SP2) mastered the later techniques.

=Versions terminology and meanings= Each named product release (retail version) as well as each successive upgrade level (Hot fixes and other patches generally have to be added in order of release) has a multi-digit 'build' number that is definitively unique to the build as defined by the software publisher. In Trainz, these are known formally as the or Trainz build versions, and as their own IT department, 'Trainzers' have to keep these things straight, for not all can be done automatically, and every new retail release requires a new Installation step. In Trainz, until one understands the contextual meaning it seems the word 'version' becomes a bit over used: name= "Page-created">Revision as of 10:22, 2010 March 4 by Windwalkr, —1st draft to present, all immediately discussing code build number, Chief programmer Chris Bergman (aka Windwalkr)  name="Trainz_build_versions" >Used by chief programmer Windwalkr himself in has an exact technical meaning— a final compiler run against a version controlled  and subsequently released by Quality Control as the next official 'code set' ''advance.  🇨🇴 In TS2009-SP4 and later releases it appears in both the bottom right corner of the Launcher Menu and the Main Menu. In prior releases, it appeared only on the Trainz 'Launcher' screen, and was easy to overlook in some. Each of the other types of versions derive from this stable set of ; a plateau in the change cycle signifying stability and reliability insofar as such things can be tested. />
 * 1) First, there is the Trainz version (slang: meaning Trainz Retail Version),
 * 2) Secondly, the 'code version' and 'Trainz asset version' numbers, formally known as a '"Trainz-build tag" values or Trainz-build version numbers  />
 * B. Hotfixes for bugs and adjustments of several things, not usually to make the whole work, but instead to make the whole work better after an interval of additional testing and while the programmer's are fixing one or more other minor bugs or adding an extended feature. Some of these, such as TS12-SP1+hf4 should have incremented the . Auran & N3V's management has seemingly been inconsistent in their rationales and actions. Basically, a new trainz-build represents a technology plateau, wherein some heretofore unavailable capability has been added. Some of this is within the programmer's experiences—the internal changes within the run time packages; others, mainly involving asset capability, features, scripts, or interactivity are obvious to the community and to content creators, inasmuch as new tags, practices and containers in config.txt files or asset source folder grouped data elements (asset parts) are affected. Trainz is a highly cooperative joint development COMMUNITY at its heart. Content Creators often drive software development with requests for a capability. The programmers and/or N3V management approve the notion, prioritize it, and the programmers thence define parameters (data types); at that juncture, the likely first software modifications are to the error testing screening software which vetts uploaded assets before allowing them onto the DLS—and to a TBV step release enabling its software to not burp on the heretofore unfamiliar new data elements. Content Creators behind the features then provide assets with the theoretical capability, the programmers work on getting it into a future package of software updates and eventually — everybody gets to see whether the data and software have the desired effects... or whether alterations in data definitions or the run time software implementation need adjusted. This all takes a lot of people working together. {{TrainzTip|BG=#f9f9f9|Each code build number (2 to 5 digits) maps onto a corresponding Trainz {{TBS|trainz-build|p=trainz build version number}} (a 'TB' or 'TBV' decimal like 2.9: once generally indicating a technological threshold or capability level). The {{TL|trainz-build}} 'steps' or plateaus correspond thusly to a targeted set of capabilities, whereas several iterations of debugging and 'code build releases' (Smaller Hot Fixes and Larger] Service Pack(s) releases map into the same trainz-build thresholds. Hence the new user will notice a predominance of certain TBV values, so called major releases or major versions, in asset lists in the {{TL|Content Manager}} searches— {1.3, 1.5, 2.2 & 2.4, 2.6, 2.8, 2.9-3.3, 3.5&3.7, 4.0& 4.3 &4.5} generally following directly the longevity of a software system. This formerly only reflected the simple relationship between the length of time a stable software suite release existed before the next retail (new) product release was launched with new technological abilities. Formerly, Content Creators deliberately formed new assets with the lowest possible TBV so the asset would be usable by the widest groups of Trainzers, many who remain faithful to an older Trainz release (and even form clubs with thousands of members, s.a. Trainz Pro Routes et. al.) — in short, if the new tech was using a tag or ability such an asset could care less about and didn't need, making a new bridge, building, business, or traincar that would please the most people makes emminent sense... Hence the wide number of V1.3, V2.6, V3.0, V3.5 assets still in very wide use. Also, since asset features and those bits of code that can manipulate effects-instructions can be embedded inside the run time software suites are written to comply with or satisfy the particular conceived technological capability, there is a long lag time between request for a capability, and the time it shows up in an release that can exploit it. Example: Basic traincar data structures and configuration were laid out by the end of Trainz UTC. Someone desired ability to have realistic traincar ID numbers vary automatically, submitted the idea to Auran, and the programmers implemented a set of data elements to control the effects. Which leaves most rolling stock unchanged, yet allows a technology not available in previous code releases. A similar transition occurred for signalling capabilities regarding realism in yard crossing tracks, sometimes called '{{TBN|diamond crossings}}' —a real common need to match prototype places (train yards). Generally in the past, Data conventions increasingly enforced since TS2009 were designed and in place in the lengthy TRS2004-TRS2006 era (and JET II game engine) — yet most asset types were perfectly fine using the older simpler Trainz 1.0 era data structures which are unitary tag based in the main, and don't involve any aggregate data structures Trainz's {{TL|Containers}} in the {{TL|config.txt}} control files. In 2009 N3V decided to add severe filtering enforcing the newer data structures in subsequent releases. They also added installation software testing, filters, to vett and bless DLS uploads—this is updated as time and versions pass, forcing higher and higher TBV values be submitted—even when an implemented asset has nothing significantly different from the earlier 1.3 or 2.5 era assets, save a more detailed less rough sub-assembly component part (A Trainz '{{TN|dependency}}, like a new bogey, sound, or perhaps a traincar modified to have interactive cargo and doors that animate{{efn,Many older assets used a mix of tech tags and containers to program their manifestation in game, so adding the containers and tags to a config.txt that enabled a box or flat car to handle interactive cargoes (introduced in TRS2004, a Trainz strength) required a mere cut and paste alteration. However, script and mesh dependent capabilities such as animated doors, really do warrant a version change, being far more complicated. }. This has been controversial and caused many aggregate assets (Routes and Sessions) to be short compatible assets. So until TS2009, older and looser data conventions were tolerated in newly altered and new assets—allowing new assets produced to a lesser capable standard.  The Trainz Version number exactly matches the asset (technology 'level' identifying) Trainz-build tag number.  There can be many code build numbers for a trainz-build code (or technology level); some are for a different group of languages as translations become available, and ... {{bull}} Each of those also has possible Hot fixes and Service Pack patches—some of which change the {{TBS|trainz-build}}, and others do not. Hot fixes do not usually cause a change in version numbers, while Service Packs usually cause an increment of +0.1 to the "Trainz-build" tags and colloquial terms thrown around as the 'Version Number!}}

Managing these improvements in the corporate world is the task of an IT department, but since Trainz is a personal software suite, the task of updating a Trainz release devolves onto private users. This aspect of Trainz is further complicated by Trainz nature, it is at the heart, a data base manager and a huge data base (the greater size in files) with satellite tools programs (especially for example, the Surveyor, Driver, Railyard, and some others behind the scenes like ) each of which may need patched or replaced with a service pack release or Hot fix. Further, and the most problematic part as it takes some time when a user has a lot of downloaded content, a new update may also scan each item in the database, and where necessary, patch those to compliance with the 'new technology level' being introduced by the patch and corresponding to a new asset build tag number.

Trainz releases are further complicated by servicing an international user base; from the start the product was produced to service different international languages groups and their translation needs. In the later practices, the plethora of internationally different releases was managed down to around four initial

Legacy (unsupported) Versions
The balance of this page is presented in ordinary calendar order, first out, first listed. The first group are the giants of history upon whose shoulders newer versions of today stand. Trainz in all versions and releases was supported for over a decade by Auran, then later by N3V Games — until the adoption and announcement of the unpopular Trainz Life Cycle policy in 2010. In the policy, an arbitrary four years has generally been added to the original retail versions release date, after which the release is magically 'called obsolete' and N3V withdraws support.

Trainz Life Cycle policy has its largest negative impact now on asset updates through the creeping rise-in-threshold-difficulty of acceptance-testing-software by the DLS software, and those requirement changes have adversely affected the reliability of the Trainz-build numbers as a tell-tale of the tech level actually needed within any given asset. The whole system now is introducing a upward version creep in assets updated or added into the DLS collection, and requires authors' to donate their time making a lot of unnecessary 'updates' to the data structures in the config.txt file leader every asset has; changes which aren't really functional, but making no real change to the assets textures, meshes and other operable guts. In short, such changes are administrative data shufflings, instituting wasted time by thousands with unnecessary work-arounds.) showing up on a users Content Manager module and Main Menu screens.

Trainz

 * Trainz 1.x series :Cover motto: Trainz Virtual Railroading On Your PC
 * Main article: Trainz with no service packs applied V1.0

Trainz beta V0.9
Perfection is achieved, not where there is nothing more to add, but when there is nothing left to take away. The very rare boxed Trainz: Beta version 0.9 was published in a very small run by Auran Developments in June 2001 after several initial software download versions were made available to collaborating railfans and other involved parties for testing purposes.

A brief history of Trainz by an early 'Auran partner', Charlie Lear on the development of this popular software can be read can be read here:, and much of what followed is presented with commentary and cover art up through TRS2006. The Beta release cover art contained a quote from Antoine de Saint Exupery. (See quote above). Targeted at the model railroading enthusiast's market niche, Trainz was bare of a lot of content, but delivered a Surveyor module much like today's, which is still the best in the business for route building.

Trainz

 * Trainz, the original version, with no service packs applied is assigned a of 1.0 (V1.0) and is known as the 'Trainz Community Edition'. The boxed Trainz 1.0 was transferred from Auran Development and released by Auran Games, Pty. Ltd in November 2001 in a self-published regionally distributed version after an initial 24 September 2001 software download only version  Generally, each applied  increments the version by +0.1, so with application of the third service Pack (SP3) the cumulative version code value becomes Trainz V1.3; the first fully stable software release of the series also dubbed as the 'Trainz Passenger Edition'. The release also included a licensed version of the three dimensional (3D) model building tool GMAX, which is responsible for the huge numbers of user created 3D assets available on the.

Early Trainz Mininum & Suggested Requirements

 * The first widespread international release was in February 2002 and included SP1.
 * With SP3, this is sometimes called the "Community Edition", and by some is considered a totally separate release and product so different was the operability and reliability in V1.3.
 * Trainz Community Edition (retail version or UK Edition, SP1.3 unpatched): build 263
 * Trainz Community Edition (retail version or UK Edition, SP1.3 patched): build 277

Trainz 1.1 (SP1)
Trainz 1.0 with SP1 for Trainz applied is promoted to Trainz V1.1, code build TBDL

Trainz 1.2 (SP2)
Trainz Version 1.1 with SP2 for Trainz applied promotes to Trainz V1.2, code build TBDL

Trainz 1.3 (SP3)
Trainz 1.2 with SP3 for Trainz applied promotes to Trains V1.3, code build TBDL, and because of the functionality enhancements—is widely considered a major product release on its own, despite being free to acquire. This was the most widely distributed and longest lasting of the versions of the original Trainz product family, not replaced except for language updates and patches until the release of Trainz 2004 with several major user friendly resources added, including, a facility that enabled scenario creation.Trainz SP3, apart from bugfixes, saw the introduction of the Trainzscript programming language and scripted user activities called "Scenarios"., Charlie Lear (cjlear), former Auran developer. A few years later Trainzscript was generalized, libraryized, and the game engine modified to assemble and run the conglomerate rules of a session 'on-the-fly', so Scenarios were soon replaced by the (scriptlet based) sessions Rules facility in TRS2004/06. This version was still being sold in the USA, with an additional Service Pack 3 CD included in the summer of 2013.

Trainz V1.4 (SP4, Spanish)
Trainz 1.x implemented multilingual languages support by installation of different service packs. There was no French or Eastern European languages versions marketed.
 * Auran also assigned V1.4 to the stand-alone software.

Trainz UTC, V1.5

 * Trainz: the Ultimate Trainz Collection
 * Main article: Trainz UTC with no service packs applied V1.5

This was called the Ultimate Trainz Collection, a November 26th, 2002 release including four groups of routes expanding the options for the user.
 * UTC - English - no service packs applied: build 327
 * UTC - English - SP1,. code build 404
 * UTC - English with SP1 build 902 pre-installed as part of the 2008 Trainz: The Complete Collection Omnibus edition.

TRS2004 series

 * TRS2004 with no service packs applied V2.0
 * Main article: Trainz Railroad Simulator 2004

This version incorporating many technical advances, not least among them the vaunted Trainz interactive industries and interactive rolling stock assets. It also established the Trainz Download Station in the internet searchable version whose descendant is today's Trainz DLS. Many Trainzers held for year after year that TRS2004 was the best Trainz release ever, but time has occluded the memories that it had many growing pains  as evidenced by the four service packs. While many of the new data model features were introduced in Trainz UTC, they weren't fully implemented until in 2004. By the 2005 release of TRS2006, Auran began fault testing to a much greater extent, including warning messages that now obsolescent tags should be removed. So after SP4, trainz-build code value 2.4 (V2.4), Auran finally had the extensible product that made users fans. TRS2004.exe (the Launcher module of the release commonly known as TRS2004) provided no integrated data management module. It has a module called ContentManager.exe, but it left much to be desired; at it's heart, it could only list data with very coarse sorting and display abilities. A third-party utility, by Terry Franks did the best job at asset management and organization in the era until TRS2006's Content Manager Plus (with similar features) supplanted it. Each Trainz release since has a version of Content Manager; though its appearance and operation changed dramatically with the release of.

TRS2006 series
The TRS2006 technology was leveraged into a large series of releases with targeted regional content, much of it formerly payware routes now shipped in partnership with Auran and N3V Games, which took over management of the franchise early in the era.

Trainz Driver Edition (TDE)
This is a Trainz Driver GUI only (a game only or demo) version of TRS2006 with some features omitted; it lacked both the Content Manager and Surveyor modules, so has no expandability nor extendability (self-built routes and sessions). Like TRS2006, it is level 2.5, Build number 3096 — UK release date of Trainz Driver was 24 February 2005.
 * TDE - US (Merscom) edition: build 3104 also appears to be a version of Trainz Driver Edition.

TRS2006-SP0 v2.5
Main: Trainz Railroad Simulator 2006 (or TRS2006)  with no service packs applied V2.5 TRS2006 - Australia and USA - no service pack applied: build 2761

TRS2006 - UK - no service pack applied: build 2773

TRS2006 - French - no service pack applied: build 2883

TRS2006 - Dutch - no service pack applied: build 2967

TRS2006 - German - no service pack applied - also called Pro Train Perfect or PTP: build 2970

TRS2006 - Spanish - no service pack applied: build 3007

Trainz Routes
The 'Trainz Routes' release was an add-on pack containing twenty additional layouts and dependencies for TRS2004/TRS2006 and not a program release. The DVD has an installer interface which directly patches the content into either version's data structure, but is biased to install to TRS2004 and must be given a hand-edited directory to install into TRS2006. The loader, once initialized, then presents four buttons, so requires four additional clicks, plus finishing acknowledgement clicks to completely install.

Build number (if any) and original publication date not known. Paradox Interactive re-published Trainz Routes as 3rd DVD part of '' with cover art copyright date of 2008. The release takes nearly an hour to install.

TRS2006-SP1
Trainz 2006 with Service Pack 1 (which was notoriously hard to install) was perhaps the most stable version of Trainz released before the latter service packs of TS2009 and TS2010, which each had four. On the other hand, the game itself was the game engine for TRS2004 with few improvements, with the main changes being the introduction of the unified utility suite Content Manager Plus.
 * TS12's CM is only slightly improved over TR06's original, and that kind of longevity and stability is an ovation all its own. TR06 would spawn numerous regional releases and until TS2009, these were clones of TR06 with a different batch of content, aside from slight changes to data models begun in TC3.

 * TRS2006 with SP1 for TRS2006 applied V2.6

TRS2006 - Australia and USA - SP1: build 3092

TRS2006 - UK - SP1: build 3099

TRS2006 - Spanish - SP1: build 3118

TRS2006 - as included in Trainz: The Complete Collection (aka Trainz TCC Pack, includes SP1 pre-loaded): build 3335
 * A three DVD omnibus release and the first Trainz franchise release published by Software (Now N3V Games); North American version distributed by . Release includes TRS2006 (with SP1 pre-installed), as one third on 2nd DVD; UTC and TRS2004 on 1st DVD, Trainz Routes on third DVD.

TRS2006 - as included with Trainz Railwayz (includes SP1), distributed by with a Steam Loco on the cover art. (aka possibly 'Trainz Classics' in the USA): build 3337 with 2nd CD containing TC1&2Cover Art, publisher, title, and TBV v2.6 of USA's BC Version 3337 all confirmed verbally via Skype with RRSignal, 2015-0815.

Trainz TCC
'Trainz: The Complete Collection' was a 2008 Omnibus release distributed by Paradox Interactive bundling UTC, TRS2004, and TRS2006 with pre-installed service packs on a 3 CDROM single box set. Build 3335 The edition also included Trainz Routes, a collection of mainly 'Basement Railroad Empire' sized routes without sessions.

Trainz 2007
'Trainz Railroad Simulator 2007', several Europe only releases

French Edition

 * The French TRS2006 standard edition release (includes SP1) is known as TRS2007: Build number not known.

'Trainz Railroad Simulator 2007' (abbreviated as TRS2007) was the second release targeting a regional market distributed by Anuman Interactive for sale in France, Belgium and Switzerland. There were initially two versions: the standard version which consisted of Trainz Railroad Simulator 2006 with Service Pack 1 applied, and the Gold edition, which included French regional add-on items.

Trainz 2008
Halycon Media later distributed Trainz Railroad Simulator 2007 with German region-specific content for the British, Austrian, and Swiss market. This is colloquially sometimes called TRS2008.

German edition

 * The German edition of TRS2006, published by Auran/N3V partner Blue Sky Interactive is also known by its release name: Pro Train Perfect (PTP).
 * TRS2007 - German (includes SP1): build 3325
 * The German edition of TRS2006 is sometimes referred to as both TRS2007 or TRS2008, and neither has any official standing.

Trainz Classics
Three TRS2006 special content joint-venture production releases were put together by Auran and N3V Games with professional after the release of the content only add-on release Trainz Routes in 2007. In the era, Auran had over extended in developing other video games and had severe financial troubles. They subsequently laid off most of their staff, entered the Australian version of bankruptcy seeking protection from their creditors, and ended up selling (licensing) development and distribution rights for their most solid asset, The Trainz Franchise to Tony Hilliam, a software publisher with family money who ran what is now known as N3V Games. Auran Development was reorganized as a holding company Auran Holdings LLC, much as DanJaq LLC owns the rights to the franchise and licenses it to Eon Films. N3V Games now develops and markets Trainz releases, manages the Auran forums, servers, and Simulator Central online store with Hilliam as CEO.

Trainz Classics 1&2
'Trainz Classics 1' (TC1) and 'Trainz Classics 2' (TC2) were both distributed initially (and briefly) as separate releases in a joint venture with Merscomm as / a couple of months apart in early 2007 and soon after as a bundled set.
 * Released as Trainz Classics 1; TBV V2.7
 * Released as Trainz Classics 2; TBV V2.7
 * United Kingdom released as: Trainz Railways/Trainz Railwayz2; TBV V2.7 Build 3337

Trainz Classics 3
The 'Trainz Classics 3' or TC3 release version and is " v2.8" and assets with that level, notably locomotives and textures using other than default AlphaHint processing as specified in their , were the first big group of assets that one had to fiddle with to take back to the TRS2006 standard, or make work with the new 2.8 s—depending upon which way one was porting assets.
 * Tag "'epbrakes' not allowed" errors were a common resultant error requiring users to delete the defunct spec line.
 * The new 'AlphaHint=' specification gives a 'path not found error'  when ported into earlier versions of Content Manager Plus, specifically TRS2006-SP1's CMP.

This 'new-status-quo', with additional new data adaptation problems when porting between versions now holds true for TS09—T:ANE assets builds as well.
 * Trainz Classics 3 original release - UK: build 3517
 * Trainz Classics 3 SP1 - UK: build 3529

Trainz Railwayz
Trainz Classics 1&2 was marketed and packaged as Trainz Railwayz in the USA and Trainz Railways in the UK. Trainz Railwayz (mainly USA) includes the full TRS2006 but the other regional editions do not.
 * Trainz Railways 1&2 - UK: build 3355

TS2009 WBE TS09

 * TS2009: World Builder Edition
 * Main coverage: 'Trainz Simulator 2009: World Builder Edition'

The following builds exist for, called the 'World Building Edition' because of upgrades of Surveyor with several new tools such as replace all and the 'Pick List' and tool extensions such as the combined modes of terrain shaping tools with a selected region. Where patches are available, these are noted beside the build number. TS2009-SP4 lacks only multiplayer capabilities and 'Native Mode' (64 bit data handling) relative to TS2010-SP4's improvements, both co-introducing and strategically adopting the major dependence on TadDaemon, Route and Session Layers, SpeedTrees, and allowing compatibility mode or native mode.

TS2010 - TS10

 * Main coverage: Trainz Simulator 2010: Engineer's Edition

 * sometimes, TS2010 EE

With the issuance of Trainz 2010: Engineer's Edition, N3V Games continued the user-unfriendly practice of not giving unique names to their Trainz.exe files, which would minimize registry confusion. This is even worse because both launcher and loader are Trainz.exe, one in the installations' root, one in the \bin directory. TS10 introduced newer speedtrees tech and multiplayer, as well as somewhat more advanced graphics rendering and was accompanied by a new group of canned routes and tutorials, finally abandoning many stalwart routes found from TRS2004 through TS2009. At the same time, TS2009-SP4 and TS2010-SP3 and SP4 all generate Trainz-build v3.3 tech level assets.

The following builds exist for. Where patches are available, these are noted beside the build number. N3V's auto-patching capabilities were inconsistent and unreliable until late in the TS09/TS10 product update series.

Trainz Simulator Mac

 * Main coverage: Trainz Simulator Mac-1

The following builds exist for Trainz Simulator Mac. Where patches are available, these are noted beside the build number.
 * Mac versions of Trainz and on Android and iOS on PAD computers are currently only TS2009 or TS2010 special releases.

TS2012
Formally, the releases title is: 'Trainz Simulator 12'.
 * Main coverage: Trainz Simulator 12

The following builds exist for TS12. Where patches are available, these are noted beside the build number. From TS2009 mid-releases, auto-patching of upgrades became more and more reliable as bug fixes to the patching suite of software were unearthed and fixed, so auto-patching since has been the norm.

TS2012 - TS12
The patch will work for the following TS12 builds: 46957, 47059, 47452, and 47772 giving promotions: 47059 > 48249, 46957 > 48249, 47452 > 48249 and 47772 > 48249.
 * Known build numbers for TS12: July 31st, 2012, 04:05 PM
 * 1) Build 46957 - Planet Auran release version, new  V3.4
 * 2) Build 47059 - Planet Auran release version (minor revision),  V3.5
 * 3) Build 47103 - Steam release,  V3.5 cap.
 * 4) Build 47452 - Just Trainz release version
 * 5) Build 47772 - Just Trainz release version (minor revision)
 * 6) Build 48054 - Defunct due to corrupt patch file
 * 7) Build 48249 - First SP1 hotfix, established  V3.6
 * 8) Build 49922 - Second SP1 hotfix, Added support for Aerotrain DLC - build July 31st, 2012
 * 9) Build 🇨🇴 - Third SP1 hotfix, Hotfix 3 - build Spring/Summer, 2013, established  V3.7 (TODO - Search for date, make citations )
 * 10) 🇨🇴 - Hotfix 4 & current build, Classed as a 'Quick bugfix' of hf3, out approximately last August  V3.7, while Trainz Mac 2 is  V3.8, the end for 32 bit CPU compatible pre-TANE Trainz versions. (Status update note on August 28th, 2014 )
 * If you have any of the boldfaced build numbers, you can patch up to 48249. Assets with trainz-build 3.6 will then become available.
 * If you have 48249, you can patch up to 49922. The Aerotrain DLC will then become available.
 * If you have 47103, the initial Steam release, you can neither patch nor use Multiplayer. Also, assets with trainz-build 3.6 must be obtained via FTP, then back-dated to 3.5.
 * If you have any other build, you may have a pirated copy of the game.

Content Builds

 * Main coverage: Auran DLC: Trainz DRM Content

Auran's patch technology has the capability of updating the base Trainz version and installed addon content independently. The following is a list of released content build versions for add-on content.

TANE CE
Trainz: A New Era, often seen as TANE or T:ANE in forum mentions was built around a new 64 bit computing game engine written from scratch. The initial releases had over optimistic fund raising hopes and expected results too soon for the funding levels obtained. About half-way into development, major staff changes rocked N3V games as long time programmer and asset creator James Moody departed N3V leaving less user oriented programmer's in uncontested control of the software development. Unsurprisingly, it missed nearly all of the deadlines promised during crowd source funding efforts.

Trainz: A New Era, Community Edition or TANE CE were the expected benchmark partial product releases that were mainly sold by advanced subscription or as a benefit to bigger donors in the internet crowd source funding drives of late 2014.
 * Trainz: A New Era, Community Editions

Beta test and teething troubles plagued each of the three formally released versions of the troubled and Crowd Funded Community Editions — each released to comply with 'developmental benchmarks by deadlines' promised during raising the crowd sourced funding on the internet. The Community Editions were download-only software only available through internet subscriptions. A departure for Auran/N3V inasmuch as previous versions, excepting the Steam.com special versions of TS12 each were also offered by CDROM or DVD with printed manuals. The formal Beta test version was repeatedly reset and put off over the fall of 2015 and finally released for people who preordered TANE on December 10, 2015.

}}
 * 1) Trainz A New Era: Community Edition 1.0 - Trainz-build version 3.9
 * 2) Trainz A New Era: Community Edition 1.1 - Trainz-build version 4.0
 * 3) Trainz A New Era: Community Edition 1.2 - Trainz-build version 4.1

TANE
Trainz: A New Era was officially released on May 14, 2015 as an alleged full version overcoming lacks of TANE CE. TANE's Driver, Surveyor, and Content Manager modules each had their issues. Most lacked operational hotkeys users were used to having. Its CM user interface has many more powerful pluses, but wastes search specification screen space needlessly, and its overall implementation mysteriously changes terminology in the oddest places (Common Trainz operational terms, most with hotkeys before hand which were in place and well known in the community since Trainz 0.9 Beta release, and other operational menus, and especially the important mini-maps in Driver and Surveyor operated very differently.  As of the SP3 release (TBV 4.5), many of these shortcomings are still disgruntling the community.
 * Trainz: A New Era (TANE or T:ANE), the full release...

Various 'finishing touches' have been added through a succession of hotfixes, patches, and service packs with a rumored fourth service pack supposed to be nearly finished as of 12 March 2019, even while the program is being supplanted by TRS19, a new release of TANE, without the New Era tagline. One major improvement instantly popular with users was the facility allows the user to directly control where local content is kept, and to change it as desired, allowing content creators and users to customize their experience and sequester data—say separating British routes and assets from North American, enabling both less clutter in selecting and managing content in CM and Surveyor. There have been numerous upgrades, starting from the original zip downloaded installer (Code build: 78667), SP1 (Code build: 80201), SP1 Hotfix 1: 81190, SP1 Hotfix 2: 82149 to TANE SP3 (Code build: 94916)

TANE MAC
The Mac version of TANE was also released on May 14, 2015 as an alleged full version overcoming lacks of TANE CE. The MAC user interface from Trainz Mac is alleged to be used for CM and Surveyor screens, giving the Trainz software an alien look, see, and feel for the first time since Trainz 1.0 on the one hand, and TRS2006's CM on the other.

Notes, Footnotes & References
Beginning in August of 2009, Auran/N3V Games began a Technical reference and user interest wiki called TrainzOnline. Most of the data on the site was put up by the official staff of the company.

title: Trainz/Version And Build Numbers


text:
User talk:Katki009

Hi Kelley,

I highly recommend that you perfect your multiple choice questions and reference list so that your peers will rate you highly. Just a suggestion. Have a great day!

Pete (talk) 18:37, 18 February 2008 (UTC)

title: User talk:Katki009


text: User talk:166.127.1.220

title: User talk:166.127.1.220


text:
Talk:Biochemistry/pKa values

M vs. mol*dm-3
I changed the mol*dm-3 to M (molar or mol/L). Which is by far more commonly used and likely to be more easily understood by those that can remember high school level chemistry. Hichris (talk) 18:57, 18 February 2008 (UTC)

Reference
"Due to the amphipathic nature of amino acids - which are the monomer building blocks of all proteins, physiological conditions are always considered to be buffered, which plays a major role in the conformations and reactivities of substrates in the cell's liquid interior, its cytosol.

A very small (which would include a large negative value) pKa indicates a very strong acid. A pKa value between 4 and 5 is the most common range for organic acid compounds."

 * Does anyone have a reference for the above? Amino acids are amphipathetic, but I do not recall them being a major player as buffers in the cytosol - in any case they have a low and high pKa not a neutral pKa.

 * I'm also not sure about the 4-5 pKa range as most common, it may be I just haven't heard that before. Hichris (talk) 19:05, 18 February 2008 (UTC)

title: Talk:Biochemistry/pKa values


text:
Trainz/Authors

 * Jolean Bradshaw: (jf2brunt) US content creator.
 * John:(john259) also needs to put some brief words here.
 * Lloyd Collins: (collinsl) Has been playing Trainz for years before joining in on the forum. He is currently studying IT, with an interest in UK and Western US trains.
 * Chris Sprague: (nawlins) Been involved with Trainz since TRS2004 came out. Now also have TRS2006 and TC. Primarily a route builder and re-skinner leaning toward UK stuff but not exclusively.
 * Don Watson: (doncraig) Been playing trains 2004 and 2006 Joined the forum as a newbie to test tutorials (If I can do it anyone can)
 * John Whelan:(johnwhelan) Has a background in computers including hardware and an interest in UK trains. He has been using Trainz for some time and does create content usually with other people and quite often reskins.
 * Mark A. Wilson:(mawilson) is a Trainz 2006 user just starting down the content creation path. His primary interest is in Monorails but he is growing an interest in narrow gauge.
 * Ben Kelly:(benk87) Has been playing Trainz since before version 1.3 and joined the Trainz community in 2003. He is especially interested in UK narrow gauge but likes to dabble in other areas too.
 * Frank Bartus: (fabartus) Acquired Trainz in the summer of 2004, and TRS2004 then TRS2006 in the successive summers at annual model railroad shows— but just played at playing with them a bit while encouraging his son Jon in that early era—too busy with his engineering career and Wikipedia contributions to muster much effort to surmount the learning curves. Subsequently he was wise enough to print the pdf manual one day, which was a transformative step—though he all but ignored it for nearly a year. With his son prepping to leave for college, he began systematic model railroading on Trainz on and off in the winter of 2007-08 to master Driver and by spring with baby steps began modifying stock routes to learn Surveyor in TRS2006. By the autumn he assayed serious route building projects as recreation when 'focus time' could be spared from his volunteer activities on nine Wikimedia Foundation projects works (including this one).
 * When his eyesight got too bad to edit Wikipedia with regularity in Fall of 2009 he made Trainz his most used application by far. When he'd run TRS2004 and TRS2006 unto exhaustion, he decided to upgrade the deplorable Trainz Wiki and upgrading which began with studying the evolution of the system by reinstalling Trainz 1.3 and UTC, moved onto downloading and error fixing early efforts through the three TRS2006 route/region specific expansions Trainz Classics (TC1&2, TC3—each a variety of T'06 with for-pay third party content extensions of that era), then continued studying the product. He's installed and keeps individual upgrade stages for TS2009, TRS2010, and TS2012 and various Service Pack and hotfix combinations so he can evaluate differences as a computer engineer in study mode.
 * He's currently the prime mover in the Wikibook reorganization by and at any time is likely running Trainz (or 4-5!) on at least one of four computers with.

 * John Citron: (Jcitron) Has been running Trainz since TRS2004 and is a familiar answers guy helping newcomers on the Auran forums where he was a moderator for a long stressful period. Currently disabled by Parkinson's he almost daily acts as a copy-editor, technical touchstone and proof reader for Frank when asked to check new page contents. Various others in Yesterdayz Trainz contribute similar services when their specialized knowledge is requested.

title: Trainz/Authors


text:
Trainz/Local Style Manual

Purpose
The goal of "Trainz" is to serve as a learning tool and a reference. Our audience includes brand new users looking to fill in the gaps in the manual. On the other end of the spectrum we have experienced users who want to expand their skills. Such a wide audience can be challenging.

We have adopted a structure similar to a textbook. We take the reader from where they typically start to increasingly more advanced topics. Authors should keep in mind that each part should progress in a similar manner. Also, authors should not assume prior knowledge other than what is in this book.

Wiki-books are written by many authors. Each book should have a consistent "voice" and style. That provides the reader with a consistent experience using the book. The rest of this document provides guidelines to assist authors and editors in creating a coherent and valuable resource for all Trainz users.

Language
Books require a consistent use of language. Either British or American English may be used, at least for now. Regardless, contributors must remember that English is not the primary language for many Trainz users. Use plain language principles, particularly for word choices and sentence structure. When possible, contributors should attempt to be neutral to all english speakers, and not rely on mannerisms or language specific to one region.

Trainz brings together computer software and railroading. Each field has its own terminology. Authors should not assume that readers already have a command of either. Define specialized terms on first use and in the glossary.

Basic structure: Deep structure (Book/Chapters/Sections/Subsection/Topic)
The deep structure has a stronger inherent organisation. "Deep" means that there are more than one level of subpages. "Trainz" uses a deep structure though contributors should resist defining pages beyond four levels (Chapter, Section, Subsection, Topic).

Use "Name of this Chapter", "Name of Section"
Most books (both on wikibooks and in print) capitalise all words except for articles and prepositions. Do not use the words "chapter," "section," "susbsection," or "topic" in the title.

Restricted page length
Some books may have a limit on page length (wikipedians for example try to limit page length for articles).
 * Advantages
 * Limiting page length will make chapters easier to download for users with slow connection speeds.
 * May be helpful to set an arbitrary limit on page length to give the book a more consistent feel.

 * Disadvantages
 * May bring about arbitrary section breaks that might otherwise not be warranted.

Templates
It's often helpful to use templates for each chapter or page, in order to create a consistent structure. A template can create an outline using headers, infoboxes, and other features to make each chapter of a book resemple others.

All chapters follow a template?
Some books may benefit from the use of standardised templates for the chapters.
 * Advantages
 * Gives the book a consistent feel.

 * Disadvantages
 * Can be limiting.
 * Makes it more difficult for new contributors.

Different templates for different types of chapters?
Some books may use different templates for different types of pages. The Cookbook, for example, uses different templates for recipes, ingredients, etc.
 * Advantages
 * Allows a more customized (yet consistent) style for pages that discuss general types of topics.

 * Disadvantages
 * Can make the book difficult for new contributors to get used to.

Complex templates?
Some very useful and attractive templates can be made using parser functions.
 * Advantages
 * Attractive and flexible.

 * Disadvantages
 * Difficult for inexperienced authors to use.

Use only intra-book piped links?
Restricting links to only the chapters of a book makes the book "self contained"
 * Advantages
 * Keeps the book together, without needing to rely on external sources.

 * Disadvantages
 * Requires making a new page for every term

Use cross-project links?
Links can be made across wikimedia projects using prefixes within the brackets. w: leads to wikipedia, wikt: leads to wiktionary, etc.
 * Advantages
 * Allows easy explanations of terms

 * Disadvantages
 * Makes the book rely on other projects. If this kind of linking is done, authors should check periodically to make sure the destination page has not been moved.

Restricted links?
Books might use wikilinks for certain cases only, when the information being linked to is well beyond the scope of the book.
 * Advantages
 * Disadvantages
 * Disadvantages

Use navigation templates

 * About
 * Advantages
 * Disadvantages

Use an index?

 * About
 * Advantages
 * Disadvantages

Fair use
"Fair use" images are those that are copyrighted, but are considered to be fair game for public use.
 * Advantages
 * Allows for more images to be used than if fair use images are not acceptable for a book.

 * Disadvantages
 * Definitely a gray area of law, and it might be better to simply avoid using these.

Commons only?
Images used in wikibooks can either be stored in the wikibooks image namespace, or on commons.
 * Advantages
 * By only using images that are on commons, it makes it easier for other projects to transwiki the book (e.g., if German Wikibooks wants to make a translation, they can copy it over without having to chase down the images).
 * The images will likely be organised into galleries and/or categories on commons, which might lead the author to related and/or better images for the book.

 * Disadvantages
 * Fair use images are not permitted on commons.

Use thumbnails?
Thumbnails are small versions of an image, that can be expanded by clicking.
 * Advantages
 * Allows for many images to be placed on a page without taking up too much space or bandwidth.

 * Disadvantages
 * Thumbnails are often too small to be useful in printed versions.

Use a single category for all book chapters?

 * Advantages
 * Keeps the whole book "in one place", so it's easy to keep track of.

 * Disadvantages
 * For larger books with more than 200 pages, the category page will be broken up.
 * Limits the organisation of the book

Use subcategories within the book?

 * Advantages
 * Helps to organise related sections of a particular book

 * Disadvantages
 * Makes it more difficult to see all chapters at once.

Cross-categorise to major topics?

 * Advantages
 * Makes the book more "visible", for readers who use the category system to navigate or look for source material for other books.

 * Disadvantages
 * Can clutter the bottom of the page with long lists of categories.

Mathematical Formulae
Many books in the mathematics, science, and engineering bookshelves make use of mathematical formulae. Also, these books will also frequently rely on various notations to denote different mathematical concepts. Whenever a book makes use of such formulae or notations, they should be consistent throughtout the entire book.

Other Stylistic Concerns

 * Use on all pages? (this tends to look better on printed versions)

Print versions
Many books have a printable version, and some books even have multiple printable versions. Many books also include PDF versions for easy reading and downloading. Print versions should use page transclusions so that all updates to the main book pages are automatically reflected in the print version text. PDF versions should likely be updated on a regular basis, to stay consistent with the text.

There are a number of specialized templates for use with print versions and PDF versions. For more information, see Help:Print versions.

Print versions may typically want to use the magic word to suppress the automatically generated TOC in the book. In this way, the printed version can produce its own TOC. [[category:Trainz Admin|*Style guide}}

title: Trainz/Local Style Manual


text:
User talk:76.77.237.74

I was not vandalizing this page, I am the author and was deleting it. This is my own work and will soon be published. I no longer wish it posted on this site. Fr. C. Stumph, D.D.

 * G'day, if you wish to have a whole book deleted, please nominate it for deletion by placing at the top of the book's main page and then list it on the Votes for Deletion page. Please also read our deletion policy. Given the fact that you appear to be the sole author of the book, we may be able to delete it. Webaware talk 03:38, 23 February 2008 (UTC)

 * Oh, and I suggest that you login first if you want you VfD request to be taken seriously, as the author of the book. Webaware talk 03:41, 23 February 2008 (UTC)

I have reconsidered and will allow my works to remain on site. I have decided against publishings these selections. Fr. C. Stumph, D.D.

title: User talk:76.77.237.74


text:
User:Brownout

 * La mia pagina utente su it.wikipedia
 * My user page on Meta

it:Utente:Brownout

title: User:Brownout


text:
Ruby Programming/Reference/Predefined Classes

In ruby even the base types (also predefined classes) can be hacked. In the following example, 5 is an immediate, a literal, an object, and an instance of Fixnum.


text:
Physics with Calculus/Mechanics/Center of Mass

When you throw a ball, which is composed of many, many interacting atoms, it is by no means obvious that it will follow a parabolic path, even though a single particle does. What do we even mean that a ball follows a parabolic path? Is there some special point to follow? We will show that indeed there is a special point to follow called the center of mass and we will show that Newton's laws fantastically scale from the very small to the very large.

Let $$r_i$$ be the vector from the origin to the ith particle. Let $$m_i, v_i, f_i$$ be the mass, velocity, and force of the ith particle respectively. In order to see if there are any particularly special points, define an arbitrary vector R. Now, every $$ r_i$$ can be written as $$ r_i' + R$$. Applying Newton's second law to every particle,

$$ f_i = m_i \frac{d v_i}{dt}$$.

But

$$ v_i = \frac{d r_i'}{dt} + \frac{dR}{dt} = v_i' + V$$.

(the last equation is just definition). So

$$ f_i = m_i \frac{d v_i'}{dt} + m_i \frac{dV}{dt} $$.

Summing,

$$ F = \sum_i f_i = \frac{d}{dt} \sum_i m_i v_i' + M \frac{dV}{dt}.$$

This takes on the simplest form, and indeed the form of Newton's second law for a particle, when the derivative of the sum is zero. Now, the derivative is zero when the sum is constant. That is,

$$ \sum_i m_i \frac{dr_i'}{dt} = P$$.

Where P is a constant. Thus,

$$ \sum_i m_i r_i' = Pt + C$$

where C is a constant. Substituting the definition of R,

$$ \sum_i m_i R - \sum m_i r_i = Pt + C $$.

This is equivalent to

$$ R = \frac{1}{\sum_i m_i} \sum_i m_i r_i + \frac{1}{\sum_i m_i} Pt + \frac{1}{\sum_i m_i} C $$.

We don't want R to depend on time, so take P = 0 (this is allowed because P was a constant of integration). Since C is arbitrary, and we want the simplest possible form, take C = 0. Although there is no great harm in taking it to not be zero, it will just be very cumbersome.

Thus, the form of the equations takes on a particularly simple form when

$$ R = \frac{1}{\sum_i m_i} \sum_i m_i r_i$$.

We define this to be the center of mass vector. It has the very important property that the entire system follows

$$ F = M \frac{d^2 R}{dt^2} $$

where

$$ F = \sum_i f_i $$

and

$$ M = \sum_i m_i.$$

That is, the entire system, no matter how complicated, behaves as a single particle of mass M located at the center of mass!

Another interesting property comes from the fact that we can split up the force on each particle

$$\sum f_i = \sum_i f_i^{external} + \sum_{i,j} f_{ij} $$

where $$f_{ij}$$ is the force on the ith particle caused by the jth particle. By Newton's third law, the entire second sum on the right hand side cancels out. Thus, F is the sum of the external forces -- a body at rest cannot accelerate itself. The motion of the center of mass is completely determined by the external forces. This has some very interesting, but intuitive consequences. It means that if you are in deep space, no matter what you do, you can never move. Similarly if you are on a very slippery ice rink, there is nothing you can do except by throwing things to get off. So how do rockets leave the earth? They expel exhaust out the back -- it is leaving behind a great deal of mass so the center of mass remains the same.

Now, we have just showed that Newton's laws miraculously scale from a single particle to many particles. If you think about it though, Newton would not have discovered his laws if they didn't scale -- he discovered them for great groups of particles, such as a marble or anything in ordinary life. It is, in fact, almost a requirement that the law scale! However, although Newton's law scales up, it does not have to scale down. Although it would fit many of our everyday experiences if it did, it does not -- the very small is the realm of quantum mechanics. The reason it took so long to discover quantum mechanics is that it does not scale up; the effects get smaller and smaller as the things involved get bigger and bigger.