Following on from my attempt to make a practical minimax with alpha-beta pruning example available, Joshua S. Gilpatrick has simplified my Tic-Tac-Toe implentation to showcase the alpha-beta pruning more clearly and also added a graphical board. You might want to download his code or visit the permanent Tic-Tac-Toe page where both sets of code are available.
IBM’s Blue Gene/L, is the world’s fastest supercomputer. It is a 32-rack installation of the BlueGene system at the Livermore National Research Laboratory in California.
Blue Gene is a commercial product and buying even one rack automatically puts you in the Top 500 supercomputers list.
Blue Gene differs in approach from a number of previous “fastest ever computers” in that it uses low-power 700MHz processors rather than the latest-and-greatest chips coming off the production lines. This enables them to jam so much power into a small area and, more importantly, to be able to cool it.
Blue Gene/L covers just 2,500 square feet, uses just 1.5MW electricity which costs $100M dollars a year. These are low figures compared to previous fastest computers.
Blue Gene uses custom software based on Linux. The key is reliability. If a normal system has 1 failure per month then the Blue Gene/L would have a failure every 40 seconds. As Manesh Gupta (who worked on the software) says, “we ruled out Microsoft Windows”. This is achieved by using “system-on-a-chip design”, keeping the client access system separate from the main computational machine, using 1 of every 2 processors for network comms and keeping daemons and other “processor noise” producers to an absolute minimum.
To take full advantage of Blue Gene applications have to fully parallelised, use at least 32 processes (up to 64,000 for Blue Gene/L) and use no more than 511MB RAM per process. Programs can be compiled for the system from FORTRAN 95, C, C++ and MPI. The programs must also use static linking. GNU compilers have been ported.
Blue Gene/L has been used to produce a simulation of the behaviour of 2 million atoms. This took 48 hours, produced results that took a week to render in visualisation tools and will take the physicist involved a year to analyse and report on. The simulation was faster than the real world experiment would have been.
George Chiu and Manesh Gupta delivered a talk on Blue Gene at Imperial College today in a fairly hot lecture room where I put these notes together. Thanks guys.
SQL Server to MySQL
Just completed a fairly painless transition from SQL Server to MySQL. I used the very useful MSSQL2MySQL. No Triggers, Views or any other complicated stuff. In rewriting the SQL itself the only problems I had were with built in functions and the TOP command.
SQL Server to MySQL equivalent functions:
ISNULL => IFNULL (same syntax)
GETDATE => NOW (not CURDATE as that doesn't include the time)
SELECT TOP x => LIMIT x (at the end of the statement not after SELECT)
DATEADD => DATE_ADD
The Real Web on a Mobile
I have updated my actual-web-on-a-mobile program so that it copes with BBC Sport and various other sites better instead of giving an error.
The end result is that you have a text and links-only version of the web that will work on (some) mobile phones.
The program works by stripping all html except links and rewriting all links to point back at this server so those pages can be stripped once the links are clicked too.
You can search google and get the text of actual websites on your mobile without crashing your mobile’s browser or running out of memory here:
You can enter a URL for stripping down to text and links only here:
http://bluebones.net/miniweb/?cmd=url
While you can use this service through your regular browser the reason this exists is for use with mobiles that understand HTML like the Nokia 7250i. You might be able to think of another use for these low bandwidth pages, please let me know if you do.
I’ve put up a snapshot of the source code but if you want the latest please contact me.
FileSystemObject Stops Working
Damn, just spent 30 minutes fixing a problem I first had in ASP over three years ago. The FileSystemObject
just stops working and no error is reported. Just hangs forever. Then you need to do an iisreset
or similar.
The problem is that Norton Anti-Virus’ “Script Blocking” doesn’t allow any use of the FileSystemObject
. Even when it is set to “ask me what to do” when it encounters “scripting” it still just hangs. The simple fix is just to disable script blocking. Now I need to remember this for the next time.
Moviemaker Tube Map
I’ve created an alternative tube map with movie writers, editors, producers, actors and directors instead of the usual tube lines and stations, rather like Simon Patterson’s ‘The Great Bear’ only (I think) better .
Minimax with Alpha-Beta Pruning
When trying to understand minimax with alpha-beta pruning I found loads of Computer Science-type material on the web. But very little in the way of practical examples.
Hopefully my java Tic-Tac-Toe game with perfect AI that uses this technique will be useful to someone looking for a practical example.
If you have any questions, please put them in the comments here and I’ll do my best to answer them.
League Fixtures Generator
I’ve made my fixture generating code available via a web page for those who don’t want to delve into programming in order to generate a fixture list.
Fixtures Generator (now in PHP as I didn’t want to have to install Tomcat again). Source code.
Ruby for Programmers
A minimalist’s guide to Ruby:
"strings", 'strings', :lisplikesymbol Constant variable object.method() Class::staticmethod() $global @instance_var @@static_var { block } do alternative_block end { |block, args| at_beginning_of_block } (1..3) ('a'..'z') (0...5) # three dots = excludes last ['array', 'jfdlka'] {'hash' => 'dictionary', 'jfsdkal' => 'jfd9'} /^regexp$/ nil false == === # if in range if else end "concat" << "enate" check_for_nil.nil?
Google Sandbox Effect
My new(ish) site, thediaryofanobody.com is still not appearing in Google. Perhaps due to the purported Google Sandbox Effect that penalizes new domains.
To get around this I am also going to link to it off bluebones.net (as that where it truly “is”, anyway. The Diary of a Nobody.