« March 2005 | Main | January 2006 »

April 10, 2005

We're deterministic

While completing RealMedia's mandatory "opt-in" to download their software:

email: foo@bar.com
(!) foo@bar.com already has an account

email: foo@bar2.com
(!) foo@bar2.com already has an account

email: foo@barbar.com
(!) foo@barbar.com already has an account

April 01, 2005

GTD with Applescript, OmniOutliner, and Quicksilver

I've hacking around with OmniOutliner and Quicksilver, automating my system. I've developed some Applescript that makes my life immeasurably easier:

When I want to leave myself a note, I invoke Quicksilver and press '.' to call up a text entry field. My default action for text entries is my "GTD Inbox" script, which resides in ~/Library/Application\ Support/Quicksilver/Actions directory. It is reproduced below:

using terms from application \"Quicksilver\"
	on process text theText
		tell application \"OmniOutliner Professional\"
			set theDocument to document \"GTD\"
			set theTopic to \"@INBOX\"
			repeat with theRow in rows of theDocument
				if topic of theRow is theTopic then
					exit repeat
				end if
			end repeat
			set newRow to make child at after the last child of theRow
			set topic of newRow to theText
		end tell
	end process text
end using terms from

To be clear, "@INBOX" is the name of a toplevel row in my GTD.oo3 document.

I love using OmniOutliner to keep track of all the things I'm not going to remember. Its convenient because I'm in front of my computer a large part of the day. However, if I can anticipate an occasion where my computer won't be close at hand, I can still have access to important information.

In OmniOutliner, I select a subset of my OmniOutliner outline. I then choose the "SMS Eric" script from the scripts menu. The rows of my subset needn't be adjacent, or even of the same depth. The text of these rows is flattened to a single newline-separated string and sent (via Apple Mail) to my SMS enabled phone. I use the following script (located in ~/Library/Application\ Support/OmniOutliner\ 3/Scripts):

tell application \"OmniOutliner Professional\"
	set theText to \"\"
	set theSelectedRows to selected rows of front document
	repeat with theRow in theSelectedRows
		set theText to theText & the text of cell 2 of theRow & \"
\"
	end repeat
	tell application \"Mail\"
		set thePhoneNumber to \"1234567890\"
		set theRecipient to \"Eric\"
		set newMessage to make new outgoing message with properties {subject:\"\", content:theText & return & return}
		tell newMessage
			set visible to true
			make new to recipient at end of to recipients with properties {name:theRecipient & \" SMS\", address:thePhoneNumber & \"@tmomail.net\"}
			send
		end tell
	end tell
end tell

Useful.

Finally, I occasionally want to "short-circuit" the outliner completely and send a quick reminder directly to my phone (or to someone else's phone for that matter). I invoke the following script in the same way as I invoke the first script:

using terms from application \"Quicksilver\"
	on process text theText
		tell application \"Mail\"
			set thePhoneNumber to \"1234567890\"
			set theRecipient to \"Eric\"
			set newMessage to make new outgoing message with properties {subject:\"\", content:theText & return & return}
			tell newMessage
				set visible to true
				make new to recipient at end of to recipients with properties {name:theRecipient & \" SMS\", address:thePhoneNumber & \"@tmomail.net\"}
				send
			end tell
		end tell
	end process text
end using terms from

These are my first and only Applescripts ever. I'm become enamored of the possibilities of Applescript, especially as related to automating Quicksilver. I've purchased the ORA book, but I haven't received it yet... I'm sure there are more general and/or efficient and/or elegant ways of doing the above. If you have any suggestions, please let me know!

The power of electroluminescence... at my command

Oh, and don't buy Radioshack. But more on that later.

Two years ago for BM, I struggled and toiled and slaved over a hot soldering iron for countless hours. All I wanted to do is get a particularly slick EL wire circuit working... one I could use to drive arbitrary segments of EL-wire from a microcontroller. I failed. But tonight, distracted by a movie, and periodically shooing my cat away from hot tools, I succeeded. I am now prepared to unleash upon the world a glut of garish playa art. Rockin'.

No better way to spend a Friday night than fucking with high voltage electricity.

Oh yeah. High voltage electricity. Don't buy power supplies from Radio Shack. I have fallen victim to the convenience of buying random crap at the Radio Shack next door to my office. I bought one of their power supplies to power my EL wire at 12 volts.

And as I sit here writing this blog entry, the EL wire I have successfully powered flickers momentarily every minute or so. Except I turned the power supply off. Here I am generating 240 VAC, and I have a power supply that wants to kill me. I swear, man. Radio Shack.