[TxMt] Re: Mathematica (with a bit of TextMate theology as bonus)

Jacob Rus jrus at hcs.harvard.edu
Wed Dec 6 17:35:25 UTC 2006


rafale labosk wrote:
> You're argument for breaking the pedagogic rules is
> not lost. That said, list or non-algol programming
> does not necessarily fit any pre-defined patterns.
> You're not solving a problem, but setting up the
> parameters for a solution to emerge. Time will tell if
> TM's pattern matching system is conducive to this way
> of thinking. It actually does not matter on another
> level since the system is a productivity boon no
> matter which way you cut it.

Hmm, I'm not sure that's completely true.  Even languages which are as 
free-form as lisp have some common idioms; approaches to similar 
problems which can be wrapped up into time-saving snippets. 
Additionally, there are many elements of simple syntax manipulation, 
such as the "Extend Current Parens" command in the Experimental bundle, 
which if they were refined would end up making the life of lispers much 
nicer.  (Incidentally, anyone who uses lisp/scheme and TextMate should 
take a look at that command.  It's pretty nifty IMO.  I don't remember 
who made it, but I think several similar ideas could make TextMate into 
a real lisp powerhouse)

> Yes, TM has something to do with smart folders, or
> smart folders have something to do with TM, depending
> on your point of reference. Both points of reference
> are good.
[...]
> How do you go about collecting the info? The net,
> articles, books etc. You store this information on
> your HD, preferably as --small txt files-- or refined
> clippings. This is actually critical given Spotlight's
> current limitations.
> 
> You then need metadata the to understand the
> overriding concepts. Try dynamic raw spotlight queries
> of the kMDItemTextContent variety, for instance. Then
> whatever raw queries you've set up as smart folders
> will produce text files fitting the query parameter
> (you can make this quite complex). What's interesting
> here is that the same text file can be in N smart
> folders. You now have a basis for forming sets of
> metadata that semantically mean something.
[...]
> Now take each smart folder content and drop it into a
> tmproj pane. Group the text files with your keyboard
> shortcut (Options, Volatility, Risk) >> you get an
> outline with the same files sometimes in different
> groups courtesy of unix aliases.
> 
> Better yet, you have the basis of a knowledge system
> that can be elegantly reviewed and navigated. It works
> and is a 3 minute exercise assuming you're smart
> folders are set up. TM becomes a Reader.
> 
> You can therefore use TM to outline in a non-linear
> fashion. You can further refine inside tmproj with
> search criteria and all text tools at your disposal.

Ah, okay.  Well, in that case, I just suggest you wait until TextMate 
2.0 comes along, when, it is my great hope anyway (Allan, are you 
listening!?), TextMate will be able to view the contents of smart 
folders with ease.  Given that Leopard should also give us hopefully the 
ability to add arbitrary spotlight metadata to items in the form of 
xattrs, your vision should be wholly realizable.  The way I see this 
working is we use one command to bring up some sort of keyword 
interface, and then we navigate to a place where several smart folders 
matching those keywords can be found (and of course other criteria can 
be used as well, for dynamically generated "smart" collections of your 
snippets), and we examine the Text Documents inside of them.  This ends 
up working somewhat like a wiki with category pages, or like iTunes with 
its playlists.

> The question is how do you link the text in-between
> the files in tmproj? I'll leave that for another day.

And the answer to this is that you make them Markdown documents, and you 
use reference style links to link between the documents, for instance, I 
might link to another [file][mycoolfile] like this.

[mycoolfile]: ../stuff/mycoolfile.text

Someday soonish, I'm going to make sure that such links can be used to 
link between documents, and that hitting the ⌅ key inside such a link 
(and it's important that this works both in the reference and in the 
definition) opens up the relevant file in TextMate.

Combined with some special facility for rendering such markdown 
documents as a sort of ad-hoc wiki, where the links to files are 
converted to links which render those files as html, and where an "edit" 
link at the top can open the current page in TextMate, I think we can 
come up with quite an awesome personal data manager, better for its 
openness and flexibility than comparable standalone apps such as 
Yojimbo, StickyBrain, Voodoopad, etc.

Anyway, I certainly do understand your desire for non-linear, abstract 
collections of data, and I really wish this was how computers worked all 
the time.  I'm sick and tired of the file-folder-desktop metaphor we've 
been stuck with for 20 years now: it's not human-friendly; it creates 
unnecessary mental overhead; it's not convenient; it leads to horrible 
clutter on my desktop.

So I say, bring on the future!  If Apple will get their act together 
with Leopard metadata, and really exploit spotlight/xattrs true 
potential, then I will be very very happy.  BeOS did it 10 years ago, 
and the guy who made it happen there now works for Apple.  So I remain 
optimistic.

Incidentally, the One Laptop Per Child $100 laptops will have a 
non-traditional file manager called the "journal" which completely does 
away with hierarchical file systems, opting for this kind of 
sorting/searching interface instead, in which all collections are 
dynamic, generated from metadata, and in which every single object can 
be annotated, cross referenced, and described with arbitrary metadata. 
If it works out, it should be quite amazing.

Cheers!
Jacob Rus




More information about the textmate mailing list