After too long of a break, I’m trying to get back into GRAY MATTER. Yesterday, I improved the rook heuristics.
Friday, February 15, 2008
Sunday, November 25, 2007
Jonne
A few days ago, a stranger filed an issue report. A few minutes later, he uploaded a patch that fixed the bug. I immediately added him as a team member.
The next day, he flooded my inbox with all kinds of commits: fixed this, improved that. He seems to enjoy fixing code even more than I enjoy breaking it. ;-)
And he’s no longer a stranger; he’s a friend. Let’s all welcome Jonne to The Gray Matter Team. :-)
Wednesday, October 24, 2007
Nil's Party Mix
I’m making a mix CD for my sister. Here’s what I have so far:
- The F***ing Champs — V — Air on a G-String
- Yoshihiro Kusano, Tetsuya Ohuchi — Guilty Gear Isuka OST — The Irony of Chaste
- Self — Gizmodgery — What a Fool Believes
- Royksopp — Remind Me — Remind Me
- Judy and Mary — Rurouni Kenshin OST — Sobakasu
- Stereolab — Lo Boob Oscillator — Lo Boob Oscillator
- Regina Spektor — Begin to Hope — Better
- Portal — Portal OST — Still Alive
Do you get the general feel of the mix CD? Should I add, reorder, or remove any songs? I’d appreciate any feedback, thanks!
Sunday, September 23, 2007
Java?
After spending some time writing Ruby and Java code, I had a hard time crossing my eyes again to make heads or tails of GRAY MATTER’s C++ code. That got me thinking — is it time to migrate to a more modern programming language?
Ruby’s syntax is beautiful, but it can’t deliver the performance that a chess engine needs. But what about Java? I did some research, and a couple of things scare me:
- Java doesn’t have an unsigned 64-bit integer type. We’d have to use signed 64-bit integers as BitBoards. Also, the farther we move up from the bare metal, the less we can rely on our low-level bit-twiddling hacks. Who knows what kind of bizarre problems may result.
- The Java crowd seems a little bit too enthusiastic about Java’s performance, especially when compared to C++. I don’t trust the Java echo chamber.
I guess we’re sticking with C++. I’m discussing this with Doug, and he agrees that we should stay as close to the bare metal as possible.
Sunday, August 19, 2007
Opening Book
GRAY MATTER now uses an opening book. This improvement accounts for the greatest increase in strength since we moved from naive MiniMax to AlphaBeta.
Saturday, August 4, 2007
With a Little Help from My Friends
It must be chess programming season again. We’ve been progressing by leaps and bounds.
Doug schooled me, yet again, in object oriented programming. He split the search class into a base class and an MTD(f) sub-class. This makes for a much cleaner design (by separating the search framework from the actual search engine) and also gives us a nice way to add more implementations of different search engines (and even switch between them at runtime!). Following Doug’s lead, I split the board class into a base class (which includes board representation and move generation) and a heuristic sub-class (which includes current state evaluation).
A couple of days later, Dillon schooled me, yet again, in chess strategy. He explained the concept of tempo. That, combined with Sam’s dirty trick of hard-coding values into arrays, allowed me to quickly implement tempo evaluation as a method of the heuristic sub-class. And GRAY MATTER no longer does the Happy King Shuffle Dance™.
In other news, we’ve just committed our 1000th revision. Thanks for everything, guys. A celebration is in order. You’ve earned it.
Wednesday, August 1, 2007
Stiff Asks, Raj Answers
While reading Wikipedia’s Vim vs. EMACS flamewar page, I came across a link to a questionnaire for great programmers. I shot the link over to my buddy Doug. He told me that he’s interested in my answers, and I’m interested in his. Here you go, Doug. :-)
How did you learn programming? Were any schools of any use? Or maybe you didn’t even bother with ending any schools :) ?
“I have never let my schooling interfere with my education.” — Mark Twain
What do you think is the most important skill every programmer should posses?
A good sense of humor. Because if you can’t laugh at yourself, programming will make you cry.
Do you think mathematics and/or physics are an important skill for a programmer? Why?
What do you think will be the next big thing in computer programming? X-oriented programming, y language, quantum computers, what?
If you had three months to learn one relativly new technology, which one would You choose?
What do you think makes some programmers 10 or 100 times more productive than others?
I don’t know, and maybe that’s why some programmers are 10 or 100 times more productive than me. But I hope it has something to do with Red Bull energy drink. *taking another swig*
What are your favourite tools (operating system, programming/scripting language, text editor, version control system, shell, database engine, other tools you can’t live without) and why do you like them more than others?
| Operating System | OS X because it’s pretty. |
| Programming Language | C/C++ (GCC) because I know it. Oh, and interpreted and scripting languages are for weenies. |
| Text Editor | Vim because it saves me from RSI. |
| Revision Control System | Subversion. |
| Shell | BASH. |
| Database | I hate all databases equally. |
| Laptop | Apple MacBook because it’s pretty. |
| Guitar | Gibson SG because it rocks my face off. |
| Piano | Kawai baby grand because it’s beautiful. |
| Writing Implement | Leadholder. |
What is your favourite book related to computer programming?
“The best book on programming for the layman is Alice in Wonderland; but that’s because it’s the best book on anything for the layman.” — Alan Jay Perlis
My current library of programming books consists only of The C Programming Language and Operating Systems: Design and Implementation. I’d like a copy of Artificial Intelligence: A Modern Approach and The Art of Computer Programming, but these days, just about everything that I need to know is available online.
What is Your favourite book NOT related to computer programming?
The Bhagavad Gita. This book calms me when I’m too angry and rouses me when I’m too apathetic. I also love The Cartoon History of the Universe and The Complete Calvin and Hobbes.
What are your favourite music bands/performers/compositors?
Bach, Mozart, Beethoven, Radiohead, John Williams (the classical guitarist, not the composer), Asian Dub Foundation, Blur, The Clash, Dr. Dre, Fountains of Wayne, The F***ing Champs, Judy and Mary, Led Zeppelin, Neutral Milk Hotel, The Slackers, Stereolab, Weird Al, and too many others to name.
