Month: September 2008

  • UCS-2 vs UTF-16

    Since I got confused by this one the other day:

    http://unicode.org/faq/basic_q.html#14

    Q: What is the difference between UCS-2 and UTF-16?

    A: UCS-2 is what a Unicode implementation was up to Unicode 1.1, before surrogate code points and UTF-16 were added as concepts to Version 2.0 of the standard. This term should be now be avoided.

    When interpreting what people have meant by “UCS-2” in past usage, it is best thought of as not a data format, but as an indication that an implementation does not interpret any supplementary characters. In particular, for the purposes of data exchange, UCS-2 and UTF-16 are identical formats. Both are 16-bit, and have exactly the same code unit representation.

    The effective difference between UCS-2 and UTF-16 lies at a different level, when one is interpreting a sequence code units as code points or as characters. In that case, a UCS-2 implementation would not handle processing like character properties, codepoint boundaries, collation, etc. for supplementary characters.

  • Google Chrome Comic

    The Google Chrome comic is a work of art, it’s both functional and artistic, and it manages to explain so many really important points in a way that is easy to understand.

    If you haven’t read it, and you’re interested in browsers at all, you should go and read it. 🙂

  • Cappuccino Framework released

    The people at 280 North have released the The Cappuccino framework as open source. The Cappuccino framework is the system that powers the 280 slides web app, which is sort of Keynote in a browser.

    I’ve been playing around with the framework today a bit and it looks really great. The interesting thing is how many AppKit features have made it across. It wasn’t hard to modify the sample app to use a CPURLConnection object to fetch data asynchronously and then display it in a suitable text view.

    My test app for this btw was an ajax clock. I built a simple php script that displays the output of the php date method and then used ajax calls to update the clock in the browser. It’s not exactly useful but it worked really quite nicely and the coding is relatively easy too.

    I’m now wondering what else can be built using these tools, because it seems a really nice way of doing web apps (if you have a desktop software background)

    I’m very impressed. 🙂