text:
Java Persistence/Basic Attributes

=Basics= A basic attribute is one where the attribute class is a simple type such as,  ,   or a primitive. A basic attribute's value can map directly to the column value in the database. The following table summarizes the basic types and the database types they map to.

In JPA a basic attribute is mapped through the annotation or the   element. The types and conversions supported depend on the JPA implementation and database platform. Some JPA implementations may support conversion between many different data-types or additional types, or have extended type conversion support, see the advanced section for more details. Any basic attribute using a type that does not map directly to a database type can be serialized to a binary database type.

The easiest way to map a basic attribute in JPA is to do nothing. Any attributes that have no other annotations and do not reference other entities will be automatically mapped as basic, and even serialized if not a basic type. The column name for the attribute will be defaulted, named the same as the attribute name, as uppercase. Sometimes auto-mapping can be unexpected if you have an attribute in your class that you did not intend to have persisted. You must mark any such non-persistent fields using the annotation or   element.

Although auto-mapping makes rapid prototyping easy, you typically reach a point where you want control over your database schema. To specify the column name for a basic attribute the annotation or   element is used. The column annotation also allows for other information to be specified such as the database type, size, and some constraints.

Translating Values

 * See Conversion

Truncated Data

 * A common issue is that data, such as Strings, written from the object are truncated when read back from the database. This is normally caused by the column length not being large enough to handle the object's data.  In Java there is no maximum size for a String, but in a database   field, there is a maximum size.  You must ensure that the length you set in your column when you create the table is large enough to handle any object value.  For very large Strings  s can be used, but in general  s should not be over used, as they are less efficient than a.

 * If you use JPA to generate your database schema, you can set the column length through the  annotation or element, see Column Definition and Schema Generation.

How to map timestamp with timezones?

 * See Timezones

How to map XML data-types?

 * See Custom Types

How to map Struct and Array types?

 * See Custom Types

How to map custom database types?

 * See Custom Types

How to exclude fields from INSERT or UPDATE statements, or default values in triggers?

 * See Insertable, Updatable

=Advanced=

Temporal, Dates, Times, Timestamps and Calendars
Dates, times, and timestamps are common types both in the database and in Java, so in theory mappings these types should be simple, right? Well sometimes this is the case and just a normal  mapping can be used, however sometimes it becomes more complex.

Some databases do not have  and   types, only   fields, however some do have separate types, and some just have   and. Originally in Java 1.0, Java only had a  type, which was both a date, time and milliseconds. In Java 1.1 this was expanded to support the common database types with,  , and  , then to support internationalization Java created the   type and virtually deprecated (almost all of the methods) the old date types (which JDBC still uses).

If you map a Java  type to a database , this is just a basic mapping and you should not have any issues (ignore Oracle's   type that is/was a timestamp for now). You can also map  to , and   to. However if you have a  or   in Java and wish to map it to a   or , you may need to indicate that the JPA provider perform some sort of conversion for this. In JPA the annotation or   element is used to map this. You can indicate that just the  or   portion of the date/time value be stored to the database. You could also use  to map a   to a   field, or any other such conversion.

Milliseconds
The precision of milliseconds is different for different temporal classes and database types, and on different databases. The  and   classes support milliseconds. The  and   classes do not support milliseconds. The  class supports nanoseconds.

On many databases the  type supports milliseconds. On Oracle prior to Oracle 9, there was only a  type, which was a date and a time, but had no milliseconds. Oracle 9 added a  type that has milliseconds (and nanoseconds), and now treats the old   type as only a date, so be careful using it as a timestamp. MySQL has,   and   types. DB2 has a,   and   types, the   supports microseconds. Sybase and SQL Server just have a  type which has milliseconds, but at least on some versions has precision issues, it seems to store an estimate of the milliseconds, not the exact value.

If you use timestamp version locking you need to be very careful of your milliseconds precision. Ensure your database supports milliseconds precisely otherwise you may have issues, especially if the value is assigned in Java, then differs what gets stored on the database, which will cause the next update to fail for the same object.

In general I would not recommend using a timestamp and as primary key or for version locking. There are too many database compatibility issues, as well as the obvious issue of not supporting two operations in the same millisecond.

Timezones
Temporals become a lot more complex when you start to consider time zones, internationalization, eras, locals, day-light savings time, etc. In Java only  supports time zones. Normally a  is assumed to be in the local time zone, and is stored and retrieved from the database with that assumption. If you then read that same  on another computer in another time zone, the question is if you will have the same   or will you have the   of what the original time would have been in the new time zone? It depends on if the  is stored as the GMT time, or the local time, and if the time zone was stored in the database.

Some databases support time zones, but most database types do not store the time zone. Oracle has two special types for timestamps with time zones,  (time zone is stored) and   (local time zone is used). Some JPA providers may have extended support for storing  objects and time zones.

 * TopLink, EclipseLink : Support the Oracle  and   types using the   annotation and XML.

Forum Posts
 * Investigation of storing timezones in MySQL

Joda-Time
Joda-Time is a commonly used framework for date/time usage in Java. It replaces Java Calendars which many people find difficult to use and have poor performance. There is no standard Joda-Time support in JPA, but a  can be used to convert from Joda-Time classes and database types.

 * TopLink, EclipseLink : The base product offers no specific Joda-Time support, but there is a custom converter provided by a third party library, joda-time-eclipselink-integration.

Enums
Java are typically used as constants in an object model. For example an  may have a   of enum type.

By default in JPA an attribute of type Enum will be stored as a  to the database, using the integer Enum values as codes (i.e. ,  ). JPA also defines an @Enumerated annotation and  element (on a  ) to define an Enum attribute. This can be used to store the Enum as the  value of its name (i.e. ,  ).

For translating Enum types to values other than the integer or String name, such as character constants, see Translating Values.

LOBs, BLOBs, CLOBs and Serialization
A  is a Large OBject, such as a   (Binary LOB), or a   (Character LOB). It is a database type that can store a large binary or string value, as the normal  or   types typically have size limitations. A LOB is often stored as a locator in the database table, with the actual data stored outside of the table. In Java a  will normally map to a , and a   will normally map to a  , although a   may also represent some serialized object.

By default in JPA any  attribute that is not a relationship or a basic type (String, Number, temporal, primitive), will be serialized to a   field.

JPA defines the @Lob annotation and  element (on a  ) to define that an attribute maps to a   type in the database. The annotation is just a hint to the JPA implementation that this attribute will be stored in a LOB, as LOBs may need to be persisted specially. Sometimes just mapping the LOB as a normal  will work fine as well.

Various databases and JDBC drivers have various limits for LOB sizes. Some JDBC drivers have issues beyond 4k, 32k or 1meg. The Oracle thin JDBC drivers had a 4k limitation in some versions for binding LOB data. Oracle provided a workaround for this limitation, which some JPA providers support. For reading LOBs, some JDBC drivers prefer using streams, some JPA providers also support this option.

Typically the entire LOB will be read and written for the attribute. For very large LOBs reading the value always, or reading the entire value may not be desired. The fetch type of the  could be set to   to avoid reading a LOB unless accessed. Support for  fetching on   is optional in JPA, so some JPA providers may not support it. A workaround, which is often a good idea in general given the large performance cost of LOBs, is to store the LOB in a separate table and class and define a  to the LOB object instead of a. If the entire LOB is never desired to be read, then it should not be mapped. It is best to use direct JDBC to access and stream the LOB in this case. It may be possible to map the LOB to a /  in your object to avoid reading the entire LOB, but these require a live connection, so may have issues with detached objects.

Lazy Fetching
The  attribute can be set on a   mapping to use   fetching. By default all  mappings are , which means the column is selected whenever the object is selected. By setting the  to , the column will not be selected with the object. If the attribute is accessed, then the attribute value will be selected in a separate database select. Support for  is an optional feature of JPA, so some JPA providers may not support it. Typically support for lazy on basics will require some form of byte code weaving, or dynamic byte code generation, which may have issues in certain environments or JVMs, or may require preprocessing your application's persistence unit jar.

Only attributes that are rarely accessed should be marked lazy, as accessing the attribute causes a separate database select, which can hurt performance. This is especially true if a large number of objects is queried. The original query will require one database select, but if each object's lazy attribute is accessed, this will require  database selects, which can be a major performance issue.

Using lazy fetching on basics is similar to the concept of fetch groups. Lazy basics is basically support for a single default fetch group. Some JPA providers support fetch groups in general, which allow more sophisticated control over what attributes are fetched per query.

 * TopLink, EclipseLink : Support lazy basics and fetch groups. Fetch groups can be configured through the EclipseLink API using the   class.

Optional
A  attribute can be   if its value is allowed to be null. By default everything is assumed to be optional, except for an, which can not be optional. Optional is basically only a hint that applies to database schema generation, if the persistence provider is configured to generate the schema. It adds a  constraint to the column if. Some JPA providers also perform validation of the object for optional attributes, and will throw a validation error before writing to the database, but this is not required by the JPA specification. Optional is defined through the  attribute of the   annotation or element.

Column Definition and Schema Generation
There are various attributes on the annotation and element for database schema generation. If you do not use JPA to generate your schema you can ignore these. Many JPA providers do provide the feature of auto generation of the database schema. By default the Java types of the object's attributes are mapped to their corresponding database type for the database platform you are using. You may require configuring your database platform with your provider (such as a persistence.xml property) to allow schema generation for your database, as many database use different type names.

The  attribute of   can be used to override the default database type used, or enhance the type definition with constraints or other such DDL. The,   and   can also be set to override defaults. Since the defaults for the  are just defaults, it is normally a good idea to set these to be correct for your data model's expected data, to avoid data truncation. The  attribute can be used to define a unique constraint on the column, most JPA providers will automatically define primary key and foreign key constraints based on the   and relationship mappings.

JPA does not define any options to define an index. Some JPA providers may provide extensions for this. You can also create your own indexes through native queries

Example of column XML
If using BigDecimal with Postgresql, JPA maps salary to a table column of type NUMERIC(38,0). You can adjust scale and precision for BigDecimal within the @Column annotation.

Insertable, Updatable / Read Only Fields / Returning
The  annotation and XML element defines   and   options. These allow for this column, or foreign key field to be omitted from the SQL INSERT or UPDATE statement. These can be used if constraints on the table prevent insert or update operations. They can also be used if multiple attributes map to the same database column, such as with a foreign key field through a  and   or   mapping. Setting both  and   to false, effectively mark the attribute as read-only.

and  can also be used in the database table defaults, or auto assigns values to the column on insert or update. Be careful in doing this though, as this means that the object's values will be out of synch with the database, unless it is refreshed. For  or auto assigned id columns a   should normally be used, instead of setting   to false. Some JPA providers also support returning auto assigned fields values from the database after insert or update operations. The cost of refreshing or returning fields back into the object can affect performance, so it is normally better to initialize field values in the object model, not in the database.

 * TopLink, EclipseLink : Support returning insert and update values back into the object using the  and   annotations and XML elements.

Converters (JPA 2.1)
A common problem in storing values to the database is that the value desired in Java differs from the value used in the database. Common examples include using a  in Java and a ,   or a  ,   in the database. Other examples are using a  in Java and a   in the database, or mapping custom Java types such as Joda-Time types, or a Money type.

JPA 2.1 defines the,   annotations and  ,   XML elements. A  is a user defined class that provides custom conversion routines in Java code. It must implement the  interface and be annotated with the   annotation (or specified in XML). A  can be used in one of two ways. Normally it is specified on a mapping using the  annotation or   XML element. Another option, if converting a custom type, is to have the  applied to any mapped attribute that has that type. To define such as global converter the  flag is added to the   annotation. The    flag can be used to disable a global converter from being applied. The    option can be used to override inherited or embeddable conversions.

Conversion
Previous to JPA 2.1 there was no standard way to convert between a data-type and an object-type. One way to accomplish this was to translate the data through property get/set methods.

Also for translating date/times see, Temporals.

As well some JPA providers have special conversion support.

 * TopLink, EclipseLink : Support translation using the,  ,   and   annotations and XML.

Custom Types
JPA defines support for most common database types, however some databases and JDBC driver have additional types that may require additional support.

Some custom database types include:
 * TIMESTAMPTZ, TIMESTAMPLTZ (Oracle)
 * TIMESTAMP WITH TIMEZONE (Postgres)
 * XMLTYPE (Oracle)
 * XML (DB2)
 * NCHAR, NVARCHAR, NCLOB (Oracle)
 * Struct (STRUCT Oracle)
 * Array (VARRAY Oracle)
 * BINARY_INTEGER, DEC, INT, NATURAL, NATURALN, BOOLEAN (Oracle)
 * POSITIVE, POSITIVEN, SIGNTYPE, PLS_INTEGER (Oracle)
 * RECORD, TABLE (Oracle)
 * SDO_GEOMETRY (Oracle)
 * LOBs (Oracle thin driver)

To handle persistence to custom database types you may be able to use a  or special feature of your JPA provider. Otherwise you may need to mix raw JDBC code with your JPA objects. Some JPA providers provide custom support for many custom database types, some also provide custom hooks for adding your own JDBC code to support a custom database type.

 * TopLink, EclipseLink : Support several custom database types including, TIMESTAMPTZ, TIMESTAMPLTZ, XMLTYPE, NCHAR, NVARCHAR, NCLOB, object-relational Struct and Array types, PLSQL types, SDO_GEOMETRY and LOBs.

Basic Attributes

title: Java Persistence/Basic Attributes


text:
User:Cisum.ili.dilm

John Higson of Santa Fe, New Mexico

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

title: User:Cisum.ili.dilm


text:
User talk:Div0ckrehnee

Come introduce yourself at the new users page. If you have any questions, you can ask there or contact me personally. – Mike.lifeguard  | talk 15:52, 12 September 2007 (UTC)

I'm impressed with Connect four!
If you could just get a few more pictures on the book, I would probably nominate it for a featured book. Nice work! Hoogli (talk) 18:58, 13 January 2008 (UTC)

Connect four solved for 8x8 boards?
I would like to learn more about this. When and where was this solved? And was it solved strongly or weakly? I would apreciate it if you could provide me with some information on this! Onots (talk) 14:21, 24 September 2008 (UTC)

I return to finish the page.
Hi. I am pleased to see that there is some interest in the connect four page. I am returning to this page after a long period of distractions. Please forgive all the mentionings of sections that would be done in "two weeks" lol. Onots, it's good that you brought that up, I should be more specific in the page when making a claim like that. And Hoogli, thanks for the compliment, I'll try to finally finish what I started. The Tactics section will have quite a few pictures and will cover more tactics. The variant sections are probably confusing, but once I add pictures to them they should make a lot more sense. And some day I might add some tactics for a few of the variants, possibly with help from some people with experience in them. I can be reached at c4filosofer@gmail.comDiv0ckrehnee (talk) 22:14, 2 November 2008 (UTC)

title: User talk:Div0ckrehnee


text:
User talk:Udaynath

Thanks for experimenting with Wikibooks. Your test worked, and has now been removed. Please use Sandbox for any other tests you want to do, since testing material in modules will normally be removed quickly. Please see the welcome page if you would like to learn more about contributing to our project. Thanks. – Mike.lifeguard  | talk 16:05, 12 September 2007 (UTC)

title: User talk:Udaynath


text:
User talk:170.185.167.19

Welcome to Wikibooks. We invite everyone to contribute constructively to our collection. Take a look at the welcome page if you would like to learn more about contributing. However, unconstructive edits, such as those you made to Wikijunior:The Elements/Zinc, are considered vandalism. If you continue in this manner you may be blocked from editing without further warning. Please stop, and consider improving rather than damaging the hard work of others. Thanks.  – Mike.lifeguard  | talk 16:17, 12 September 2007 (UTC)

title: User talk:170.185.167.19


text:
User talk:12.205.243.223

 – Mike.lifeguard  | talk 16:18, 12 September 2007 (UTC)

title: User talk:12.205.243.223


text:
User talk:216.47.187.221

Thanks for experimenting with Wikibooks. Your test worked, and has now been removed. Please use Sandbox for any other tests you want to do, since testing material in modules will normally be removed quickly. Please see the welcome page if you would like to learn more about contributing to our project. Thanks. – Mike.lifeguard  | talk 16:19, 12 September 2007 (UTC)

title: User talk:216.47.187.221


text:
User talk:131.156.23.24

Thanks for reverting vandalism!

 – Mike.lifeguard  | talk 16:20, 12 September 2007 (UTC)

title: User talk:131.156.23.24


text:
User talk:209.158.162.164

Thanks for experimenting with Wikibooks. Your test worked, and has now been removed. Please use Sandbox for any other tests you want to do, since testing material in modules will normally be removed quickly. Please see the welcome page if you would like to learn more about contributing to our project. Thanks. – Mike.lifeguard  | talk 16:21, 12 September 2007 (UTC)

title: User talk:209.158.162.164


text:
User talk:58.178.70.161

Thanks for experimenting with Wikibooks. Your test worked, and has now been removed. Please use Sandbox for any other tests you want to do, since testing material in modules will normally be removed quickly. Please see the welcome page if you would like to learn more about contributing to our project. Thanks. – Mike.lifeguard  | talk 16:24, 12 September 2007 (UTC)

title: User talk:58.178.70.161


text:
User talk:205.215.88.69

Welcome to Wikibooks. We invite everyone to contribute constructively to our collection. Take a look at the welcome page if you would like to learn more about contributing. However, unconstructive edits are considered vandalism, and if you continue in this manner you may be blocked from editing without further warning. Please stop, and consider improving rather than damaging the hard work of others. Thanks. – Mike.lifeguard  | talk 16:25, 12 September 2007 (UTC)

title: User talk:205.215.88.69


text:
User talk:210.246.32.239

Welcome to Wikibooks. We invite everyone to contribute constructively to our collection. Take a look at the welcome page if you would like to learn more about contributing. However, unconstructive edits are considered vandalism, and if you continue in this manner you may be blocked from editing without further warning. Please stop, and consider improving rather than damaging the hard work of others. Thanks. – Mike.lifeguard  | talk 16:27, 12 September 2007 (UTC)

title: User talk:210.246.32.239


text:
Signal Processing/Lattice Predictors

Levinson-Durbin Algorithm
The Levinson-Durbin Algorithm is a direct method to solve the augmented Wiener-Hopf equations for the lattice predictor-error coefficients and the predictor-error power. The Levinson-Durbin algorithm uses the filter coefficients of an order m filter to compute the coefficients of an order m + 1 order filter.

There are two parts to the Levinson-Durbin Algorithm. The first part is a method to compute the tap-weight vector am using the tap-weight vector of a lower-order filter, am-1:

 * $$\mathbf{a}_m = \begin{bmatrix}\mathbf{a}_{m-1} \\ 0 \end{bmatrix} + \kappa_m \begin{bmatrix}0 \\ \mathbf{a}^{B*}_{m-1}\end{bmatrix}$$

In scalar form, this equation becomes:

 * $$a_{m,k} = a_{m-1,k-1} + \kappa_m a_{m-1,m-k}$$

title: Signal Processing/Lattice Predictors


text:
User talk:Gravisan

Welcome message
Hello, and welcome to Wikibooks!

Here are some tips to help you get started:
 * To learn the wiki-markup-language syntax, see Help:Editing.
 * You should sign your name on Talk and vote pages using four tildes, like this: ~~~~
 * There is a box at the top of the edit window that will insert this, too; it looks like part of a signature.
 * Remember to conduct any editing experiments in the sandbox.
 * You can tell the community something about yourself in your userpage.
 * You can get to this page by clicking the tab at the top of the page labeled with your registered username.
 * If you are a Wikipedian, see Wikibooks for Wikipedians for a primer on how things work here (it's a little different).
 * If you want to base your work here on materials from Wikipedia, please use WB:RFI (requests for importation) to bring the material over in compliance with the GFDL.
 * If you're an instructor and plan on using Wikibooks for a class project, see Guidelines for class projects
 * Please say hello at the Staff Lounge with any questions or ideas.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Please take a look at Naming policy before starting a new book.
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page. For site news, see the Bulletin board. It might be a good idea to add this page to your "watchlist" so that you can see when any new information is posted there. You can do that by clicking the tab labeled "watch" at the top of the page.

Good luck! --Panic 16:39, 12 September 2007 (UTC)

About C++ and RTTI
I have moved the post to Talk:C++ Programming/Content (corrected some spelling and signed it for you). I also have quickly replied to your post (will conclude it better as soon as I can). Feel free to add any more information or even edit the content yourself. --Panic 16:44, 12 September 2007 (UTC)

title: User talk:Gravisan


text:
User talk:Mike.lifeguard/Archive 3

Copyright held by Kelvin Seifert
Is that why the page suddenly disappeared on me, or did I just push the wrong button?

Let me think about this. When I went through getting a release of the rights in 2003 when the book went out of print, the publisher provided me with a signed contract releasing the rights to me, so that I could do what I'm doing now. I now have that contract in my file. Using the boilerplate will mean going back to them a second time, which is both a pain and annoying to them. It may be easier simply to delete this chapter--though it will reduce the value of the book to others if this happens.

KelvinLeeSeifert 21:16, 5 September 2007 (UTC)

 * If this person owns the copyrights and chooses to upload content to wikibooks, we shouldnt make them jump through any hoops. The only time we need to worry about permissions really is when a complaint is raised. If User:klseifert has the signed contract that he claims to have, dealing with issues of copyright later will be a cinch. Maybe an uploaded scanned copy of the contract here will be an extra layer of protection? --Whiteknight (Page) (Talk) 21:24, 5 September 2007 (UTC)

On Further Thought...
On further thought, let's delete all of Chapter 13 (though I realize the history will stay). I do not like the large "copyright violation" notice that has been posted at the head of Chapter 13--it creates a negative impression of the entire book.

For now, ASAP, I will try to make the editing changes needed earlier in the book. I'll think about whether to write the Houghton Mifflin editors again.

As you might imagine, I am annoyed now myself. Maybe I will change my mind later after I think about it more, but for now, my feeling about Chapter 13 is "forget it."

KelvinLeeSeifert 21:28, 5 September 2007 (UTC)

 * @WK: My concern was that he's not the original holder - the publishing company is. So we're taking his word that they transferred the copyrights to him in some year "around 2003." If that's satisfactory for you, then it is for me too.  – Mike.lifeguard  | talk 21:34, 5 September 2007 (UTC)
 * @KLS: I wasn't aware you already had some sort of release. That should be fine. I don't think tagging the page would make it disappear though - you must have pressed the wrong button ;) I'll make sure it's still there and remove the tag.  – Mike.lifeguard  | talk 21:34, 5 September 2007 (UTC)

 * Copyright issues can be tricky, and sometimes just trying to do a good thing (donating content to a non-profit) means jumping through hoops. He may not be the original holder, but if he is the current holder that's good enough. For safety, he could probably upload a scanned copy of the document that says he's the copyright holder, but then again there would be the problem of verifiying that the letter is genuine and that this is the person he claims to be. The problems can continue ad infinitem, especially if we dont trust somebody eventually. If a copyright problem arises in the future, we can worry about things then. --Whiteknight (Page) (Talk) 23:35, 5 September 2007 (UTC)

 * Thanks (to both of you). For more information about me, you can check my (rather simple) home page at , which has my complete C.V. Or check the brief, but official university biography at . —Preceding unsigned comment added by Klseifert (discuss • contribs)

A Researcher's Guide to Local History Terminology
Thanks for the encouragement. I will contact you if I need further assistance.Rosser1954 13:44, 6 September 2007 (UTC)

A Researcher's Guide to Local History Terminology
Hello. I am puzzled as to what has happend to this article. I was literaly in the middle of modifying it and Darklama made changes which have left me very confused as to what is going on. Can you help - revert it or whatever? Rosser1954 11:22, 7 September 2007 (UTC)
 * Actually what DL did was a good idea. He moved content from the page A Researcher's Guide to Local History Terminology onto subpages, then transcluded them. If you look in the wikicode for the page, you'll notice for instance. That takes the page A Researcher's Guide to Local History Terminology/Further reading and transcludes it onto the page. Transclusion means that where the  is, the wiki software will substitute in the content of the page A Researcher's Guide to Local History Terminology/Further reading. When pages are very long, it gets difficult to edit easily, and some browsers can't even handle loading them. By moving some of the content to subpages and then transcluding them, no content moves (or at least it seems that way) and the wikicode gets broken into smaller chunks. You should be able to edit the page as normal. If you edit a section being transcluded, you'll be taken to the edit page for that subpage instead, where you can edit as normal. When you save, you'll be looking at the subpage; you'll have to return to the main page to see how it fits in with the rest of the content there. I'd suggest continuing that process to further decrease the size of each page. IMHO, an even better idea would be to break that page into subpages and link to them instead simply because the size of that main page is so big. As well, since your dictionary is secondary and auxiliary to the rest of the textbook, it shouldn't be the first thing you see - it should probably be linked to as a subpage. If you need anything else, feel free to ask. I'll probably be around for most of the day (except about 2 hours starting now.)  – Mike.lifeguard  | talk 12:19, 7 September 2007 (UTC)

 * I guess it can be a bit puzzling or confusing at first. Books unlike articles on Wikipedia do not consist of single pages, except maybe early in there creation process. Wikibooks makes extensive use of subpages for dividing a single book up into multiple pages, while remaining part of the same book. Try reading the naming policy to get an idea of how its done and you'll see I was following conventions used here. I transcluded to minimize any effects of the change for now. Mike is right that it would be better to link to each subpage instead. What this means really is that the first page of the book becomes the table of contents. --dark lama  14:44, 7 September 2007 (UTC)

Thanks for that. I will read it several times :-) Mike - you are now on my watch page. Rosser1954 19:59, 7 September 2007 (UTC)

Civ:Alpha Centauri
Hey, please notice my edits on Civ:Alpha Centauri. The standard procedure (which isn't 100% across all external links here) is to use the template and protect the page from editing by only allowing sysops to move or edit the page. If you've got a question about this, please reply on my talk page. Thanks. -within focus 12:50, 7 September 2007 (UTC)
 * Thanks for the notice. I actually used Special:Prefixindex/Civ: to make sure I got all the necessary pages, so I think I got everything needed (also followed every link in the ToC's).  -- Prod-You 19:35, 8 September 2007 (UTC)

Greetings
Hi Mike! Thank you for the hearty welcome you have given me. I have some questions... At Talk:Latin I asked where I could put some certain pages. I'm guessing you don't do much latin, but it's just the fact that I don't really know my way around yet and the pages seem ordered in a way that a prefix and suffix chapter would look out of place. Is is acceptable to put lists (like at Here in WikiBooks? --Harris Morgan 19:05, 7 September 2007 (UTC)

 * What you're proposing would be acceptable as an appendix; it must be secondary and auxiliary to the textbook. Since Latin is already a featured text, adding another appendix will be fine. There is an entire section devoted to appendices to the textbook here; I've created an appendix for your prefixes and suffixes called Latin/Prefixes and Suffixes. It is a redlink for now; when you click on the link you'll be taken to the edit window so you can start adding content. Sounds like it'll be a useful appendix to the text. If you need help with wiki markup, layout, or anything else, come back and ask here, or at the staff lounge.  – Mike.lifeguard  | talk 20:20, 7 September 2007 (UTC)

Re:Cool award
And I don't have anything to give in return! I've been watching your contributions, you certainly deserve an award yourself for all the hours and work you've been putting in! Thanks. --Whiteknight (Page) (Talk) 13:26, 10 September 2007 (UTC)

 * On another note, maybe making a few additional "awards" like that would be a nice thing? We dont really have barnstars like wikipedia does, but that doesnt mean we can't reward people who do good things around here! Are there any other "award" templates out there that we can salvage, or do we need to create a set from scratch? --Whiteknight (Page) (Talk) 18:30, 10 September 2007 (UTC)

 * WP definitely has some. I'm going to periodically import one and give it to someone. If you want, I could do a whole bunch at once, but I thought they'd be nice little surprises this way.  – Mike.lifeguard  | talk 00:24, 11 September 2007 (UTC)

 * Well, don't let me rain on your parade. A gift is always sweeter if it's unexpected. I may do the same thing from time to time, sorry if i'm playing the copycat! --Whiteknight (Page) (Talk) 00:36, 11 September 2007 (UTC)

sorry
didn't know it was inappropriate —Preceding unsigned comment added by 87.226.65.163 (discuss • contribs)

Question about a deleted Lucid Dreaming page...
I'm the user who flagged the duplicate articles for deletion, but I see that you merged the edit histories. I'm a little confised as to if this modified the current article, as I and other users already moved any important changes from the old page to the new one. When you merged the pages, what happened to the differences between the pages? Later I see a (restored current version) Does this mean that the merged changes were removed?

Basically, I already put everything important from the old article into the new one, so there was no need for a merge, just a deletion. This also goes for the other 5-6 pages that were flagged for deletion by me per request of the author. User:Erik212 03:01, 12 September 2007 (UTC)

 * I deleted the tagged pages in Lucid Dreaming, then re-created them as redirects to the real pages in the book. For some pages, edit history merges were needed (since you manually copied and pasted content, which doesn't give proper attribution to the author of that content, which is required by the GNU Free Documentation License), which I did. Some pages didn't require history merges, so I didn't bother doing it for them.
 * If you see an edit summary "restoring current version" then that means that the version you see was whatever was there before I began the process. If more edit history merges are required, or if you have further questions about what I did, please let me know.  – Mike.lifeguard  | talk 03:58, 12 September 2007 (UTC)

 * The discussion page for Lucid Dreaming explains what the author (r3m0t) wanted done, just to clarify why I made the change. It was not me that copied and pasted, but I understand. Thanks! User:Erik212 04:05, 12 September 2007 (UTC)

 * Sorry, I assumed you had done the copy-paste moves. The history merges fixed the licensing issue, so it's really a matter of "Do you see the right content on the page?" I'm fairly certain the history merges were successful; if you think they weren't, we'll have to sort it out.  – Mike.lifeguard  | talk 04:08, 12 September 2007 (UTC)

 * PS: Your signature doesn't seem to include a link to your userpage or talk page; it's considered good form to include links to those pages. When you sign with four tildes ~ the software automatically substitutes your signature and a timestamp. The signature can be edited in your preferences.  – Mike.lifeguard  | talk 04:10, 12 September 2007 (UTC)

 * No problem, the only edits between the pages were mostly grammatical corrections to the official page(did those stay?), but one or two had some new content. I'll go look and see what the status of that is. As for my sig, it was set to raw for some reason...should be fine now. Erik212 04:16, 12 September 2007 (UTC)

 * Yes, any changes you made should still be there. The only thing that I changed was that the edit history from the "old version" is now included with the edit history for the "new version" - again, this is to satisfy licensing requirements. Good work on the sig ;)  – Mike.lifeguard  | talk 04:19, 12 September 2007 (UTC)

 * OK, (this is like an instant messaging) the changes I made (E.G. adding a new induction method) are just fine. Everything seems to be in order! Sorry about this whole discussion, I just didn't know how much the "merging" affected the pages. Thanks for the help! Erik212 04:23, 12 September 2007 (UTC)

TeX
When your moving the pages from "Programming:TeX ", don't forget to add a / in there as well so that its "TeX/ " rather then "TeX ". I fixed 3 pages you moved, fixed the double redirects and deleted the ones created by you that I saw. --dark lama  16:32, 12 September 2007 (UTC)

 * Sorry. Got confused by the backslash - those are part of the command name I guess. I left a note on the author's page to have a look through the pages they created; hopefully they'll follow up. Thanks for cleaning up after me.  – Mike.lifeguard  | talk 16:34, 12 September 2007 (UTC)

thanks
...for the welcome, Mike. Joe Byrne 17:29, 12 September 2007 (UTC)

VfD closer
I noticed your closing of Image:Wikibooks German-English Film Glossary.pdf with the reason being "as a glossary out of project scope" with a link to WB:WIW. I'm wondering if you read the exception bit about glossaries. Also as a general rule, you shouldn't close a vfd that you started as WB:DP states and there doesn't seem to be enough consensus on what should happen, one person is in favor of keeping, one is in favor of deleting, and one is in favor of transwiki besides your own.

I'm just wondering what your thoughts were when you closed it. I also don't think enough time had passed between my comment on the 9th and your closing it on the 12th for anyone to comment on it. --dark lama  18:20, 12 September 2007 (UTC)

 * Sorry. Re-open it if you like. I was trying to be careful not to close anything I had opened - my mistake. Nevertheless, here's my thinking, which seems to me to be in line with the comments made:
 * The exception is for glossaries that are secondary and auxiliary to a text. I can't find any text that could use this as a glossary. Delete and keep cancel; transwiki is the favoured alternative. Indeed, I (I can't speak for whoever else wanted to transwiki) specifically chose transwiki so the content wouldn't be lost; if we need it back we can have it back.
 * The file is here.  – Mike.lifeguard  | talk 19:24, 12 September 2007 (UTC)
 * Seems to be pointless now to reopen it, since the pdf file was uploaded to commons, its now available to any project. I had offered the German book as a possible place where the text could be used as a glossary, since its a german glossary. However I was perfectly fine with it being transwikied if nobody working on that book wanted it. Which is why I just commented on it rather then picking keep or transwiki. --dark lama  19:50, 12 September 2007 (UTC)

 * I don't mean to belittle the idea of having a glossary as an appendix to a book, but it should match the scope of the book. Unless German is really German film or Filmstudien auf Deutsch it's probably not a good idea. There's no reason to have a specialized translation dictionary as part of a language learning textbook. I don't know how it got uploaded to Commons, though... *is confused*  – Mike.lifeguard  | talk 20:07, 12 September 2007 (UTC)

 * If you don't have an account on Wikimedia Commons then someone there is impersonating you, because it says it was uploaded there by you. --dark lama  20:57, 12 September 2007 (UTC)

 * No, that's me. But the "Upload file" link I clicked was from en.wt... not on commons. That's what confused me. If you look at Commons, you'll see the file, but no edit history on the talk page. If you look at the talk page on en.wt, you'll see the edit history, but the file tab is a redlink. *is horribly confused* I'll just add the history to the Commons talk page and then ignore the issue, hoping it goes away.  – Mike.lifeguard  | talk 23:31, 12 September 2007 (UTC)

Connell66
Indef blocked him per the long term wp history. No need to keep users like that around ;) --Az1568(Talk) 00:36, 13 September 2007 (UTC)
 * For info this was a cross wiki account doing the same elsewhere! -- Herby talk thyme 15:56, 14 September 2007 (UTC)

Cat watch!
Hi Mike - try watchlisting this for a bit - if it doesn't work I'll pester Bryan. If it does I'll make it an admin watch page like the discussion index one (it really is easier to catch up via that than work through each page trying to find the headings). Cheers -- Herby talk thyme 13:30, 14 September 2007 (UTC)

 * Beautiful! Seems to be working just fine. Thanks a bunch, eh?  – Mike.lifeguard  | talk 15:46, 14 September 2007 (UTC)

 * Give Bryan the thanks really! Neat tho - anything else you think should be on it? (Works nicely on Commons if there are categories that interest you there) cheers -- Herby  talk thyme 15:53, 14 September 2007 (UTC)
 * Btw - only "stays" there about 24 hours iirc -- Herby talk thyme 15:55, 14 September 2007 (UTC)

Re:Subject: Templates
Whenever I make templates like that, I usually include a little message telling where it came from, in case there is an error or somebody has a question. That template is located at User:Whiteknight/Simple Subject. The documentation for using it is on that page as well. All the templates for various purposes that i've created can be found HERE. You are more then welcome to use any of them. If you see something that needs to be changed, let me know, and I can fix it (or, i suppose, you are welcome to do it yourself). --Whiteknight (Page) (Talk) 17:09, 14 September 2007 (UTC)

 * Great; thanks! So I've created Subject:First Aid - but every page in the book shows up. Is the solution to use on First Aid, and use regular categories on the rest of the pages to keep track of them?
 * Totally unrelated: Do you know how to set the font that stuff shows up in? I imagine it has something to do with monobook.js??  – Mike.lifeguard  | talk 17:18, 14 September 2007 (UTC)

 * The subject template uses DPL to include all the pages from a particular category. In the First Aid book, all the pages are in Category:First Aid, so all the pages show up. A solution would be to make a new category for all books on that topic, such as Category:Emergency Medicine, or something similar. Put the title pages of all books that relate into that category. A lot of what I have been doing with my bot recently has been removing book pages from subject categories, so that the list only shows book titles and not subpages. It's tedious, to say the least.
 * As to the font, I don't think there is an explicit way to do it. I can try to add some style information to my template, and see if that works for you. --Whiteknight (Page) (Talk) 17:23, 14 September 2007 (UTC)

 * Okay, I set it up so you can optionally specify a style for the page lists, such as the font. The updated documentation is at User:Whiteknight/Sibling Subject. --Whiteknight (Page) (Talk) 17:33, 14 September 2007 (UTC)

 * Oh - I meant just the font that I see on my screen. I could change it in my browser preferences, but I want it to apply just to en.wb... Actually to all wikis, but same difference.  – Mike.lifeguard  | talk 17:35, 14 September 2007 (UTC)

 * And if I want to show parts of books on this subject: page, should I tag the main page for the book, or just the appropriate pages/chapters/whatever?  – Mike.lifeguard  | talk 17:36, 14 September 2007 (UTC)

 * If you want to change the font that you see, you could change it in your monobook.css page. You can make many changes with your skin, you should see how complicated mine is!
 * The DPL is going to show all pages that are in a particular category. If you want certain pages to be in that category, you need to tag those pages. One thing that you could do is tag the main page with Category:First Aid, and tag all the sub pages with Category:First Aid (Book). An easy way to tag all subpages is by putting the category tag inside the book's templates. That way you dont need to tag and retag every single page individually, you only tag the templates. --Whiteknight (Page) (Talk) 17:42, 14 September 2007 (UTC)

Some additional info: is just a quick way to add up to 10 categories to a page in the proper sort order, while being smart about it. Its "smart" in that it automatically adds the book category to the page for you and doesn't add any of the other categories if its a subpage for the book. I'm assuming you removed them from all the pages because of what Whiteknight said. All the pages need to be in the book category, you just need a separate category for maintaining a list of all books on a subject. Such as Category:First aid, notice the case difference. --dark lama  17:46, 14 September 2007 (UTC)

 * Smart cookie, you are... So I do then First Aid would get added to them all, but subpages would only be added to the first (which doesn't match the Subject: page?  – Mike.lifeguard  | talk 17:49, 14 September 2007 (UTC)

 * Just use, Category:First Aid will get added to every page in the book you use it on, the other categories will be ignored except for the main page. Its just as if you added Category:First Aid by hand to every page you add the subject template to and only included Category:First aid and Category:Medicine to the main page of the book. It doesn't check the subject namespace at all. This is separate from working with the subject namespace. It just makes sure subpages aren't added to anything but the book category, so that subject categories aren't full of subpages. --dark lama  18:07, 14 September 2007 (UTC)

 * K, I think I've got it. The only thing left is to add more books to Subject:First Aid - it's looking sparse :P To add the first aid sections of Adventist Youth Honors Answer Book (for example), should I tag that page, or only the relevant subpages? Also, if I want Emergency Medicine to show up in the "First Aid and Medicine Books" section, it'd have to be in both categories?  – Mike.lifeguard  | talk 18:12, 14 September 2007 (UTC)

 * I think you got it backwards. "First Aid" is the name of your book, so that should be the category all the pages in the book should be in while "First aid" is the category to put the main page of any books on first aid in, including the First Aid book. I think you had it right the first time. Oh well I guess it doesn't really matter which way you do it, since Categories is only a proposal. --dark lama  18:18, 14 September 2007 (UTC)

 * Thanks for the help w/ CSS. That was a welcome surprise. Is there any way to keep the edit box text as whatever the standard non-proportional font ("Courier new" or something)?
 * Categories will be changed in a few.  – Mike.lifeguard  | talk 18:25, 14 September 2007 (UTC)

 * ✅ I suggest reading CSS to learn more. --dark lama  18:41, 14 September 2007 (UTC)

Thanks. I'll take a look.  – Mike.lifeguard  | talk 18:43, 14 September 2007 (UTC)

AWB
Hi Mike - the spelling page will be well out of date I think - I used to copy over the en wp latest one whenever I ran the bot - cheers -- Herby talk thyme 17:16, 14 September 2007 (UTC)

 * It updates every time, actually. There's no typo list associated with en.wb, so it asks if you want to use the up-to-date default for en.wp, which I did. Thanks tho!  – Mike.lifeguard  | talk 17:18, 14 September 2007 (UTC)

A Researcher's Guide to Local History Terminology
response at User talk:Jeepday

hey, ermmm about the edit, we have a shared IP, and this is a college. Its mostly the freshmen that make edits like that and there is no way to prevent them from doing this. I am wondering if it is possible to prevent them from access or somthing ?

any possible information would be helpful thanks again, and sorry for the bother. -- Jeepday 07:01, 15 September 2007 (UTC)

 * You should consider having students register their own accounts. Your account should be for your use only; sign out when you're done. This way there will be no confusion as to who is making what edits. We tend to assume that a single username is a single person. That should certainly be the case when someone with access to the account makes questionable edits.  – Mike.lifeguard  | talk 00:06, 18 September 2007 (UTC)

title: User talk:Mike.lifeguard/Archive 3


text: Wikibooks:Requests for deletion/European Computer Science Dictionary


text: Wikibooks:Requests for deletion/Language Representation Design


text: Wikibooks:Requests for deletion/Abstract Coding Theory in Color, Light, and Sound


text: Wikibooks:Requests for deletion/The Empire


text:
User:Jayaram Ganapathy

Welcome message
Hello, and welcome to Wikibooks!

Here are some tips to help you get started:
 * To learn the wiki-markup-language syntax, see Help:Editing.
 * You should sign your name on Talk and vote pages using four tildes, like this: ~~~~
 * There is a box at the top of the edit window that will insert this, too; it looks like part of a signature.
 * Remember to conduct any editing experiments in the sandbox.
 * You can tell the community something about yourself in your userpage.
 * You can get to this page by clicking the tab at the top of the page labeled with your registered username.
 * If you are a Wikipedian, see Wikibooks for Wikipedians for a primer on how things work here (it's a little different).
 * If you want to base your work here on materials from Wikipedia, please use WB:RFI (requests for importation) to bring the material over in compliance with the GFDL.
 * If you're an instructor and plan on using Wikibooks for a class project, see Guidelines for class projects
 * Please say hello at the Staff Lounge with any questions or ideas.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Please take a look at Naming policy before starting a new book.
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page. For site news, see the Bulletin board. It might be a good idea to add this page to your "watchlist" so that you can see when any new information is posted there. You can do that by clicking the tab labeled "watch" at the top of the page.

Good luck! --Panic 17:13, 12 September 2007 (UTC)

title: User:Jayaram Ganapathy


text:
Algorithm Implementation/Sorting/Comb sort

C
Comb Sort 11

Comb Sort 9


text:
User:Joe Byrne

Welcome--Fáilte--Bienvenue--Recepción--Benvenuto--Wilkommen--Salve--добро пожаловать--Croeso
I am Joe Byrne. I hail from Ireland and have wideranging interests and dabble in many languages. I love knowledge. I contribute ove a number of Wiki Projects.
 * English Wikipedia Userpage
 * Mo leathanach úsáideora as Ghaeilge - Irish Wikipedia
 * Wikimedia Commons
 * Page utilisateur au français - French Wikipedia

title: User:Joe Byrne


text:
Cookbook:Tofu and Couscous

Ingredients

 * ½ cup fresh red bell peppers, diced
 * ½ cup raisins
 * 1½ cups cubed tofu
 * 2 cups water
 * 2 cups instant couscous
 * 1 tsp olive oil

Procedure

 * 1) Sauté tofu, red peppers, and raisins together until soft.
 * 2) Bring the water to a boil, stir in the couscous, cover, remove from the heat, and let rest for 5 minutes until the water is absorbed. Fluff the couscous with a fork.
 * 3) Combine the tofu mixture with couscous and olive oil. Flavor to taste with curry or other mixed spices.

title: Cookbook:Tofu and Couscous


text:
User talk:Joe Byrne

Come introduce yourself at the new users page. If you have any questions, you can ask there or contact me personally. – Mike.lifeguard  | talk 17:27, 12 September 2007 (UTC)

title: User talk:Joe Byrne


text:
User talk:Kronski

Image copyright problem with Image:Kronski.jpg
Thanks for uploading Image:Kronski.jpg. The Wikimedia Foundation is very careful about the images included in Wikibooks because of copyright law, and requires that we maintain a strict copyright policy. The image that may soon be deleted unless we can determine the copyright holder and status.

The copyright holder is usually the creator, the creator's employer, or the last person who was transferred ownership rights. Copyright information on images is signified using copyright templates. The three basic license types on Wikibooks are open content, public domain, and fair use. Find the appropriate template in Image copyright tags and place it on the image page like this:.

Please signify the copyright information on any other images you have uploaded or will upload. Remember that images without this important information or giving false information can be deleted by an administrator. If you have any questions, feel free to contact me, or ask another Wikibookian at the help desk. Thank you.  – Mike.lifeguard  | talk 17:29, 12 September 2007 (UTC)

title: User talk:Kronski


text:
User:CK85/navigation

CK85 | projects

Wikisource | de.Wikisource | Wikipedia | | de.Wikipedia | de.Wikibooks | Wiktionary | de.Wiktionary | Wikiquote | de.Wikiquote | Wikiversaty | de.Wikiversaty

Commons | Wikispecies

title: User:CK85/navigation


text:
User:CK85

= About Me =

I am a 22 year old male who studies applied computer science at the Universaty of Chemnitz, Germany.

title: User:CK85


text:
User:CK85/projects

recent
---

to do
---

done
---

on my watchlist
---

title: User:CK85/projects


text:
User talk:Kitsune07

Image copyright problem with Image:Blender 3D Noob to Pro - Beginner Tutorials.pdf
Thanks for uploading Image:Blender 3D Noob to Pro - Beginner Tutorials.pdf. The Wikimedia Foundation is very careful about the images included in Wikibooks because of copyright law, and requires that we maintain a strict copyright policy. The image that may soon be deleted unless we can determine the copyright holder and status.

The copyright holder is usually the creator, the creator's employer, or the last person who was transferred ownership rights. Copyright information on images is signified using copyright templates. The three basic license types on Wikibooks are open content, public domain, and fair use. Find the appropriate template in Image copyright tags and place it on the image page like this:.

Please signify the copyright information on any other images you have uploaded or will upload. Remember that images without this important information or giving false information can be deleted by an administrator. If you have any questions, feel free to contact me, or ask another Wikibookian at the help desk. Thank you.  – Mike.lifeguard  | talk 17:49, 12 September 2007 (UTC)

title: User talk:Kitsune07


text:
User talk:Tinisha

Image copyright problem with Image:How to program your first C++ Program.pdf
Thanks for uploading Image:How to program your first C++ Program.pdf. The Wikimedia Foundation is very careful about the images included in Wikibooks because of copyright law, and requires that we maintain a strict copyright policy. The image that may soon be deleted unless we can determine the copyright holder and status.

The copyright holder is usually the creator, the creator's employer, or the last person who was transferred ownership rights. Copyright information on images is signified using copyright templates. The three basic license types on Wikibooks are open content, public domain, and fair use. Find the appropriate template in Image copyright tags and place it on the image page like this:.

Please signify the copyright information on any other images you have uploaded or will upload. Remember that images without this important information or giving false information can be deleted by an administrator. If you have any questions, feel free to contact me, or ask another Wikibookian at the help desk. Thank you.  – Mike.lifeguard  | talk 17:51, 12 September 2007 (UTC)

title: User talk:Tinisha


text:
User talk:Jeevan v m

Image copyright problem with Image:French2.pdf
Thanks for uploading Image:French2.pdf. The Wikimedia Foundation is very careful about the images included in Wikibooks because of copyright law, and requires that we maintain a strict copyright policy. The image that may soon be deleted unless we can determine the copyright holder and status.

The copyright holder is usually the creator, the creator's employer, or the last person who was transferred ownership rights. Copyright information on images is signified using copyright templates. The three basic license types on Wikibooks are open content, public domain, and fair use. Find the appropriate template in Image copyright tags and place it on the image page like this:.

Please signify the copyright information on any other images you have uploaded or will upload. Remember that images without this important information or giving false information can be deleted by an administrator. If you have any questions, feel free to contact me, or ask another Wikibookian at the help desk. Thank you.  – Mike.lifeguard  | talk 17:52, 12 September 2007 (UTC)

title: User talk:Jeevan v m


text:
User talk:Tahseenkhalid20

Image copyright problem with Image:Inside text.pdf
Thanks for uploading Image:Inside text.pdf. The Wikimedia Foundation is very careful about the images included in Wikibooks because of copyright law, and requires that we maintain a strict copyright policy. The image that may soon be deleted unless we can determine the copyright holder and status.

The copyright holder is usually the creator, the creator's employer, or the last person who was transferred ownership rights. Copyright information on images is signified using copyright templates. The three basic license types on Wikibooks are open content, public domain, and fair use. Find the appropriate template in Image copyright tags and place it on the image page like this:.

Please signify the copyright information on any other images you have uploaded or will upload. Remember that images without this important information or giving false information can be deleted by an administrator. If you have any questions, feel free to contact me, or ask another Wikibookian at the help desk. Thank you.  – Mike.lifeguard  | talk 17:53, 12 September 2007 (UTC)

title: User talk:Tahseenkhalid20


text:
User talk:Coppro~enwikibooks

Welcome message
Hello, and welcome to Wikibooks!

Here are some tips to help you get started:
 * To learn the wiki-markup-language syntax, see Help:Editing.
 * You should sign your name on Talk and vote pages using four tildes, like this: ~~~~
 * There is a box at the top of the edit window that will insert this, too; it looks like part of a signature.
 * Remember to conduct any editing experiments in the sandbox.
 * You can tell the community something about yourself in your userpage.
 * You can get to this page by clicking the tab at the top of the page labeled with your registered username.
 * If you are a Wikipedian, see Wikibooks for Wikipedians for a primer on how things work here (it's a little different).
 * If you want to base your work here on materials from Wikipedia, please use WB:RFI (requests for importation) to bring the material over in compliance with the GFDL.
 * If you're an instructor and plan on using Wikibooks for a class project, see Guidelines for class projects
 * Please say hello at the Staff Lounge with any questions or ideas.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Please take a look at Naming policy before starting a new book.
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page. For site news, see the Bulletin board. It might be a good idea to add this page to your "watchlist" so that you can see when any new information is posted there. You can do that by clicking the tab labeled "watch" at the top of the page.

Good luck! --Panic 18:10, 12 September 2007 (UTC)

Hello again... C++ Programming
About the moving of the pointers and arrays from the operators section... What the logic behind moving them out of the section (since they are operators)?

I think I understand what irked you. Humm probably moving the C++ Programming/Operators/Pointers and C++ Programming/Operators/Arrays to a new location /Code/Types/ in the future...

Introducing Arrays and pointers without explaining operators first can be problematic in helping to understand the overloading of of operators and how to work with those derived types. Check C++ Programming/Code/Variables at the end and at this location in the book it would be better to make a note that those types exist (they are on the table) and point to the section were they are introduced giving freedom to the reader to select skipping or waiting until they are presented.

I also noted that you renamed the references given to the operators. I used the same that were referred on the table (I don't have any particular objection to your rename only about consistency, I will have to take a look on the standard to check how they are referred there, we should fallow as closely to the standard as possible...)

I made minor edits (some corrections were beyond wording), moved the page (and reference section from another page) to keep up with the navigation, corrected the headers levels as it broke the TOC and restored the removed array page.

(full C++ Programming/Chapter Fundamentals or specific section C++ Programming/Operators )

PS: You can reply here... --Panic 05:52, 19 September 2007 (UTC)

Well, what happened was that after I improved the existing section, I realized that it was more of a description of how to use pointers. For instance, why is there a section on NULL pointers in the operators section? I'm not really familiar with the way wikibooks actually works (and the policy documents are horrible to navigate), so I did the best I could. I'm thankful that you came along and fixed it up.

I don't take offense to any corrections you make, as you're much more familiar than I am with this. I think that the best way to do this is to start by moving the pointer and array descriptions into the variables page, and then having the operators cover the actual operations in-depth. The problem I have is with pointers being described in the operators section. In C++, IMHO, they're worthy of their own page. There are pointers to functions and pointers to members, and then the combination of the two. Maybe such an advanced page should follow classes, such that pointers-to-members can properly introduced. I'll continue to write about pointers to functions and member pointers at C++ Programming/Operators/Pointers/to functions and C++ Programming/Operators/Pointers/Member pointers respectively, since I can't do anything wrong there. Coppro 20:38, 20 September 2007 (UTC)

Yup that was what I thought about the move to a specific page... The problem with writing anything about C++ is that at some points dependencies are very difficult to maintain in a logical way as to facilitate the learning of the language, introducing pointers or arrays without the understanding of the operators that serve to declare and access this "derived" types is my believe, cause more confusion. I have attempted to structure the book as a mirror of how I would have liked I had learned the language, breaking the pages in smaller section and on specific points/subject will enable cross link and readers to skip/jump to other section in this I think our efforts coincide the problem is were we think the subject should rest for your edits I think you would like to insert it directly on the variable section. What I prosed above (and with my edits) is mention this specific types and point to the operators section (or even better to a specific pages of each type), for instance how would you propose explaining the operator & without first covering operators in general?

The same concept was what I proposed with C++ Programming/Operators/Pointers/to functions and C++ Programming/Operators/Pointers/Member pointers (names can be tweaked later, to functions and member functions would probably be better) the best place to "put" the text would probably be on the section dedicated to functions and classes, and reference those concepts on the pointers text (and on the functions also) pointing forward into the book. Do you agree or have a better solution that would keep some kind of logical structure to the covered subjects? --Panic 22:30, 20 September 2007 (UTC)

BTW if you can, please take a look into the reply I posted on Talk:C++ Programming/iostream maybe you can extend or correct some of the information I gave to that user... --Panic 22:34, 20 September 2007 (UTC)

I think that the best way to keep the structure would be to write about pointers in three places - 1) The variables page, where they can be introduced in a simple manner. 2) The operators page, where everything can be well-defined and worked on and 3) A new advanced pointers page where we could cover the uses of pointers and how they all interact. Other tidbits on pointers (like using the -> operator) could also be put in the appropriate page (the page on classes for ->, and the page on inheritance for dynamic_cast).

It's also worth noting that member pointers do not have to be member function pointers. The use of member non-function pointers is extremely rare, but imagine if you are writing an RPG, and every monster has 6 stats, and each one can range from 1-99. Now, let's say that these are private. You could have a bunch of functions for each one (e.g. getStr, performStrCheck, increaseStr). Instead, you could have a function returning a const int Monster::* for each stat, and then pass those around. In case it comes back to a function that requires modification (increaseStat, for instance), you can make an asssertion that it is a valid stat (which gets removed during the release build), and then remove the const-ness via a <tt>const_cast</tt> and modify. This shrinks the code, and makes more complex relationships possible between classes.

I unfortunately don't have that same dearth of knowledge as to the iostream answer. My best guess, though, would be that the <tt><<</tt> and <tt>>></tt> operators for primitives are actually performing the extraction or insertion. Most user-defined <tt><<</tt> and <tt>>></tt> operators (particularly <tt><<</tt>) are just transalting the streaming of one class into the streaming of all it's member variables. You can't do the same thing for an integer.

Your account will be renamed
Hello,

The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See the announcement for more information.

Unfortunately, your account clashes with another account also called Coppro. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Coppro~enwikibooks that only you will have. If you like it, you don't have to do anything. If you do not like it, you can pick out a different name.

Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in.

Sorry for the inconvenience.

Yours, Keegan Peterzell Community Liaison, Wikimedia Foundation 23:06, 17 March 2015 (UTC)

Renamed
<div class="plainlinks mw-content-ltr" lang="en" dir="ltr”> This account has been renamed as part of single-user login finalisation. If you own this account you can |log in using your previous username and password for more information. If you do not like this account's new name, you can choose your own using this form after logging in: . -- Keegan (WMF) (talk) 04:49, 19 April 2015 (UTC)

title: User talk:Coppro~enwikibooks


text:
User talk:204.186.151.4

Thanks for experimenting with Wikibooks. Your test worked, and has now been removed. Please use Sandbox for any other tests you want to do, since testing material in modules will normally be removed quickly. Please see the welcome page if you would like to learn more about contributing to our project. Thanks. Urbane  (Talk)   (Contributions)  18:15, 12 September 2007 (UTC)

title: User talk:204.186.151.4


text:
C++ Programming/Operators/Chaining

Chaining
The above line illustrates what is called chaining of insertion operators to print multiple expressions. How this works is as follows:
 * 1) The leftmost insertion operator takes as its operands, std::cout and the string "The sum of ", it prints the latter using the former, and returns a reference to the former.
 * 2) Now std::cout << a is evaluated. This prints the value contained in the location a, i.e. 123 and again returns std::cout.
 * 3) This process continues. Thus, successively the expressions std::cout << " and ", std::cout << b, std::cout << " is ", <tt>std::cout << " sum "</tt>, <tt>std::cout << "\n"</tt> are evaluated and the whole series of chained values is printed.

title: C++ Programming/Operators/Chaining


text:
User talk:216.47.214.181

Thanks for experimenting with Wikibooks. Your test worked, and has now been removed. Please use Sandbox for any other tests you want to do, since testing material in modules will normally be removed quickly. Please see the welcome page if you would like to learn more about contributing to our project. Thanks. Urbane  (Talk)   (Contributions)  18:24, 12 September 2007 (UTC)

title: User talk:216.47.214.181


text:
User talk:65.65.26.144

Thanks for experimenting with Wikibooks. Your test worked, and has now been removed. Please use Sandbox for any other tests you want to do, since testing material in modules will normally be removed quickly. Please see the welcome page if you would like to learn more about contributing to our project. Thanks. Urbane  (Talk)   (Contributions)  19:23, 12 September 2007 (UTC)

title: User talk:65.65.26.144


text:
Physics with Calculus/Electromagnetism/Current and Circuits

Current
Imagine a wire with charge flowing through it. The current is the rate at which charge flows through the wire. Say that there are n movable electrons per unit volume, that the electrons have a charge e, and move at a velocity in the direction of the wire with velocity v. Also assume that the wire has cross-sectional area A.  Then the charge per second passing through the surface is envA. You can easily see this if you imagine a cylinder of the wire of length v dt. It has a volume of Av dt, and by the definition of n, nAv dt electrons, and by definition of e, enAv dt charge. All of that (and only all of that) will go through the wire in the time dt. Therefore, the current, i = envA.

Notice that in our formula, even though electrons have negative charge, we regard the current as positive. This is called conventional current. It is equivalent to an equal and opposite flow of positive charge (mathematically, that means multiplying both sides of i = envA by -1).

Circuits
A circuit component is a device that sets up a relationship between voltage and current. A circuit component may have any number of terminals, and have any relationship. However, in practice, there are only a few basic circuit components. In analyzing circuits, it is highly advantageous to use only circuit components that, given the voltage at a single instant, or infinitesimal neighborhood, you can determine the current, and vice versa. Two very simple circuit elements are voltage sources and current sources. A voltage source keeps the voltage fixed and lets the current be whatever it wants. A current source keeps the current constant and lets the voltage be whatever it wants. A third simple circuit element is the resistor, which keeps the voltage proportional to the current, with the constant of proportionality called the resistance. We can write these relationships as:

V = V_0; I = I_0; V = IR

for a voltage source, current source, and resistor respectively.

A special case of the voltage source is when it keeps the voltage zero; this is called a short circuit or wire. When a current source keeps the current zero, it is called an open circuit. We may regard an open circuit as not being part of the circuit at all, and a short circuit as just combining the two circuit elements it joins.

A circuit or network is a collection of circuit components hooked together. Naturally, there will be loops and nodes, which are when two or more circuit components join together. At every node, we assume that charge does not build up, and that charge is conserved. That is, the current going in is the current going out. In any loop, we assume that an electron going around cannot speed up faster and faster ad infinitum, in other words, the voltage in a closed loop must be zero; that is, energy is conserved. These two rules, along with the voltage-current (v-i) relationships, completely describes a circuit. With these, we can find every voltage and every current.


text:
Physics with Calculus/Modern/The Bohr Model

If we have an electron orbiting the nucleus, the electron is accelerating towards the nucleus. It is well known that an accelerating charge produces radiation, which contains energy. Therefore, as the electron orbits, it loses energy and consequently will eventually fall into the nucleus. The classical model of electrons orbiting a nucleus must therefore be wrong because not only do we not observe the radiation, but the electrons do NOT fall into the nucleus.

Bohr proposed that the angular momentum of the electrons could only take on discrete values, say, $$n \hbar$$. The energy of the electrons is also quantized as a result, so unless an electron gets enough energy to jump energy levels, it cannot emit a photon; that is, it will not radiate.

We will work through a very simple case of the Bohr model.

Assume we have a single electron of mass m orbiting a single proton in a circular orbit, and the angular momentum is $$n \hbar$$ where n is any integer greater than zero. Also assume that the mass of an electron is negligible compared to that of a proton.

$$L = mvr = n \hbar$$

$$F = \frac{ke^2}{r^2} = \frac{mv^2}{r}$$

$$v^2 = \frac{ke^2}{mr}$$

$$v = \frac{ke^2}{mvr} = \frac{ke^2}{n \hbar}$$

$$r = \frac{n \hbar}{mv} = n^2 \frac{\hbar^2}{mke^2}$$

$$E = \frac{1}{2}mv^2 - \frac{ke^2}{r} = -\frac{1}{2} \frac{ke^2}{r} = -\frac{1}{2} \frac{m (ke^2)^2}{n^2 \hbar^2}$$.

The Bohr model, surprisingly, makes very good predictions about the energy of the photons emitted from an electron jumping levels. We could continue our model and calculate such things as the magnetic moment of hydrogen and figure out what we expect the magnetic properties to be.

Flaws of the Bohr Model
Only works for hydrogenic(one-electron) atoms.

The assumption of discrete angular momentum values is unexplained.


text:
Physics with Calculus/Modern/Special Relativity

Special Relativity
One of Einstein's most famous theories was the theory of special relativity. Relativity explains the dynamics of systems in motion relative to one other.

One popular example is that of a person on a train watching a stationary person on the ground. When you view the problem in one light, you may think that the person on the train is moving (this is from the stationary persons vantage point). Now, think of the problem from the viewpoint of the person on the moving train--he thinks that the person on the ground is moving. Ultimately, you may choose to view the problem in either way--there is no right or wrong answer. Everything just depends on your viewpoint. All of special relativity can be derived from two principles : 1) Physics is the same in any inertial reference frame. If you're riding in your car on the highway (with the windows up) and you drop a ball it falls in the same way as if you were stopped at a stop sign and dropped the same ball.  2) Nothing can travel faster than the speed of light (which should really be called the speed of a massless particle). This speed is approximately $$3x10^8 m/s$$

Strictly speaking, information cannot travel faster than the speed of light. It can be shown that if a signal travels faster than light, in some reference frame, the information is received before it is sent, which is nonsense. However, there is no restriction on other things. For example, if I had a projector very far away from a screen, and I wave my hand in front of it very quickly, the shadow will travel faster than light. Also, the phase velocity of light waves in some circumstances will be greater than the speed of light. However, it is impossible to transmit any signal faster than light with these objects.

We could derive all of relativity from the two postulates, but that would not be very enlightening, because it is a rather technical proof. Instead, consider that Alice is in a frame moving at velocity v with respect to Bob. Let's call Alice's frame A', and Bob's frame A. It follows that

$$x' = \frac{x - vt}{\sqrt{1 - v^2/c^2}}$$ $$y' = y$$ $$z' = z$$ $$t' = \frac{t - vx/c^2}{\sqrt{1 - v^2/c^2}}$$.

Compare this to the Galilean transform,

$$x' = x - vt$$ $$y' = y$$ $$z' = z$$ $$t' = t$$.

The startling thing about the first set of equations, called the Lorentz transform, is that if substituted into Maxwell's equations, they leave them unchanged! If you try to substitute the second set of equations in, you get different equations. Anywhere there is electricity and magnetism, the Galilean transform must be wrong.

It is possible to derive all the results in relativity from the Lorentz transforms, much like all of non-relativistic mechanics comes from the Gallilean transform and Newton's laws.

Let's look at some properties of the Lorentz transform. First, the inverse of the transform (solving for the unprimed components in terms of the primed ones) gives exactly the same thing except with v replaced with -v, as we would expect.

If there is a burst of light, defined by $$ x = c t$$ it remains unchanged.

Four Vectors
Note that

$$x' = \frac{x - (v/c) ct}{\sqrt{1 - v^2/c^2}}$$ $$y' = y$$ $$z' = z$$ $$ct' = \frac{ct - (v/c)x}{\sqrt{1 - v^2/c^2}}$$.

With new notation,

$$x' = \gamma (x - \beta ct)$$ $$y' = y$$ $$z' = z$$ $$ct' = \gamma (ct - \beta x)$$.

Define a four-vector to be a 4-tuple with components such that when transformed to a new frame with characteristic $$\beta$$, then the components transform as above. For example, (x,y,z,ct) is a four vector. If $$ x = (a,b,c,d)$$ is a four vector, then when changing frames (when $$\beta$$ is in the x direction), we have $$ x' = ( \gamma (a - \beta d), b, c, \gamma(d - \beta a))$$.


text:
User:Eager Student

I love books!

My favorite is Harry Potter and the Deathly Hallows but I like informational, too. I also like creating books about Kentucky. Go Wildcats!

title: User:Eager Student


text:
User talk:Eager Student

Anybody talking to me?

title: User talk:Eager Student


text:
User talk:Helgihg~enwikibooks

Welcome message
Hello, and welcome to Wikibooks!

Here are some tips to help you get started:
 * To learn the wiki-markup-language syntax, see Help:Editing.
 * You should sign your name on Talk and vote pages using four tildes, like this: ~~~~
 * There is a box at the top of the edit window that will insert this, too; it looks like part of a signature.
 * Remember to conduct any editing experiments in the sandbox.
 * You can tell the community something about yourself in your userpage.
 * You can get to this page by clicking the tab at the top of the page labeled with your registered username.
 * If you are a Wikipedian, see Wikibooks for Wikipedians for a primer on how things work here (it's a little different).
 * If you want to base your work here on materials from Wikipedia, please use WB:RFI (requests for importation) to bring the material over in compliance with the GFDL.
 * If you're an instructor and plan on using Wikibooks for a class project, see Guidelines for class projects
 * Please say hello at the Staff Lounge with any questions or ideas.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Please take a look at Naming policy before starting a new book.
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page. For site news, see the Bulletin board. It might be a good idea to add this page to your "watchlist" so that you can see when any new information is posted there. You can do that by clicking the tab labeled "watch" at the top of the page.

Good luck! --Panic 23:19, 12 September 2007 (UTC)

Your account will be renamed
Hello,

The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See the announcement for more information.

Unfortunately, your account clashes with another account also called Helgihg. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Helgihg~enwikibooks that only you will have. If you like it, you don't have to do anything. If you do not like it, you can pick out a different name.

Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in.

Sorry for the inconvenience.

Yours, Keegan Peterzell Community Liaison, Wikimedia Foundation 23:16, 17 March 2015 (UTC)

Renamed
 This account has been renamed as part of single-user login finalisation. If you own this account you can |log in using your previous username and password for more information. If you do not like this account's new name, you can choose your own using this form after logging in: . -- Keegan (WMF) (talk) 05:02, 19 April 2015 (UTC)

title: User talk:Helgihg~enwikibooks


text:
User:Rwade7

Welcome message
Hello, and welcome to Wikibooks!

Here are some tips to help you get started:
 * To learn the wiki-markup-language syntax, see Help:Editing.
 * You should sign your name on Talk and vote pages using four tildes, like this: ~~~~
 * There is a box at the top of the edit window that will insert this, too; it looks like part of a signature.
 * Remember to conduct any editing experiments in the sandbox.
 * You can tell the community something about yourself in your userpage.
 * You can get to this page by clicking the tab at the top of the page labeled with your registered username.
 * If you are a Wikipedian, see Wikibooks for Wikipedians for a primer on how things work here (it's a little different).
 * If you want to base your work here on materials from Wikipedia, please use WB:RFI (requests for importation) to bring the material over in compliance with the GFDL.
 * If you're an instructor and plan on using Wikibooks for a class project, see Guidelines for class projects
 * Please say hello at the Staff Lounge with any questions or ideas.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Please take a look at Naming policy before starting a new book.
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page. For site news, see the Bulletin board. It might be a good idea to add this page to your "watchlist" so that you can see when any new information is posted there. You can do that by clicking the tab labeled "watch" at the top of the page.

Good luck! --Panic 23:25, 12 September 2007 (UTC)

Regarding Good Teaching
I have seen the new stub for a new book. Try and avoid signing the content you add to a book (the information is kept on the edit history of the page), if you must create an authors page ( see C++ Programming/Authors ) and create also one stating the scope of the book if you like. --Panic 23:25, 12 September 2007 (UTC)

title: User:Rwade7


text:
User talk:Connell66~enwikibooks

You have been blocked from editing Wikibooks  as a result of your .  Please note that page blanking, addition of random text or spam, deliberate misinformation, privacy violations, personal attacks; and repeated, blatant violations of our neutral point of view policy are considered vandalism.  – Mike.lifeguard  | talk 00:17, 13 September 2007 (UTC)

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

I'm glad you've come to wikibooks, and i'm sorry if you feel you need to prepare an unblock template already! Here at wikibooks we tend to be a lot more laid-back and lenient then they are at wikipedia. We have fewer rules and ask only that people work to the best of their ability, to improve the project.

We have lots and lots of things to do. Let me ask you: what do you like to do? what are you good at doing? We need everything: authoring content, copyediting, organizing, general maintenance, answering questions, greeting new users, etc. All the usual tasks. What kinds of subjects are you interested in? We probably have a book or two that you can adopt. --Whiteknight (Page) (Talk) 00:07, 13 September 2007 (UTC)

 * Oh nevermind. I didnt realize that you were actually a vandal. You've already been blocked, probably wont be unblocked either. Sorry. --Whiteknight (Page) (Talk) 00:09, 13 September 2007 (UTC)

Your account will be renamed
Hello,

The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See the announcement for more information.

Unfortunately, your account clashes with another account also called Connell66. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Connell66~enwikibooks that only you will have. If you like it, you don't have to do anything. If you do not like it, you can pick out a different name.

Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in.

Sorry for the inconvenience.

Yours, Keegan Peterzell Community Liaison, Wikimedia Foundation 23:03, 17 March 2015 (UTC)

Renamed
 This account has been renamed as part of single-user login finalisation. If you own this account you can |log in using your previous username and password for more information. If you do not like this account's new name, you can choose your own using this form after logging in: . -- Keegan (WMF) (talk) 04:48, 19 April 2015 (UTC)

title: User talk:Connell66~enwikibooks


text:
User talk:74.167.247.241

Thanks for experimenting with Wikibooks. Your test worked, and has now been removed. Please use Sandbox for any other tests you want to do, since testing material in modules will normally be removed quickly. Please see the welcome page if you would like to learn more about contributing to our project. Thanks. – Mike.lifeguard  | talk 00:08, 13 September 2007 (UTC)

title: User talk:74.167.247.241


text:
User talk:66.167.28.112

Welcome to Wikibooks. We invite everyone to contribute constructively to our collection. Take a look at the welcome page if you would like to learn more about contributing. However, unconstructive edits are considered vandalism, and if you continue in this manner you may be blocked from editing without further warning. Please stop, and consider improving rather than damaging the hard work of others. Thanks. – Mike.lifeguard  | talk 00:09, 13 September 2007 (UTC)

title: User talk:66.167.28.112


text:
User talk:81.216.8.1

Thanks for experimenting with Wikibooks. Your test worked, and has now been removed. Please use Sandbox for any other tests you want to do, since testing material in modules will normally be removed quickly. Please see the welcome page if you would like to learn more about contributing to our project. Thanks. – Mike.lifeguard  | talk 00:10, 13 September 2007 (UTC)

title: User talk:81.216.8.1


text:
User talk:134.29.149.200

Please take care not to replace Wikibooks pages with blank content. Blank pages have a tendency to confuse readers and may be mistaken for vandalism. If it is a duplicate page, please redirect it to an appropriate existing page. If the page has been vandalised, please revert it to the last legitimate version. If you feel that the content of a page is inappropriate, please edit the page and replace it with appropriate content. If you believe there is no hope for the page, please see the deletion policy for how to proceed. If page is no longer useful, insert to its top. Thanks for contributing to Wikibooks! – Mike.lifeguard  | talk 00:11, 13 September 2007 (UTC)

title: User talk:134.29.149.200


text:
User talk:68.60.194.62

Thanks for experimenting with Wikibooks. Your test worked, and has now been removed. Please use Sandbox for any other tests you want to do, since testing material in modules will normally be removed quickly. Please see the welcome page if you would like to learn more about contributing to our project. Thanks. – Mike.lifeguard  | talk 00:46, 13 September 2007 (UTC)

title: User talk:68.60.194.62


text:
Signal Processing/Fourier Analysis

Fourier Analysis
The Fourier Series allows to represent a periodic signal in terms of its frequency components, instead of it's time waveform. The periodic signal can be represented as the sum of sinusoïds of frequencies being all integer multiples of the signal's base frequency, which is the inverse of the signal's period.

The Fourier Transform extends this approach for aperiodic signals. The signal is considered to be the sum of infinitesimal sinusoids. The sinusoïds are no more integer multiples of a base frequency but are found everywhere on the frequency axis.

The Fourier Series and the Fourier Transform both have an inverse transform. The transformation can be carried out from the time domain to the frequency domain as well as from the frequency domain back to the time domain without any loss of information. In other words, the frequency and the temporal representations are equivalent: they are both accurate representations of the signal and convey it's complete information.

Laplace Analysis

Whilst the Fourier Series and the Fourier Transform are well suited for analyzing the frequency content of a signal, the Laplace transform is the tool of choice for analyzing and developing circuits such as filters.

Indeed, the Laplace transform is used for solving differential and integral equations. With this transform, differentiation and integration respectively become multiplication and division by $$s$$.

LTI Systems
Circuits such as filters which implement a set of differential equations on an incoming signal in order to modify it are called Linear Time Invariant (LTI).

In the frequency domain, the input signal's frequency content, $$X(s)$$, is multiplied by the transfer function of a LTI system, $$H(s)$$, to determine the output signal's frequency content, $$Y(s)$$.

Filters
Time-continuous (analog) filters are LTI systems used to damp unwanted frequency contents out of a signal or to amplify desired frequency bands of the signal.

They are used to:
 * damp out noise which has been added to the signal,
 * limit the frequency content of a signal in order to mix it with other signals having different frequency contents on a common transmission channel,
 * retrieve a single signal which has been mixed with others on a common transmission channel,
 * limit the frequency content of a signal before sampling it at a given rate.

From this, the usual shape of a transfer function would be of "brick-wall" type: letting all the signal through in certain frequency bands and letting nothing trough in the others. Alas, this is not possible. It can be shown that brick-wall filters would need an infinite time to provide the very beginning of the output signal. Because of this, filter designers have to fall back on transfer functions close to the brick-wall characteristic but which are physically realizable: Butterworth, Chebychev, …

Sampled systems analysis
Sampled systems, such as switched-capacitor or digital filters, are not analyzed based on differential equation but on difference equations. At a given time, the output of a sampled filter is a function of the $$N$$ last values of the filter's input and internal signals.

Solving difference equations is done with the help of the Z-transform. Similarly to the Laplace analysis, the Z-transform of the input signal, $$X(z)$$, is multiplied by the sampled transfer function, $$H(z)$$, to determine the output signal's Z-transform, $$Y(z)$$. The time samples of the output signal, $$y(t)$$, can be calculated with the help of the inverse Z-transform of $$Y(z)$$.

Digital filters
Digital filters can perform the same tasks as their analog counterparts, but on sampled signals. Additionally, they can be used to:
 * insert additional samples between the original samples of a signal in order to increase the sampling rate of a signal (interpolation)
 * predict future values of a signal (extrapolation)
 * adapt their transfer function based on an evaluation of the signal's time-varying characteristics.

Adaptative filters
The adaptative filtering problem stems from the fact that data is transmitted over noisy channels. At the receiver, the data from a signal needs to be separated from other data streams, inter-symbol interference, and external noise. Notice that both noise and other data streams can be considered to be stochastic (random) processes. These processes can be found to have certain characteristics, such as mean and variance. On top of the problem of separation is the fact that the characteristics of the various components of the received signal, the data itself, the noise, and the other data streams all change over time. For instance, new transmitters could be adding data streams to the channel, or new noise could be added, or the sender of the target data stream could be altered. The mean and variance of the various components could change over time.

 As an analogy, consider a room with one person speaking (the speaker), and one person listening (the listener). The room will have certain ambient noises, such as electrical hums from the sound system, or the feint sounds of other speakers in other rooms. In general, if the ratio of the speaker's volume to the volume of the other noises is high, the listener will have no trouble focusing on the speaker. However, if a second speaker sets up a podium and begins speaking, the listener will have trouble focusing, because the received signal has changed.

The filtering problem, in essence, is trying to detect and extract useful data from a noisy signal. The characteristics of the data and the background noise might not be known a priori, and they are likely to change over time.

title: Signal Processing/Fourier Analysis


text: Category:Book:Signal Processing

title: Category:Book:Signal Processing


text:
Category:Carbonated beverage recipes

Recipes for soda pop.

title: Category:Carbonated beverage recipes