Computers Posts

  • 03.07.08 GeekGameBoard — Getting closer to iPhone-ready (Games, Computers)

    To encourage development, I’ve started an open source project based on the GeekGameBoard game-development sample code that Apple published last December (which, by a strange coincidence, I wrote.) I hope to have it ready for iPhone game development soon.

    You can browse the Mercurial repository online, or download the current source code. It’s BSD-licensed, and your contributions are of course welcome (emailed patches are preferred.)

    The changes since Apple’s original sample-code release are:

    • It no longer requires garbage collection. I love GC, but it’s not supported on the iPhone, where I am definitely planning to use GGB.
    • I fixed some memory leaks of CoreGraphics objects.
    • I fixed an assertion-failure when kinging a checker.

    What Is GeekGameBoard?

    GeekGameBoard is a small Objective-C framework for implementing the user interface of a board or card game. Many games can be implemented in less than 150 lines of code.

    It also demonstrates generally-useful Core Animation techniques like:

    • Hit testing
    • Dragging CALayers with the mouse
    • Loading images from files and setting them as layer contents
    • 3D “card-flip” animations

    Framework classes include Bit, Piece, PlayingCard, HexGrid and more. It comes with sample games from Klondike solitaire to Checkers and even Tic-Tac-Toe. It’s all ready for you to add AI, network play, new game definitions…

    GeekGameBoard runs on Mac OS X 10.5 or later. iPhone support is coming soon.

    MORE

  • 03.06.08 Apple slashdots itself (Humor, Computers)

    This is what happens when Steve Jobs announces that an iPhone SDK will be available for download within the hour:
    MORE

  • 03.01.08 MacRuby (Languages, Computers)

    MacRuby “is a version of Ruby that runs on top of Objective-C. More precisely, MacRuby is currently a port of the Ruby 1.9 implementation for the Objective-C runtime and garbage collector. The rationale behind this effort is to solve in a very efficient way all the bridging problems RubyCocoa, the Ruby bridge to the Objective-C runtime, has to work around.” (It’s still in development, and not ready for prime-time use yet.)

    This is exciting news. Now, … MORE

  • 02.26.08 Over 2^32 Sold! (Nearly) (Humor, Music, Computers)
    CUPERTINO, California—February 26, 2008—Apple® today announced that iTunes® (www.itunes.com) is now the number two music retailer in the US, behind only Wal-Mart, based on the latest data from the NPD Group*. Apple also announced that there are now over 50 million iTunes Store customers. iTunes has sold over four billion songs,

    I really hope they thought ahead and used a 64-bit int for the number_of_songs_sold variable, otherwise some Bad Stuff might happen in the … MORE

  • 02.19.08 hash musings (Ideas, Computers)

    I’ve been thinking about writing an essay about the beauty & weirdness of cryptographic hash functions. The way any digitized data, however huge, can be named by a short fixed-size binary string. The way there are in theory an infinite number of hash collisions, but in practice zero. I was talking to myself about it, this morning, and two quotes appeared, which I write down here to remember:

    “Hashing is my favorite computer-science concept.”

    and

    SHA is the … MORE

  • 02.09.08 Make Mine Mercurial (Ideas, Computers)

    Mercurial’s having a contest to design a new logo. I hadn’t been paying attention, but today I was reminded of Mercury’s symbolic connection to alchemy and the occult, and decided to design something incorporating John Dee’s Monas Hieroglyphica, a symbol he designed based on the astrological symbol for Mercury.… MORE

  • 02.06.08 Network Barbie Says “Asynchrony Is Hard!” (Ideas, Languages, Computers)

    …Just like many times before, I’m wishing there were a third way between threads and callback-based asynchrony. I’d like to be able to keep each operation’s flow of control simple, as with threads, but at the same time limit the interactions between operations to keep the overall flow of control from turning into race-condition spaghetti.… MORE

  • 01.30.08 96 Characters Ought To Be Enough For Anyone (Web, Languages, Computers)

    Paul Graham: “Arc only supports Ascii. … But the kind of people who would be offended by that wouldn’t like Arc anyway.” That last bit [emphasis mine] sort of flummoxed me. Is he saying that LISP only appeals to native English speakers?… MORE

  • 01.27.08 Dear Lazyweb: Certificates in RDF? (Ideas, Social Software, Computers)

    It seems to me that RDF ought to be a good way to represent cryptographic certificates, since it describes arbitrary types of relationships between entities (e.g. FOAF), and allows them to be composed in complex ways. Does anyone know of schemas or libraries for such a thing, or something related?… MORE

  • 12.20.07 GeekGameBoard (Games, Computers)

    Santa has an early Xmas present for all you good Leopard programmers: GeekGameBoard, a new piece of sample code by the anonymous engineer elves at Apple.

    GeekGameBoard is an example of using Core Animation to present the user interface of a board or card game. It implements a small framework for implementing such games, with domain-specific classes like “Grid” and “Piece”, and examples of several game definitions built on top of the framework.
    Some of the … MORE