Bored with your old board games? Try Pasang Emas

Unless you’re from Brunei, you’ve probably never heard of the game pasang. It’s a board game with intricate rules. Played on an 11×11 grid with black and white tokens, it bears a superficial resemblance to Go, but with completely different game play. In fact, it’s unrelated to any other board game, which makes it an appealing choice for anyone who’s tired of the same old checkers and Parcheesi.

One of the easiest ways to play is by using Pasang Emas, developed by Bruneian Nor Jaidi Tuah, who released a new version this week. In Pasang Emas, you play against the computer, or you can watch the computer play against itself in demo mode. The computer will let you make only valid moves.

In pasang, each move is a capture move. When there is nothing left to capture the game ends. At any given point in the game the average number of valid moves is six or seven (compared to more than 30 in chess). Still, a human player is at a disadvantage against a computer, so a player who is serious about winning will take a lot more thinking time than his silicon-based opponent. (To equalize things, you can set the game’s AI to be “blurry,” and it might then miss the best move or even choose a bad one.)

Pasang is quick to play. A game can take less than a minute if you make a blunder in the opening and runs out of moves early, but usually a game will take several minutes.

Lest you think Bruneians sit around in coffeehouses all day playing pasang, Tuah says it is commonly played mostly during royal celebrations. Some students also play the game as an extracurricular activity.

Tuah says a former student suggested creating a program to play pasang almost 10 years ago. “I hadn’t heard about pasang before then, so it was a doubly sweet challenge for me: as a programmer I immediately jumped at the idea, while as a native I wanted to learn more about our traditional game.

“I wrote the first version using a commercial C++ IDE. It ran only on a particular OS and was never released, but was reported in an issue of Bruneiana, a local publication by Universiti Brunei Darussalam, and had a brief public exposure during an IT exhibition. Soon after I released a much improved version as freeware on a popular hosting service. This version was nominated as one of Brunei entries for the 2002 Asia Pacific ICT Award. It didn’t win, but I had a good time in Kuala Lumpur showing off our traditional game. Last year, this version was showcased in a business convention in Nanning, China.

“In 2005, I started porting Pasang Emas to work with GNU tools. For a GUI I chose GTK+ (through gtkmm binding) simply because I use GNOME as my desktop. I did look at generic layers such as wxWidgets, but finally decided that I didn’t need them, as GTK+ is already cross-platform. For an IDE I tried Anjuta, and it is great. I used emacs for a while – very productive. But somehow I fell in love with gedit and its no-frills simplicity. Currently my ‘IDE’ is gedit, a terminal (with tab support), and a file browser.”

Tuah has ambitious plans for upcoming versions. “I want to finish the Arabic translation. I want to make Pasang Emas a network game. The GGZ Gaming Zone is high on my list (in fact the only option) on my list of network gaming tools, but the documentation is a bit daunting. I also hope to add more themes. But, as you can judge from the available themes, I’m a not much of an artist. I’m also considering adding 3-D themes. I never find it pleasant to play board games in 3-D, but I can appreciate the ‘cool’ factor.”

So far Pasang Emas has been a solo effort, but Tuah welcomes help. “If anybody wants to lend their artistic talents and produce cool themes, that would be great. Submitting Pasang Emas as a proper package to Debian and Red Hat would also be great. I also want to get rid of libgnomeui dependency, but so far, I haven’t found a neat solution.” You can contact Tuah by email, or submit feature requests, bugs, and patches through the project site at SourceForge.net.

Legal software for legal professionals

SourceForge.net doesn’t have an open source application for every niche, but we come close. If you work in the legal field or the criminal justice system, you might find one of these programs useful.

The most popular such program on SourceForge.net is Legal Case Management System. Created by Bulgarian developers, LCMS is designed for use by not-for-profit legal advice centres, to help them follow up on things like client consultations and court events.

The good news about VirtuaLaw is that it’s a free, open source legal case management system. The bad news is that its code hasn’t been updated in eight years.

Open Source Law is another long-ignored project that comprises a wiki with documentation revision control and a centralized repository. It’s supposed to allow members of the legal community or students to share each other’s documents.

Then there are those who have to manage the miscreants who wind up on the wrong side of the legal system. The Open Source Jail Management System stores and manages records for a small to medium-sized jail. It can help track demographic data, store intake and confinement procedures, maintain housing history, index court records, and facilitate incident reporting.

Various countries have specialized legal needs. For instance, the Delphi Probation System is alpha software designed to address complaints about the UK Probation Office’s computer system. Its developer says he began working on it “in the hope that one day I will be able to make the lives of overworked Probation officers less stressful.”

One specialized tool for police, Audacity Policial, is an extension of the Audacity sound editor helps police and justice officials pursue investigations based on telephone and environmental recordings. It supports audio analysis and transcription.

Finally, looking at law from a broader perspective, the Martus Human Rights Bulletin System is used by human rights and social justice groups to track violations. Martus is the Greek word for “witness.” According to the project’s page, human rights bulletins can be encrypted or searched, and can be backed up to a remote server.

Degunk your Windows or Linux system with BleachBit

BleachBit is an easy-to-use system cleaning tool for freeing disk space and maintaining privacy on your desktop PC. Its point-and-click interface is simple enough for novices, but powerful enough to save time for advanced users. You may find similar capabilities in a lot of Windows cleanup applications, but they don’t also work under Linux, as the cross-platform BleachBit does.

BleachBit is not an uninstaller utility; it mainly cleans applications that are already installed, such as web browsers. However, two of its features complement uninstallers. First, BleachBit includes a cleaner of broken shortcuts and file associations, such as are usually left behind by Wine in the user’s home directory, though they can be left behind by many other programs, such as RealPlayer, Beagle, and OpenOffice.org. Second, Linux software often comes localized in several languages, but the Linux installers don’t give the user the choice of which languages to install in order to save disk space. While Debian and Ubuntu users can use localepurge, BleachBit’s portable locale cleaner frees 700% more disk space than that utility.

I asked developer Andrew Ziem how difficult it is to write a cross-platform app that works on two such different OSes as Linux and Windows. “It depends on which day you ask me,” he says wryly. “Generally, writing in Python and GTK+ makes writing portable code fairly easy, so most days I can focus on platform-independent features. Still, there are challenges. One of the first struggles was packaging. The differences between Linux distributions can require as much effort as the differences between Linux and Windows. At a basic level, Ubuntu and Debian require .deb packages, while Fedora, openSUSE, and others require .rpm. Then there are incompatibilities in RPM itself (such as the MD5 vs. SHA256 hash), and once that is taken care of, there are different versions of Python. Linux distributions also can’t decide where to keep the same kind of files (such as the Apache logs). And the list goes on.”

Ziem started writing BleachBit last year out of a desire to learn PyGTK. “I had programmed in various other languages, such as PHP and C++, but I hadn’t written GTK+. I was tired of the unnecessary labor required to develop in C++, and Python’s motto is ‘batteries included.’ I chose GTK+ because it is cross-platform, mature, good looking, and, like Python, standard on virtually all Linux distributions.”

While PyGTK is standard on Linux machines, it’s not on Windows, so the Python and GTK+ framework make up about 95% of the BleachBit installation size on Windows. Ziem says, “I’ve mitigated the size with executable compression and a unique translation optimizer.”

Ziem released the first version of the software just before the end of last year. To date it has received 37 reviews on SourceForge.net – all positive.

BleachBit is portable, fast, and doesn’t require compiling. One way you can use it to speed up your system right away is by vacuuming your Mozilla Firefox SQLite databases. The Firefox databases grow fragmented, large, and slow. If you are a heavy web surfer, you should quickly notice an improvement in the speed of the Awesomebar (which provides searching in the URL field), and some people claim an improvement in startup speed. You should also save a few megabytes of disk space too.

In addition to a graphical interface, BleachBit provides a command-line interface to automate cleaning jobs in a shell script, batch file, or cron job.

You can find BleachBit in the package repositories for Debian, Ubuntu, Fedora, Slackware, openSUSE, Foresight Linux, PCLinuxOS, NetBSD, and Arch Linux distros. Because inclusion in a repository can take some time, and because the policy of mainline distros is to freeze a certain version of the application, the BleachBit web site offers .rpm and .deb downloads of new versions for major distributions.

The software is available in 33 – count ‘em! – languages, thanks to what Ziem calls “an army of 99 volunteer translators.” Ziem says managing the translations takes a good amount of effort, especially given BleachBit’s schedule of releases every two to three weeks, sometimes with beta releases in between. “Launchpad provides a low barrier-of-entry for translators, and it’s easy for me to download translations from Launchpad,” Ziem says.

BleachBit is the tenth project Ziem has hosted on SourceForge.net since 2002. “It’s a large, mature site that provides a variety of nice tools (such as the statistics and project web space). For a while I had BleachBit’s web space hosted on Google App Engine. Half the reason I switched back to SourceForge.net was that it in case of trouble it generally provides real support; I can file a ticket that will be answered by a real human.”

In addition to his customized SourceForge.net web space, Ziem publicizes the software by listing it in GnomeFiles and Freshmeat, and via PAD (Portable Application Development), a software announcement standard for Windows download sites.

If you’d like to add your expertise to BleachBit, the project needs Greek, Japanese, Danish, Norwegian, and Finnish translators. Ziem also needs testers and auditors who can test SVN and beta releases with little hand-holding, as well as people to write cleaners for popular proprietary Windows applications such as Adobe Photoshop and InDesign; see the Contribute page for information on how to help.

WordPress Themes