Dylan Xcode Integration

Sat, 2005-10-29 11:47

A little-known fact about Xcode is that is supports syntax colouring and function pop-ups for Dylan files.

Whilst this is nice, it inevitably leads to the desire to be able to build Dylan programs directly from within Xcode.

There are a few problems with this, but it turns out that with a bit of scripting it is possible. To save everyone else going through the same pain that I went through, I’ve made some template projects that you can install into Xcode.

Version

The current version is 1.1.

At the moment the file archive doesn’t include any obvious indication of the version number. I’ll try to fix that at some point. For now, if in doubt, check the output of the Build Results window - you should see a version scroll past at some point!

Downloading

You can download the templates from here.

Installation

Eventually I will make an installer, but for now you have to do the installation manually.

  1. Extract the dylan-xcode-latest.tar.gz archive: tar xzcf dylan-xcode-latest.tar.gz

  2. This should produce a single folder called “Dylan Tool”. Copy this into /Library/Application Support/Apple/Developer Tools/Project Templates/Command Line Utility/

  3. Start Xcode, and choose New Project, you should now be able to choose “Dylan Tool” from the list of templates.

Usage

Once you’ve installed the template, you can create a new Dylan project by choosing File/New Project…, then selecting Dylan Tool from the Command Line Utilities section of the assistant.

You should see a new project with three source files:

  • hello.lid
  • hello.dylan
  • hello.dylan-exports

If you know any Dylan, you should know what these are for! If not, you probably need to check out some of the tutorials first.

You should be able to build and run this project by choosing Build and Run from the Build menu.

Open Source License

Tue, 2005-06-07 17:35

Unless otherwise stated, any open source Elegant Chaos software is distributed under the terms of the GNU General Public License.

Choosing exactly which license to use has been tricky, and I may revisit this decision at a later date (but any change will not affect the software that I am distributing now).

Politically I agree with the aims of the GPL, and I understand why it imposes the restrictions that it does.

I did have a couple of concerns with it:

First, as someone who has worked on lots of commercial software, I do understand that the GPL can be a monumental pain in the arse. It is often totally unrealistic to expect a product to be open sourced when selling it is the raison d'être of the whole company, and a programmer is often left in no doubt how their boss would react to such a suggestion.

In these cases the GPL license may have some long-term evolutionary effect, killing off such commercial narrowmindedness, but in the short term the programmer quite likes their job, so has to forgoe a nice clean public implementation and attempt to re-invent the wheel. This is a shame as it works against standardisation and encapsulation of common code, both of which are desirable processes that all programmers benefit from.

Feed Me

Tue, 2005-06-07 16:55

What Is It?

Feed Me is a Bayesian filtering system for RSS news feeds.

What Does It Do?

RSS news feeds are great, but inevitably one ends up subscribing to too many of them, and drowning in a sea of unread articles. So if you've got 400 unread articles, and only time to read 10, what do you do?

Most news readers will allow you sort unread articles alphabetically, or by date, which might let you get the 10 newest articles from your favourite feed.

That's not really what you want though - what you really want to do is pull out the 10 articles that you're most likely to find interesting, from all of the feeds you are subscribed to.

This task is what Feed Me attempts to accomplish, by allowing you to rate articles as good or bad, and then helping you to find more of the good ones.

How Is It Implemented?

It is implemented in Python, as a CGI.

Where Can I Get It?

The project is in an early stage of development, and isn't ready for prime time, but you can look at the source code if you want to (user=guest, password=guest).

All comments, suggestions, code submissions welcome!

Recent tunes


Who's online

There are currently 0 users and 1 guest online.

Syndicate

Syndicate content