text:
WebObjects/Web Applications/Deployment/Tomcat Deployment Details

Place for detailed information on deploying WebObjects applications in Tomcat.

Assumptions

 * Tomcat installation location: /usr/local/tomcat
 * Apache configuration location: /etc/httpd
 * Applications location: /usr/local/myapps
 * Java installation location: /usr/java/jdk1.5.0_06

Common Libraries
Install all common libraries into /usr/local/tomcat/shared/lib, e.g.:

activation.jar commons-logging-1.1.jar httpunit-1.6.2.jar java-diff-1.0.5.jar mail.jar mysql-connector-java-5.0.6-bin.jar servlet-api.jar wsdl4j.jar

War file
Install:

/usr/local/myapps/deploy/myapp.war

Hosts
For each set of applications, here in sets of 10, create these files and directory structures. See the next section for the contents of ROOT.xml files.

Notice that each application has its own host directory, e.g. myapp01.mydomain.com, myapp02.mydomain.com, myapp03.mydomain.com, etc.

Place these under:

/usr/local/myapps

Group01

group01/catalina/conf/web.xml group01/catalina/conf/tomcat-users.xml group01/catalina/conf/context.xml group01/catalina/conf/Catalina/myapp01.mydomain.com/ROOT.xml group01/catalina/conf/Catalina/myapp02.mydomain.com/ROOT.xml group01/catalina/conf/Catalina/myapp03.mydomain.com/ROOT.xml group01/catalina/conf/Catalina/myapp04.mydomain.com/ROOT.xml group01/catalina/conf/Catalina/myapp05.mydomain.com/ROOT.xml group01/catalina/conf/Catalina/myapp06.mydomain.com/ROOT.xml group01/catalina/conf/Catalina/myapp07.mydomain.com/ROOT.xml group01/catalina/conf/Catalina/myapp08.mydomain.com/ROOT.xml group01/catalina/conf/Catalina/myapp09.mydomain.com/ROOT.xml group01/catalina/conf/Catalina/myapp10.mydomain.com/ROOT.xml group01/catalina/conf/server.xml group01/catalina/logs/

Group02

group02/catalina/conf/web.xml group02/catalina/conf/tomcat-users.xml group02/catalina/conf/context.xml group02/catalina/conf/Catalina/myapp11.mydomain.com/ROOT.xml group02/catalina/conf/Catalina/myapp12.mydomain.com/ROOT.xml group02/catalina/conf/Catalina/myapp13.mydomain.com/ROOT.xml group02/catalina/conf/Catalina/myapp14.mydomain.com/ROOT.xml group02/catalina/conf/Catalina/myapp15.mydomain.com/ROOT.xml group02/catalina/conf/Catalina/myapp16.mydomain.com/ROOT.xml group02/catalina/conf/Catalina/myapp17.mydomain.com/ROOT.xml group02/catalina/conf/Catalina/myapp18.mydomain.com/ROOT.xml group02/catalina/conf/Catalina/myapp19.mydomain.com/ROOT.xml group02/catalina/conf/Catalina/myapp20.mydomain.com/ROOT.xml group02/catalina/conf/server.xml group02/catalina/logs/

ROOT.xml
For each host/application, use this template, changing the "myapp01" string, wherever it occurs below, to match the host's name, e.g. myapp01, myapp02.

The wo/NSLog4jLoggerName parameter is used for log4j logging, see below. Have it match the application's name.

Setup your own variables here as well for application specific configuration.

server.xml
For each group above, install host definitions as such, matching the previous naming scheme, into that group's server.xml. Here are the entries for group02:

           <Host name="myapp18.mydomain.com" debug="0" unpackWARs="false" autoDeploy="true" /> <Host name="myapp19.mydomain.com" debug="0" unpackWARs="false" autoDeploy="true" /> <Host name="myapp20.mydomain.com" debug="0" unpackWARs="false" autoDeploy="true" /> </Engine> </Service> </Server>

 * the Connector port must be unique for each Service used on a single physical machine, and must match up with the corresponding modjk worker port used in the Apache worker.properties configuration file, covered below.

NOTE: per application deployment files and classes can be found in the applications work directory, but need not be altered at any time by the administrator.

Log4j debug mode
Add this to your start of Tomcat to get explicit debug information from log4j. Log4j can be very frustrating, so this is key in debugging the steps it is taking:

log4j.debug=true

See the below Tomcat startup command for details.

Getting started
Install the log4j properties file into Tomcat's common/clases directory:

/usr/local/tomcat/common/classes/log4j.properties

If this location does not seem effective, try:

/usr/local/myapps/group01/catalina/common/classes/log4j.properties

changing the path to the appropriate group for your application, e.g. from group01 to group02.

Commented lines can be uncommented, and the application's corresponding Tomcat server restarted, to output logging for a particular application. Here the example is for application named "myapp01"; this name is defined in the ROOT.xml file above by the wo/NSLog4jLoggerName parameter:

#log4j.logger.myapp01=DEBUG, A2  #log4j.appender.A2=org.apache.log4j.RollingFileAppender #log4j.appender.A2.File=${catalina.base}/logs/myapp01.log #log4j.appender.A2.MaxFileSize=100MB #log4j.appender.A2.MaxBackupIndex=2 #log4j.appender.A2.layout=org.apache.log4j.PatternLayout #log4j.appender.A2.layout.ConversionPattern=%-5p %c [%t] %r - %m%n #log4j.appender.A2.Threshold=DEBUG log4j.rootLogger=INFO, Tomcat log4j.appender.Tomcat=org.apache.log4j.FileAppender log4j.appender.Tomcat.File=${catalina.base}/logs/tomcat.log log4j.appender.Tomcat.layout=org.apache.log4j.PatternLayout log4j.appender.Tomcat.layout.ConversionPattern=%p %t %c - %m%n log4j.logger.myapp01=FATAL log4j.logger.myapp02=FATAL log4j.logger.myapp03=FATAL log4j.logger.myapp04=FATAL log4j.logger.myapp05=FATAL log4j.logger.myapp06=FATAL log4j.logger.myapp07=FATAL log4j.logger.myapp08=FATAL log4j.logger.myapp09=FATAL log4j.logger.myapp10=FATAL log4j.logger.myapp11=FATAL log4j.logger.myapp12=FATAL log4j.logger.myapp13=FATAL log4j.logger.myapp14=FATAL log4j.logger.myapp15=FATAL log4j.logger.myapp16=FATAL log4j.logger.myapp17=FATAL log4j.logger.myapp18=FATAL log4j.logger.myapp19=FATAL log4j.logger.myapp20=FATAL

Another method to view an application's logging information is, e.g, to comment the appropriate line and restart the server:

 * 1)   log4j.logger.myapp16=FATAL

This will output logging information for the myapp16 application to /usr/local/tomcat/logs/tomcat.log.

Server Startup
Start each server up separtely. Environmental variables may be exported beforehand, or passed like so on the command line, before the executable is called:

JAVA_OPTS="-Xms256m -Xmx256m" JAVA_HOME=/usr/java/jdk1.5.0_06 CATALINA_BASE=/usr/local/myapps/group01/catalina /usr/local/tomcat/bin/startup.sh JAVA_OPTS="-Xms256m -Xmx256m" JAVA_HOME=/usr/java/jdk1.5.0_06 CATALINA_BASE=/usr/local/myapps/group02/catalina /usr/local/tomcat/bin/startup.sh  JAVA_OPTS="-Xms256m -Xmx256m" JAVA_HOME=/usr/java/jdk1.5.0_06 CATALINA_BASE=/usr/local/myapps/group03/catalina /usr/local/tomcat/bin/startup.sh  JAVA_OPTS="-Xms256m -Xmx256m" JAVA_HOME=/usr/java/jdk1.5.0_06 CATALINA_BASE=/usr/local/myapps/group04/catalina /usr/local/tomcat/bin/startup.sh  JAVA_OPTS="-Xms256m -Xmx256m" JAVA_HOME=/usr/java/jdk1.5.0_06 CATALINA_BASE=/usr/local/myapps/group05/catalina /usr/local/tomcat/bin/startup.sh

Or start a Tomcat instance with log4j debugging on to determine what steps log4j is using in determining log settings and output:

JAVA_OPTS="-Dlog4j.debug=true -Xms256m -Xmx256m" JAVA_HOME=/usr/java/jdk1.5.0_06 CATALINA_BASE=/usr/local/myapps/group01/catalina /usr/local/tomcat/bin/startup.sh

Server Shutdown
On Linux, this command will shutdown all java processes on the server, be careful:

pkill java

or a particular process may be stipulated, e.g. 12203:

pkill -P 10203

And sometimes Tomcat gets hung, be careful though, this will kill every single last java process on your system, no questions asked:

pkill -9 java

This will also work, in this case for the group01 server:

CATALINA_BASE=/usr/local/myapps/group01/catalina /usr/local/tomcat/bin/shutdown.sh

Core modjk Settings
Add to httpd.conf

JkLogFile "/usr/local/tomcat/logs/mod_jk.log" JkLogLevel info JkOptions +ForwardURICompat JkWorkersFile /etc/httpd/workers.properties

And add /etc/httpd/worker.properties, containing:

worker.list=worker01,worker02,worker03,worker04,worker05 worker.worker01.type=ajp13 worker.worker01.host=localhost worker.worker01.port=8901 worker.worker02.type=ajp13 worker.worker02.host=localhost worker.worker02.port=8902 worker.worker03.type=ajp13 worker.worker03.host=localhost worker.worker03.port=8903 worker.worker04.type=ajp13 worker.worker04.host=localhost worker.worker04.port=8904 worker.worker05.type=ajp13 worker.worker05.host=localhost worker.worker05.port=8905

Virtual Hosts
Each virtual host contains such an entry, with specifics modified appropriately, e.g. change myapp02 to match your application's name:

<VirtualHost *:80> ServerName myapp02.mydomain.com DocumentRoot "/Library/WebServer/WebSites/myapp02" JkMount /WebObjects/* worker01 <Location "/MyApp/WEB-INF/*"> AllowOverride None deny from all </Location> <Location "/MyApp/META-INF/*"> AllowOverride None deny from all </Location> <IfModule mod_rewrite.c>                 Include "/etc/httpd/mods/mod_rewrite_tomcat.conf" RewriteRule    (.*)/cgi-bin/(.*)/___AppNamePlaceHolder___(\.woa(/.*)?)? $1/$2/MyApp$3      [L,PT] </IfModule> </VirtualHost>

Rewrite Rules
Assure that apache has been built and/or installed to use mod_rewrite.

Then install /etc/httpd/mod_rewrite.conf:

RewriteEngine On RewriteRule     ^/WebObjects/.*$                        - [L,PT] This is just an example, you will have to figure this out for yourself in detail. Or figure it out and update this wiki with universal rules.

Testing
Once the Tomcat servers are up and Apache running, hit a website:

http://myapp04.mydomain.com

Auto Deployment
Touching the WAR file will redeploy all the applications. Replacing the WAR file with an updated version of your application, will auto deploy the new version systematically, one application per Tomcat server at a time. This can be followed by tailing /usr/local/tomcat/logs/tomcat.log.

Touching or updating of the ROOT.xml application files will reload/redeploy the application, and if any changes have been made, they will be picked up by the new deployment.

Rewrite Debugging
To get rewrite rule logging, add the following to the top of your rewrite fils:

RewriteLog             /tmp/mod_rewrite.log RewriteLogLevel        9

Restart Apache and tail /tmp/mod_rewrite.log while hitting the website.

= Common Errors =

javax.servlet.UnavailableException: Error initializing servlet adaptor: access denied
Waiting on more information.

javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
See above comment. At present, not stopping the app from running fine. Looks like an unused entry in the web.xml file.

javax.servlet.UnavailableException: Error initializing servlet adaptor: null
Unknown, but probably just a result of a previous complete failure of the app to start.

java.lang.reflect.InvocationTargetException
Get rid of duplicate copy of jar file in the class path, most likely in /usr/local/tomcat/common/lib:

Caused by: java.lang.ExceptionInInitializerError Caused by: java.lang.IllegalStateException There is already a unique instance for Bundle named 'JavaXML'.

like so:

mv /usr/local/tomcat/common/lib/JavaXML.jar /var/tmp

javax.servlet.UnavailableException
Unknown, misconfiguration.

- Servlet threw load exception javax.servlet.UnavailableException: Can't find application bundle. You can either define WOROOT, LOCALROOT and WOAINSTALLROOT as Java system properties (e.g. in your application server's launch script as command line arguments) or in the application Deployment Descriptor file (web.xml). at com.webobjects.jspservlet.WOServletAdaptor._applicationInit(WOServletAdaptor.java:335)

java.lang.IllegalStateException: Cannot fire array fault with a null handler
at com.webobjects.eoaccess.EODatabaseContext._fireArrayFault(EODatabaseContext.java:4399) at com.webobjects.eoaccess.EOAccessArrayFaultHandler.completeInitializationOfObject(EOAccessArrayFaultHandler.java:70) at com.webobjects.eocontrol._EOCheapCopyMutableArray.willRead(_EOCheapCopyMutableArray.java:38) at com.webobjects.eocontrol._EOCheapCopyMutableArray.count(_EOCheapCopyMutableArray.java:92) at com.webobjects.eocontrol.EOSortOrdering._sortUsingKeyOrderArray(EOSortOrdering.java:173) at com.webobjects.eocontrol.EOSortOrdering.sortArrayUsingKeyOrderArray(EOSortOrdering.java:254)


text:
User:FreakBoy

I'm just an avid reader and big fan of the Wiki projects. Maybe if I'm lucky I'll be able to help out a bit.

My pages:

Self Deprecation Will Set You Free

Nerdal Network

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

title: User:FreakBoy


text:
Talk:Visual Language Interpreting/Introduction

"Visual Langauge" is far too broad, as this may include: mudra, spatial semiotics, gesture, non-verbal communication, symbolism, iconography, etc. B9 hummingbird hovering 01:17, 22 August 2007 (UTC)


text:
How To Build A Teardrop Trailer

in less than 3 weeks and $1500

Travel trailers are not cheap. They can present a large investment both in terms of money, towing vehicles and fuel. In addition, with gas prices high, there is a desire by many to own smaller vehicles. So what does one do if you like to camp?

A teardrop trailer is a small lightweight camping trailer that can easily be towed behind any car. Conceived more than 60 years ago, this trailer is designed for 2 people with storage and a kitchen galley under a rear hatch. The nice thing is that it doesn't have to be configured this way. Since you build it yourself you can create and install just about any option you want. From extra bunk space to entertainment centers; its your trailer. Have it your way.

This book will show you how simple building a teardrop trailer can be. The focus will be upon a low cost design (<$1500) but we will also introduce the reader to some of the other, more complex and more expensive ways of construction.

Chapters

 * /Cover/ · /Noted contributors/ · /Development/
 * /Before you start/
 * /Trailer/
 * /Trailer Bed/
 * /Walls and Doors/
 * /Assembling the Body/
 * /The Hatch/
 * /Joints/
 * /Assembling the Doors/
 * /Interior/
 * /Galley/
 * /Finish/
 * /Hatch Hinge/

title: How To Build A Teardrop Trailer


text:
How To Build A Teardrop Trailer/Noted contributors

 * Wikiwerks - Original Author, Editor


text: Category:Book:How To Build A Teardrop Trailer


text:
How To Build A Teardrop Trailer/Cover

Welcome to the wikibook on   How To Build A Teardrop Trailer

Go to Contents >>

title: How To Build A Teardrop Trailer/Cover


text:
How To Build A Teardrop Trailer/Before you start

Before you start
This book is not a set of plans in the sense of "paint by the numbers". It will not give you any measured drawings or dimensions and will it will not provide any absolute way of doing things. There are many ways to build a teardrop trailer, from simple to elaborate. This book focuses on a simple trailer design which can be built for around $1500 or less. Ideas for more elaborate construction will be presented; which you may or may not want to pursue.

The reader is also expected to be familiar with the tools needed to build the trailer, including power tools. Safety should be paramount when working on the project. Defend yourself against the unexpected. Wear safety goggles and always know where your fingers are and where the path of the tool is. Be aware that if you are holding on to a piece of material, a power tool can pull the material, along with your fingers, into the blade before you have time to let go. Power tools can also grab the material and throw it or spin it. Use pliers and pushsticks when necessary to control the material. Safety is the responsibility of the reader.

The other safety responsibility the reader has is in the construction of the trailer itself. You are building a trailer that will be pulled down a public roadway. You don't want it to fall apart and injure you or occupants of another vehicle. There are some common ideas and information out on the web which may or may not be safe. This book will point out a few of them so you can decide. For example, building a trailer without a steel frame (only a wood frame) is a risky thing to do and would probably be considered negligent in any court of law. The main safety guideline is common sense and it is your responsibility to decide if you have common sense or not.

The structure of this book is to proceed through the steps of building a simple teardrop trailer. Special notes and subsections along the way are included for more complex methods. Reference pages for each chapter exist to list web resources that are directly related to obtaining the parts needed for construction. In this way the book itself will remain free of hyperlinks and maintain a book form.

>>Next:Trailer


text:
User talk:68.37.127.248

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! Mattb112885 (talk to me) 02:27, 22 August 2007 (UTC)

title: User talk:68.37.127.248


text:
User talk:B9 hummingbird hovering

Come introduce yourself at the new users page. If you have any questions, you can ask there or contact me personally. Mattb112885 (talk to me) 02:29, 22 August 2007 (UTC)

Displaying Tibetan
About the wikibooks function to make PDFs I know nothimg. I always use the font 'Tibetan Machine Unicode' because the built in ones like Ariel MS Unicode don't combine ligatures correctly. If I were you I would try just cutting and pasting the content of the homepage into a word processor and then making that document into a pdf. I have done that before and it has worked. Tibetologist (talk)

 * If you can give me an email address I will send you some grammars. No particular grammar is very good. Better to read several and form your own opinion. Traditional descriptions must be used with some care, they rely a lot on Sanskrit and the Karakas, which are not quite the same as what we mean when tallking about case. Tibetologist (talk) 19:20, 5 September 2009 (UTC)

 * If you get really desperate you can always resort to screen shots and saved TIFF's, EPS's or even .png/.jpg/gif files. [[User:Geof Bard गीता]] (discuss • contribs) 03:13, 24 May 2011 (UTC)

Small writing in Tibetan
This sort of thing is very normal. Sometimes these are corrections made by a second hand. (in which case they will be very short) Sometimes they are notes and commentary, e.g. in philosophical writings you often get identifications of cited sources in smaller writing. There is some Tibetan name for this, but I can't remember it, ends in -yig of course. Some people just transliterate this sort of thing in a smaller font, other people use xml like notation or something like that. Sort of depends who the intended audience is. I have sometimes used footnotes, when it is clear what specific location to put the footnote in. 212.219.236.1 Tibetologist (talk) 14:24, 27 September 2009 (UTC)

title: User talk:B9 hummingbird hovering


text:
User talk:Wikiwerks

Come introduce yourself at the new users page. If you have any questions, you can ask there or contact me personally. Mattb112885 (talk to me) 02:30, 22 August 2007 (UTC)

Done
Hi wikiwerks, I have deleted all revisions of the file, just upload the one you want. Let me know if you need any more help, or the administrator noticeboard is also a good place to look for help with things like that :). Regards. Mattb112885 (talk to me) 02:52, 22 August 2007 (UTC)

Are you sure?
Are you sure you want to delete all your work? Just because you're not going to finish it doesn't mean someone else won't - that's the whole point of wiki. Collaboration is the strength of the way we do things here. We're happy to keep the content unless you don't want us to. This is significantly more content than most of our texts, so it'd be a shame to lose it all. You can have it deleted, but I just wanted to double-check. – Mike.lifeguard  | talk 01:33, 13 February 2008 (UTC)

 * G'day, I've just listed this page on Votes for deletion, because I don't believe it should be deleted. Somebody else might want to finish it off, you never know! It might even be merged into another book. If you still think it should be deleted, please make your case on the Votes for deletion page. Webaware talk 07:07, 13 February 2008 (UTC)

Ok
Well, ok, maybe I'll finish it. Wikiwerks (talk) 19:37, 30 March 2008 (UTC)

title: User talk:Wikiwerks


text:
User talk:75.55.136.240

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. If you wish to make useful contributions, you are welcome to come back after the block expires. Webaware talk 05:13, 22 August 2007 (UTC)

title: User talk:75.55.136.240


text:
Guitar/Vibrato Bar Techniques

The tremolo bar was originally only found on Fender guitars, but now they are on many types of electric guitar. Unfortunately, it has an inappropriate name, because "tremolo" means a fast succession of two different tones. A more accurate but less common name is the vibrato bar, and they are also known as whammy bars.

There are several different types of tremolo bars, details of which can be found in the Anatomy of the Guitar section, but certain types can only perform certain techniques. Thus, you should make sure the tremolo bar you have can do what you want it to do, before you buy it.

In general, it is good to learn to hold the tremolo bar between your third and fourth fingers, so you can use the bar and hold a pick at the same time.

This section will provide a description of how to accomplish various techniques, but it will be up to the guitarist to discover how to perform them.

Dive Bomb
A Dive Bomb may be achieved by striking a natural harmonic then lowering the tone. An "explosion" may added by keeping the bar pressed down and flicking the low E string repeatedly.

Also, there is an alternative way to do a dive bomb, by flicking a string, dipping the bar down, tapping a harmonic, then manipulating the resulting note however you want. This technique is also known as a "Squeal", or "Dime Squeal" named after Pantera guitarist, Dimebag Darrel.

Dipping
Dipping is a technique that allows you to make note changes a little more interesting. Before you change to a higher note, use the bar to quickly lower and then raise the pitch.

Cat Purr
With this technique, a pitch is held for a beat, and then raised up a tone. The lever is moved slowly, and once you reach the upper or lower tone, you immediately hold, and then reverse direction. This results in a sound that can sounds remarkably like a cat.

Ruler Sound
If you press the tremolo bar down, and then suddenly release it upwards and quickly alternate between high ups and down, it makes a snap-away sounds, like a ruler vibrating off the edge of a table. The principle behind this is similar to the cat purr.

Windmill
The "windmill" develops if you just keep turning the tremolo bar in a circle. Naturally, the tone moves up and down at a regular pace. However, this can sound very "outer space" and can easily be over done, and you should use this sparingly.

String Choke
If the strings are really slack, you can quickly whip the tremolo bar back up until it clicks, making a string choke. Sometimes overtones will remain, and you can get some interesting sounds and harmonies. However, these tend to disappear quickly as it is drowned out by the harmonics of the new string pitch.

title: Guitar/Vibrato Bar Techniques


text:
User talk:64.222.199.130

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. Webaware talk 05:32, 22 August 2007 (UTC)

title: User talk:64.222.199.130


text:
User talk:125.19.56.131

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. Webaware talk 06:34, 22 August 2007 (UTC)

title: User talk:125.19.56.131


text:
User talk:Amdatar

G'day and welcome to Wikibooks. Have you seen our book, ERP Internals?

Here's our standard welcome message:

Come introduce yourself at the new users page. If you have any questions, you can ask there or contact me personally. Webaware talk 06:50, 22 August 2007 (UTC)

title: User talk:Amdatar


text:
Talk:Developing Genealogy Web-Pages/Site Creation

hi

This is very important to know that how to use web pases for sites

u r require to register ur web page to convert in to web sites.


text:
Bengali/Asking questions

কি সমস্যা?

In this chapter we shall discuss the basics of question-asking.

মানে
We have inundated the dialogue with lots of question words, which we hope you caught on to; here's a rundown of what they are:

আর ক্রিয়াপদ - more verbs
The dialogue was also inundated with more verbs, some of whose simple present tense conjugations are given below. Remember the scheme we introduced in the last section.

চর্চা
TODO

title: Bengali/Asking questions


text:
HacktivistCookbook/Instruments/SharedReferencing

Websites such as del.icio.us that allow you to share links with others, and find out links that others wished to share. To use sites like this one, it is important to understand "tags".


text:
Bengali/Verbs

The verb is the most important part of speech in Bengali sentences. The Bengali verb takes the form of a verb root followed by person, tense and aspect markers. There's no gender or number marker for the verb in Bengali, which makes learning the language easier.

Verb root + (Person+Tense+Aspect) Marker = Verb

So when we discuss verbs in Bengali, we usually discuss: (a) whether the verb root undergoes any change in different grammatical conditions. (b) what the person, tense and aspect markers are in different grammatical conditions.

Once you have mastered the knowledge of the above two issues, you have mastered the Bengali verb.

Case study of the verb "to eat"
Let's start with a simple example, taking the Bengali verb "to eat". The root for this verb is "kha". The following discussion of the verb is arranged according to tense. The person and aspect features are discussed within each tense.

There are three grammatical tenses in Bangla: Present, Past and Future.

Present tense
In the present tense, there are three aspects: Simple, Perfect, and Continuous.

Simple Present tense
For the first person (singular or plural) in simple present tense, the verb is marked null for tense, null for aspect and marked "i" for person. So, the form of the verb "to eat" in first person will be:

kha + 0 + 0 + i = khai

Used in a sentence with the singular first person personal pronoun "ami" (I), it reads:

ami khai. (I eat.) (1st person, singular, simple present)

Similarly, in a sentence with the plural first person personal pronoun "amra" (We), it reads:

amra khai. (We eat.) (1st person, plural, simple present)

Note that the verb form is the same regardless of number.

For the second and third persons in the simple present tense, the tense and aspect markers are again null, but the person markers are "o" and "y", respectively. Therefore we have:

tumi khao. (You eat.) (2nd person, singular, simple present) tomra khao. (You eat.) (2nd person, plural, simple present)

she khay. (He/She eats.) (3rd person, singular, simple present) tara khay. (They eat.) (3rd person, plural, simple present)

Past tense
Similarly in the simple past, the verb conjugation doesn't change irrespective of the number

for first person its : verb+e+chchhilam (pronounce the 'chchh' as in Bachchhan) for second person its: verb+e+chchhiley for third person its: verb+e+chchhilo

Used in a sentence with the singular first person personal pronoun "ami" (I), it reads:

ami khae-chchhilam. (I ate.) (1st person, singular, simple past)

Similarly, in a sentence with the plural first person personal pronoun "amra" (We), it reads:

amra khaechchhilam. (We ate.) (1st person, plural, simple past)

Second person tumi khaechchhiley. (You ate.) (2nd person, singular, simple past) tomra khaechchhiley. (You(all) ate.) (2nd person, plural, simple past)

she khaechchhilo. (He/She ate.) (3rd person, singular, simple past) tara khaechchhilo. (They ate.) (3rd person, plural, simple past)

Future tense
The future tense in Bengali follow a similar pattern to the other tenses above:

Verb root + (bo/be/ben) = Verb

For example using (Kha - "to eat):

I, We (1st person, singular and plural)

Ami kha-bo    "I will eat"                               Amra kha-bo     "We will eat"

You (informal, singular or plural)

Tumi kha-be "You will eat"                           Tumra kha-be    "You all will eat"

You (formal, singular or plural)

Apni kha-ben "You will eat"                         Apnara kha-ben "You all will eat"

He/She/It/They (3rd person, singular and plural)

(Note: The formal 3rd person pronouns will use "-ben", just like the formal 2nd person pronouns)

"He/She/It will eat"                                  "They will eat"

E kha-be                                                   Era kha-be

Ini kha-ben

O kha-be                                                  Ora kha-be

Uni kha-ben

She kha-be                                              Tara kha-be

Tini kha-ben

(Also note: The formal 3rd person plurals are the same for both formal and informal forms, but the ending will change to "-ben" depending on the reverence of whom you would be referring to. For example: Tara (referring to your friends): Tara kha-be; but, Tara (referring to your parents): Tara kha-ben)

title: Bengali/Verbs


text:
User talk:Recent Runes

I watch book and user discussion pages where I have recently left specific messages. Please reply under my messages / comments to make the discussion easier to follow. If you leave a message on this page, I'll reply to it here. Being based in the UK, I am normally online during the week between 19:00 and 23:00 UTC.

Thank You
for adding "Analytical chemiluminescence" to category "Chemistry". --78.149.62.39 (discuss) 23:35, 27 February 2013 (UTC)

Thank You For Updating Me
I originally started a WikiBook back in 2004 while still in graduate school; now, many years later, I have decided to get back to work on it since I have a stable teaching position. A lot has changed since 2004; thank you for the updates and tutorials. Let me see if I can sign my name correctly at least, lol:

Blathem (discuss • contribs) 21:59, 14 February 2012 (UTC)

OK, I have that down, it seems. One question if you have the time (I doubt you do, but I will ask anyway). You say "I watch discussion pages where I have recently left messages. Please reply in the same section to make the discussion easier to follow."

My question is...same section as what? Same section as in my user page or same section as in the textbook page? I am sorry if that is a stupid question...

 * Actually I copied that notice from somebody else's user page, but I understood it as meaning any replies should be as near as possible to my original comments. That could be on the discussion page of a book page or a user's talk page. The section is just the text under the heading for the discussion point, e.g. the "Thank You For Updating Me" section we are in at the moment. I have improved the wording of the notice now, hopefully to make it less ambiguous. Thanks for your comments. Regards, Recent Runes (discuss • contribs) 22:56, 14 February 2012 (UTC)

Moves moved to Wikimedia Commons
In the future can you please use when files have been moved to Wikimedia Commons instead of using ? --dark lama  17:34, 19 May 2009 (UTC)

OK, no problem. Thx for the tip. Recent Runes (talk) 19:27, 19 May 2009 (UTC)

Thanks for your message!
Dear Recent Runes, thank you for your message! I will check out the Guidelines for class project!! --Kartikram (talk) 22:36, 12 December 2009 (UTC)

Please weigh in
Hi Recent Runes,

Last month I nominated Adrignola to be a check user here on WB. For that to happen, he needs 25 votes, and he has thus far garnered 24. I would greatly appreciate it if you would weigh in on this. --Jomegat (talk) 10:12, 6 January 2010 (UTC)
 * OK, though I'll need to do some more reading about the CU first. Recent Runes (talk) 12:13, 6 January 2010 (UTC)
 * Thanks. It's important that you come to your own conclusion.  --Jomegat (talk) 13:41, 6 January 2010 (UTC)

Just Rollbacker?
Hi RR,

For the past couple of days I've been thinking you should be an admin here. And then I saw that you requested Rollbacker rights, and I thought... why not admin rights instead? I'd make the nomination if you like, but if you'd rather not, then I won't. Think about it! --Jomegat (talk) 13:33, 4 February 2010 (UTC)
 * Thanks for the compliment JWT, but actually it was Adrignola who proposed me on his own initiative. I'm not even sure what Rollbacker rights are anyway. Though I suppose if I had admin rights I could delete obviously junk new pages while I was patrolling Recent changes. Recent Runes (talk) 17:10, 4 February 2010 (UTC)

Languages Project
Hey. I've not been around for a couple of years but it seems like in my absence not much has happened to antyhing. So I'm trying to get some kind of languages project going. I'm mostly gonna have a go at sorting out the French book myself. Saw your French for football book and thought you might be close to interested. WikiProject Languages Italienmoose (talk) 16:08, 5 June 2010 (UTC)
 * Thanks for the heads-up! As the French for football book still needs a lot of work, I expect my contributions to other books will remain fairly small. Recent Runes (talk) 17:37, 5 June 2010 (UTC)

My vote

 * I think your vote to unblock Thekohser could be worded more clearly, as it does not explicitly state your vote. Also, it would be better if you were actually logged in to Wikibooks when you vote, otherwise how do we know it is really you? Recent Runes 19:23, 3 September 2010 (UTC)
 * You know it's really me because I confirmed it on Beta.Wikiversity, where I am logged in. And I am vetoing the entire concept of blocking, not just some particular instance (while otherwise affirming or accepting the general practice).  —Moulton (talk) 21:13, 5 September 2010 (UTC)

Admin?
If I were to nominate you for the admin tools, would you accept them? I think it's time. --Jomegat (talk) 18:35, 29 September 2010 (UTC)
 * Thanks, I'll think about it and let you know. Recent Runes (talk) 21:32, 29 September 2010 (UTC)
 * I have now decided I will accept your nomination. Recent Runes (talk) 18:46, 30 September 2010 (UTC)
 * Thank you! I made the nomination in the usual place. --Jomegat (talk) 19:09, 30 September 2010 (UTC)
 * You might want to add your acceptance to the nomination. --Jomegat (talk) 00:53, 1 October 2010 (UTC)

 * Your nomination was successful. Congratulations!  Please review the expectations.  Thank you for your continued efforts to make Wikibooks a success. – Adrignola talk 01:04, 12 October 2010 (UTC)
 * Congrats! And thanks again for your willingness to serve the project in this capacity. --Jomegat (talk) 01:50, 12 October 2010 (UTC)

Field Guide
Hi RR,

I know I'm late getting to this, but... I've been intending to move all the Field Guide pages so that they are named using binomial nomenclature. I had started a field guide to birds as part of the Adventist Youth Honors Answer Book, but then decided that it really should be part of the FG's instead. I meant to move them, but real life got in the way. I guess I should have gotten on the ball sooner (not that I'm exactly on the ball now).

IMO, using binomial nomenclature will avoid a lot of problems. There are many species with several regionally-specific names, and in some cases, a name used in one region is applied to a different species in another region. What do you think? --Jomegat (talk) 22:26, 12 October 2010 (UTC)

 * I only renamed the page in order to have another page link in to it - I don't really have a particular view on the naming convention used. I guess the Latin names are more universal and technically correct, but probably you should use whatever convention would be best for the book's target audience. Recent Runes (talk) 22:53, 12 October 2010 (UTC)

 * OK. Thanks for weighing in.  I guess I ought to get off my duff and take care of this. Tomorrow! --Jomegat (talk) 23:27, 12 October 2010 (UTC)

Featured_books/Nominations odd edits
The reason why I removed 's comment was because the content in it was outdated. When he wrote the comment he thought he sole writer of the book and that it was far from completion. However I have been editing the book more recently and chapters have now been written for all the topics. Rrgreen (discuss • contribs) 21:49, 6 February 2011 (UTC)

Continuing lack of attribution for Wikipedia material
I have added the attribution so please remove the banner.IF you think they are still missing please let me know before 8th april because after 8th i am going out for conference. Sorry for delay.I have added the attribution so please remove the banner.IF you think they are still missing please let me know before 8th april because after 8th i am going out for conference. Sorry for delay.Thanks kaushlendratripathi (discuss • contribs)
 * HI i have added in most of them if you think still some are missing please let me know by the para graph number or some other mean. thanks.contribs)
 * HI i have not received any reply from you.kaushlendratripathicontribs
 * I have added all the attribution and links as suggested by you. thanks.kaushlendratripathi (discuss • contribs
 * I have not received any response from you please reply.Because tomorrow i am leaving for my conference. thanks kaushlendratripathi (discuss • contribs)
 * I have not received any response from you yet. Give your view.thanks.kaushlendratripathi (discuss • contribs

Missing attribution in Principles of biochemistry
Most of them, actually. Thanks for telling me, but if you realy have a gripe about the time limit, either work fast, get someone else to help you, or take it up with Recent Runes. He's the one who suggested flagging the pages. --Whoop whoop pull up Bitching Betty | Averted crashes 19:37, 18 April 2011 (UTC)

 * So is it possible to you give me some more time.Because i am little bit busy person.I shall be grateful to you .thankskaushlendratripathi (discuss • contribs)

 * If pages have been correctly labelled as copyright violations then they should be deleted after 7 days if they are not fixed according to our policies. But administrators can reverse a deletion, so I think we should be able to agree a work-flow between us so that pages can be undeleted progressively as you find the time to fix them. e.g. You let us know which pages you think you can fix over the next 7 days and we provisionally undelete just those pages, while still tagging them as copyright violations. When one batch is fixed you could then request the next batch to work on. Recent Runes (discuss • contribs) 18:43, 20 April 2011 (UTC)
 * Thanks a lot, i think i will able to do chapter 6 to 10 in given time thanks. kaushlendratripathi (discuss • contribs)

Thank you
Hi Recent Runes, I just wanted to thank you for your cool headed comment in the Projects Reading Room, on the topic of LGBT Wikibooks. Also, with regards to your changes to the French wikibook, I been watching the book since 2007, and your edits do not go unnoticed or unappreciated. Thank you. --Thereen (discuss • contribs) 16:27, 3 May 2011 (UTC)

Reviewer Flag
I occasionally make minor edits to cookbooks, and it would be rather nice to be able to have them visible immediately. Would you be able to grant me the reviewer flag? (I already have the flag on the English Wikipedia) Ronk01 (discuss • contribs) 22:04, 18 June 2011 (UTC)
 * You will need to request it at WB:RFP please. Reviewer is granted automatically by "the system" once a certain set of conditions are met. Thanks QU TalkQu 23:23, 18 June 2011 (UTC)

No problem
I was "defending" the rational fail of the second RfD and comparing with the first, the nominator and the argumentation for deletion is the same. No problem I added a small explanation of my intention to address any confusion. --Panic (discuss • contribs) 15:08, 10 July 2011 (UTC)
 * Oh sorry, I should have performed a better exegesis of your comment before moving it. Recent Runes (discuss • contribs) 20:01, 10 July 2011 (UTC)

"British vs. American spelling"
"Preferred variant"? That's not my "preferred variant" but the way a European have rights to learn European history.

Have I ever "preferred" pages on American subjects??83.149.9.196 (discuss) 04:47, 30 August 2011 (UTC)/Josh
 * /Validation & correction - JLincoln (discuss • contribs) 05:35, 30 August 2011 (UTC) PS. Sorry for excessive emotions:)

A user page
May I put the template on my user page? I'm not a native, but my only language used on English projects is British English. I'm not a postgraduate in it, and I do mistakes.. Nonetheless, I hope I am apt to apprehend the grammatical structure of the language and do link it with the phonological system. I'd like to mark the language I operate with. JLincoln (discuss • contribs) 06:06, 30 August 2011 (UTC)
 * Which user boxes to show on your user page is entirely your choice. Recent Runes (discuss • contribs) 16:53, 3 September 2011 (UTC)

Thanks for the welcome!
Thanks for the welcome! I probably won't get too involved in the near future due to a slight oversupply of interesting projects on Wikipedia, but will of course make fixes as and when I find reason to do so. --Slashme (discuss • contribs) 18:11, 4 September 2011 (UTC)

Belated thanks. Sidelight12 (discuss • contribs) 23:55, 2 October 2012 (UTC)

WCI 2011 Proposal :Accelerating Wikibooks. Help Needed!
Hello!

I will be delivering a Talk at the Wikimedia Conference India 2011 on the topic of "Accelerating Wikibooks".

Over the next few days, I aim to make the proposal more and more wholesome and relevant. I'd like to discuss with you about the proposal and hope you can recommend me a few names on Wikibooks with whom I can discuss this.

I'd be very happy if you could discuss the proposal at User:Thewinster/Accelerating_Wikibooks

--Thewinster (discuss • contribs) 08:20, 26 September 2011 (UTC)

Summary of the proposal
This is not a summary of the final talk, only a tentative guideline.

 * Create Roadmaps for a book
 * Define Learning Outcomes
 * Annotate and Discuss new content available from around the web.
 * Minor tweaks and fixes which concentrate on crowdsourcing.
 * Identifying Small Contribution that advance a book and designing good UIs and triggers according to B.J. Fogg's Behavior Change Model, 8 Step Design Process. The paper can be found here at Persuasive Design : Eight Step Process by B. J. Fogg

Probable edit history removal
Check High School Earth Science/Recent Space Exploration since it is personal information and the editor is unregistered this should probably be removed from the edit history. --Panic (discuss • contribs) 06:18, 24 January 2012 (UTC)
 * Yes that sounds right. Recent Runes (discuss • contribs) 19:57, 24 January 2012 (UTC)

Bored
You really must be bored by now ;-) I have a bot for adding book categories but even it would be bored after adding as many as you have! QU TalkQu 22:20, 20 March 2012 (UTC)
 * Yes, it is rather boring - though sometimes I have spotted other problems which might otherwise have been missed; e.g. pages floating ouside the book structure they should be part of. There are also some odd pages like Canadian_Criminal_Evidence/Observation, which I don't quite understand. I suppose there must be some drawbacks or limitations to the bot, or you would be running it on a regular basis already. Recent Runes (discuss • contribs) 22:42, 20 March 2012 (UTC)
 * There are a number of pages in that book that are odd, like self referencing redirects. The bot "problem" is that about 50% of the book's it identifies for edits have some other problem, much as you've probably seen. The other thing the bot does - adding a reference section where one is missing - also turns up lots of errors of unclosed ref tags. Still, it beats doing all the work by hand. QU TalkQu 22:54, 20 March 2012 (UTC)
 * I can't point to any examples but I had the idea that some books deliberately left out reference sections on the pages in order to gather them all together in an appendix in the printed version. Recent Runes (discuss • contribs) 23:03, 20 March 2012 (UTC)
 * If you can run your bot to just clear the current backlog of uncategorised sub-pages by putting in the BookCats, then the ongoing rate of new page creation might be manageable by hand. I'm sure there will still be plenty of other really boring tasks left over to help mop up my spare time.... Recent Runes (discuss • contribs) 01:06, 21 March 2012 (UTC)
 * Sure I can do that over the next couple of days QU TalkQu 21:52, 21 March 2012 (UTC)
 * Done up to "PHP". There may be a couple missed as some pages are in a category but not in a book category - for example, in "chapter stubs". I'll check the 100 odd that I did tonight during the morning tomorrow then do the rest tomorrow evening. The uncat special page takes a while to update so we won't see the results for a while QU TalkQu 22:22, 21 March 2012 (UTC)
 * All of them done now except a couple of root pages that need adding. QU TalkQu 16:35, 21 April 2012 (UTC)
 * OK, thanks QU. Recent Runes (discuss • contribs) 20:29, 22 April 2012 (UTC)

Italian page on Mizar32 book
Thanks, but it's not part of the book, it's a draft of an article for a local magazine, which will be deleted when it is sent to the editors. We just put it there as a collaborative place to edit, since it is based on a translation of the Introduction. It will disappear in time.

In fact, we may do an Italian translation of the book - in that case we will be sure to use the italian wikibooks site as you suggest. Cheers Martinwguy2 (discuss • contribs) 14:34, 23 October 2013 (UTC)
 * "it's a draft of an article for a local magazine, which will be deleted when it is sent to the editors.". Wikibooks is not a web host - you are not allowed to use it for the purpose you describe. QuiteUnusual (discuss • contribs) 15:26, 23 October 2013 (UTC)

Introduction to Philosophical Logic/Arguments
You presently have the most current revision of the Introduction to Philosophical Logic/Arguments page found here. I would like your input on what looks like a mistake: Under the "Sound Arguments" section, a sound argument by definition must satisfy all of three conditions, one of which is that it must contain valid logic, and another it must have true premises. Also under the "Valid Arguments" section a valid argument is an argument for which the following implication holds: true premises ⇒ true conclusion. Then a sound argument which by definition must be valid, and which has true premises, must have a true conclusion. Yet conflicting information follows with examples of "sound" arguments which have true premises and a false conclusion (e.g. "Grass is green ... ⇒ Pigs can fly"). I believe this confusion follows from a faulty definition for an argument on the same page, that is, an argument must have premises, a conclusion and a turnstile. I believe an argument should be defined as a set of statements of which there are premises, a conclusion and an inference (i.e. support for the conclusion based on the premises) - a turnstile being indicative only of an inference rather than definitive evidence of such. Under such a definition, the set of statements asserting that pigs can fly is just such, but not an argument because it contains no inference. I believe my position is justified based on the wiki page for soundness. Please will you provide feedback? Rcgardne (discuss • contribs) 20:31, 25 February 2014 (UTC)
 * Hi Rcgarde! Thanks for your question and interest in Wikibooks. Unfortunately most of the material on this page was written by an anonymous author many years ago and I have only edited the page to revert minor vandalism. I don't really have sufficient knowledge of philosophical logic to comment intelligently on the subject matter. If you want to initiate a general discussion with others who may be watching this page, your best option is add your comments to the talk page associated with the material. Best regards, Recent Runes (discuss • contribs) 23:30, 25 February 2014 (UTC).

Interview for Master Thesis?
Hi Recent Runes,

We are two students doing our M.Sc. thesis about motivational factors to contribute with Open Educational Content and we need people to interview. We were wondering if you would like to help us? The interview won't take long and we can do it over Skype. Interested? Please send me an e-mail me at ottve507@student.liu.se or leave us a reply here.

We would be really happy if you choose help us!

Regards Otto

 * Well, I am not interested in this kind of study and I don't think it would advance Wikibooks much, so I decline your invitation. Recent Runes (discuss • contribs) 22:30, 20 April 2014 (UTC)

Deadminship
Please see Removal of permissions, where your deadminship for inactivity is being discussed. Thanks Leaderboard (discuss • contribs) 12:16, 19 June 2018 (UTC)

title: User talk:Recent Runes


text:
User:Recent Runes

Handy Links
Templates/User_notices

Credits
The original "Lecturer in Recent Runes" is an obscure member of staff at the Unseen University on the Discworld. He is often found at supper with his colleague, the Chair of Indefinite Studies.

Doppelgangers
I post quite often on Wordreference.com.

I am not a registered Last.fm listener.

I do not write about Singaporean cuisine.

Experiments
/French Word List/

/French Vocabulary Checklist/

/French Book Overview/

/French Verb Families/

Grammar

Pronunciation

Gender

/My scratchpad/

Basic_grammar

X-SAMPA

Click for message:

Working Documents
(On Google Docs.)

pronunciation-analysis.ods

Quotes
"Using OpenOffice instead of Microsoft Office is like eating organic food instead of conventional. It is not the experience, or the expense, or the convenience that matters. It is the knowledge that you are a better person for so doing." Thank you, Verity Stob.

title: User:Recent Runes


text:
User talk:Vandal 0nly account

Blocked
Sorry but your user name is unacceptable to the wiki - choose another one maybe. Thanks -- Herby talk thyme 10:50, 22 August 2007 (UTC)

title: User talk:Vandal 0nly account


text:
Cookbook talk:Buckeyes

Here is a similar recipe which came from OSU Magazine. Everywhere I bring buckeyes or see them for sale people marvel at how nice these look, not lumpy and ugly like the recipe they use.

3 cups creamy peanut butter 1 cup butter (2 sticks), soft (room temperature) 2 pounds powdered sugar 2 teaspoons vanilla milk chocolate for dipping (not semi-sweet), about 2.5 to 3 of the 11.5 oz bags plus small amount crisco for thinning chocolate if desired baking sheet, wax paper, toothpick, double broiler

Mix first four by hand. Use a large bowl (I use 8 qt.) for ease of mixing. Also recommend mixing with one hand until powdered sugar is basically in butters then switch to two hands to get it creamy. Roll into small balls in hands and place on wax paper on baking sheet. Typically makes eighty to ninety. Refrigerate to cool (important). This helps the chocolate stop running when dipping. Melt the chocolate in a double broiler. A larger bottom pan allows the water temperature to be more easily controlled. Use toothpick to stick into ball and dip into chocolate leaving some peanut butter exposed as in the classic buckeye shape. Place back on wax paper to cool. Refrigerate, or even better is freezing.

title: Cookbook talk:Buckeyes


text:
How To Build A Teardrop Trailer/Development

This page is intended for "in process" text and ideas.


text:
Java Persistence/Mapping

= Mapping = The first thing that you need to do to persist something in Java is define how it is to be persisted. This is called the mapping process (details). There have been many different solutions to the mapping process over the years, including some object databases that didn't require you map anything but let you persist anything directly. Object-relational mapping tools that would generate an object model for a data model that included the mapping and persistence logic in it. ORM products that provided mapping tools to allow the mapping of an existing object model to an existing data model and stored this mapping meta-data in flat files, database tables, XML and finally annotations.

In JPA, mappings can either be stored through Java annotations, or in XML files. One significant aspect of JPA is that only the minimal amount of mapping is required. JPA implementations are required to provide defaults for almost all aspects of mapping an object.

The minimum requirement to mapping an object in JPA is to define which objects can be persisted. This is done through either marking the class with the  annotation, or adding an   tag for the class in the persistence unit's ORM XML file. Also the primary key, or unique identifier attribute(s) must be defined for the class. This is done through marking one of the class' fields or properties (get method) with the  annotation, or adding an   tag for the class' attribute in the ORM XML file.

The JPA implementation will default all other mapping information, including defaulting the table name, column names for all defined fields or properties, cardinality and mapping of relationships, all SQL and persistence logic for accessing the objects. Most JPA implementations also provide the option of generating the database tables at runtime, so very little work is required by the developer to rapidly develop a persistent JPA application.

Access Type
JPA allows annotations to be placed on either the class field, or on the  method for the property. This defines the access type of the class, which is either  or. Either all annotations must be on the fields, or all annotations on the  methods, but not both (unless the   annotation is used). JPA does not define a default access type (oddly enough), so the default may depend on the JPA provider. The default is assumed to occur based on where the  annotation is placed, if placed on a field, then the class is using   access, if placed on a   method, then the class is using   access. The access type can also be defined through XML on the  element. The access type can be configured using the annotation or   XML attribute.

For  access the class field value will be accessed directly to store and load the value from the database. This is normally done either through reflection, or through generated byte code, but depends on the JPA provider and configuration. The field can be  or any other access type. is normally safer, as it avoids any unwanted side-effect code that may occur in the application /  methods.

For  access the class   and   methods will be used to store and load the value from the database. This is normally done either through reflection, or through generated byte code, but depends on the JPA provider and configuration. has the advantage of allowing the application to perform conversion of the database value when storing it in the object. The user should be careful to not put any side-effects in the /  methods that could interfere with persistence.

JPA 2.0 allows the access type to also be set on a specific field or  method. This allows for the class to use one default access mechanism, but for one attribute to use a different access type. This can be used for attributes that need to be converted through a set of database specific,  , or allow a specific attribute to avoid side-affects in its  ,   methods. This is done through specifying the  annotation or XML attribute on the mapped attribute. You may also need to mark the field/property as  if it has a different attribute name than the mapped attribute.

JPA allows for a persistence unit default  element to be set in   or entity default in.

 * TopLink / EclipseLink : Default to using  access.  If weaving is enabled, and field access is used the fields are accessed directly using generated byte-code.  If not using weaving, or using property access, reflection is used.  EclipseLink also supports a third access type , which can be used from the ORM XML to map dynamic properties stored in a properties Map.

My annotations are ignored

 * This typically occurs when you annotate both the fields and methods (properties) of the class. You must choose either field or property access, and be consistent.  Also when annotating properties you must put the annotation on the get method, not the set method.  Also ensure that you have not defined the same mappings in XML, which may be overriding the annotations.  You may also have a classpath issue, such as having an old version of the class on the classpath.

Odd behavior

 * There are many reasons that odd behavior can occur with persistence. One common issue that can cause odd behavior is using property access and putting side effects in your get or set methods.  For this reason it is generally recommended to use field access in mapping, i.e. putting your annotations on your variables not your get methods.

 * For example consider:

 * This may look innocent, but these side effects can have unexpected consequences. For example if the relationship was   this would have the effect of always instantiating the collection when set from the database.  It could also have consequences with certain JPA implementations for persisting, merging and other operations, causing duplicate inserts, missed updates, or a corrupt object model.

 * I have also seen simply incorrect property methods, such as a get method that always returns a new object, or a copy, or set methods that don't actually set the value.

 * In general if you are going to use property access, ensure your property methods are free of side effects. Perhaps even use different property methods than your application uses.

/Mapping

title: Java Persistence/Mapping


text:
Template:Animal Behavior/Example stub

'' This is a stub about a specific behavior. You can help Wikibooks by [ expanding] this section of the Animal Behavior Book. ''

title: Template:Animal Behavior/Example stub


text:
Advanced Mathematics for Engineers and Scientists/The Front Cover

Common Operators
Operators are shown applied to the scalar $$u(x_1, x_2, \cdots, x_n)$$ or the vector field $$\mathbf{v}(x_1, x_2, \cdots, x_n) = (v_1, v_2, \cdots, v_n)\,$$.

3D Operators in Different Coordinate Systems
Cartesian representations appear in the table above. The $$(r, \theta, \phi) = (\mathrm{distance, azimuth, colatitude})$$ convention is used for spherical coordinates.


text:
User:Whiteknight/Notes/Signals and Systems

Book Foundry — All Books
 * 22 December 2008: Book has some rough edges but has been growing nicely with contributions from several other users. Needs more content and more examples throughout.


text:
How To Build A Teardrop Trailer/Trailer

Our Simple Teardrop
For the simple teardrop we will discuss the trailer from Harbor Freight as it is the cheapest on the market and even cheaper with the store's periodic sales. The Harbor Freight item number is 90154-7VGA.

The Harbor Freight trailer in particular is a 1175 pound capacity "folding" trailer. It generally runs for about $250 on sale. It has 12 inch 4 lug spoked wheels and leaf spring suspension. The bed is 4 foot by 8 foot which is what the dimensions of the teardrop trailer will be. The trailer comes in a box and you have to assemble it - which is a good thing since it will not be assembled exactly according to its plans. The teardrop needs a non-folding trailer with the axle 40% of the distance from the rear of the trailer bed to the front of the trailer bed. The reason for making it non-folding is because the trailer will become a solid unit with the teardrop body. The reason for moving the axle is 2 fold. First, there needs to be clearance for the side doors and second, the weight of a full galley and storage area in the back will be over the axle. 40% is not absolute. You may want to change this based upon how much weight you plan to put on the front and rear of the trailer (via what you are going to build into the trailer).

To make the Harbor Freight folding 4x8 trailer a non-folding trailer, simply take the 2 crossmembers originally used in the middle (where the trailer folds) and place them inside the side members (which will be end-butted) to join the side members together. All the steel frame parts are "C" channels and the cross members will slide right into the inside of the side member as they are dimensionally smaller. Of course, there will now be an area in the middle of the frame will no cross members. Some people make a wooden cross member for floor support but its really not necessary.

The other deviation from the normal assembly is moving the axle back from the center of the trailer bed to around 40% from the rear. The good news is that the HF trailer has its leaf spring mounts on one piece of angle iron. So you can just slide the axle anywhere you want. The bad news is that you will still have to drill new holes for mounting it. You may be able to find one or two holes that line up with other holes in the frame rails to reduce the number of holes you have to drill. I can tell you that having the axle 36 inches from the rear of the trailer will give you about 120 pound tongue weight fully loaded with camping gear stored behind the axle in the galley. I would recommend mounting the axle a little farther forward than 36", however, if you want a tongue box and are going to have significant weighted gear laying on the bed while traveling.

Now would also be a good time to take a hacksaw and cut off the dolly caster mounts. They are the 6 inch pieces of angle iron perpendicularly welded to the leaf spring mounts. This is optional.

The other issue to consider is that the 2 crossmembers you used to join the side rails are now probably over-lapping the side rails where you want to drill so you'll have 2 layers of steel to drill through. You may consider cutting one of the cross members in half and use the half pieces for joining the side rails. This may avoid the overlap.

In any case no one can really tell you how and where to drill the holes as it will be unique for your trailer.

The rest of the trailer frame assembles as per the directions. You don't need to install the fenders, fender mounts, tail lights or wiring yet.

One look ahead issue you should decide at this point is whether you want frame bolts sticking through the top of the frame. The next step is making the wooden trailer bed. If you have bolts sticking up on top of the rails, you will need to make reliefs in your wooden trailer bed. The other option is to put all the frame bolts through the sides and bottom of the rails so that you have no interference on the top of the rails.

There have been cases where the trailer hubs have been shipped with little bearing grease and/or metal filings in the grease. Now would be a good time to remove the hubs, clean and repack the bearings for your own piece of mind.

Lowering the trailer
Some builders of teardrops desire a more lowered look reminiscent of trailers built in the 40's and 50's. In order to achieve this they will move the axle from its attachment points on the bottom of the leaf springs to on top of the leaf springs. The axle is held on to the leaf springs with U bolts.

Axles may have a preset camber to them so it is important to keep the axle in the same orientation when it is re-mounted. In other words, the top of the axle should still be the top.

This is also a safety issue as you are stressing the U bolts in a manner that was not intended. Suspension parts have been selected by the manufacturer based on loads and strengths for the given application. Changing the application could cause a the part to fail (the U bolts in this case).

Classic custom teardrop trailer
If you really want the classic teardrop trailer look then you really need to make or buy a trailer frame and use torsion axles. Torsion axles are simple to install with only four bolts, and are available in stock sizes from outlets such as Northen Tool and Tractor Supply, however these axles lightest load is 2000 pounds. If you are building your own Teardrop, you will probably end up wanting a custom size which is available for the same price, around $200. You can designate the width of you own trailer frame, the hub face to hub face distance you desire, and set the start angle for the trailing arm to your specification for a lower or higher stance, and de-rate the axle load to as you desire.

Warning
One option you should never consider is to build a "frameless" trailer (i.e. wooden frame). This is a dangerous practice luckily only attempted by a few (usually to be pulled only by antique cars that don't travel at highway speeds). You are making a home-made trailer for the public roadways. You don't want any chance that your trailer will fall apart on the road and injure another person.

>>Next:Trailer Bed

title: How To Build A Teardrop Trailer/Trailer


text:
User:Whiteknight/EE Curriculum

This page is going to serve as an outline for a generalized curriculum for an undergraduate degree in electrical engineering.

Prerequisites
Students should have a basic understanding of differential calculus before starting. Students are expected to maintain a regular progression of mathematics concurrently with their engineering studies.

By Semester
This curriculum, presented by-semester, is designed for a 4 year degree program. In addition the courses here, many universities will also require several "general education" courses to be taken. Also, many courses here will benefit strongly from the inclusion of lab work, which will likely be counted as additional courses.

This curriculum attempts to build from simple foundations to very complicated subjects in a natural way. Subjects are spread out so each semester will have a good sampling of various different topics with minimal subject overlap. This curriculum will present many subjects without focusing too much on any one particular discipline. Students will be prepared for graduate studies in a wide variety of areas.

Many books here contain more then 1 semesters worth of information. It is up to the individual instructors to decide how much information to cover and to what depth.

Semester 1

 * Differential Calculus
 * C Programming
 * Mechanics

Semester 2

 * Integral Calculus
 * Circuit Theory
 * Digital Circuits

Semester 3

 * Linear Algebra
 * Multivariable Calculus
 * MATLAB Programming

Semester 4

 * Differential Equations
 * Electrodynamics
 * Signals and Systems

Semester 5

 * Semiconductors
 * Assembly Language (any dialect)
 * Electric Power

Semester 6

 * Signal Processing
 * Embedded Systems
 * Communication Systems

Semester 7

 * Communication Networks
 * Programmable Logic
 * Control Systems

Semester 8

 * Data Coding Theory
 * Digital Signal Processing
 * Microprocessor Design

title: User:Whiteknight/EE Curriculum


text:
Data Coding Theory

This book will study the use of coding in digital communications. This book will serve as an accompaniment to the Communication Systems book, which will discuss the underlying systems in more detail.

This book is newly created and needs help. Since this is a wiki, you can help edit it.

Table of Contents

 * Introduction

Basics

 * /Information/
 * /Transmission Codes/
 * /Shannon capacity/
 * /Modulo-2 Arithmetic/
 * /Data Compression/

Error detection

 * /Error detection/

Forward Error Correction

 * /Forward Error Correction/
 * /Repetition Codes/
 * /Block Codes/
 * /Hamming Codes/
 * /Convolutional Turbo Codes/
 * /Block Turbo Codes/

Cyclic Codes

 * /Cyclic Codes/
 * /Bose Chaudhuri Hocqenghem Codes/
 * /Reed-Solomon Codes/

Algebraic Geometric Codes

 * /Riemann Roch theorem/
 * /Simple construction/
 * /Error locators/
 * /Majority voting/

Prefix Coding

 * /Prefix Coding/
 * /Huffman Coding/

Convolutional Codes

 * /Convolutional Codes/
 * /Encoding Trees/
 * /Trellis/
 * /State Diagrams/
 * /Viterbi Algorithm/

Interleaving

 * /Interleaving/
 * /Block Interleaving/
 * /Convolutional Interleaving/
 * /Repetitive Interleaving/

Spread-Spectrum Codes

 * /Spectrum Spreading/
 * /Walsh-Hadamard Codes/
 * /Maximal-Length Sequence/
 * /Gold Code/

Resources and Licensing

 * /Resources/
 * /Licensing/

title: Data Coding Theory


text:
Template:Data Coding Theory/Page

 Data Coding Theory

title: Template:Data Coding Theory/Page


text: Category:Book:Data Coding Theory

title: Category:Book:Data Coding Theory


text:
Contemporary Educational Psychology/Chapter 4: Student Diversity/Gender Differences

Gender Differences in the Classroom
Gender roles are the patterns of behaviors, attitudes, and expectations associated with a particular sex—with being either male or female. For clarity, psychologists sometimes distinguish gender differences, which are related to social roles, from sex differences, which are related only to physiology and anatomy. Using this terminology, gender matters more than sex when teaching (in spite of any jokes to the contrary!).

Although there are many exceptions, boys and girls do differ on average in ways that parallel conventional gender stereotypes and that affect how the sexes behave at school and in class. The differences have to do with physical behaviors, styles of social interaction, academic motivations, behaviors, and choices. They have a variety of sources—primarily parents, peers, and the media. Teachers are certainly not the primary cause of gender role differences, but sometimes teachers influence them by their responses to and choices made on behalf of students.

Physical Differences in Gender Roles
Physically, boys tend to be more active than girls, and by the same token more restless if they have to sit for long periods. They are also more prone than girls to rely on physical aggression if they are frustrated (Espelage & Swearer, 2004). Both tendencies are inconsistent with the usual demands of classroom life, of course, and make it a little more likely that school will be a difficult experience for boys, even for boys who never actually get in trouble for being restless or aggressive.

During the first two or three years of elementary school, gross motor skills develop at almost the same average rate for boys and girls. As a group, both sexes can run, jump, throw a ball, and the like with about equal ease, though there are of course wide significant differences among individuals of both sexes. Toward the end of elementary school, however, boys pull ahead of girls at these skills even though neither sex has begun yet to experience puberty. The most likely reason is that boys participate more actively in formal and informal sports because of expectations and support from parents, peers, and society (Braddock, Sokol-Katz, Greene, & Basinger-Fleischman, 2005; Messner, Duncan, & Cooky, 2003). Puberty eventually adds to this advantage by making boys taller and stronger than girls, on average, and therefore more suited at least for sports that rely on height and strength.

In thinking about these differences, keep in mind that they refer to average trends and that there are numerous individual exceptions. Every teacher knows of individual boys who are not athletic, for example, or of particular girls who are especially restless in class. The individual differences mean, among other things, that it is hard to justify providing different levels of support or resources to boys than to girls for sports, athletics, or physical education. The differences also suggest, though, that individual students who contradict gender stereotypes about physical abilities may benefit from emotional support or affirmation from teachers, simply because they may be less likely than usual to get such affirmation from elsewhere.

Social Differences in Gender Roles
When relaxing socially, boys more often gravitate to large groups. Whether on the playground, in a school hallway, or on the street, boys’ social groups tend literally to fill up a lot of space, and often include significant amounts of roughhousing as well as organized and “semi-organized” competitive games or sports (Maccoby, 2002). Girls, for their part, are more likely to seek and maintain one or two close friends and to share more intimate information and feelings with these individuals. To the extent that these gender differences occur, they can make girls less visible or noticeable than boys, at least in leisure play situations where children or youth choose their companions freely. As with physical differences, however, keep in mind that differences in social interactions do not occur uniformly for all boys and girls. There are boys with close friends, contradicting the general trend, and girls who play primarily in large groups.

Differences in social interaction styles happen in the classroom as well. Boys, on average, are more likely to speak up during a class discussion—sometimes even if not called on, or even if they do not know as much about the topic as others in the class (Sadker, 2002). When working on a project in a small co-ed group, furthermore they have a tendency to ignore girls’ comments and contributions to the group. In this respect co-ed student groups parallel interaction patterns in many parts of society, where men also have a tendency to ignore women’s comments and contributions (Tannen, 2001).

Academic and Cognitive Differences in the Genders
On average, girls are more motivated than boys to perform well in school, at least during elementary school. By the time girls reach high school, however, some may try to down play their own academic ability in order make themselves more likeable by both sexes (Davies, 2005). Even if this occurs, though, it does not affect their grades: from kindergarten through twelfth grade, girls earn slightly higher average grades than boys (Freeman, 2004). This fact does not lead to similar achievement, however, because as youngsters move into high school, they tend to choose courses or subjects conventionally associated with their gender—math and science for boys, in particular, and literature and the arts for girls. By the end of high school, this difference in course selection makes a measurable difference in boys’ and girls’ academic performance in these subjects.

But again, consider my caution about stereotyping: there are individuals of both sexes whose behaviors and choices run counter to the group trends. Differences within each gender group generally are far larger than any differences between the groups. A good example is the “difference” in cognitive ability of boys and girls. Many studies have found none at all. A few others have found small differences, with boys slightly better at math and girls slightly better at reading and literature. Still other studies have found the differences not only to be small, but to be getting smaller in recent years than compared to earlier studies. Collectively the findings about cognitive abilities are virtually “non-findings,” and it is worth asking why gender differences have therefore been studied and discussed so much for so many years (Hyde, 2005).

How Teachers Influence Gender Roles
Teachers often intend to interact with both sexes equally, and frequently succeed at doing so. Research has found, though, that they do sometimes respond to boys and girls differently, perhaps without realizing it. Three kinds of differences have been noticed. One is the overall amount of attention paid to each sex; the second is the visibility or “publicity” of conversations; and the third is the type of behavior that prompts teachers to support or criticize students.

Attention Paid
In general teachers interact with boys more often than with girls by a margin of 10 to 30 percent, depending on the grade level of the students and the personality of the teacher (Measor & Sykes, 1992). One possible reason for the difference is related to the greater assertiveness of boys that I already noted; if boys are speaking up more frequently in discussions or at other times, then a teacher may be “forced” to pay more attention to them. Another possibility is that some teachers may feel that boys are especially prone to getting into mischief, so they may interact with them more frequently to keep them focused on the task at hand (Erden & Wolfgang, 2004). Still another possibility is that boys, compared to girls, may interact in a wider variety of styles and situations, so there may simply be richer opportunities to interact with them. This last possibility is partially supported by another gender difference in classroom interaction, the amount of public versus private talk.

Public Talk versus Private Talk
Teachers have a tendency to talk to boys from a greater physical distance than when they talk to girls (Wilkinson & Marrett, 1985). The difference may be both a cause and an effect of general gender expectations expressive nurturing is expected more often of girls and women, and a businesslike task orientation is expected more often of boys and men, particularly in mixed-sex groups (Basow & Rubenfeld, 2003; Myaskovsky, Unikel, & Dew, 2005). Whatever the reason, the effect is to give interactions with boys more “publicity.” When two people converse with each other from across the classroom, many others can overhear them; when they are at each other’s elbows, though, few others can overhear.

Distributing Praise and Criticism
In spite of most teachers’ desire to be fair to all students, it turns out that they sometimes distribute praise and criticism differently to boys and girls. The differences are summarized in Table 4-2. The tendency is to praise boys more than girls for displaying knowledge correctly, but to criticize girls more than boys for displaying knowledge incorrectly (Delamont, 1996). Another way of stating this difference is by what teachers tend to overlook: with boys, they tend to overlook wrong answers, but with girls, they tend to overlook right answers. The result (which is probably unintended) is a tendency to make boys’ knowledge seem more important and boys themselves more competent. A second result is the other side of this coin: a tendency to make girls’ knowledge less visible and girls themselves less competent.

Gender differences also occur in the realm of classroom behavior. Teachers tend to praise girls for “good” behavior, regardless of its relevance to content or to the lesson at hand, and tend to criticize boys for “bad” or inappropriate behavior (Golombok & Fivush, 1994). This difference can also be stated in terms of what teachers overlook: with girls, they tend to overlook behavior that is not appropriate, but with boys they tend to overlook behavior that is appropriate. The net result in this case is to make girls’ seem more good than they may really be, and also to make their “goodness” seem more important than their academic competence. By the same token, the teacher’s patterns of response imply that boys are more “bad” than they may really be.

At first glance, the gender differences in interaction can seem discouraging and critical of teachers because they imply that teachers as a group are biased about gender. But this conclusion is too simplistic for a couple of reasons. One is that like all differences between groups, interaction patterns are trends, and as such they hide a lot of variation within them. The other is that the trends suggest what often tends in fact to happen, not what can in fact happen if a teacher consciously sets about to avoid interaction patterns like the ones I have described. Fortunately for us all, teaching does not need to be unthinking; we have choices that we can make, even during a busy class!

(return to Chapter 4...)


text:
Template:Communication Networks/Page

 Communication Networks

title: Template:Communication Networks/Page


text:
Category:Book:Communication Networks

fr:Catégorie:Réseaux informatiques

title: Category:Book:Communication Networks


text:
Communication Systems/Resources

Wikibooks

 * Communication Theory
 * Voice over IP
 * Internet Technologies
 * Internet Engineering
 * Analog and Digital Conversion
 * Wireless Mesh Networks
 * Data Coding Theory
 * Communication Networks

Wikipedia Articles

 * History Of Internet

Books

 * Garcia and Widjaja, Communication Networks: Fundamental Concepts and Key Architectures, Second Edition, McGraw Hill, 2004. ISBN 007246352X
 * Stern and Mahmoud, Communication Systems: Analysis and Design, Prentice Hall, 2004. ISBN 0130402680
 * Silage, Dennis, Digital Communication Systems Using SystemVue, DaVinci Engineering Press, 2006. ISBN 1584508507
 * Haykin and Moher, Modern Wireless Communications, Prentice Hall, 2005. ISBN 0130224723
 * Gibson, Jerry D. Principles of Digital and Analog Communications, Second Edition, Macmillan Publishing Company, 1989. ISBN 0023418605

Online Tutorials
Fundamentals of Communication by Alcatel

title: Communication Systems/Resources


text: Communication Systems/Licensing

title: Communication Systems/Licensing


text:
Communication Networks/Introduction

What is this book about?
This book is about electrical communications networks, including both analog, digital, and hybrid networks. We will look at both broadcast and bi-directional data networks. This book will focus attention on existing technology, and will not be concerned particularly with too much mathematical theory.

What will this book cover?
This book is an example-driven book. We will use examples of real world communication technologies and communication networks to teach and demonstrate some of the principles behind communication theory. We will discuss examples of communication networks, and introduce the various mathematical principles that those networks rely on.

Who is this book for?
This book is intended for an advanced undergraduate in electrical engineering or a related field.

What are the prerequisites?
The reader of this book should have a solid background knowledge of the subjects discussed in Signals and Systems and Communication Systems. The reader should also be familiar with Algebra and Calculus, although they are not strictly required.

What are networks?
The idea of networking is an old one. A network can be defined as "A collection of two or more devices which are interconnected using common protocols to exchange data."

"A collection of two or more devices.."
A network can be of practically any size. The only practical limitations are those imposed by the protocols which it implements. A small home based network may be comprised of simply 2 computers which share a common connection to the internet. A larger example would be a corporate network where every employee in each department of the corporation has their own workstation, which they use to access not only the internet, but also the servers deployed throughout the network, and the workstations of other employees. Furthermore, a network device is not constrained to just a PC workstation. There are many devices which may be connected to a network, including routers, switches, bridges, access points, firewalls, etc.

"..which are interconnected using common protocols.."
The fundamental requirement for two devices is to use the same protocol for exchanging information. This is no different than human communication, for instance. In this analogy, the language used can be considered the protocol. If I want to initiate communication with someone else, the fundamental requirement is that we both know how to speak the same language, regardless of what that language is. In the same way, in order for two devices to exchange information, they must be aware of a common set of rules or specifications to communicate with each other. The primary purpose of a network is to exchange data. The devices connected to a network may have one (or more) of several roles in accomplishing that purpose. The most common would be your PC workstation or a server, where data is originated and stored. Other devices, such as a router, help in getting that data from one point on a network to another. In order to satisfy the requirements of a network, the original developers recognized the need for open standards so that any entity can contribute to, and use network technology. The International Organization for Standards (ISO) developed the Open Systems Interconnection (OSI) reference 7-layer model, which defines the standards for how networks operate.

title: Communication Networks/Introduction


text:
Data Coding Theory/Introduction

What is This Book About?
This book is about the use of coding in digital communication systems for a variety of purposes. These can include, but are not limited to: spread-spectrum codes, error correction or prevention codes, and data encryption.

Who is This Book For?
This book is for an advanced undergraduate in the area of electrical engineering or a related field.

What are the Prerequisites?
The reader of this book should have a solid understanding of the subjections covered in Signals and Systems and well as Communication Systems. The reader must also have a solid working background in both Algebra and Linear Algebra, in addition to Calculus.

title: Data Coding Theory/Introduction


text:
Communication Networks/Analog and Digital Radio

HD Radio
In the United States, analog radio broadcasts has been operating for many years in two distinct service bands: AM and FM. AM signals were relatively low frequency, measured in Kilohertz, and used amplitude modulation. FM radio stations were higher frequencies, measured in megahertz, and used frequency modulation.

Recently, however, a new type of radio broadcast was introduced, a digital type known as High-Definition (HD) radio.

Spectrum of HD Radio
HD radio stations, because they are digital and therefore suffer fewer of the nonlinearity effects of analog modulation occupy a smaller bandwidth then traditional radio stations. To save space in the spectrum, HD radio stations are broadcast in the buffer regions between analog radio stations. Originally, these buffer regions were created because there was bleed-through between radio stations because of nonlinearities in the transmitters. Modern transmitters, in an effort to save energy, have mostly reduced these errors. Because of this, the buffer regions between stations are mostly unused and free from noise and interference.

Existing radio receivers can detect these HD channels, but an addition of a digital demodulator and signal reader is necessary to read them.


text:
Data Coding Theory/Information

Encoders/Decoders
Devices that take an input data sequence, and output a transmission code are called encoders. Devices that receive a coded transmission, and output the original data are called decoders. Encoders and decoders can vary widely depending on what particular specification they are designed to meet.

Codes are designed for various reasons. Some of the reasons for using a code are:
 * Error Detection and Correction. The ability to find and correct errors that have been introduced by a noisy communication medium.
 * Data Compression. Some coding techniques allow large data to be reduced in size for faster communication.
 * Spectrum Spreading. Some codes allow a signal to be spread across many frequencies for many benefits, including resistance to jamming and interference, and allowing multiple users to send data simultaneously over the same frequency range.
 * Encryption. Some codes can be used to obscure information from all except the intended recipient.

This book cannot possibly cover all the topics associated with data compression, encryption, or long-distance communications. For that topics, the reader is referred instead to various other Wikibooks and other resources. This book will discuss data coding, but will not necessarily be able to discuss all the uses or implementations of those codes.

Entropy
Let's say, hypothetically, that we have a particular code that contains bits that don't actually carry any information, but instead only serve to help out with the transmission. For instance, these could be start- and stop- bits to denote the beginning and end of an asynchronous transmission, CRC bits to provide error checking, or any number of different bits. These extra bits, then, are combined with the data bits to form a packet or a symbol. It is important to know what the average amount of information per symbol is, in a transmission system. We call this parameter entropy, and is measured in "bits per symbol". Note that this is not the same kind of entropy used in physics to describe energy dissipation. We will lable entropy with the variable H(S).

Let's say that our transmission alphabet contains K different symbols in the set S:

 * $$S = (S_0, S_1, S_2 ..., S_{K-1})$$

These different symbols can represent anything: bits, dibits, long sequences, etc. On a given transmission scheme, these different symbols will have different probabilities, Pk, depending on how likely each symbol is to be transmitted. We can define the entropy of our communication system with the following equation:

 * $$H(S) = \sum_{k = 0}^{K-1} P_k \log_2 \left(\frac{1}{Pk}\right)$$

From this equation, we can set some general bounds on H(S):

 * $$0 < H(S) < \log_2(K) $$

We can see that H(S) approaches the lower bound in a completely deterministic system, i.e. a system where the probability of a certain transmission is Pk = 1. We can also see that H(S) approaches the upper bound in the case when all the different symbols are equiprobable.

Code Length
We have an encoder that is receiving data input, and is outputting a particular code. This output code, by virtue of containing extra, non-data bits, is longer than the input data sequence. We can define the average output code length, using the following equation:

 * $$\bar{L} = \sum_{k = 0}^{K-1} P_k L_k$$

Where Pk is the probability of outputting each different transmission code, and Lk is the length of each code. For instance, let's say that we have an alphabet with 2 symbols:

S = {S0, S1} S0 = 101010, P0 = .5, L0 = 6 S1 = 1100,  P1 = .5, L1 = 4

We can use the above equation to find the average code length: 5.

Efficiency
The efficiency of a coding system is the ratio of the average information per symbol to the average code length. The maximum efficiency possible is 1, and can theoretically be obtained using a prefix code (discussed below).

title: Data Coding Theory/Information