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