Archive for July 2, 2003

Wednesday, July 2, 2003

ATPM 9.07

The July issue of ATPM is out.

CPS and Tail Calls

Dan Sugalski:

In a traditional calling scheme, where stuff goes onto and off of a stack, implementing tail calls can be a bit of a pain. Not a huge pain, mind, but a bit of one, as you have to screw around with the stack some, which is often awkward, painful, or just annoying. I hate complex stack manipulation. Fooey. However… If, rather than using a stack calling system you use a CPS system instead, almost all of the pain goes away, which is always nice.

The Truth About TV Advertising

Inluminent:

I’m an Internet advertising sales person, and you know what’s the hardest thing to sell? Reporting. Data. Trackability of the advertising medium.

Writing Code Is Stupid

Ian Wij:

Why bother with objects and components at all? The purpose of objects is to provide encapsulation and implemention reuse. With code generation, we reuse the requirement or design and not the code. It doesn’t matter if code gets duplicated and spread about because a human won’t be maintaining it. Objects and components are a human artefact for versioning and managing work among developers. They exist to help us humans deal with software complexity. Let’s use computers to deal with software complexity instead.

Perl 6 Design Philosophy

Randal, Sugalski, and Tötsch:

At the heart of every language is a core set of ideals that give the language its direction and purpose. If you really want to understand the choices that language designers make—why they choose one feature over another or one way of expressing a feature over another—the best place to start is with the reasoning behind the choices

This might be compared to the Zen of Python.

Casady & Greene

Eric Blair and John Gruber note the passing of a Mac icon. Casady & Greene made great products, earning six out of six Excellent rngs from ATPM:

They also published classic games such as Glider and Crystal Quest, which is the second Mac game I remember playing (after Brickles).

Amazon Blog

Ted:

This is a cheap place. Wait, did I say cheap? I mean frugal. No Herman-Miller Aeron chairs here. It's nice to work for a company that saves pennies so they add up on the bottom line. The office furniture is utilitarian. I'm sure there is a fancy executive table somewhere, but the conference rooms, training rooms, etc. just have plain tables.

Preferences Frameworks

Matt Gemmell:

[SS_PrefsController] (and its associated protocol) makes it absurdly easy to implement multiple-paned Preferences windows in your applications, with views dynamically loaded from one or more external bundles. Once you’ve set up the bundles for your preference panes (easy in itself), it’s basically just two lines of code to implement a full-featured Preferences window like those in iChat, Mail, Safari and many other applications.

M. Uli Kusterer:

[UKPrefsPanel is] a simple delegate class that makes it easy to create a simple Preferences window. Put your different preference panes in a tabless NSTabView, connect that to an instance of UKPrefsPanel, and you automatically get a toolbar with icons for each tab pane that switch between the tabs.