From an email I just sent out:
“I’m building a robotic marionette (see http://www.delamaquina.com). The couple times I’ve shown it off in public, it is fascinating to watch reactions — first, people notice this creepy puppet moving around… then inevitably, their eyes travel up the strings and see this machine with spinning pulleys and wires. They stare at this device, mesmerized by the motion and peering all around it to see how it fits together. THEN, after a few minutes, they notice I’m standing off to the side, pushing buttons and working sensors to make the puppet move… that’s when the conversation begins, “OH! you’re controlling it by that computer! How does it work?” or “What does this mean for puppetry?” or “Who’s controlling whom?”
So maybe “Technology is just another art medium through which emotion can be expressed?”
Indeed, I think that’s becoming my own unresolved question: can we coax expressiveness out of technology, itself?”
Some minor wordpress tweaks
- Fixed odd format on permalink pages
- Fixed double “Tag: Tag:”

Returning to a pre-sxsw template for davidnunez.com… finally completing the mephisto to wordpress migration.
I’ve been hacking away at a little app to post/share what I’m going to call “sketchstreams”
I learned a lot about how I enjoy working while getting ready for maker faire.
I’ll be adding features and tweaking the design on the blog in iterations over time rather in fell swoops.
Collect, Wonder, Tinker, Build, Repeat — that should apply here too.
The applescript in this post will take the currently selected headline or tabbed article in NetNewsWire, prompt the user for tags about the article, and then create an HTML copy of the article in DEVONThink in a sub group.
If the first tag is not the word “private” then the link is also posted, via cocoalicious, to my del.icio.us account.
This was based on my prior script and Ethan’s attempt to deal with info overload.
It attaches the referral URL to the DEVONThink record, so when it creates the archive, it will actually fetch the article from the original source (ex. del.icio.us posts get the original article)
Since DEVONThink doesn’t really do tags, I’ve co-opted the “comments†field for this purpose.
This is attached to a Quicksilver trigger (CMD-CTR-OPTION-/).
Here is the workflow:
- SCAN: Quickly scan headlines in NetNewsWire and hit return when I see a headline that seems interesting. This opens the page in the background in a tab in NNW
- READ: Go down list of articles, skim them, do CMD-CTR-OPTION-/ for those I’d like to possibly include in future research to invoke my script. * In the prompt that appears, type a few keywords/tags that describe the content and hit “returnâ€
- REVIEW: Later on, when doing research or work around a topic, I can use DEVONThink’s smart searching features confidently knowing that it will dig up at least some interesting connections between articles I saved.
Things to do:
- add a growl notification saying “successful importâ€
- write a looping script that will handle the few hundred articles marked as “flagged†in NNW by archiving them. What would the tags be here?
set destination_group_location to "/url/delicious/"
tell application "NetNewsWire"
set userInput to text returned of (display dialog "Enter Tag:" default answer "untagged")
set h_tags to userInput
set AppleScript's text item delimiters to space
set h_tags to h_tags's text items
set AppleScript's text item delimiters to {""}--> restore delimiters'
try
if (index of selected tab is not 0) then
set tabnum to index of selected tab + 1
set taburls to URLs of tabs
set h_URL to (get item tabnum of taburls)
set tabtitles to titles of tabs
set h_title to (get item tabnum of tabtitles)
set h_mdate to get current date
set h_when to current date
else if exists selectedHeadline then
set h_URL to URL of selectedHeadline
set h_title to title of selectedHeadline
set h_mdate to get current date
if exists date published of selectedHeadline then
set h_when to date published of selectedHeadline
else
set h_when to date arrived of this_headline
end if
else
error "No headline is selected."
end if
on error error_message number error_number
if the error_number is not -128 then
try
display alert "NetNewsWire" message error_message as warning
on error number error_number
if error_number is -1708 then display dialog error_message buttons {"OK"} default button 1
end try
end if
end try
tell application "DEVONthink Pro"
if item 1 of h_tags is "private" then
set destination_group_location to destination_group_location & item 2 of h_tags
else
set destination_group_location to destination_group_location & item 1 of h_tags
end if
if not (exists record at destination_group_location) then
set destination_group to create location destination_group_location
else
set destination_group to get record at destination_group_location in current database
end if
set archive to create record with {name:h_title, type:html, creation date:h_when, modification date:h_mdate, URL:h_URL, comment:userInput} in destination_group
set source of archive to download markup from h_URL
end tell
tell application "Cocoalicious"
if item 1 of h_tags is not "private" then
make new post with properties {description:h_title, url:h_URL, tag string:userInput}
end if
end tell
end tell
Technorati Tags: applescript, devonthink, netnewswire
Finished pulling in old entries to wordpress.
- adjust controllers/feed_controller so that the article limit is greater than number of articles
- clear cached feed in settings
- in CLI, execute “curl http://yoururl.com/feed/ > feed.xml” (atom)
- use an xml / xsl editor on feed.xml to apply the Atom2RSS xsl sheet found here http://atom.geekhood.net/
- Use RSS import on wordpress
Issues: Tags / Categories get all mixed up. Pages and comments do not import
I was making a list of things I wanted to do with my personal website. Before SxSW I spent many hours getting the blog running mephisto, for no other reason than it’s written with Ruby on Rails. I wanted to eat my own dogfood, etc.
As I was looking at my list of blog enhancements I wanted to spend time building, I realized that the WordPress community has already accomplished most of these items and that it would take me months if not years to reinvent those wheels w/ mephisto.
So, I had to make a decision. Was I in all of this to wrestle with my web publishing platform? Does “build mephisto plugins for a relatively small community” satisfy my life purpose.
No.
I’m also exploring some ideas after reading 4 hour workweek that would be much more quickly implemented via one-click installs of wordpress.
I visited the websites for a handful of people who are doing interesting work that I admire, secretly envy, and wish to become… not one of them was using mephisto, and most were using wordpress or blogger — that sealed the deal.
So wordpress it is.
There is some more work to be done:
- conversion of old posts to wordpress… I have many years of content to convert
- conversion of my davidnunez.com mephisto theme to wordpress template
I also feel like I have to play catchup to understand the architecture and development path of wordpress. Wading through plugins, alone, is going to be a daunting task.
I found some plugins I installed right away to help w/ using textmate as a blog management tool with tags (a la Ultimate Tag Warrior).
I’m currently using GTDAlt in TextMate as my GTD processing system. It’s a text based system, so it’s upgradable, portable, etc.
Through the TextMate bundle framework, you get some nice collating of contexts, etc.
GTDAlt does rely on some proprietary syntax, but it’s pretty basic and easily parsable.
There is rudimentary support for iterating through items in an inbox.txt file to generate GTD items.
I created an applescript which will take the selected message in Mail.app and create a properly formated item, using the subject and message: url (you must have MailTags installed so the message: protocol is recognized).
This means I’ll get action items with links to specific messages in my GTD system.
I partner this with a Mail Act-On rule… so when I hit ctrl-1, a GTDAlt item gets created, the message is tagged “@action”, and it’s sent to my one archive folder in one step.
In true GTD fashion, this should only be used for messages that take longer than 2 minutes to respond to. In reality, I need to get better at firing off quick responses to things (or liberally using the delete key). Otherwise, it’s likely I’ll use this to just procrastinate email items away into a black hole.
As a refinement to an earlier script I posted, I made some modifications to my suggested news reading workflow.
The applescript in this post will take the currently selected article in NetNewsWire, prompt the user for tags about the article, and then create a web archive of the article in DEVONThink.
It attaches the referral URL to the DEVONThink record, so when it creates the archive, it will actually fetch the article from the original source (ex. del.icio.us posts get the original article)
Since DEVONThink doesn’t really do tags, I’ve co-opted the “comments” field for this purpose.
I’ve attached this script to a hotkey using Red Sweater’s FastScripts (cmd-ctr-option-/) Of course, a more hipster way to do this might be to consider quicksilver triggers.
Here is the workflow:
- Quickly scan headlines in NetNewsWire and do CMD-CTR-OPTION-/ when I see a headline I’d like to possibly include in future research
- In the prompt that appears, type a few keywords/tags that describe the content and hit “return”
- Later on, when doing research or work around a topic, I can use DEVONThink confidently knowing that it will dig up at least some interesting connections between articles I saved.
Note: if the article is something that I think I would want to read immediately, I can either tag it with “@read” or hit return in NNW to pop it up in a browser window. In the latter case, it’s critical that I seperate the *scanning* mode from the *reading* mode. I accomplish this by setting a timer (say 15 minutes per day) where I’m just scanning headlines for read-immediates or archivable articles and another timer for my reading stuff. From my browser, I can go on to create archives if I determine it’s worth saving.
Things to do
- add a growl notification saying “successful import”
- in DEVONThink, use the @read tag somehow to generate a reading list or printable digest of articles
- write a looping script that will handle the few hundred articles marked as “flagged” in NNW by archiving them. What would the tags be here?
tell application "NetNewsWire"
try
if exists selectedHeadline then
set h_comment to text returned of (display dialog "Enter Tags:" default answer "")
set this_headline to selectedHeadline
set h_mdate to get current date
set h_title to title of this_headline
set h_note to description of this_headline
if exists date published of this_headline then
set h_when to date published of this_headline
else
set h_when to date arrived of this_headline
end if
set h_URL to URL of this_headline
set h_note to "<html><body>
<


