[0-9]{2}):(?P
Contact
+ +The best means of contact are on the sourceforge page: Use the bug, feature request or patch functions or just post in the forum. The forum requires a sourceforge account, but bug, feature request and patches don't seem to.
+We also have a mailing list, to subscribe please click here. This is used for development purposes and you can also ask for help using the mailing list.
+To be informed of fpdb updates please visit the sf download page and click on the little envelope with a plus sign in the line of the package that you want be informed off. For Windows user that will be both, Linux users should only subscribe to fpdb itself. This requires a sourceforge account, sorry.
+ +Alternatively feel free to contact me directly:
+ +mail: steffen(at)sycamoretest.info
+jabber/xmpp/Google Talk: steffen-laptop-temp(at)sycamoretest.info (don't email that)
+ICQ: 7806355
+MSN: steffen(at)sycamoretest.info
Abreviations
+ +HUD/table viewer
+================
+A3-7=3rd-7th street Complete/Raise percentage
+AF=Flop Bet/Raise percentage
+AT=River Bet/Raise percentage
+AR=Turn Bet/Raise percentage
+F3-7=3rd-7th street Fold percentage
+FF=Flop Fold percentage
+FR=River Fold percentage
+FT=Turn Fold percentage
+HD=Hands
+PF3B4B=Pre Flop 3Bet or 4Bet
+PFR=Pre Flop Raise
+Postf A=Postflop (ie. flop+turn+river) Aggression%
+Postf F=Postflop Fold %
+SD/F=Showdown/Flop=WtSD=How often player went to showdown when he saw the flop
+W$wsF=Won $ when he saw flop
+W$@SD=Won $ at showdown
+VPI3=Voluntary Put In on 3rd Street (ie. call+complete+raise)
+VPIP=Voluntary Put In Preflop (ie. call+raise)
+
+Other
+=====
+CLI=Command Line Interface (Shell, Terminal, "DOS-window")
+FTP=Full Tilt Poker
+GUI=Graphical User Interface (normal interface with buttons and menus)
+HUD=Heads-Up Display (shows stats directly in the poker software)
+PS=PokerStars
+MTT=Multi Table Tournament
+SnG=Sit and Go
+
+License
+=======
+Trademarks of third parties have been used under Fair Use or similar laws.
+
+Copyright 2008 Steffen Jobbagy-Felso
+Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License,
+Version 1.2 as published by the Free Software Foundation; with
+no Invariant Sections, no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license can be found in fdl-1.2.txt
+
+The program itself is licensed under AGPLv3, see agpl-3.0.txt
+
Benchmarks
+ +Check this page from time to time and they will come.
+ + +Git Instructions
+ +Hi, welcome to my minimal git guide for fpdb devs!
+You can use a git version just as user as well of course, but as there are generally hardly tested it is not advised.
+I'll expand this on request, if you have any questions just send me a mail at steffen(at)sycamoretest.info. There's also a bunch of instructions at http://www.assembla.com/spaces/fpdb/trac_git_tool
0. Getting it
+To get git for gentoo just do emerge git -av
+To get it for Windows go to http://code.google.com/p/msysgit/downloads/list and install it.
+
1. Cloning the fpdb git tree
+Just create a new directory (lets say ~/fpdb/ ), go into it and type:
+git clone git://git.assembla.com/fpdb.git
2. Making your changes
+You can use whatever you want to do edit the files. I personally use nedit and occassionally Eclipse.
+3. Making a (local) commit
+Unlike in svn you don't need to be online to make your commits. First we need to tell git what to commit, so go to the root of your fpdb directory and type:
+git-add--interactive
+Now press u and enter. It will display a list of all changed files. If you want to commit all files just press * and enter twice to return to the main menu. If you want to commit only certain ones press the number of the file and enter and repeat until you have all the files. Then press enter again to return to the main menu.
+If you added any new files press a and Enter, then type the number of your new file and press Enter twice. Press q to leave git-add--interactive.
+Now create a file for your commit message (I call it since_last_commit.txt) but don't add this to the repository. In the first line of this file put a summary of your changes. Then give some details of your changes, try to mention anything non-trivial and definitely any user-visible bug fixes.
+Then run this:
+git-commit -F since_last_commit.txt
+
4a. Pushing the changes to your own public git tree
+Do this OR 4b, not both.
+todo
4b. Preparing changeset for emailing/uploading
+Do this OR 4a, not both.
+todo
5. Pulling updates from the main tree
+todo
+License
+Trademarks of third parties have been used under Fair Use or similar laws.
+
+Copyright 2008 Steffen Jobbagy-Felso
+Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License,
+Version 1.2 as published by the Free Software Foundation; with
+no Invariant Sections, no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license can be found in fdl-1.2.txt
+
+The program itself is licensed under AGPLv3, see agpl-3.0.txt
How To Use the HUD
+ +3 September, 2008
+ +fpdb version alpha 3
+ +Initial Configuration
+ +Install and configure the import/tracker program as detailed elsewhere. You should have this line in your default.conf file.
+ +imp-callFpdbHud=True
+
+When you downloaded fpdb you got an example HUD configuration file named HUD_config.xml.
+ +1. Open the subdirectory where you installed fpdb.
+ +2. Make a backup copy of HUD_config.xml.
+ +3. Check that the db_user and db_pass parameters are the ones you specified during database setup. This line is near the bottom of your config file and specifies the database parameters to be used.
+ +<database db_name="fpdb" db_server="mysql" db_ip="localhost" db_user="fpdb" db_pass="fpdb" db_type="fpdb"></database>
+
+This should allow you to use the HUD with the stats and layout in the example configuration file.
+ +Running the HUD
+ +1. Open fpdb and select Auto Import from the menu. The fpdb main screen will change to show the autoimport dialog.
+ + + +Check that the path is pointing to your hand history subdirectory, if it is not, then click the browse button and select it. ?You can also adjust the interval between imports. Smaller intervals will get your updated HUD data more often, but might cause lag. If you experience lag, increase the interval.
+ +2. Click "Start Autoimport" to start the import. fpdb will automatically start the HUD. When the HUD starts it will open a HUD main window.
+ + + +2. This window currently has no purpose other than providing a close button that will cause the HUD to exit.
+ +3. Play a hand of poker (good luck). A few seconds after the completion of the hand the stat windows should overlay the poker client window.
+ + + +You will also see a small main window for each table that has a HUD. Clicking the close button on that window will kill the HUD stat windows for that table. The stat windows will not go away automatically when you close the table.
+ + + +4. Adjust the positions of the stat windows. By default, the stat windows are created without decorations (title bar, border, etc.). Double clicking on a stat will add the decorations to that stat window. You can then use the title bar to move the window and double click again to make the decorations disappear.
+ + + + + +5. So play some poker: raise, bet, float, get all-in. You can find out what each stat is by hovering the mouse over the stat and looking at the tool tip. The tool tip also has the name of the player that the stat corresponds to, so it is useful in figuring out which stat window goes where if your windows are not in the right place. You can also get a pop up window with additional stats by single clicking on a stat.
+ + + +These windows do not automatically update when a new hand is imported, but they can be moved around the same way the stat window are moved. Single clicking anywhere on the popup will make it disappear.
+ +Configuring Stat Layouts
+ +OK, back to the HUD_config.xml file--saving a backup would be a good idea. Before you ask, yes, there will be a neat configuration function in the HUD, to make this quicker and easier. We thought you would prefer to have the HUD now rather than wait for us to write the configuration code.
+ +1. Open your HUD_config.xml file in you text editor and scroll down to site entry for the layout you want to configure. For example, if you want to change a layout for Pokerstars, find the line that starts like this.
+ +<site site_name="PokerStars" ...
+
+Below that line you will find several blocks of lines defining the stat layouts for tables with the various numbers of seats. For example the layout for 6-seated tables looks like this:
+ +<layout max="6" width="792" height="546" fav_seat="0>
+<location seat="1" x="681" y="119"> </location>
+<location seat="2" x="681" y="301"> </location>
+<location seat="3" x="487" y="369"> </location>
+<location seat="4" x="226" y="369"> </location>
+<location seat="5" x="0" y="301"> </location>
+<location seat="6" x="0" y="119"> </location>
+</layout>
+
+The first line of this layout specifies that it is for a 6-max (max="6") table that has been sized to 792 x 546 (width="792" height="546"). The fav_seat parameter is not used at this time.
+ +The next 6 lines specify where the stat windows are placed on the poker client window. The x and y positions are measured from the inside upper left of the poker client window. That is x = 0, y = 0 would be the first usable pixel to the right of the window border and below the title bar.
+ +So if you are using the layout in the example above and decide that the stat window for seat 3 is being place 9 pixels too high, you would change the line for seat="3" to be:
+ +<location seat="3" x="487" y="378"> </location>
+
+If you use smaller or larger client windows you should correct the width and height parameters so that they are up-to-date when automatic resizing is implemented.
+ +Configuring the Stats Shown in the stat windows
+ +The definition of the stat window stats is in the "supported games" paragraph of the HUD_config.xml file. For example:
+ +<game game_name="studhilo" db="fpdb" rows="2" cols="3">
+<stat row="0" col="0" stat_name="vpip" tip="tip1" click="tog_decorate" popup="default"> </stat>
+<stat row="0" col="1" stat_name="pfr" tip="tip1" click="tog_decorate" popup="default"> </stat>
+<stat row="0" col="2" stat_name="ffreq_1" tip="tip1" click="tog_decorate" popup="default"> </stat>
+<stat row="1" col="0" stat_name="n" tip="tip1" click="tog_decorate" popup="default"> </stat>
+<stat row="1" col="1" stat_name="wtsd" tip="tip1" click="tog_decorate" popup="default"> </stat>
+<stat row="1" col="2" stat_name="wmsd" tip="tip1" click="tog_decorate" popup="default"> </stat>
+</game>
+
+The first line specifies the game that this stat paragraph is used for (game = "studhilo") and the number of rows and columns in the stat window. In this case we have specified 2 rows and 3 columns so we can have 2x3 = 6 stats. Rows and columns are numbered from 0, so the 3 columns are numbered 0, 1, and 2.
+ +The subsequent lines in the stat paragraph specify which stats are displayed in the various parts of the window. In this example, vpip is displayed in col 0, row 0.
+ +So to create stat windows with 4 columns of 2 rows you would change the cols parameter in the first line to cols = "4" and add 2 additional rows to specify the stats for row 2, col 3 and row 1, col 3.
+ +The click and tip parameters in this paragraph are not currently used. The popup parameter is explained in the next section.
+ +Configuring Popup Windows
+ +Each stat location can display a different popup window when clicked. In the example just above, each of the stats has the "default" popup specified. You can see the definition of the default popup by scrolling farther down in your config file. It should look like this.
+ +<popup_windows>
+<pu pu_name="default">
+<pu_stat pu_stat_name = "n"> </pu_stat>
+<pu_stat pu_stat_name = "vpip"> </pu_stat>
+<pu_stat pu_stat_name = "pfr"> </pu_stat>
+...
+<pu_stat pu_stat_name = "ffreq_4"> </pu_stat>
+</pu>
+</popup_windows>
+
+You can create a new popup by making a new pu elelment, with a new name and a new list of stats. You then specify that popup name in the popup parameter in one or more of your stats.
+ +Currently Supported Stats
+ +-
+
- a_freq_1
- Flop/4th aggression frequency. +
- a_freq_2
- Turn/5th aggression frequency. +
- a_freq_3
- River/6th aggression frequency. +
- a_freq_4
- 7th street aggression frequency. +
- cb_1
- Flop continuation bet. +
- cb_2
- Turn continuation bet. +
- cb_3
- River continuation bet. +
- cb_4
- 7th street continuation bet. +
- f_BB_steal
- Folded BB to steal. +
- f_SB_steal
- Folded SB to steal. +
- ffreq_1
- Flop/4th fold frequency. +
- ffreq_2
- Turn/5th fold frequency. +
- ffreq_3
- River/6th fold frequency. +
- ffreq_4
- 7th fold frequency. +
- n
- Number of hands played. +
- pfr
- Preflop (3rd street) raise. +
- saw_f
- Saw flop/4th. +
- steal
- Steal %. +
- three_B_0
- Three bet preflop/3rd. +
- vpip
- Voluntarily put $ in the pot. +
- wmsd
- Won $ at showdown. +
- wtsd
- Went to SD when saw flop/4th. +
- WMsF
- Won $ when saw flop/4th. +
Installing in Gentoo Linux
+ +Last checked: 3 Aug 2008, git99
+
+These instructions are for Gentoo GNU/Linux, but if you adapt the steps installing and starting stuff it should work on any other OS as well.
+
+1. Install everything. Check if anything is already installed and if it is remove it from the command.
+
+For mysql:
+emerge mysql mysql-python pygtk -av
+/etc/init.d/mysql start
+rc-update add mysql default
+
+For postgresql:
+emerge postgresql pygresql pygtk
+/etc/init.d/postgresql start
+rc-update add postgresql default
+
+
+2. Manual configuration steps
+
+emerge --config mysql
+The --config step will ask you for the mysql root user - set this securely, we will create a seperate account for fpdb
+
+3. Create a mysql user and a database
+Now open a shell (aka command prompt aka DOS window):
+Click Start, then Run. In the opening window type "cmd" (without the inverted commas) and then click OK. A windows with a black background should open.
+
+Type (replacing yourPassword with the root password for MySQL you specified during installation):
+mysql --user=root --password=yourPassword
+
+It should say something like this:
+Welcome to the MySQL monitor. Commands end with ; or \g.
+Your MySQL connection id is 4
+Server version: 5.0.60-log Gentoo Linux mysql-5.0.60-r1
+
+Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
+
+mysql>
+
+Now create the actual database. The default name is fpdb, I recommend you keep it. Type this:
+CREATE DATABASE fpdb;
+
+Next you need to create a user. I recommend you use the default fpdb. Type this (replacing newPassword with the password you want the fpdb user to have - this can, but for security shouldn't, be the same as the root mysql password):
+GRANT ALL PRIVILEGES ON fpdb.* TO 'fpdb'@'localhost' IDENTIFIED BY 'newPassword' WITH GRANT OPTION;
+
+Copy the .conf file from this directory to ~/.fpdb/profiles/default.conf and edit it according to what you configured just now, in particular you will definitely have to put in the password you configured. I know this is insecure, will fix it before stable release.
+
+4. Guided installation steps
+Run the GUI as described in readme-user and click the menu database -> recreate tables
+
+That's it! Now see readme-user.txt for usage instructions.
+
+License
+=======
+Trademarks of third parties have been used under Fair Use or similar laws.
+
+Copyright 2008 Steffen Jobbagy-Felso
+Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License,
+Version 1.2 as published by the Free Software Foundation; with
+no Invariant Sections, no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license can be found in fdl-1.2.txt
+
+The program itself is licensed under AGPLv3, see agpl-3.0.txt
Before You Begin
+Most people should install using the Installer. These instructions have not been updated recently, but can serve as a guide to someone who knows what he is doing. Unless you have a special reason for installing manually, you really should be using the installer.
+ +Vista Users
+The installer does not install mysql properly on Microsoft Vista installations, due to the UAC. You should first install mysql using this how to (pdf). Then run the installer. The installer will detect the mysql installation and not reintstall.
+ +Installing in Windows
+ +These instructions were made with Windows XP. They should also work with Windows NT / 2000 / 2003 and 2008. Please report any differences to gmic at users.sourceforge.net. +
If you're still using Win3/95/98/ME then you should switch to GNU/Linux, *BSD or WinXP.
+ +1. Click here to open the MySQL Download Page. Click on the "No, thanks..." link to see the download links for the MySQL installer.
+2. Click on one of the HTTP or FTP download links to download the zip file (mysql-5.0.67-win32.zip).
+3. Unzip the setup file to a folder of your choice and double-click on it. On the welcome screen click "Next".
+4. As the setup type "Typical" should be selected. Then click "Next". On the following screen click "Install" and installation will begin.
+5. Before the installation ends an ad for MySQL Enterprise edition will appear. Just click "Next" two times.
+6. Now make sure that "Configure the MySQL Server now" is checked and click "Finish".
+7. You are now looking at the MySQL Configuration Wizard. Click "Next".
+8. Make sure "Detailed Configuration" is selected. Then click "Next. Now "Developer machine" should be selected. Click "Next".
+9. On this screen "Multifunctional Database should be selected. Click "Next". On the next screen (InnoDB Tablespace) just click "Next".
+10. Now "Decision Support" should be selected. Click "Next". Now make sure "Enable TCP/IP Networking" IS selected. Then click "Next".
+11. Here "Standard Character Set" should be selected. Click "Next". Now make sure "Install As Windows Service" is selected.
+12. Now choose a root password. This will NOT be the password for your poker database. Click "Next".
+13. On this last screen of the Configuration Wizard just click "Execute." A few success messages will appear. Click "Finish".
+14. Now click the Windows Start Button and then click "Run". Click into the white space of the new window, type cmd
and hit ENTER.
15. In the newly appeared console window type cd "%PROGRAMFILES%\MySQL\MySQL Server 5.0\bin"
and hit ENTER.
16. Type mysql --user=root --password=yourPassword
and hit ENTER (replace yourPassword
with your chosen root password).
17. A few lines followed by mysql>
will appear. This is the MySQL command prompt.
18. We will now create your poker database. Type CREATE DATABASE fpdb;
and hit ENTER. "Query OK" says we were successful.
19. Type the following, replace newPassword
with a password of your choice and hit ENTER:
GRANT ALL PRIVILEGES ON fpdb.* TO 'fpdb'@'localhost' IDENTIFIED BY 'newPassword' WITH GRANT OPTION;
20. Again it says "Query OK". Type exit
and hit ENTER to exit the MySQL prompt. Leave this window open. We will need it later.
21. Click here, save the file python-2.5.2.msi where you want and double-click on it. In case of a warning window click "Execute".
+22.Click "Next" three times. Python will install. Then click finish.
+23. Click here, save MySQL-python-1.2.2.win32-py2.5.exe to a folder of your choice and double click it. In case of a warning window click "Execute". Click "Next" three times. The Python API for MySQL will install. Click "Finish".
+24. In the console window (which we left open) now type: mkdir c:\gtk
and hit ENTER. Leave the window open again, we'll need it.
Now click here and save the gtk zip file gtk+-bundle-2.12.11.zip to a folder of your choice. Unzip its contents to C:\gtk
+25. Now right-click "My Computer" (on your Desktop) and click on "Properties". Now click on the tab "Advanced".
+26. Click the button "Environ Variables". In the lower list of the new window click on "Path" (possibly you need to scroll).
+27.Now click on the"Edit" button and a new window will pop up. To the value of the variable append ;C:\gtk\bin
Click Ok three times.
28. Click here, save the file pycairo-1.4.12-1.win32-py2.5.exe to a folder of your choice and double click on it. In case of a warning window click "Execute". Now click "Next" three times. The pycairo graphics library API for Python will install. Click "Finish".
+29. Click here, save the file pygobject-2.14.1-1.win32-py2.5.exe to a folder of your choice and double click on it. In case of a warning click "Execute". Now click "Next" three times. The Python Gobject API will install. Click "Finish".
+30. Click here, save the file pygtk-2.12.1-2.win32-py2.5.exe to a folder of your choice and double click on it. In case of a warning click "Execute". Now click "Next" three times. The Python API for Gtk+ will install. Click "Finish".
+31. In the console window now type: mkdir "%homepath%\Application Data\fpdb"
and hit ENTER. Copy the file "default.conf" from the docs folder of your fpdb git to the directory C:\%homepath%\Application Data\fpdb\.
32. Now open the file "default.conf" in WordPad (Start > Programs > Accessoirs > WordPad) and replace the password in the dbpassword
line with your chosen password for the fpdb user.
33. Now start FPDB by double-clicking on the file fpdb.py in the folder fpdb. A console window should open up and shortly thereafter the fpdb application window should be visible. Click on the menu "Database" and select "Create or Recreate Tables".
+Congratulations! Your fpdb installation is complete! Now you can use the bulk importer to import your hands into fpdb. +
A word on privelege separation: fpdb should not require root/Administrator rights to run. If it does it is a bug or serious misconfiguration, please let us know.
+License
+Trademarks of third parties have been used under Fair Use or similar laws.
+Copyright 2008 Steffen Jobbagy-Felso
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 as published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license can be found in fdl-1.2.txt. The program itself is licensed under AGPLv3, see agpl-3.0.txt
+ + + + + diff --git a/website/docs-overview.php b/website/docs-overview.php new file mode 100755 index 00000000..3d2781d2 --- /dev/null +++ b/website/docs-overview.php @@ -0,0 +1,84 @@ + + +Overview
+
+Summary
+=======
+A database program to track your online poker games, the behaviour of the other players and your winnings/losses. Supports Holdem, Omaha, Stud and Razz for cash games as well as SnG and MTT tournaments with more possibly coming in the future. Some of this is not yet working though, please see status.txt and known-bugs-and-planned-features.txt
+
+But you could send all my hand histories to yourself!
+=====================================================
+At the end of the day this comes down to a question of trust, but unlike Windows and the poker client software you don't have to trust fpdb blindly. You can:
+- Verify the source code yourself.
+- Convince or pay someone to verify the source code for you.
+- Use a personal firewall to completely block fpdb from the Internet
+- (for the uber-paranoid) Get yourself the free virtualisation software VirtualBox, set up a VM (virtual machine) to run fpdb but run the poker software on your real PC. Then cut the VM off the Internet, fpdb doesn't need it. If you have a PC made in the last few years this should run fast enough as well. Note that most Windows licenses do NOT permit you to use two Windows installations at once, even if they are on the same PC.
+
+Requirements
+============
+Software requirements are listed in requirements.txt
+As for hardware, my main test machine is a Pentium 3-M 800 with 256 RAM and Gentoo GNU/Linux
+(running the poker client through what most people will call emulation). So this
+program will have to work on that. If you run an even more ancient machine and
+its too slow let me know and I'll see what I can do :)
+
+Why Free Software?
+==================
+This program is released under the terms of the free/libre software license AGPL3 as released by the FSF. The AGPL3 protects your rights and those of the wider community. As Richard Stallman, one of the founders of the free software movement, put it: "Free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in free beer." (well, it is both really, like the right to vote used to be free)
+
+For example, a "pirated" copy of proprietary software X is free of charge, but you don't actually have a legal right to use it, you don't have any possibility to fix its bugs and you certainly don't have any legal right to share it with your friends. You also won't be able to get support, often not even security fixes. Actually, even if you pay hundreds of pounds for your program they deny your right to fix their errors for them. Imagine buying a car where you're not permitted (under threat of jail) to replace broken parts..
+
+With free/libre software (also known as open source software, or short FOSS or FLOSS) on the other hand you get all these freedoms:
+(note: the legally binding terms are in the license text, this is merely an amateur summary so normal people don't have to read pages of legalese)
+
+Freedom 0: The freedom to use: To run the program, for any purpose. Free of Charge.
+Freedom 1: The freedom to study and help yourself. This freedom guarantees your right to study and learn from the source code of the program, and to fix it if it is broken. If you're not a programmer yourself the developers will generally be happy to fix it for you, often even for free. Failing that you can always pay someone from the money you saved on not having to pay for it.
+Freedom 2: The freedom to be a decent human being and help your neighbour: I don't threaten you with lawsuits or jail time if you share with your friends and neighbours, subject to the very modest restrictions of the AGPL3.
+Freedom 3: The freedom to improve the program and release your improvements to the public (or parts thereof) so that the whole community benefits. Note that you are PERMITTED, but not REQUIRED to distribute your changes. If you do distribute your changes you must do so under the terms of the AGPL3 however.
+
+Note that this is the license - I retain full copyright over my code, including the right to change the license for future versions. I do not intend to do this however. In any case, any version I released under AGPL3 remains available under that license forever, or more accurately until my copyright expires at which point it goes into the public domain.
+
+I reject the concept of software patents as a crime and under the European Patent Agreement software patents - even if you mislabel them as "computer-implemented inventions" or whatever - are explicitly prohibited.
+
+Can I get/use this under a different license?
+=============================================
+The short answer: Maybe.
+The long one: As detailed, I fully support what the FSF does and aims to achieve with the GPL. However, I realise that many free software developers don't object to closed source, some don't even object to closed source profiteering of their charity, and I don't think I have any right to go and tell them they're wrong.
+So if anyone wishes to use all or part of my code in another free software/open source project with an AGPL3-incompatible license such as BSD then let me know and we'll figure out a solution that makes everyone happy.
+If you wish to use all or part of this in closed source let me know how much if anything that is worth to you and I'm sure we'll be able to reach an agreement. Note that you are NOT permitted to just use fpdb code in closed source development whether in-house or by an independent software developer, you will NEED an additionally agreement with me to get fpdb under different licensing conditions.
+
+
+License of this Document
+========================
+The views expressed in this document are those of Steffen Jobbagy-Felso, other members of the fpdb team and external contributors may or may not agree.
+
+Trademarks of third parties have been used under Fair Use or similar laws.
+
+Copyright 2008 Steffen Jobbagy-Felso
+Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License,
+Version 1.2 as published by the Free Software Foundation; with
+no Invariant Sections, no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license can be found in fdl-1.2.txt
+
+The program itself is licensed under AGPLv3, see agpl-3.0.txt
+
Requirements
+
+I recommend using a free/libre operating system, meaning a GNU/Linux distribution or a BSD variant (e.g. Gentoo GNU/Linux or OpenBSD) for ethical and practical reasons. Would you buy a car where you're prohibited from opening the bonnet under threat of jail? If the answer is no you should by the same logic not use closed source software for real money Poker :)
+
+Unfortunately you will always need one piece of unfree software: The poker client itself. Although not a direct dependency of fpdb you obviously will have a hard time putting this to productive use without running some poker client. As far as I know, only unfree clients are available. If you know better please let me know!
+
+If you can be bothered please do contact your poker site(s) and ask them to release free/libre clients, even if it is only for Windows. But lets be realistic, the chance of a positive answer is very low. Also, even unfree Linux client would of course be a great step forward
+
+In Windows use of the environment installer is recommended, pls see our sf download page. For Gentoo Linux we have an ebuild and for Ubuntu Linux we have (partial) instructions. If you use a different Linux or a BSD and have trouble please IM, email or post in the forums. Fpdb has been reported to work on MacOSX, but installation of the requirements is relatively painful. Any instructions for people to use would be much appreciated.
+
+Make new entries in this format:
+Program Name
+a. Optional?
+b. Required Version and Why
+c. Project Webpage
+d. License
Database backend - MySQL
+These two are required if you want to use MySQL as backend, which is the recommended choice due to lack of testing and polish of PostgreSQL support.
+MySQL
+a. Optional?
+ Choose MySQL or PostgreSQL
+b. Required Version and Why
+ At least 3.23 required due to mysql-python.
+ I use 5.0.54 and 5.0.60-r1 (GNU/Linux) and 5.0.51b (Windows).
+c. Project Webpage
+ http://www.mysql.com
+d. License
+ GPL2
+
+mysql-python
+a. Optional?
+ Required if you want to use MySQL backend
+b. Required Version and Why
+ I use 1.2.2 but I am not aware of any incompatibilities with older or newer versions, pls report success/failure.
+c. Project Webpage
+ http://sourceforge.net/projects/mysql-python/
+d. License
+ SF lists GNU General Public License (GPL), Python License (CNRI Python License), Zope Public License.
+ Project states GPL without version in Pkg-info.
Database backend - PostgreSQL
+These two are required if you want to use PostgreSQL as backend
+PostgreSQL
+a. Optional?
+ Choose MySQL or PostgreSQL
+b. Required Version and Why
+ I use 8.0.15 (GNU/Linux) and 8.3.3 (Windows) but I am not aware of any incompatibilities
+ with older or newer versions, pls report success/failure.
+c. Project Webpage
+ http://www.postgresql.org
+d. License
+ BSD License
+
+psycopg
+a. Optional?
+ Required if you want to use PostgreSQL backend
+b. Required Version and Why
+ I use 2.0.2 but I am not aware of any incompatibilities with older or newer versions, pls report success/failure.
+c. Project Webpage
+ http://initd.org/projects/psycopg2
+d. License
+ GPL2 according to Gentoo's ebuilds
+
+
Required for everyone
+Python
+a. Optional?
+ Required.
+b. Required Version and Why
+ I use 2.4.4 and 2.5.2 but I am not aware of any incompatibilities with older or newer versions, pls report success/failure.
+c. Project Webpage
+ http://www.python.org
+d. License
+ Python License
+
+
GTK+ and dependencies
+a. Optional?
+ Required.
+b. Required Version and Why
+ I use 2.12.9 but it should run with 2.10 or higher. That is needed as I used MessageDialog updates
+c. Project Webpage
+ Main: http://www.gtk.org/
+ API spec: http://library.gnome.org/devel/gtk/2.12/
+ Windows DLs (get the bundle unless you know what you're doing): http://www.gtk.org/download-windows.html
+d. License
+ LGPL2
+
+PyCairo
+a. Optional?
+ Required.
+b. Required Version and Why
+ ?
+c. Project Webpage
+ main: http://www.pygtk.org
+d. License
+ LGPL2.1
+
+PyGObject
+a. Optional?
+ Required.
+b. Required Version and Why
+ ?
+c. Project Webpage
+ main: http://www.pygtk.org
+d. License
+ LGPL2.1
+
+PyGTK
+a. Optional?
+ Required.
+b. Required Version and Why
+ ?
+c. Project Webpage
+ main: http://www.pygtk.org
+d. License
+ LGPL2.1
Requirements for the graphing function
+These are only required if you wish to use the graphing function, and fpdb will otherwise function without them
+Numpy
+a. Optional?
+ Optional.
+b. Required Version and Why
+ I use 1.0.4 but I am not aware of any incompatibilities with older or newer versions, pls report success/failure.
+c. Project Webpage
+ http://numeric.scipy.org/
+d. License
+ BSD according to Gentoo's ebuild
+
+matplotlib
+a. Optional?
+ Optional.
+b. Required Version and Why
+ I use 0.91.2 but I am not aware of any incompatibilities with older or newer versions, pls report success/failure.
+c. Project Webpage
+ http://matplotlib.sourceforge.net/
+d. License
+ BSD according to Gentoo's ebuild
+=======
+Trademarks of third parties have been used under Fair Use or similar laws.
+
+Copyright 2008 Steffen Jobbagy-Felso
+Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License,
+Version 1.2 as published by the Free Software Foundation; with
+no Invariant Sections, no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license can be found in fdl-1.2.txt
+
+The program itself is licensed under AGPLv3, see agpl-3.0.txt + + + +
Usage instructions
+ +Before you do this make sure you setup the dependencies, the database, user, tables and config file.
+
+Running it
+==========
+If you have python setup properly you can execute it by double clicking pyfpdb/fpdb.py.
+
+Note however that all error messages are currently only printed if you call it from a shell. It'll be much easier to diagnose possible problems (which are likely in alpha stage) if you run it from a shell. In Windows XP it seems to automatically open a shell window with the fpdb window where you can see the command line output.
+
+In Linux/MacOS/*BSD, e.g. if its in /home/sycamore/fpdb/, do this:
+cd /home/sycamore/fpdb/pyfpdb
+python fpdb.py
+
+That will start the main GUI.
+
+Have a look at the menus, the stuff that is marked todo is not yet implemented.
+
+The main things are the bulk importer and the table viewer. To use the importer open it from the menu (import files and directories). You can set a few options at the bottom, then select a folder or single file in the main are and click Import. Please report any errors by one of the contacts listed in readme-overview.txt.
+Currently this will block the interface, but you can open another instance of this program e.g. if you wanna play whilst a big import is running.
+
+Please check the output at the shell for errors, if there are any please get in touch by one of the methods listed in readme-overview.txt
+
+Table Viewer (tv)
+=================v
+To use the table viewer open it from the menu, select the hand history file of the table you're at, and click the Import&Read&Refresh button. The abbreviations there are explained in abbreviations.txt, but feel free to ask. Note that most poker software will only create the file once the first hand you payed to play is finished.
+In each column there is either just the number (hand count for current stake, range of seats and type of game) or a percentage and the number of hands that this percentage is based on. For example, in W$@SD (won $ at shodown) the number in brackets is how many showdowns that player has seen.
+
+Reimporting
+===========
+Currently on most updates a reimport of the whole database is required. To do this open fpdb, click the menu Database and select Create/Recreate tables. Then import all your history files again.
+
+License
+=======
+Trademarks of third parties have been used under Fair Use or similar laws.
+
+Copyright 2008 Steffen Jobbagy-Felso
+Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License,
+Version 1.2 as published by the Free Software Foundation; with
+no Invariant Sections, no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license can be found in fdl-1.2.txt
+
+The program itself is licensed under AGPLv3, see agpl-3.0.txt
Documentation
+ +-
+
- Overview +
- Requirements +
-
+
- Install in Windows +
- Install in Gentoo Linux +
- Default configuration file (read the installation instructions) +
- Git instructions +
Features
+ +Backend, Distribution
+=====================
+- Choice of MySQL/InnoDB or PostgreSQL. (not tested on PostgreSQL)
+- It is possible to run the database on one PC, the importer on another, and then access the database with the table viewer or HUD from a third PC. (note: do NOT do this unencrypted over an untrusted network like your employer's LAN or the Internet!)
+
+Site/Game Support
+=================
+- Initially only full support for PS, FTP coming soon
+- Supports Holdem, Omaha Hi and Omaha Hi/Lo. Stud and Razz coming soon.
+
+- Supports No Limit, Pot Limit, Fixed Limit NL, Cap NL and Cap PL
+ Note that currently it does not display extra stats for NL/PL so usefulness is limited for these limit types. Suggestions welcome, I don't play these.
+- Supports ring/cash games, SnG/MTT coming soon
+
+Tableviewer (tv)
+===========
+Tv takes a history filename and loads the appropriate players' stats and displays them in a tabular format. These stats currently are:
+ - VPIP, PFR and Preflop 3B/4B (3B/4B is not quite correct I think)
+
+ - Raise and Fold % on flop, turn and river. Fold only counts hands when someone raised. This can be displayed per street or as one combined value each for aggression and folding.
+ - Number of hands this is based on.
+ - SD/F (aka WtSD, proportion of hands where player went to showdown after seeing flop)
+ - W$wSF (Won $ when seen Flop)
+ - W$@SD (Won $ at showdown)
+ For all stats it also displays how many hands this particular is based on