Programming chess engine

Discussions about Winboard/Xboard. News about engines or programs to use with these GUIs (e.g. tournament managers or adapters) belong in this sub forum.

Moderator: Andres Valverde

Re: Programming chess engine

Postby H.G.Muller » 15 Apr 2014, 21:24

There exists a command "du" (which stands for 'disk usage') which prints the size (in disk sectors) of all files in a given directory, as well as recursively in all sub-directories. Perhaps doing

du .

in your home directory can tell you if there is some ridiculously large file there, and which one it is. It sounds a bit like some program has gone haywire while writing to a file, and has filled the entire disk that way.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Programming chess engine

Postby matrix101 » 16 Apr 2014, 13:22

user@user-MS-7817:~$ du .
24 ./xaw/.deps
28 ./xaw
4 ./Public
1652 ./.thunderbird/pbx3kax8.default
1660 ./.thunderbird
4 ./Desktop
20 ./gtk/.deps
24 ./gtk
8 ./.cache/indicator-appmenu
4 ./.cache/gnome-screenshot
1432 ./.cache/mozilla/firefox/cmz8t552.default/thumbnails
208 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/E/60
32 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/E/52
52 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/E/4E
128 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/E/53
132 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/E/7E
28 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/E/1A
584 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/E
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/1/BF
56 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/1/24
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/1/98
40 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/1/1B
20 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/1/77
120 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/1/3A
72 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/1/A2
100 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/1/78
460 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/1
136 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/B/8A
176 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/B/4D
36 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/B/D7
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/B/51
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/B/F2
60 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/B/05
460 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/B
92 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/3/46
136 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/3/D5
56 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/3/5A
36 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/3/F9
28 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/3/A9
60 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/3/9C
32 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/3/0A
444 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/3
56 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/2/21
64 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/2/4A
28 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/2/45
88 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/2/74
36 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/2/B3
48 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/2/AA
324 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/2
116 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/8/03
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/8/40
36 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/8/78
180 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/8
28 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/9/81
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/9/F6
56 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/9
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/7/82
36 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/7/EC
48 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/7/56
124 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/7/55
48 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/7/AB
52 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/7/AC
64 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/7/3C
36 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/7/FD
28 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/7/50
464 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/7
32 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/C/E6
40 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/C/57
56 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/C/EE
28 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/C/5D
48 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/C/34
28 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/C/7A
236 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/C
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/4/49
36 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/4/06
36 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/4/1D
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/4/10
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/4/2A
32 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/4/7B
180 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/4
36 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/0/C2
40 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/0/F9
32 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/0/35
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/0/FA
40 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/0/99
40 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/0/9A
44 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/0/F1
116 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/0/31
36 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/0/B3
412 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/0
48 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/6/8C
32 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/6/81
48 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/6/A1
28 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/6/E1
32 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/6/FA
192 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/6
36 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/A/75
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/A/CC
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/A/C5
8 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/A/04
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/A/7D
116 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/A/F0
64 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/A/5F
48 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/A/3C
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/A/FD
36 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/A/2E
368 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/A
96 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/F/BD
76 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/F/32
28 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/F/5B
60 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/F/A8
28 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/F/B1
28 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/F/15
36 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/F/13
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/F/8B
380 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/F
52 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/5/03
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/5/C4
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/5/D8
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/5/1C
88 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/5/44
64 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/5/B7
92 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/5/69
40 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/5/90
392 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/5
36 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/D/2F
64 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/D/79
24 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/D/EE
56 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/D/FA
44 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/D/22
40 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/D/E9
28 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/D/D0
56 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/D/D1
28 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/D/B3
380 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754/D
21476 ./.cache/mozilla/firefox/cmz8t552.default/Cache.Trash641874754
28 ./.cache/mozilla/firefox/cmz8t552.default/safebrowsing-backup
2088 ./.cache/mozilla/firefox/cmz8t552.default/startupCache
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/E
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/1
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/B
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/3
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/2
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/8
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/9
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/7
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/C
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/4
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/0
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/6
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/A
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/F
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/5
4 ./.cache/mozilla/firefox/cmz8t552.default/Cache/D
1240 ./.cache/mozilla/firefox/cmz8t552.default/Cache
26272 ./.cache/mozilla/firefox/cmz8t552.default
26276 ./.cache/mozilla/firefox
26280 ./.cache/mozilla
744 ./.cache/thunderbird/pbx3kax8.default/startupCache
748 ./.cache/thunderbird/pbx3kax8.default
752 ./.cache/thunderbird
8 ./.cache/unity-lens-video
4 ./.cache/unity-lens-photos
8 ./.cache/logrotate
59666340 ./.cache/upstart
4 ./.cache/folks/avatars
8 ./.cache/folks
432 ./.cache/fontconfig
720 ./.cache/thumbnails/large
116 ./.cache/thumbnails/fail/gnome-thumbnail-factory
120 ./.cache/thumbnails/fail
900 ./.cache/thumbnails/normal
1744 ./.cache/thumbnails
4 ./.cache/evolution/calendar/trash
8 ./.cache/evolution/calendar
4 ./.cache/evolution/sources/trash
8 ./.cache/evolution/sources
4 ./.cache/evolution/tasks/trash
8 ./.cache/evolution/tasks
4 ./.cache/evolution/addressbook/trash
8 ./.cache/evolution/addressbook
4 ./.cache/evolution/memos/trash
8 ./.cache/evolution/memos
4 ./.cache/evolution/mail/trash
8 ./.cache/evolution/mail
52 ./.cache/evolution
40 ./.cache/sso
76 ./.cache/oneconf/28c24838be8ae0b8182f254f53419dac
80 ./.cache/oneconf
16 ./.cache/update-manager-core
20 ./.cache/ibus/bus
24 ./.cache/ibus
624 ./.cache/gstreamer-1.0
116 ./.cache/compizconfig-1
8 ./.cache/ubuntuone/log
12 ./.cache/ubuntuone
1028 ./.cache/wallpaper
59697596 ./.cache
8 ./.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys/#s.ytimg.com
8 ./.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys/#st1.mun.playforia.net
24 ./.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys
28 ./.macromedia/Flash_Player/macromedia.com/support/flashplayer
32 ./.macromedia/Flash_Player/macromedia.com/support
36 ./.macromedia/Flash_Player/macromedia.com
4 ./.macromedia/Flash_Player/#SharedObjects/5KF7QEGF/s.ytimg.com
8 ./.macromedia/Flash_Player/#SharedObjects/5KF7QEGF/st1.mun.playforia.net/swf/character_v3/character.v2.swf
12 ./.macromedia/Flash_Player/#SharedObjects/5KF7QEGF/st1.mun.playforia.net/swf/character_v3
16 ./.macromedia/Flash_Player/#SharedObjects/5KF7QEGF/st1.mun.playforia.net/swf
20 ./.macromedia/Flash_Player/#SharedObjects/5KF7QEGF/st1.mun.playforia.net
28 ./.macromedia/Flash_Player/#SharedObjects/5KF7QEGF
32 ./.macromedia/Flash_Player/#SharedObjects
72 ./.macromedia/Flash_Player
76 ./.macromedia
8 ./.dbus/session-bus
12 ./.dbus
164 ./xboard/xboard-4.7.2/xaw
736 ./xboard/xboard-4.7.2/png
140 ./xboard/xboard-4.7.2/gtk
108 ./xboard/xboard-4.7.2/m4
320 ./xboard/xboard-4.7.2/themes/shogi
196 ./xboard/xboard-4.7.2/themes/xiangqi
628 ./xboard/xboard-4.7.2/themes/Mono
1148 ./xboard/xboard-4.7.2/themes
56 ./xboard/xboard-4.7.2/pixmaps
16 ./xboard/xboard-4.7.2/bitmaps
1048 ./xboard/xboard-4.7.2/po
332 ./xboard/xboard-4.7.2/sounds
380 ./xboard/xboard-4.7.2/winboard/language
232 ./xboard/xboard-4.7.2/winboard/help/html
436 ./xboard/xboard-4.7.2/winboard/help
236 ./xboard/xboard-4.7.2/winboard/shogibitmaps
2464 ./xboard/xboard-4.7.2/winboard/bitmaps
8 ./xboard/xboard-4.7.2/winboard/res
4932 ./xboard/xboard-4.7.2/winboard
380 ./xboard/xboard-4.7.2/svg
13876 ./xboard/xboard-4.7.2
17216 ./xboard
4 ./Music
8 ./.gconf/apps/gnome-terminal/profiles/Default
12 ./.gconf/apps/gnome-terminal/profiles
16 ./.gconf/apps/gnome-terminal
8 ./.gconf/apps/nm-applet
28 ./.gconf/apps
32 ./.gconf
128 ./Downloads/arasan-chess-17.0.0/doc
1472 ./Downloads/arasan-chess-17.0.0/src
176 ./Downloads/arasan-chess-17.0.0/tests
484 ./Downloads/arasan-chess-17.0.0/book
2272 ./Downloads/arasan-chess-17.0.0
7148 ./Downloads/parrot
200 ./Downloads/PythonChess/images
476 ./Downloads/PythonChess
264 ./Downloads/tscp181
16272 ./Downloads
368 ./Pictures
276 ./.compiz/session
280 ./.compiz
4 ./.adobe/Flash_Player/AssetCache/5V5286AG
8 ./.adobe/Flash_Player/AssetCache
12 ./.adobe/Flash_Player
16 ./.adobe
12 ./.icons
4 ./.config/enchant
8 ./.config/compiz-1/compizconfig
12 ./.config/compiz-1
20 ./.config/nautilus
8 ./.config/gtk-3.0
4 ./.config/upstart
16 ./.config/libaccounts-glib
16 ./.config/gedit
4 ./.config/gnome-session/saved-session
8 ./.config/gnome-session
4 ./.config/evolution/sources
8 ./.config/evolution
36 ./.config/libreoffice/4/user/psprint
12 ./.config/libreoffice/4/user/gallery
8 ./.config/libreoffice/4/user/autotext
1016 ./.config/libreoffice/4/user/database/biblio
1028 ./.config/libreoffice/4/user/database
4 ./.config/libreoffice/4/user/config/soffice.cfg/modules/swriter/statusbar
4 ./.config/libreoffice/4/user/config/soffice.cfg/modules/swriter/menubar
4 ./.config/libreoffice/4/user/config/soffice.cfg/modules/swriter/images/Bitmaps
8 ./.config/libreoffice/4/user/config/soffice.cfg/modules/swriter/images
4 ./.config/libreoffice/4/user/config/soffice.cfg/modules/swriter/toolbar
24 ./.config/libreoffice/4/user/config/soffice.cfg/modules/swriter
4 ./.config/libreoffice/4/user/config/soffice.cfg/modules/StartModule/statusbar
4 ./.config/libreoffice/4/user/config/soffice.cfg/modules/StartModule/menubar
4 ./.config/libreoffice/4/user/config/soffice.cfg/modules/StartModule/images/Bitmaps
8 ./.config/libreoffice/4/user/config/soffice.cfg/modules/StartModule/images
4 ./.config/libreoffice/4/user/config/soffice.cfg/modules/StartModule/toolbar
24 ./.config/libreoffice/4/user/config/soffice.cfg/modules/StartModule
52 ./.config/libreoffice/4/user/config/soffice.cfg/modules
56 ./.config/libreoffice/4/user/config/soffice.cfg
468 ./.config/libreoffice/4/user/config
4 ./.config/libreoffice/4/user/autocorr
8 ./.config/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend
4 ./.config/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.executable.PackageRegistryBackend
4 ./.config/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.script.PackageRegistryBackend
4 ./.config/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.bundle.PackageRegistryBackend
4 ./.config/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.component.PackageRegistryBackend
4 ./.config/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.sfwk.PackageRegistryBackend
8 ./.config/libreoffice/4/user/uno_packages/cache/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend
40 ./.config/libreoffice/4/user/uno_packages/cache/registry
4 ./.config/libreoffice/4/user/uno_packages/cache/uno_packages
52 ./.config/libreoffice/4/user/uno_packages/cache
56 ./.config/libreoffice/4/user/uno_packages
4 ./.config/libreoffice/4/user/backup
16 ./.config/libreoffice/4/user/basic/Standard
28 ./.config/libreoffice/4/user/basic
8 ./.config/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend
4 ./.config/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.executable.PackageRegistryBackend
4 ./.config/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.script.PackageRegistryBackend
8 ./.config/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.bundle.PackageRegistryBackend
8 ./.config/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.component.PackageRegistryBackend
4 ./.config/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.sfwk.PackageRegistryBackend
20 ./.config/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/lupi0jya.tmp
576 ./.config/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/lupi0jy9.tmp
608 ./.config/libreoffice/4/user/extensions/bundled/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend
648 ./.config/libreoffice/4/user/extensions/bundled/registry
660 ./.config/libreoffice/4/user/extensions/bundled
8 ./.config/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend
4 ./.config/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.executable.PackageRegistryBackend
4 ./.config/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.script.PackageRegistryBackend
4 ./.config/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.bundle.PackageRegistryBackend
4 ./.config/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.component.PackageRegistryBackend
4 ./.config/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.sfwk.PackageRegistryBackend
8 ./.config/libreoffice/4/user/extensions/shared/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend
40 ./.config/libreoffice/4/user/extensions/shared/registry
48 ./.config/libreoffice/4/user/extensions/shared
8 ./.config/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.help.PackageRegistryBackend
4 ./.config/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.executable.PackageRegistryBackend
4 ./.config/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.script.PackageRegistryBackend
4 ./.config/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.bundle.PackageRegistryBackend
4 ./.config/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.component.PackageRegistryBackend
4 ./.config/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.sfwk.PackageRegistryBackend
8 ./.config/libreoffice/4/user/extensions/tmp/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend
40 ./.config/libreoffice/4/user/extensions/tmp/registry
4 ./.config/libreoffice/4/user/extensions/tmp/extensions
48 ./.config/libreoffice/4/user/extensions/tmp
764 ./.config/libreoffice/4/user/extensions
2444 ./.config/libreoffice/4/user
2448 ./.config/libreoffice/4
2452 ./.config/libreoffice
16 ./.config/dconf
8 ./.config/ibus/bus
12 ./.config/ibus
8 ./.config/gtk-2.0
60 ./.config/pulse
4 ./.config/update-notifier
4 ./.config/yelp
2664 ./.config
4 ./Templates
900 ./.gstreamer-0.10
4 ./Videos
192 ./.deps
4 ./.mozilla/firefox/cmz8t552.default/minidumps
8 ./.mozilla/firefox/cmz8t552.default/healthreport
80 ./.mozilla/firefox/cmz8t552.default/bookmarkbackups
4 ./.mozilla/firefox/cmz8t552.default/indexedDB/chrome/idb/2588645841ssegtnti
520 ./.mozilla/firefox/cmz8t552.default/indexedDB/chrome/idb
524 ./.mozilla/firefox/cmz8t552.default/indexedDB/chrome
528 ./.mozilla/firefox/cmz8t552.default/indexedDB
8 ./.mozilla/firefox/cmz8t552.default/webapps
4 ./.mozilla/firefox/cmz8t552.default/extensions
16500 ./.mozilla/firefox/cmz8t552.default
8 ./.mozilla/firefox/Crash Reports
16516 ./.mozilla/firefox
4 ./.mozilla/extensions
16524 ./.mozilla
48 ./po
100 ./Documents
12 ./.local/share/keyrings
164 ./.local/share/previews
4 ./.local/share/gnome-settings-daemon
4 ./.local/share/nautilus/scripts
8 ./.local/share/nautilus
1140 ./.local/share/zeitgeist/fts.index
2648 ./.local/share/zeitgeist
4 ./.local/share/folks
8 ./.local/share/evolution/calendar/system
4 ./.local/share/evolution/calendar/trash
16 ./.local/share/evolution/calendar
4 ./.local/share/evolution/tasks/trash
8 ./.local/share/evolution/tasks
4 ./.local/share/evolution/addressbook/system/photos
24 ./.local/share/evolution/addressbook/system
4 ./.local/share/evolution/addressbook/trash
32 ./.local/share/evolution/addressbook
4 ./.local/share/evolution/memos/trash
8 ./.local/share/evolution/memos
4 ./.local/share/evolution/mail/trash
8 ./.local/share/evolution/mail
76 ./.local/share/evolution
24 ./.local/share/unity-webapps/resources
48 ./.local/share/unity-webapps
4 ./.local/share/applications
8 ./.local/share/icc
76 ./.local/share/gvfs-metadata
4 ./.local/share/sounds
8 ./.local/share/telepathy/mission-control
12 ./.local/share/telepathy
4 ./.local/share/icons/unity-webapps/apps/192
4 ./.local/share/icons/unity-webapps/apps/32
4 ./.local/share/icons/unity-webapps/apps/24
4 ./.local/share/icons/unity-webapps/apps/48
8 ./.local/share/icons/unity-webapps/apps/16
4 ./.local/share/icons/unity-webapps/apps/22
4 ./.local/share/icons/unity-webapps/apps/128
4 ./.local/share/icons/unity-webapps/apps/64
40 ./.local/share/icons/unity-webapps/apps
48 ./.local/share/icons/unity-webapps
52 ./.local/share/icons
4 ./.local/share/Trash/expunged
4 ./.local/share/Trash/info
4 ./.local/share/Trash/files
16 ./.local/share/Trash
3164 ./.local/share
3168 ./.local
59757300 .
matrix101
 
Posts: 53
Joined: 02 Feb 2014, 12:46

Re: Programming chess engine

Postby H.G.Muller » 16 Apr 2014, 13:36

59666340 ./.cache/upstart
59697596 ./.cache


This one looks awfully big...
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Programming chess engine

Postby matrix101 » 16 Apr 2014, 19:04

Yes and I can resize that file with

Code: Select all
convert -resize 2%  ./.cache/upstart



Or if it is partition then

1. boot from a livecd,
2. then set the partiotion as ext2,
3. and run something like resize2fs ./.cache/upstart 8000M.

or


Boot to a LiveCD or LiveUSB drive in "try me" mode.
Load gparted (should be installed by default, you can apt-get it if it's not)
Resize your partitions (right click, click resize, follow the instructions).
Click apply and sit back while it does the job.
Reboot, taking out the USB stick or CD when it tells you to.
matrix101
 
Posts: 53
Joined: 02 Feb 2014, 12:46

Re: Programming chess engine

Postby matrix101 » 24 Apr 2014, 12:43

Hello!

Now I have solved my disk space issue and installed xboard-4.7.2 correctly. I did

Code: Select all
cd xboard/xboard-4.7.2
./configure


Code: Select all
sudo make


Code: Select all
sudo make install


Still my system has mixed xboard-4.7.3 and xboard-4.7.2 because 4.7.2 is supposed to be red and 4.7.3 green and when I open xboard it says "4.7.2" and is green. Maybe I should re-install ubuntu because I can`t remove source compiled packages.

"This is why it is best to unpack them in a directory where there is nothing else, so that if you want to get rid of them, you just delete that entire directory. Once things get mixed, you would have to sort out by hand what you want to keep and what to delete."

That`s true but I mixed my system building 4.7.3 from source inside Downloads that`s why I would suggest re-installation of Ubuntu.
matrix101
 
Posts: 53
Joined: 02 Feb 2014, 12:46

Re: Programming chess engine

Postby H.G.Muller » 24 Apr 2014, 12:53

matrix101 wrote:Still my system has mixed xboard-4.7.3 and xboard-4.7.2 because 4.7.2 is supposed to be red and 4.7.3 green

No, where did you get that idea? Both of them can be configured to have any color, or use any bitmap as board background. And they are all configured to give the same plywood look on install. But once you have changed it, your settings will be saved in ~/.xboardrc , which prevails over the installed settings. Users should not lose their preferences every time they upgrade.

That`s true but I mixed my system building 4.7.3 from source inside Downloads that`s why I would suggest re-installation of Ubuntu.

That doesn't sound possible: while in Downloads they are each in their own .tar.gz file.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Programming chess engine

Postby matrix101 » 24 Apr 2014, 17:08

Hello!

Yes that`s probably true. I need to move on the C language issue though. I haven`t programmed anything at all (except Hello World and partially tic-tac-toe). Maybe it would be wise to learn Python and then move to C.

I have used this book: http://www.greenteapress.com/thinkpython/thinkpython.pdf

When I go 1.8 exercises there is said "Start the Python interpreter" Does it mean that I need to download 3.4.0 from here: https://www.python.org/ ?

Is it some interface for programming? I thought that all programming happens by typing a code to text editor and compiling/executing the program in terminal window....
matrix101
 
Posts: 53
Joined: 02 Feb 2014, 12:46

Re: Programming chess engine

Postby H.G.Muller » 24 Apr 2014, 17:22

I don't know. I never used Python, and have only a vague idea for what it is. I though Python it came in handy for writing graphical interfaces that open windows. But Chess engines do nothing of the sort. They are simple console programs that communicate by printing text on the terminal they are run in.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Programming chess engine

Postby matrix101 » 24 Apr 2014, 18:49

Ok....

Would you recommend to learn C/C++ straight from books/other resources and start as first programming language?

I found this resource http://www.parashift.com/c++-faq/ recommended by one author of chess engine.
matrix101
 
Posts: 53
Joined: 02 Feb 2014, 12:46

Re: Programming chess engine

Postby H.G.Muller » 24 Apr 2014, 19:07

C seems suitable to me for a first introduction to the principles of programming. Don't know about C++, as I don't know that myself.

Once you master the basic principles of C, you could even understand the code of the micro-Max Chess engine (only 100 lines or so)! :o
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Programming chess engine

Postby matrix101 » 24 Apr 2014, 20:52

Hi,

Is there a good C book out there that would teach me the basics of the issue? I also looked at this http://marcelk.net/thesis/marcelk-thesis.pdf but couldn`t hardly understand anything really. I need to understand the basics first.
matrix101
 
Posts: 53
Joined: 02 Feb 2014, 12:46

Re: Programming chess engine

Postby H.G.Muller » 24 Apr 2014, 21:55

Well, it was about 40 years ago I learned C, through the Kernighan & Ritchie book. This book still seems to be around. Nowadays there is the internet as well, though. A bit of Googling made me find a tutorial at

http://www.cprogramming.com/tutorial/c-tutorial.html

that seemed to target people with no prior programming experience. Perhaps you could start there.

Marcel van Kervinck's thesis is not an introduction to C, but a quite advanced text on the design of a quite complex engine. Once you learned the basics of C, and are ready to look at code of actual Chess engines, you'd better start with a small and simple engine first, like micro-Max or TSCP.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Programming chess engine

Postby matrix101 » 25 Apr 2014, 10:32

Yes,

I have TSCP source code and some other engines as well.

"The #include is a "preprocessor" directive that tells the compiler to put code from the header called stdio.h into our program before actually creating the executable. By including header files, you can gain access to many different functions....."

Most likely these fuctions are included in stdio.h.

If I wanted to start writing a board representation, I would start like

#include "types.h"
#include "chess.h"

#ifndef _BOARD_H
#define _BOARD_H

#include "bitboard.h"
#include "attacks.h"
#include "material.h"

These are different functions than stdio.h, so do I need to define what each function means separately?

Also in the engine, I need to receive input of for example castling rights, illegal moves and so on. To receive input, I must have a place to store that input. Inputs are stored in variables. Some basic types are char,int,float and struct?

How do I know the meaning of each of them? Can you understand these variables

struct BoardState {
hash_t hashCode;
Square enPassantSq;
int moveCount;
CheckStatusType checkStatus;
CastleType castleStatus[2];
};


I can see struct and int but don`t understand the other codes and their meaning.
matrix101
 
Posts: 53
Joined: 02 Feb 2014, 12:46

Re: Programming chess engine

Postby H.G.Muller » 25 Apr 2014, 18:33

Note that #include includes entire files, and not just single functions. The file can in fact contain anything, and need not contain functions at all. (E.g. it could just contain variables, or comment.)

In stdio.h library functions like printf and getchar are defined, which your program will need to perform input/output.

The #include feature really only has to be used for programs distributed over several files, where you want to invoke a function defined in one file from another file. You could do this by declaring the function (i.e. telling the compiler what the type of its parameters and result are, which is all it needs to know to invoke the function at run time) in each file that uses it, but that offers the possibility for unnoticed inconsistency (as the C compiler can only check consistency within a single file, as files are compiled separately and independently). To prevent that you declare the function in a .h file, which is then #included in each of the .c files that uses it. To the compiler this is exactly the same thing as when you would have written the declaration in each of them, as indeed the pre-processor puts them there before handing the source code to the compiler proper. To allow that, .h files must never give actual code for functions, or reserve memory space and initialize other variables, because then they would be defined multiple times (in each file where the .h file was included), under the same name, which is an offence, and would cause a linker error when all the compiled 'object files' (.o) are finally combined.

For each function you define yourself you would have to give program code to specify what it should do, in some .c file. #including is neither necessary nor helpful for that, it would just displace the problem to another file.

As to the struct declaration you posted:

C allows you to declare your own types. If you would write

unsigned char byte;

then that would tell the C-compiler to reserve one 8-bit memory location, interpret its contents as an unsigned number, and allow the program to reference to this memory location under the name 'byte' (so that you could write things like byte=1;). However, when you write

typedef unsigned char byte;

it means something completely different. It still defines the meaning of the word 'byte', but now it will not refer to a memory location that was reserved, but becomes a synonym for 'unsigned char'. So that later you can write

byte xxx;

which would then mean exactly the same as

unsigned char xxx;

So you see it can save you some typing, especially if the basic name of the data type was long and complex, e.g. a struct with many fields. Many of the fields in the struct of your example are thus of a type for which the user has defined such a 'shortcut' with a typedef, like hash_t and Square. Also here, typedefs are usually put in .h files, so they can be shared by all files in a project.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Programming chess engine

Postby matrix101 » 25 Apr 2014, 20:09

When starting to write a board representation maybe it would be wise to create one board.c file and not many like in arasanchess source code. When starting I would need to keep this in mind:


1. I have a 8x8 board, which contains white and black pieces.
2. There is two players, designated by white and an black

#include <iostream>
#include "black.h"
#include "white.h"
class Cboard
{
public:
enum { PLAYER_1= 'White', PLAYER_2 = 'Black', AVAILABLE = ' '};

void init_board()
{
for (int r = 0; r < 64; ++i)
{
for (int c = 0; c < 64; ++i)
{
board[r][c] = AVAILABLE;
}
}


That`s something I put together and probably is not at all what should be/far from good code. Maybe I should put more time to the basics of C and start with something simpler, like tic-tac-toe.
matrix101
 
Posts: 53
Joined: 02 Feb 2014, 12:46

Re: Programming chess engine

Postby H.G.Muller » 25 Apr 2014, 21:28

You have a 64 x 64 board? :shock:

Note that 2-dimensional arrays are usually inefficient, because computer memory is linearly addressed. So compilers have to map two-dimensional arrays on a linear address range, and use something like board_start+WIDTH*r+c to find the memory address of board[r][c], which involves an extra multiplication and addition. So most programs already represent the board as a 1-d array. If the board is rolled up into a (skewed) cylinder, where a2 would be to the right of h1, a step of 1 forward would be the same as a step 8 to the right, and you can consider a King as a piece that steps 1, 7, 8 or 9 to the right or to the left, without needing a second dimension.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Programming chess engine

Postby matrix101 » 25 Apr 2014, 22:24

void init_board()
{
for (int r = 0; r < 8; ++i)
{
for (int c = 0; c < 8; ++i)
{
board[r][c] = AVAILABLE;
}
}

enum enumSquare {
a1, b1, c1, d1, e1, f1, g1, h1,
a2, b2, c2, d2, e2, f2, g2, h2,
a3, b3, c3, d3, e3, f3, g3, h3,
a4, b4, c4, d4, e4, f4, g4, h4,
a5, b5, c5, d5, e5, f5, g5, h5,
a6, b6, c6, d6, e6, f6, g6, h6,
a7, b7, c7, d7, e7, f7, g7, h7,
a8, b8, c8, d8, e8, f8, g8, h8
};

Now the board is still two-dimensional? What makes it two-dimensional? If I use

for (int i=0;i<64;i++)
{
matrix101
 
Posts: 53
Joined: 02 Feb 2014, 12:46

Re: Programming chess engine

Postby H.G.Muller » 26 Apr 2014, 09:47

Two-dimencional means you are using two indices on it: board[r][c]. In a 1-dimensional board you would just use board[s], where s is a square number, and never use coordinates. (Except for finally printing the move, getting the coordinates e.g. from tables rank[s], file[s].)
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Programming chess engine

Postby matrix101 » 26 Apr 2014, 11:19

For a standard board definition, I would need to use integer variables to receive data from #include "bitboard.h" for example.

I would start like:

void init_board()
{
for (int r = 0; r < 8; ++i)
{
for (int c = 0; c < 8; ++i)
{
board[s] = AVAILABLE;
}
}

#ifndef _BOARD_H
#define _BOARD_H
#include "bitboard.h"
static int done_init = 0;

const CACHE_ALIGN uint64 Bitboard::mask[64] =
{
1,
((uint64)1) << 1,
((uint64)1) << 2,
((uint64)1) << 3,
((uint64)1) << 4,
((uint64)1) << 5,
((uint64)1) << 6,
((uint64)1) << 7,
((uint64)1) << 8,
((uint64)1) << 9,
((uint64)1) << 10,
((uint64)1) << 11,
((uint64)1) << 12,
((uint64)1) << 13,
((uint64)1) << 14,
((uint64)1) << 15,
((uint64)1) << 16,
((uint64)1) << 17,
((uint64)1) << 18,
((uint64)1) << 19,
((uint64)1) << 20,
((uint64)1) << 21,
((uint64)1) << 22,
((uint64)1) << 23,
((uint64)1) << 24,
((uint64)1) << 25,
((uint64)1) << 26,
((uint64)1) << 27,
((uint64)1) << 28,
((uint64)1) << 29,
((uint64)1) << 30,
((uint64)1) << 31,
((uint64)1) << 32,
((uint64)1) << 33,
((uint64)1) << 34,
((uint64)1) << 35,
((uint64)1) << 36,
((uint64)1) << 37,
((uint64)1) << 38,
((uint64)1) << 39,
((uint64)1) << 40,
((uint64)1) << 41,
((uint64)1) << 42,
((uint64)1) << 43,
((uint64)1) << 44,
((uint64)1) << 45,
((uint64)1) << 46,
((uint64)1) << 47,
((uint64)1) << 48,
((uint64)1) << 49,
((uint64)1) << 50,
((uint64)1) << 51,
((uint64)1) << 52,
((uint64)1) << 53,
((uint64)1) << 54,
((uint64)1) << 55,
((uint64)1) << 56,
((uint64)1) << 57,
((uint64)1) << 58,
((uint64)1) << 59,
((uint64)1) << 60,
((uint64)1) << 61,
((uint64)1) << 62,
((uint64)1) << 63
};

int Bitboard::MagicTable32[32];#if defined(_64BIT)
int Bitboard::MagicTable64[64];
#endif

static const int magicTable[64] = {
0, 1,48, 2,57,49,28, 3,
61,58,50,42,38,29,17, 4,
62,55,59,36,53,51,43,22,
45,39,33,30,24,18,12, 5,
63,47,56,27,60,41,37,16,
54,35,52,21,44,32,23,11,
46,26,40,15,34,20,31,10,
25,14,19, 9,13, 8, 7, 6,
};

int board[64];
int distance[64][64];
int zobristKeys[12][64];
int* pBoard = malloc(sizeof(int) * 64);

int* pboard = new int[64];
for (int sq = 0; sq < 64; ++sq)
pboard[sq] = board[sq]; // in C/C++ identical to *(pboard + sq) = board[sq];
...
delete[] pboard;


Now these integrer variables in my code reserve memory location eg squares? I have defined bitboard.h,magicboard.h and board.h with include# and then used them in the rest of the code.

Would there be a possibility that my above-posted code would ever work?
matrix101
 
Posts: 53
Joined: 02 Feb 2014, 12:46

Re: Programming chess engine

Postby H.G.Muller » 26 Apr 2014, 14:18

The #includes don't define anything in itself. It all depends on what you write in those files.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

PreviousNext

Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 29 guests

cron