Bill Humphries has pulled together a fantastic fundraiser idea to support John Kerry - the “High Stakes” parties around the country. The idea here is for Kerry supporters who are also fans of Joss Whedon (Buffy, etc.) to rally on Sunday, October 24th. Whedon will conference call the parties at around 5:00 PM EST.
Sadly, I’ve never watched a single episode of Buffy or any other Whedon production, and I’ll be doing an Open House at the time the parties are going on. I heartily approve, however, and if someone decided to go to one of these parties rather than visit my Open House, well, I wouldn’t hold it against them.
http://www.doug-miller.net/blog/archive/weblogtoolscollectio.html
Wed, 13 Oct 2004 22:12:22 -0500
http://www.doug-miller.net/blog/archive/weblogtoolscollectio.html
Tinderbox
demiller@gmail.com (Doug Miller)
Mark at Weblog Tools Collection asks:
Eastgate Tinderbox: the tool for notes: Any of my readers use this? Any comments/suggestions? Every feature sounds like something I have been trying very hard to forge out of an amalgamation of weaker tools such as wikis and PIMs.
To which I responded in
Mark at Weblog Tools Collection asks:
Eastgate Tinderbox: the tool for notes: Any of my readers use this? Any comments/suggestions? Every feature sounds like something I have been trying very hard to forge out of an amalgamation of weaker tools such as wikis and PIMs.
To which I responded in a comment:
“As a long time user of Tinderbox, I can attest to it’s brilliance. I have heard a few people, like Jonathan, comment on the UI and the learning curve. As to the UI, it can be spartan - Tinderbox doesn’t come equipped with lots of toolbars and buttons and what not - something I find very functional and zen-like in it’s minimalism. In truth, you don’t need all that stuff with Tinderbox - if you can press ‘Enter’ and the space bar, you’ve mastered over 90% of the controls you need to operate the program.
The learning curve is not actually as steep as some people think it is. The real issue is the unlike many other programs, Tinderbox doesn’t present you with a strict metaphor for it’s use, but rather is nearly infinitely flexible. You can view your information in multiple, rather than a single way, but beginners tend to gravitate towards a single view, generally dependent on their preconception of the program. I’ve know of folks (myself included) who got stuck in the default map view for a period of time, never realizing the other views were there, and quite possibly more suited for the particular application they were working on. I’ve also ran into users who settled on Outline or Explorer view, and neglected to use Map view when it was appropriate. Part of mastering Tinderbox is letting go of your preconceptions about what the program is.
Mark Bernstein, the developer, freely admits that he has difficulty telling people how to use Tinderbox, since it he wrote it according to how he thinks. My experience has been that Mark actually does quite a good job of helping people learn to use the software, even going so far as to run training sessions for groups (Tinderbox Weekends) that are barely break-even affairs for his company. If you plan on using Tinderbox, one of these sessions is well worth attending. Their technical support is also excellent - they are simply the most responsive software company I’ve dealt with in nearly thirty years of working with computers and software.
The recent addition of the Tinderbox Exchange as a place to find sample files should go a long way toward helping people come up to speed on the power of this program more quickly. Yes, there’s a learning curve, but like other powerful pieces of software (i.e. Photoshop), you can do powerful things once you’ve mastered it.”
A couple of more observations on the oft commented on learning curve of Tinderbox: I suspect some of the difficulties people run into are related to a lack of familiarity with other technologies that Tinderbox leverages, but are more general and not something the Eastgate has any control over, namely HTML and regular expressions. When I hear -people complain that Tinderbox is geared toward more “technical” users, I suspect what I’m often hearing is that these users don’t know any HTML, and aren’t familiar at all with how to express ideas in regular expressions. Since exporting in Tinderbox , particularly HTML exporting for weblogs requires some basic knowledge of HTML markup and agents require at least a rudimentary grasp of how to write regular expressions, these users find it difficult to make use of two of the programs most basic, and important functions.
On the other hand, its a little hard to argue that Eastgate should be responsible for teaching people how to write HTML and regular expressions. Yes, Tinderbox uses these technologies, but they didn’t invent them and can’t be expected to support them. It could be argued that Eastgate shouldn’t depend on them, or should write “wizards” or other automated ways of doing HTML export and crafting agents - but doing so would almost certainly remove much of the flexibility and functionality of the software. Certainly they’d be nice things to have for the less technically inclined, and would add a bit of polish, but only if the current, manual means of writing advanced HTML and agents are maintained.
My recommendation would be that if you’re serious about using Tinderbox but aren’t all that comfortable with HTML and regular expressions, you might spend a few hours to get a beginners level grasp of these concepts. Certainly you don’t have to understand HTML to the level of a skilled designer or regular expressions like a Unix shell programmer to make effective use of Tinderbox, but you do have to feel comfortable enough with them that Tinderbox export codes start making sense, for example. A basic HTML tutorial is here, and you can find a tutorial on regular expressions here.
I’m not suggesting that the only hurdles in learning how to use Tinderbox effectively are learning HTML and regular expressions - Tinderbox is a complex program, and that very complexity poses a challenge. Getting a handle on these skills, however, can be the first “thread pulled from a sweater” that starts the whole thing unravelling in your mind and helps you grasp what you’re looking at when you start playing with some of the samples from the Tinderbox Exchange.
http://www.doug-miller.net/blog/archive/moreoncategoryfactor.html
Fri, 14 Jan 2005 22:15:17 -0500
http://www.doug-miller.net/blog/archive/moreoncategoryfactor.html
Tinderbox
demiller@gmail.com (Doug Miller)
As I’ve mentioned several times before, Frank Tansey, Bill Humphries and I collaborated during the second day of Tinderbox Weekend SF to develop a bit of agent code designed to help automatically assign metadata to Tinderbox notes. Having read James Vornov’s post tonight about his efforts to add a “Section”
As I’ve mentioned several times before, Frank Tansey, Bill Humphries and I collaborated during the second day of Tinderbox Weekend SF to develop a bit of agent code designed to help automatically assign metadata to Tinderbox notes. Having read James Vornov’s post tonight about his efforts to add a “Section” attribute to his Tinderbox white board, I thought it was high time to write this up. James, I think this may be a shortcut to what you’re after.
What is Category Factory?
Assume you have a large collection of Tinderbox notes on diverse subjects, and you want to easily categorize these notes. One solution would be to create some sort of keyword or category attribute, and manually assign categories or keywords to each note. This process is actually what I’ve always done in Tinderbox, and exactly the way I assign categories for DSD.
As soon as one starts to assign categories, however, it’s possible to encounter notes that fit in more than one category. Again, a solution might be to add another category or keyword attribute, or manually append another keyword to the list of keywords in each note’s keyword attribute.
Obviously, this can quickly get out of hand, with multiple category fields, or take a lot of time as you manually sort through a subset of notes and add keywords. This can get particularly ugly if you have a large collection of notes that you decide you want to add new categories/keywords to after the fact. Fortunately, there’s a means of getting Tinderbox to add any number of keywords or categories to your notes with a minimum of effort on your part. This is what Category Factory does.
Setting It Up
First, all your notes need to have some attribute that you want to assign meta data to. In the case of this example I’m going to call that attribute Keywords, though it could as easily be called “categories” or “Sections” or anything else. If your notes don’t have this attribute already, use the “Attributes” window (Command-2) to create a User Attribute of the proper type, create a prototype that does have the attribute (along with any other key attributes you want displayed in each note), select all your notes and use the Quick Stamp tool (Command-1) to set the prototype of all your notes to the new prototype. If your notes already have prototypes, simply add this new attribute to the key attributes for those prototypes.
Next, open up the macro editor (Command-2 again, and select the “Macros” tab), and create a macro named categoryFactory with the following syntax:
^get(Keywords) ^if(^contains(^get(Keywords), $1))^ ^else^ $2^endif
What we have here is a bit of code that would normally go into the Action section of an agent, but we’re going to make it a macro to make it easier to reuse in multiple agents. The first bit “^get(Keywords),” checks the Keywords attribute of each note, and returns the string it finds there (if any). The next section, “^if(^contains(^get(Keywords),$1))^”, tells Tinderbox to check the Keywords returned in the first part of the macro to see if the string “$1″ is already contained in those Keywords. In the case of this macro “$1″ is a variable for the actual metadata we want our eventual agent to look for, for example the word “Apple.” If the Keyword attribute already contains “$1″ (whatever it may be), the macro exits, doing nothing.
However, if Keywords doesn’t already contain “$1,” the final part of the macro “^else^ $2^endif” executes. This bit tells Tinderbox to insert the string represented by the “$2″ variable into the Keywords attribute, appended to whatever else might already be contained in that attribute.
In most cases, “$1″ and “$2″ are going to be the same word - you’ll want to check if a particular term such as “Apple” is already in the keywords for the note, and if it isn’t, you’ll want to add “Apple” to the keywords. Having two distinct variables simply increases the flexibility so you can check for a term, and if it isn’t there, insert a different (but probably related) term instead (i.e. check for ‘Apple”, and if it isn’t there, insert the string “Macintosh”).
Once your macro is set up, it’s time to make the agent. Create an agent to search for a particular term or content you want to find in your notes. Let’s again use “Apple,” so we’ll want to set up an agent to search Text or Name for the term “Apple.” In the Action field in the agent, set up the following action:
Keywords=^do(categoryFactory,Apple,Apple)^
This tells the agent to set the Keywords attribute to the result of the macro “categoryFactory” that we set up above. The first occurrence of “Apple” is what we want “$1″ to be in the macro, and the second is what we want “$2″ to be. Save the macro by clicking “OK,” and if you have any notes that contain the term “Apple” in either the note text or the note name, you should see the agent collect these notes. If you open up the notes and look at the Keyword attribute, you should see that “Apple” has been added to the content of the attribute.
Create a second agent and do the same as above, but this time use “OS X” for “$1″ and “$2″ (Keywords=^do(categoryFactory,OS X,OS X)^). You should see the agent collect all the notes that contain “OS X” in the text or name, and “OS X” added to the Keywords attribute. If a note contains both “Apple” and “OS X” it will show up in both agents, and have both keywords assigned to it.
Using this technique, you can build as many Category Factories as you want, for whatever terms you want, and have Tinderbox merrily assign keywords (or categories, or whatever) to all your notes. As you add notes, these agents will automatically categorize them based on their content, possibly in several different categories or with multiple keywords. If you chose to add a new keyword or category, Tinderbox will automatically assign it to the appropriate notes without your intervention.
Extending Category Factory
There are any number of ways to extend Category Factory, most of which I leave up to the Tinderbox community to develop and surprise me with! Some thoughts I’ve had along these lines involve setting up the agents to search on an attribute rather than the text or name of a note - for example, all notes created during the past year might be assigned a Keyword of “2004.” Category Factory also seems ideal for creating ad hoc and automatic weblog categories and per topic content for RSS feeds. Play with it and let us all know what you come up with!