Posts

  • Monopoly (on the iPad)

    The game that we’ve all, at one point of our lives, played before—Monopoly. The version that I’ve grown up playing consists of paper bills, physical tokens, and a large physical board. The rules I played with then were “house rules”. Meaning, rules were decided by the people who organised the game. No one had bothered to read (or still kept) the instruction booklet that came with the game, no one knew better. Following this set of rules, I found the game pretty boring and much of the outcome was decided by the luck of your dice throw. Not much strategy could be employed.

    Apparently, that particular set of rules that I’ve always known Monopoly for was not in fact intended by the game author. A critical element of the Monopoly gameplay experience is the “Auction Sequence”. Outside of the iPad implementation of the game, I have never experienced it before, but it is part of the original Monopoly rules. Basically, whenever a player lands on an unowned property and decides to not buy it, the property is then put up to be auctioned off, with all players participating, including the one that passed the initial purchase opportunity with the bank!

    This “Auctioning” actually rebalances the gameplay a little as it gives players the opportunity to purchase/bid for the piece of property that they did not land on (by chance). By virtue of the fact that someone gave up the offer to buy a piece of property from the bank, everyone is given the opportunity to bid for it. This can actually become a strategic tool for all players involved.

    Another interesting aspect of the game, that is rarely practiced, is trading between players. Diplomacy and bargaining power comes into play here, which can actually spice the game up quite a bit. Imagine coming up with a contract to trade a piece of property for the right to not pay rent on the traded property? (I know it’s not really possible on the iPad, but it’s perfectly doable in real life!)

    The number of subtle lessons that one can grasp from a game of Monopoly, intended or otherwise, is hardly countable. In fact, I would think that this makes a good classroom exercise on Game Theory and Negotiation.

    · · ·
  • The Best Gmail Desktop Client

    I’ve always wanted a functional email client for my Gmail account. The web-based interface is just slow and clunky, highly inefficient in when you need to jump right in, look for something, and get right back to work.

    Lion’s Mail.app isn’t of much help, as with any other mail client. Gmail’s IMAP access comes with some idiosyncrasies, where the delete function archives your mail, leaving you with tones of useless trash archived without a way to really delete them.

    For Gmail’s IMAP access to be usable, a email client needs to be designed with Gmail in mind to take advantage or workaround Gmail’s unorthodox IMAP implementation. Thankfully, such a solution now exists.

    I’ve been using Sparrow Mail for a few days and have been thoroughly impressed by the design and the attention to detail the developers have. Instead of the usual delete button in email clients, Sparrow comes with both Archive and Delete buttons, perfect for Gmail. The message list is also collapsable and expendable, allowing it to look like your Twitter client or act like a full-blown Mail.app.

    For US$9.99, I think it’s a good steal for a minimalistic and flexible Gmail desktop mail client. Best of all, it supports multiple (and non-Gmail) IMAP accounts, including ShortMail. Take a peak at Sparrow Tips and observe some cool things that it can do.

    However, do note that the Sparrow Lite (free) version available in the Mac App Store is a few versions behind and is not fully compatible with Lion. Sparrow Mail, on the other hand, works perfectly.

    · · ·
  • 9th Anniversary

    Little did I know, this domain that powers my site, blog, and my email addresses became 9 years old today. Time really flies and this is the perfect opportunity to recount the evolution of this domain name.

    I first registered iphoting.com when I was in secondary one, hoping to learn something about servers from my seniors in secondary school. Then, there were few domain name registrars available and I used Network Solutions, one of the most reputable but expensive around (there wasn’t much choice and I didn’t know better). It was expensive at almost US$20 a year. I didn’t have a credit-card then and had to borrow one from my parents. (E-commerce then was a relatively new and unproven to be safe concept and yearly renewals were a chore as I had to convince them all over that e-commerce is still safe.)

    Once I took custody of my domain name, I set up ZoneEdit to be my name server provider, as they were free and were highly recommended. Furthermore, they also supported Dynamic-DNS updating which was essential for my set up. In addition, they also offered to forward all my emails to my SingNet email address for free. I pointed the domain to a PIII 1GHz machine with 128 MB of RAM, running Windows ME, on my home’s SingNet 256 kbps broadband connection. Whenever I got disconnected or reconnected, a piece of software will detect the change in IP address and dutifully update ZoneEdit with my new IP address. After getting Apache 1.3 up and running, it marked the birth of my site.

    After that, I upgraded the hardware of that machine and migrated to Windows XP. This then allowed me to migrate to the 2.0 branch of Apache. Meanwhile, I also messed around with IIS and found that it is not a solution at all—insecure out-of-the-box.

    Eventually in 2003, I migrated the machine to Mandrake Linux 9.1 (now known as Mandriva) and that was the first taste I had in operating a production web server in a GNU/Linux environment. This migration from Windows to GNU/Linux instantly brought performance improvements. Apache on Linux, unlike its counterpart on Windows, does not use a pre spawned process model. Rather, the Linux version allows Apache to dynamically increase the number of processes based on load.

    This was also when I first started learning how to operate a mail server. The mail server that I chose to use was surprisingly difficult to install and set up—qmail. It used to be the most popular mail server, but fell out of favour over time due to the lack of new features and development. Nonetheless, it was and still is the most secure mail server available out there.

    However, a year after Google released Google Apps, I migrated my email services over to them as I had trouble handling SPAM. SpamAssassin was just not up to par despite my sincere efforts in tuning and training it. With Gmail, Google has successfully solved the problem of SPAM.

    I’ve never had the interest in visual design as I found Adobe Photoshop a very cumbersome and overcomplicated piece of software. I never had time nor the interest to figure out how to do anything, and where all the functions were hidden. The craze then was Flash, but I never messed with Flash enough that I could do more than just moving shapes around the stage. I spent most of the time in learning about systems administration.

    I was glad I made that choice. Command-line has never changed much since it was invented, only made more convenient. Sooner or later, one has to learn it, why not do it earlier when the mind still learns quickly?

    Later in 2006, the year that Apple started producing Intel-based MacBooks, I switched to a Mac. Although the first-generation Core Duo white MacBook that I’d bought had some teething first-generation problems, it was undeniable that Apple made something that I’d really liked. Not just something that I could use, but some that I had enjoyed using it. I was slowly being exposed to good and functional industrial design.

    Eventually in recent months, my interest in typography grew, and my appreciation for minimalist design became even stronger. This also led me to explore, to some degree, minimalist-responsive web design.

    As my site has been left in a state of disrepair for some time, I initially wanted to work on a revamp of my site during the summer holidays, in celebration its 9th anniversary, today. Unfortunately, somehow, I haven’t managed to deliver it.

    Given that it’s the 10th anniversary next year, I think I ought to finish the revamp by then. Meanwhile, now is the time to bring my skills in visual design up to a usable level.

    · · ·
  • Java 7 on Mac OS X Lion

    Believe it or not, the Java framework installed in Lion is still stuck in the past at version 6. JDK 7 has already been released by Oracle a few months back, but Apple has now transferred the responsibility of maintaining the Mac OS X port back to Oracle.

    The OpenJDK project is now in the process of porting and implementing OS X specific code from Apple into the Java mainline codebase. The current status of the port can be seen in the Mac OS X Port Project Status page. Current outstanding or incomplete features are specific to the Mac platform, like printing and locale support. If you don’t need such tight integration with the OS, you can actually start using JDK 7 for development.

    For my IS200 course on Java programming (IS Software Foundations), there is a specific JDK 7 requirement for some pre-built class files distributed in the course materials. The Java 6 compiler within Lion refuses to compile and link such classes, claiming major version number incompatibility. This leaves me with no choice but to get JDK 7 up and running, or boot into Windows via Parallels (YUCK!).

    Fortunately, there is a unofficial pre-release build of JDK 7 for Mac OS X which can be downloaded here. Specific instructions are available.

    In short, it is a 4 step process to get JDK 7 running with the command line.

    1. Download an unofficial build.
    2. Open /Applications/Utilities/Java Preferences.app.
    3. Drag both “OpenJDK 7” entries to the top of the list.
    4. Test java by running “java -version” in /Applications/Utilities/Terminal.app.

    There is a new unofficial build every few days with new bug fixes, so bookmark the google code download page and update frequently.

    With this port, it is almost 100% possible to finish the IS200 course with just Mac OS X. With the exception that the exams are conducted on Windows machines with the awful cmd.exe and NotePad++.

    · · ·