September 2007 Archives

Local Talent

| No Comments

There are so many fantastic Aussie bands out there now (some from my home town of Melbourne). Some of my favourites I've been listening to recently:

Check them out, go see their concerts and go buy their albums - support the alternative and independent musicians!

(The links all go to the artist home pages, all of which have playable online samples.)

NSOpenGLView and text

The Cocoa view class NSOpenGLView, which automates all the initialisation required to provide an OpenGL context for drawing, is very useful indeed. It would also seem that aglUseFont is a nice simple way to load up a font to draw some text in your view. So long as it isn't the aforementioned NSOpenGLView, that is.

I found out the hard way that the way NSOpenGLView initialises the OpenGL context is not compatible with the AGL API. So you can handle all the pixel formats and so on yourself but have easy fonts, or the other way round. The glut text call does actually work, albeit in a rather less flexible manner.

I guess this explains why there's a bunch of font/text utility libraries for OpenGL - it's non-trivial. But if all you want is a quick and dirty text-drawing function, go for glut.

One day I'll figure out how to properly render accelerated Quartz text into an OpenGL context, and write an article about it.

"Abject Oriented"


Scary - and oh, so true:

You'll laugh, you'll cry, you'll panic when you read about some of your own transgressions.

Reviews: Yojimbo

Yojimbo

Product:
Yojimbo
Supplier:
Bare Bones Software
Price:
US$39
Summary:
A flexible organiser for keeping track of all the bits and pieces of information you might otherwise lose.

Read on for full review...

Installation was painless - a nice dmg screen, you do the usual drag of the icon into the Applications folder, and it's done. Upon first launch, it pops up a simple dialog asking if you want to use it in demo mode or get a license. You can evaluate the software for 30 days, and it is fully functional during that time. I nominated demo mode for now, and up comes the main screen.

The initial screen is clean and visually appealing. There is a single 'Welcome' item in the library, which provides a basic overview. It then offers for you to watch an introductory video - a very nice touch. It pops up its own video viewer and provides a great little intro to get you started.

At first i didn't even notice the 'Yojimbo' tab at the very right edge of the screen. It turns out this is the "Drop Dock" where you can just dump stuff without having to change focus - a very nice idea. Just drag something (like selected text or a PDF) over to it, and it will pop out and provide a list of the available collections for you to drop it onto.

The Preferences window is quite clean and straightforward, with virtually all the options being quite self-explanatory.

The notes feature lets you add notes in both plain and rich-text format. The RTF support seems to be more for supporting the pasting of text than doing much manual formatting, as the formatting is all under the menu. It would be nice to have toolbar support for styles at least.

When you hit Cmd-N, it creates a note, giving the title field the focus. After you hit enter, the title entry remains highlighted. It would be nice for the focus to move to the text field so you can start typing straight away, saving extra mouse movement or tabbing.

The first time you try to encrypt an item, it asks you for the master password. Once set, passwords and serial numbers can be hidden, and text items encrypted from prying eyes.

Items can have a label, which is a colour-coded label with a name, such as Personal, Shopping, etc. Additionally, items can have tags, and the facility for adding tags is provided in the Inspector. Tags are created on the fly, from any of the inspectors, or when you create a new item. You can add comments to each item also. Finally, you can flag items (presumably for followup). So there's a lot of flexibility for managing your item metadata. I noticed though, when an item is selected that has a label assigned, it is highlighted in default blue, rather than the label colour, so you can never see what the label of the current item is. It would be nice if the selection could be indicated at the same time as the label.

You can create the equivalent of Smart Folders by creating a Tag Collection, which filters the library over one or more tags. I can see how this would be extremely useful for cataloguing stuff, without enforcing rigid classifications.

Collections aren't hierarchical, so once you have a reasonable number of collections, the source list gets pretty large. It would be nice if you could double-click on a collection to edit the name. Items don't have to be in a collection, but you can place items in one or even multiple collections, to suit your management style. This is nice, as it avoids the problem of hierarchical data management, where there is only one "home" for an item (raising the eternal problem of how to uniquely and unambiguously classify things). So by avoiding the traditional folder hierarchy (which I complained about at the beginning of this paragraph before I had explored much) it seems to be even simpler to use than traditional approaches.

Because Yojimbo is designed to collect all your "stuff", it has a wonderful Quick Input panel - hit the hotkey (F8 by default) and no matter what you're doing (ok, hopefully not playing a full-screen FPS game) it will pop up with a nicely designed dialog that allows you to create a new item, of whatever type. It is automatically filled with the contents of the clipboard, for even faster filing. I can see how this could be a very powerful and frequently used feature.

Another feature that would be really powerful is the ability to link to other items, a bit like VoodooPad does (another fine piece of Indy Mac software).

I would love to see some advanced topics on how to use Yojimbo and really do some funky stuff. I have a good feeling about this app, it really grows on you. Yojimbo seems to have that rare combination of simplicity and power. For anyone with a lot of "stuff" to manage (and most of us would probably fall into this category) it seems like a very worthy tool indeed. If it saves you a few hours by giving you quicker access to your bits and pieces of information, then it will probably pay for itself quite quickly. Plus - you get to support indie developers, and that's good karma too!

A Simple Spam Meter

Every time I use GMail, I seem to make a mental note of the count of messages in my spam folder. And a while ago I thought it might be interesting to plot the count of spam messages over time, and see what happens.

The GMail spam filtering is excellent, and it is extremely rare that an actual spam gets through to my inbox. The default behaviour is to keep spam for 30 days, then delete them. So this system can be seen as an averaging filter, a sliding window giving a 30-day average of daily incoming spam.

Early this year, there was a huge spike in spam, and I remember having a level of over 1,000 spam for quite a while. In recent times, things have settled somewhat, and as the chart below shows, spam actually seems to have dropped off. From an average of over 20 a month or so ago, it has now dropped down to around 15:

Since I have been very careful about exposing my email address to spam harvesting, I may get less spam overall than people who actively post to newsgroups and so on, but the interesting result from this is more the overall downward trend than the absolute numbers.

The above data was collected and plotted using Google Spreadsheets, and uploaded with Skitch.

Common Lisp

| No Comments

Having long had a fascination for languages, both spoken and digital, I was very pleased when Peter Seibel came out with "Practical Common Lisp", which you can also find online. I read some of the online version, and liked it so much I went and bought the book. So if you're interested in learning this venerable language, I strongly recommend you to check it out:

Peter's writing style is very engaging and easy to follow, and manages to explain some highly technical aspects (and some rather arcane corners) of the language in a very accessible way. Given Lisp's academic roots, Peter goes to great effort to show how "practical" Lisp is, with a great deal of useful sample code.

Highly recommended.