September 15th, 2008
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.
Posted in General | No Comments »
September 11th, 2008
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. 
Posted in General | 1 Comment »
September 5th, 2008
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. 
Posted in General | No Comments »
August 27th, 2008
This is a remarkable article describing how Faber & Faber (the publishers) are using a series of graphical parts and some custom software to automatically generate book covers for their new series of out of print works.
It works by using a standard layout for things like the title and the barcode, but then using parameterized graphics it generates a unique cover graphic for each book.
The covers fit within the style that has been chosen of course, but each is unique.
It’s really clever.
Posted in books | No Comments »
August 25th, 2008
It’s been a little while since I wrote about the release of SQLEditor so it’s time to write about what’s been happening with SQLEditor since then.
SQLEditor 1.4.1.b2 (available now)
There is a new bug fix release of SQLEditor available in beta right now. If the “Check for beta versions” box in the preferences window is checked then you’ll get the offer of the upgrade to 1.4.1b2.
This is a minor bug fix release that fixes a few bugs that have been reported since the 1.4 release
SQLEditor 1.4.1b3 (available soon)
This release is going to fix a stupid bug that makes the file type selection in the export as image box not work correctly. The file types got mixed up in the code so the labels don’t match the output. It missed the b2 release, but it will be corrected in beta 3
SQLEditor 1.5
This is the next big release of SQLEditor. It’s going to have an entirely new SQL parser (written in ANTLR 3) and a major rewrite of the codebase (which moves almost all of the Java code to C or Objective C)
The new parser replaces to the old Java based parser (written in Javacc) with a new one that runs entirely in C and Objective C. Although I have found JavaCC to be an excellent tool, this replacement reduces the amount of Java code in the application substantially.
Plugins
The new code will also offer a much better api for plugins. The current api, which isn’t public, is used for the Rails import and export, but it’s annoying to work with, because the architecture wasn’t really built for it. The new codebase is much better for writing plugins.
JDBC / JNI Library for Cocoa
SQLEditor 1.5 also uses a new Java JNI and JDBC library for Cocoa which I’m hoping to be able to make Open Source soon. It allows you to access a database using JDBC rather than ODBC. This may not be as efficient, but it’s much easier to install drivers. If you would like to try these new libraries in your own application please send me an email and I’ll send you some code to try out. The final libraries are probably going to be BSD licensed, but it’s still being worked out exactly how it will work.
Posted in General, SQLEditor | No Comments »
August 2nd, 2008
In case you missed it version 1.4 of SQLEditor was released back on July 8th.
If you’re using 1.3.9 you might like to consider upgrading.
The 1.3.9 upgrade system will be set soon to recommend this upgrade
(though 1.3.9 doesn’t use sparkle, so it can’t actually do the upgrade for you)
SQLEditor 1.4
(3.6 MB DMG File)
Lots of great new features and various bug fixes and improvements to the existing ones.
Tags: Software Release, SQLEditor
Posted in Company News, Macintosh, SQLEditor | No Comments »
June 26th, 2008
Media Temple are running a beta programme for virtualized Mac OS X server hosting (Using Parallels Server)
This sounds really interesting, it would be nice to be able to rent a Mac OS X box and run services on it.
It might even be useful for things like running a build system or even as a testing server.
The question is how much will it cost. That isn’t entirely clear yet, apparently because they’re not entirely sure how much each instance will need in the way of resources.
How it compares to SliceHost and Bytemark will remain to be seen.
(It must surely be more expensive, but how much more?)
Posted in General | No Comments »
June 24th, 2008
SQLEditor 1.4b26 is now available for download.
It fixes only one problem which is related to auto increment and SQLite.
This should hopefully be the final beta version for 1.4
The next version should be the 1.4 final release which will probably happen later this week or early next week (assuming no more problems are reported)
SQLEditor 1.4b26 Download [3.6MB DMG]
Posted in Macintosh, SQLEditor | No Comments »
June 20th, 2008
SQLEditor 1.5 is making good progress. The latest thing that I’m currently working on is to extract SQL Views from a database. In theory this should be just like extracting tables, but it’s looking much harder to work out than I ever expected.
The new SQL parser is mostly finished. It’s been completely rewritten using ANTLR3. This offers a number of really good improvements, the most important one being that it’s not running in Java anymore. The parser is now completely native code.
Also pretty much finished is the new document model code, the new document export code and the new JDBC handling code. I’m hopeful that it will now be possible to run JDBC drivers that use AWT (which I’m informed the IBM DB2 driver may do).
SQLEditor 1.4 is just about finished too. There is one change that needs to get beta tested and then the 1.4 final release should be available.
Watch out for a new 1.5 download soon and of course the final candidate for 1.4
Posted in SQLEditor | No Comments »
June 20th, 2008
They spotted water on Mars!
Colonising now seems a step closer …
MarsPhoenix Twitter
(via Boing Boing)
Posted in General | No Comments »
June 7th, 2008
Handy new tool I came across today which allows you to test regular expressions and see what they select.
Reggy
Posted in Macintosh, Writing Software | No Comments »
June 7th, 2008
A cool new online presentation tool:
http://280slides.com/Editor/
The slide show application is really nice in that it feels very much like a desktop application when in use, even down the way buttons and key presses behave. The object rotation is particularly clever.
Another thing that makes this one clever though is the underlying framework, which is said to compile cocoa like code into dynamic web pages. It will apparently even be opensourced at some stage!
Posted in Computing, Internet Stuff, Macintosh | No Comments »
May 30th, 2008
Posted in General | No Comments »
May 27th, 2008
The build system for SQLEditor has lots of steps, from building each of the component frameworks, compiling the application, assembling the bundle, creating a disk image and then uploading everything to the server. (Plus things like version histories and read me files).To reduce errors I have several aggregate targets and a collection of scripts, but I was puzzled how to produce those little note entries that OCUnit generates when it’s running unit tests. There were several notes I wanted to make but I couldn’t figure it out.
However it occurred to me one day to inspect the souce of RunTargetTests and the answer was of course right there in the source.
<filename>:<line>: note: <message>
gives you a note.
<filename>:<line>: <message>
gives you a warning.
where
<filename>
is the name of the file you want the message to appear from
<line>
is the line number in that file
<message>
is the message you want to display
In the note form the word ‘note’ is a constant. Don’t replace it with anything.
As an alternative you put in use an empty filename and 0 for the line if you’re not interested in these details.
Example
@echo ":0: note: disk image creation complete"
Will display the message “disk image creation complete” as a note in the build window.
Posted in Macintosh | No Comments »
May 10th, 2008
George Lucas in Love
A parody on the origins of the star wars story…
Posted in General | No Comments »
March 19th, 2008
Wired has an interesting article about Engineers without borders, a group that is trying to develop cheap technology solutions for developing parts of the world. The latest idea is a low cost wind turbine to generate electricity for lighting.
Best of all the design is intended to be produced by local manufacturers in the destination country, so it encourages local industry too.
Wired: Engineers Without Borders Bring Tech to Villages Without Power
Posted in General | No Comments »
March 14th, 2008
Found an odd problem with Flash CS3 today. I was working away and I realised that I wasn’t getting anything in the output window from calls to trace().
Just a completely empty output panel.
The answer is simple, make sure Filter Level is set to verbose in the menu on the output panel. If you have it set to None then you won’t get any output.
I’m not quite sure if this is something that I changed or if it is the default, but it isn’t exactly obvious.
Posted in Macintosh, Writing Software | No Comments »
March 5th, 2008
I happened to come across this:
Chocolate Russian Roulette [cybercandy uk]
You get a tray with 12 pieces of chocolate. 11 of them are praline filled milk chocolate bullets, the 12 contains a real chilli pepper.
Posted in General | No Comments »
February 21st, 2008
Johan Basberg (who designed the beautiful SQLEditor icon) has a handy list of recommended mac applications at
http://dittverk.no/mac/files/tag-editor.php
And SQLEditor is on this list 
Tags: mac
Posted in Internet Stuff, Macintosh | No Comments »
January 30th, 2008
Work started on the new acid test almost as soon as the IE developer team posted notification that IE8 passes Acid2
Well, if you read the article and comments, it’s not perfectly correct. But it’s kind of funny as a quote.
CSSInfo
Posted in General | No Comments »