# Pauker Manual

2007-12-15
Version 1.8

Pauker is a generic flashcard program. It uses a combination of ultra short-term, short-term, and long-term memory. You can use it to commit numerous facts to memory and never forget them ... things such as foreign language vocabulary, capitals, important dates, etc. This document provides an overview of the flashcard process, the usage and modification of the program.

## The Flashcard System

The flashcard system is an extremely efficient method for learning things by heart. Because of this, the method is popular among students of medicine, business administration, or law.

The system is extremely simple: Facts are separated into a question part and an answer part. The question part is written on the front side of the card, while the corresponding answer part is written on the reverse side of the card. Once several cards have been made, the learning process can begin.

To begin, several cards are taken from the batch and memorized quickly. This quick memorization should not last more than half a minute, and exercises your
ultra short-term memory. After that, the cards are reviewed again by looking at the question part and thinking the correct answer. If you are correct, the card is placed in the next, or the
short-term memory pile. However, if you have already forgotten the answer, the card returns to the unlearned pile. This step of the process should take no more than 15 minutes, or until you run out of cards.

Depending on the subject and your own learning capabilities, your short-term memory pile should now contain many cards. Repeating the above process again, you will try to move the cards from the short-term pile to the long-term
pile. If you are correct, the card is promoted to the next pile. If you are incorrect, the card is again returned to the unlearned pile.

Even the best long-term memory fades with time. This is why cards in the long-term pile expire. Cards in the first long-term memory pile expire after just one day. At that time, they should be repeated to refresh yourself. If you are correct, the card is moved one pile further, into the second long-term memory pile. Like before, if you are incorrect, the card is returned to the unlearned pile. Cards in the second long-term memory pile have a much longer shelf life than the first long-term pile. This system can be continued with an arbitrary number of long-term piles.

Learning with the flashcard system is fun. Flashcards are only truly efficient if you write down a timestamp for every card moved to a higher batch. This part of the process kills the fun. Pauker takes care of this element for you, keeping the fun level high and enabling you to fully concentrate on Pauking!

## Usage

This section explains how to start Pauker and how you can handle cards, batches, and lessons. Explanations for these terms are found above in the overview.

### Starting Pauker

After downloading the version x.y.z of Pauker you start the program by clicking on the file pauker-x.y.z.jar. On some systems you have to double-click the files you want to start. If both does not work you can execute the following command:

                        java -jar pauker-x.y.z.jar

There is a space between the command java and the option -jar!

### Creating a New Lesson

When Pauker is started, a window appears similar to the following one:

With the Add New Cards button, new cards are added to the current lesson. Pressing this button will open a dialog similar to the one shown below:

The following card editing functions are available:

Basic Editing

These are the well known editing functions undo, redo, cut, copy and paste.

Text Orientation

The left button sets the text orientation left-to-right, as needed e.g. by the most Western European Languages. The right button sets the text orientation right-to-left, as needed e.g. for inserting Arabic or Hebrew on a card side.

Insert TAB

Because the TAB key is used here to navigate between the dialog controls this button is needed for inserting a TAB into a card side.

Split Orientation

Here you can configure if the card sides should be displayed side by side or on top of each other.

Font properties

With these buttons the font, font size, bold, italic, font color and background color can be set per card side.

Below are two text fields for entering the front and reverse side of a card. The size proportion of the card front side to the reverse side can be adjusted by the slider between them. The repeating method of this card can be set by the combobox below. If Repeat by Remembering is selected you just have to think the card reverse sides and decide for yourself, if the answer was right or wrong. If Repeat by Typing is selected, you have to type in the reverse side of the card letter by letter when repeating the card.

At the bottom of this dialog is a list of cards that are similar to the current card. This helps preventing unnecessary multiple card inputs. If you do not like to see this list you can hide it with the small down arrow at the slider above.

Pressing OK will add the card to the current lesson batch in the unlearned pile. If you want to add several cards at once, you can select the checkbox Keep Dialog Open.

### Learning New Cards

Once you have entered in a batch of lesson cards, or loaded a previously generated batch into memory, the main window will look similar to that one shown below: Note that the Learn New Cards button will not be active until there are cards in the unlearned pile. When this button is clicked, Pauker will help you to get the unlearned cards into your long-term memory as described in the first section.

The lower half of the window will show the front and reverse sides of a card, and at the bottom a timer
is shown. When you have memorized the current card, you can click the Next Card button to continue to a new card.

If the timer is more distracting than informative, you can hide it by deselecting the "Show Timer" checkbox.

If you want to pause the learning process you can simply click the pause button (at the lower left). If you want to cancel the learning process you can click the stop button next to the pause button, but be warned that all cards in both the ultra short-term memory and short-term memory will be moved back to the unlearned pile.

Once the time has run out for the ultra short-term stage, Pauker will move to the next stage and aid you in moving the information to your short-term memory. These two stages are cycled until all cards are learned, or time runs out. When the short-term time runs out, all cards are queried again and one learning turn is over.

### Repeating Expired Cards

For calculating the validity time of a learned card Pauker uses the following formula:

validity = ebatchnumber-1 days

When cards of the current lesson are expired, the button Repeat Expired Cards can be used. This will run through the expired cards as described above.

### Editing Cards

If you click on a batch in the statistics, the cards it contains will be listed in the lower window section. A variety of card manipulation functions are available. They can be used by the following buttons:

Edit

To edit a card you must first select the batch containing the card in the statistics view. This will load the batch into the right side of the main window (see here). After a card has been chosen, the edit dialog can be opened by pressing the Edit-Button. You can also doubleclick the card in the card list.

Set Font

By using this button you can set the font for selected cards. The following dialog opens: With the upper buttons you can set the font, font size, bold, italic, font color and background color. The textfield contains an example with all letters of the alphabet for verifying your settings. With the lower buttons you can determine if the settings should be applied on the front side, the reverse side or both sides.

Set repeating method

By using this button you can set the repeating method for selected cards. The first variant is repeating by remembering, the second variant is repeating by typing the contents of the reverse side letter by letter.

Moving

Cards can be freely moved around within the piles. The blue arrow buttons will move the selected cards up and down in the pile order.

Sorting

The cards in a batch can be sorted by different properties. By using this button you open a popup menu in which you can set the sorting order and the sorting property as well.

Mixing

The mix button will put the cards into a random order, shuffling them.

Instant Repeating

With this button chosen cards can be repeated instantly. The cards will be moved onto the first batch and marked as expired.

Unlearn

Pressing the back button will move a card back to the unlearned pile. (If you have cheated and said that you knew the answer to a question that you actually forgot.)

Deleting

Cards can be removed with the delete key.

Searching

This button opens a dialog for searching cards in several ways.

### Special characters

If you use Pauker as a vocabulary trainer for learning other languages, you most probably run into the problem of inserting special characters. Actually, this problem can not be solved by a normal application like Pauker but must be solved by the operating system you are using. Here we present approaches for some known operating systems:

#### GNU/Linux

GNU/Linux is a free operating system with a plethora of desktop environments to choose from. The most commonly used desktop environments on Linux are KDE (http://www.kde.org) and GNOME (http://www.gnome.org).

##### KDE

This documentation applies to KDE 3.5.8.

You can type all special characters on your own keyboard. Just start the KDE Control Center and go to Regional & Accessibility Keyboard Layout : Add the layouts of the languages you want to learn and press Apply. Now you will find the KDE Keyboard Tool at the KDE Panel (see next figure): Just click it to switch between your selected keyboard layouts.

If you do not know how your selected keyboard layout actually looks, you may also use a virtual keyboard like xvkbd: For more information about xvkbd see http://homepage3.nifty.com/tsato/xvkbd

If you do not want to type the special characters on any real or virtual keyboard at all you may also use a character selection tool like KCharSelect: You then have to type your text within KCharSelect, copy it to the clipboard and then paste it to a card side of Pauker.

##### GNOME

This documentation applies to GNOME 2.20.

If you want to type all the special characters on your keyboard start System Preferences Keyboard : Under the Layouts tab you may add up to four different keyboard layouts. If you want to be able to fast-switch keyboard layouts you have to right-click the GNOME panel and choose Add to Panel... . In the following dialog you have to select Keyboard Indicator, click Add and close the dialog. A very simple keyboard switcher appears at the GNOME panel:

If you do not know how your selected keyboard layout actually looks, you may also use a virtual keyboard. For more information see above.

If you do not want to type the special characters on any real or virtual keyboard at all you may also use a character selection tool. Start Applications Accessories Character Map : You then have to type your text within Character Map, copy it and then paste it to a card side of Pauker.

#### OS X

This documentation applies to OS X 5 Leopard.

To be able to insert special characters on OS X, you need to activate the keyboard menu in the menu bar. You have to start the system settings via the menu entry Apple System Preferences... . Then you have to choose International: In this window you have to click on the tab Input Menu: There you have to activate Character Palette, Keyboard Viewer and Show input menu in menu bar: Depending on which languages you need, you can activate languages in the center list of the dialog. When using asian languages (Korean, Japanese, simple and traditional Chinese, Tamil and Vietnamese) OS X offers to choose certain fonts and transscriptions as keyboard settings. For instance, it is possible to choose both Japanese alphabets (Hiragana and Katakana) and two transscriptions (Romanji) separately.

Now you have successfully activated the keyboard menu. To change the language in the keyboard menu, just select it with a single click. The keyboard input now works as if a keyboard of the selected locale would be connected.

The character palette can be activated via the keyboard menu. Just click on Show Character Palette. With this tool you can insert every character supported by the system. The characters are sorted by category (left hand side) and can be selected on the right hand side. With Insert you can insert the characters into a textfield. Above the characters you can change the view, e.g. to easier find asian characters. With a click on Character info you can get some generic information and similar characters. Under the point Font Variation you can insert the character with another font.

The character palette offers many configuration options. To explain them all in detail is out of scope of this document. See the OS X online help for more information.

The keyboard viewer can be activated via the keyboard menu. Just click on Show Keyboard Viewer. With the help of the keyboard viewer you can operate the keyboard in the currently selected language setting, even if you do not know the keyboard layout. If you want to insert symbols, you can change the font mapping at the bottom of the window.

#### Windows

This documentation applies to Windows XP.

Go to Start Control Panel Date, Time, Language, and Regional options Add other languages . Click on the button "Details...". Click on the button "Add...". Select your new input language. Click OK, OK and OK. Now you have a language bar at the bottom right corner of the desktop: There you can switch between your selected input languages.

If you do not know how your selected keyboard layout actually looks, you may also use a virtual keyboard. Go to Start All Programs Accessories Accessibility On-Screen Keyboard :

If you do not want to type the special characters on any real or virtual keyboard at all you may also use the Character Map. Go to Start All Programs Accessories System Tools Character Map : You then have to type your text within Character Map, copy it and then paste it to a card side of Pauker.

### Import and Export Lessons

Pauker can import lessons from CSV (comma separated values) files. The format can be selected in the file chooser when opening a lesson (see next figure). The lessons you want to import can be encoded in many different ways. The formats Pauker supports can be selected in the filechooser, too (see next figure).
If you want to merge two lessons you have to open the first one just normal and activate the button merge lessons when loading the second one.

A lesson can also be exported to CSV. Just select the Filetype CSV (comma separated values) in the Save dialog.

### Miscellaneous

If you have created an intersting or useful lesson, you can share the cards with other users. Put all cards back into the unlearned pile by selecting File Reset Lesson... .

For some bits of information, it would be useful to simply reverse the sides of the cards instead of creating a whole new set. (Countries and their capitals, for instance.) You can flip the sides of a card by selecting File Flip Card Sides... .
This is only helpful in lessons where there is a one to one relation between the questions and the answers.

Pauker's user interface is mainly designed for mouse usage. In some situations, e.g. learning or repeating cards, this is quite cumbersome because you have to move the mouse constantly back and forth. That is why you can operate Pauker in this situations with the keyboard. Pressing buttons is done by using the Return or Enter key and switching between buttons can be done by pressing the TAB key.

## Configuration

### Preliminary remark

A program should execute a task in an ideal way. Configuration options soften this philosophy and make the life of the users and programmers harder. That is why there are only a few configuration options in Pauker.

Configuration options can be changed by selecting Extra Configure Pauker... .

### Strategies

There are many different approaches to learning (and forgetting) cards. If you have an exam coming up with only new vocabulary, you will want to learn the newest cards first. On the other hand, if you want to test your long-term memory, you will want to review the oldest cards first. The most varied order is obviously a random order.

If you forget cards, you can put them on top of the unlearned batch to try to learn them again quickly. This can be annoying, however, if you consistenly can not remember that the capital of Sri Lanka is Sri Jayawardhenepura. Pauker can be configured so that the forgotten cards are put at the bottom of the unlearned pile. However, with some smaller lessons, it becomes likely that you are actually just memorizing the order of the cards as they appear. To solve this problem, you can configure Pauker to put incorrect cards anywhere in the unlearned batch.

### Times

Everybody's memory is different. What seems to be a short time for somebody, may be much too long for someone else. That is why the timeouts for the ultra short-term and short-term memory can be customized. By pressing the Default Values button you can reset your settings to the standard values.

### Miscellaneous

Some people want Pauker to be very exacting and match the case when repeating cards by typing. Other people do not care and feel harassed by all the warning messages. That is why you can configure here if you want Pauker to match the case.

Some people create cards with very long lines even though they have only very small monitors. For those people it makes sense to switch on automatic word wrapping so that they do not have to scroll the card contents all the time. But if you create cards with meticulous formatting they are put into disarray by automatic word wrapping. In this case you should turn this feature off.

Sometimes certain notions or abbreviations occur over and over again within a lesson causing the list of similar cards to get very long very fast. If you edit such lessons, you can define here a search limit. This search limit determines a minimum number of characters a word must contain so that it is used for searching similar cards.

When a timer you are waiting for runs out, Pauker alarms you by playing a ringtone. This made some people fall off their chair. Therefore you can switch this feature off.

## Contribute to Pauker

There are many ways to contribute to Pauker. One is financial support via the PayPal-Link at the project homepage http://pauker.sourceforge.net

Another one is working on the project itself. You do not have to be a programmer to work on Pauker (but it does not hurt either). Contribution could mean adding missing functionlity to Pauker, fixing bugs or translating the GUI into other languages.

### Prerequisites

To be able to modify Pauker you need a current Java Development Kit and NetBeans. You can download and install both from http://java.sun.com/javase/downloads

If you already have installed a current Java Development Kit it is enough to dowload and install Netbeans from http://www.netbeans.org

### Preparations

Pauker needs an additional NetBeans Plugin to be installed. Click on Tools Plugins . Unless there are NetBeans updates available the following dialog will open: If there are NetBeans updates available the dialog will focus on the Updates tab. In this case you should first install all updates and then retry.

Click one the table column header Name to sort the available plugins alphabetically. Find the plugin Jemmy Module. Click on the checkbox to the left of Jemmy Module and the press the button Install. In the NetBeans IDE Installer dialog press Next. Then select the radiobutton I accept the terms in all of the license agreements. Then press the button Install. After NetBeans downloaded and installed the Jemmy Module press the Finish button. Close the Plugins dialog.

### Sourcecode access via CVS

Pauker's sourcecode is accessible via CVS. Information about this topic can be found at the following URL: http://sourceforge.net/cvs/?group_id=40334

A very comfortable CVS client is integrated into NetBeans. To use it for downloading the Pauker sourcecode the following steps are necessary:

1. Use Menu Versioning CVS Check Out... . The following dialog opens:

2. In step 1 of the Checkout dialog you have to insert :pserver:anonymous@pauker.cvs.sourceforge.net:/cvsroot/pauker into the CVS Root field and press the Next > button.

3. Fill out the fields of step 2 of the Checkout dialog:

   In the field Module you have to insert project.

   In the field Local Folder you have to specify the directory where to put the Pauker sourcecode. With the Browse... button you can open another dialog that assists you in creating and choosing the directory.

4. Download files

   If you correctly filled in the the CVS Checkout dialog and clicked the button Finish the Pauker sourcecode will be downloaded from SourceForge (see next figure).

5. Open project

   After you completely downloaded the Pauker sourcecode NetBeans asks you if you want to open the project. Approve by clicking the Open Project button.

   That's it! Pauker is now a working NetBeans project.

### Sourcecode modification

Now you can modify Pauker's sourcecode. The Java sourcecode is located in the packages pauker.program and pauker.program.gui.swing.

Pressing F6 automatically compiles the sourcecode and starts Pauker.

### Translations into other languages

#### Updating translations

The strings presented to the Pauker user are not hardcoded into the sourcecode but are provided by property files. This way programmers and translators can work more or less independently. Pauker has already been translated into (still a relatively small) number of languages. The next figure shows, where the respective files are located:

To edit the translations you have to right-click the file `Strings.properties` and choose the menu option Open . Double-clicking `Strings.properties` or right-click->Edit unfortunately does NOT work like expected!

After you have opened the file `Strings.properties`, a new frame appears, where all translations are displayed side by side (see next figure). This way you can edit translations. Unfortunately this view is not very clearly laid out. By double-clicking the above tab Strings.properties you can maximize the translation's frame. If you only want to edit a certain translation you can collapse the columns of the other languages (see next figure). And now we can work with this tool to some degree! :-)

One thing to notice here is that you should not translate strings that are the same in your language and in the default language, e.g. the English word Status is also Status in German and therefore is not translated (see figure above). The same rule exists with language variants, e.g. German in Germany and Switzerland is written almost exactly the same but in Switzerland the character ß is replaced by ss. Therefore the translation de_CH - German (Switzerland) is almost empty with just a few exceptions, e.g. Größe is translated to Grösse.

Besides the program strings you may want to update the translation of the credits information. This information is in the file `credits_<your language code>.html` (see next figure): This file is presented when you use the Pauker menu item Help About Pauker... .

Next to the credits information in the About Pauker dialog is the software license. This license is in the file `license_<your language code>.html` (see next figure): There are already some unofficial translations of the software license into several languages available at the Unofficial GNU License Translations Page: http://www.gnu.org/licenses/translations.html

Another document for translation is this online help itself. This documentation is written in DocBook. For more information about DocBook please visit the following website: http://www.docbook.org

The source for this document is neither in the Source Packages nor in the Test Packages but in a dedicated project directory (see next figure): You can edit the file `Pauker.docbook` from within NetBeans. It is highly recommended to tell NetBeans that files ending with docbook are XML files. This way NetBeans provides syntax highlighting and XML validation for the online help document. Just add the item docbook to Tools Options Advanced Options IDE Configuration System Object Types XML Objects Extensions and MIME Types

Pauker uses JavaHelp for presenting the online help. See the following website for more information about JavaHelp: https://javahelp.dev.java.net

For transforming the file `Pauker.docbook` to JavaHelp we use XSLT. For more information about XSLT see the following website: http://www.w3.org/TR/xslt

Transforming the Pauker DocBooks to JavaHelp in every supported language is a fairly complex process. Therefore an Ant target 1_create-docs has been written that does all the necessary things automatically (see next figure): This Ant target should run on all current Linux distributions if you have the package xsltproc installed. For more information about writing Ant targets see the following website: http://ant.apache.org

To be able to see the result, you have to start Pauker with the updated translation. Just press the F6 button.

To see Pauker with the new translation, your operating system or desktop must be started in the language of your new translation. If you can not or do not want to switch the locale of your running system you have to reconfigure the Netbeans Pauker project: Right-click the project Pauker and choose the menu entry Properties .

In the Project Properties category Run you can either choose already existing language configurations from the combobox at the top of the window or if your language configurations does not exist so far you can add a new configuration and set the VM-Options `-Duser.language=<language code>` and `-Duser.country=<country code>`. After this you can start Pauker by pressing the F6 key.

You can easily switch between different language configurations by using the configuration combobox at the NetBeans toolbar:

#### Adding translations

If you do not just want to extend or correct a translation but add a new one, you have to right click the file `Strings.properties` and select the menu item Add Locale... . To be useful in preferably all countries where this language is spoken, you should not use further specializations like country codes or variants.

In addition to the new file `Strings_<language>.properties` you should also create a new translation for the Pauker credits with the following steps:

1. select `credits.html`

2. copy the file, e.g. by pressing Ctrl+C

3. select the package pauker

4. paste the file, e.g. by pressing Ctrl+V

5. rename the file `credits_1.html`, e.g. by clicking it with the right mouse button, selecting the menu entry Rename... and change the file name to `credits_<language>.html` (i.e. if you are adding an Italian translation use `credits_it.html`)

In your new file `Strings_<language>.properties` you have to adopt the value for the key About_Message_File so that it points to your new file `credits_<language>.html`.

The next file to add is a translation for the software license. Copy and rename the file `license.html` to your language with the same steps as for the credits (see above). Please note, that there are already some unofficial translations of the license into several languages available at the Unofficial GNU License Translations Page: http://www.gnu.org/licenses/translations.html

In your new file `Strings_<language>.properties` you have to adopt the value for the key License_File so that it points to your new file `license_<language>.html`.

The last thing to add is a translation for this online help. You should:

1. create a new directory for your language in the folder `doc/docbook/`

2. copy the file `Pauker.docbook` from another language into your directory

3. translate your copy of `Pauker.docbook`

4. add the transformation handling to JavaHelp to the Ant task 1_create-docs