Using local mail (/var/mail/user) » themattharris.com
“When developing websites it is quite common for there to be some kind of contact form or other mailing function. The problem is that should you, like me, have your email being forwarded through Google Mail you will find those emails never get to your Google address. The reason for this is simple, your computer is not recognised as a legitimate SMTP server so Google rejects the mail. The good news is you can instead tell your Website to send the emails to your local computer instead.” – via Using local mail (/var/mail/user) » themattharris.com.
While I don’t need this at the moment, I did find it worthy of bookmarking since it does come up from time to time.
WritePad for the iPhone
So I thought I would try WritePad after my last post about Spell Helper. I had looked into WritePad before but it seemed too complex for my needs. A lot of iPhone apps include file systems, formatting options, various document types, etc — all the stuff I don’t really need when writing for the web.
I decided to take a second look at WritePad. It’s actually not as complicated as I initially thought.
Let’s start with the points that had failed me in Spell Helper; WritePad still only has presets for sending the finished product to mail but there are some additional sharing options. However, WritePad saves your progress and allows landscape mode.
But here is what WritePad does better; it auto-saves (as far as I can tell.. Er… Or maybe not), it has a far superior auto correction/suggestion to what iPhone offers by default, post-edit spell check, shorthand expansion, trainable dictionaries and much more. And one feature that I’ve been toying with is hand writing recognition. I’ve found it a slow way to write so far but as I get used to it (or it to me), it gets better. I can see its potential.
What it doesn’t have (for which I am thankful for) is any sort of formatting options. That’s a big plus for me since it will allow me to write faster with less clutter in the way.
So I will take back what I said earlier about Spell Helper, perhaps it is too basic. I think WritePad will be my text editor/spell checker of choice for now.
Maybe someday my dream of an iPhone or iPad version of TextMate will become a reality.
Spell Helper for the iPhone
The one thing that stops me from blogging from my iPhone more is that my spelling is atrocious. I usually need to write a bit in my wordpress app, save, exit, open my dictionary app, copy, close, open wordpress, paste… Or I just end up writing the whole post, save it as a draft, then do the final edit and proofing on my Mac later on — which somewhat defeats the convenience of blogging on the iPhone.
There are plenty of dictionary apps and spell checker apps, and plenty of text editor apps, but one app that is in short supply is a simple, low cost app that does both. Today I found Spell Helper by Takashi Wada, an app that let’s you write *or* paste an entire message inside the app and spell check the entire document.
By default it wants to send the corrected text to mail but you can also just go back to edit mode and select all and copy the message to any other app you choose. It would be nice if additional destinations could be predetermined similar to TextExpander — perhaps in later versions.
It would also be nice if there was a way to save a work in progress. At present, if someone were to call in while in the midst of writing this, then everything I’ve written up until this point would be lost.
And while I am nit-picking, it would be nice if compositions could be made in landscape mode. But aside from all this, this app is exactly what I have wanted; a quick and dirty place to write something and then have its spelling checked.
Are there better apps for this? Probably, and I will continue to test some out, but this was the first one I found that did what I needed without any other clutter.
Any other suggestions?
RapidWeaver Add-ons Version Identifier
One thing RapidWeaver does poorly — at this current moment — is help the end user determine the product version they are using on any given 3rd party add-on. Knowing your add-ons (theme or plugin) version number is critical when asking for support and is often one of the first things the developer will ask you for.
If you know where the add-ons are kept (`~/Library/Application Support/RapidWeaver/`) then you might be able to determine a plugin or themes version number with the Finder, or if you have RapidWeaver open you can find out a plugin’s version by opening the plugin browser, or if you show a themes package contents and…
Well, I like to have these sorts of things at my fingertips and do as little thinking as possible, so I wrote an AppleScript to gather this information for me no matter where I am or what I am doing[*][a_091103113228]:
– file types to choose from
set rwTypeArray to {“Theme”, “Plugin”}
– choose from those file types
set rwTypeLong to {choose from list rwTypeArray ¬
with prompt ”Which RapidWeaver product type ¬
you like to find the version of?” ¬
with title “Theme or Plugin”} as string
– logic from result
if rwTypeLong is “Theme” then
set rwType to “rwtheme”
else
set rwType to “rwplugin”
end if
– get name of hard drive
tell application “System Events”
set diskName to (get name of startup disk) as string
end tell
– get name of user
set userName to (do shell script “whoami”) as string
– select file from RW directory
tell application “Finder”
set rwFile to (choose file with prompt ¬
“Please select your RapidWeaver ” & rwTypeLong & “:” ¬
default location (diskName & “:Users:” & userName & ¬
“:Library:Application Support:RapidWeaver” as alias) ¬
of type rwType without invisibles)
– read version number
tell application “System Events”
set rwInfo to (get version of the file (rwFile as string))
end tell
– and display it
if rwInfo = “” then
display dialog ¬
“It seems that your ” & rwTypeLong & ¬
” doesn’t have a version number that I can read. ¬
Sorry.\n\n¬
Would you like me to reveal it’s ¬
package contents for you?” ¬
buttons {“Cancel”, “Yes”} default button (2)
set rwPath to rwFile & “Contents” as text
open rwPath
else
display dialog “The version information:\n\n” & rwInfo & ¬
“\n\n …has been copied to your clipboard.” ¬
buttons {“OK”} default button (1)
– copy to clipboard
set the clipboard to rwInfo
end if
end tell
### Notes ###
* If a theme is to have it’s version number read, it must have an Info.plist in it’s package contents. Some theme developers do not include this file. For those that don’t, the script will reveal the theme’s package contents so that you can inspect the version number at the bottom of the Theme.plist file
### Download ###
Get your fresh copy of [RapidWeaver\_Addons\_version.scpt][a_091103112457] from CodeCollector.net
[a_091103112457]: http://www.codecollector.net/view/BB433BE1-0BD0-43C6-AE7A-CFEE8E623AB8 “RapidWeaver_Addons_Version.scpt”
[a_091103113228]: http://seydoggy.com/2009/11/03/rapidweaver-add-ons-version-identifier/#a_091103113228
Creating Unique ID's For… Anything!
There are numerous reasons you might need a unique identifier on something; you upload files with common names to the same ftp site, you use the id attribute for internal links on a blog that might display multiple posts (the chances of repeating yourself are good), you want to sign your emails with a unique, one time id for your own verification… Whatever the case, a unique id could come in handy.
The easiest thing to do is use a timestamp and a shell script can do that easily enough for us. For everyday use, the year, month, day, hour, minutes and seconds should suffice (unless you need multiple unique id’s per second). Here is how the bash script would look:
date +%y%m%d%H%M%S
Entering this string into the Terminal.app would yield a twelve digit number like this:
091027191546
The first pair of digits is the year, the second pair is the month, the third pair is the day, then the hour, minutes and seconds (all in pairs). Run this script in Terminal.app as many times as you like and you will never get the same number.
So you could enter this into your terminal every time you wanted a unique id… or you could make this shell script work *for* you from anywhere.
## TextMate Snippet ##
TextMate makes running shell scripts dead easy — all you need to do is create your own snippet. To do this:
* open your Bundle editor — `Bundles > Bundle Editor > Show Bundle Editor` ***or*** `⌃⌥⌘B`
* create a new bundle (if you don’t already have your own) from the + icon
* within that bundle create a new snippet from the + icon
* in the edit window, type:
`date +%y%m%d%H%M%S`
* define a Tab Trigger or Key Equivalent
* leave the scope selector blank to have the snippet apply to all language types
Now you have a snippet that is accessible in any language scope you use TextMate for. This is handy if you write reference links in HTML articles, such as:
Or for reference style links in MarkDown:
Check out our site, [seyDoggy][a_091027194631], for some
really cool tips and tricks.
[a_091027194631]: http://www.seydoggy.com/ “seyDoggy’s really cool site”
### Download ###
Download your fresh copy of “[Unique ID.tmSnippet][a_091027205118]” from seyDoggy.com.
## AppleScript to clipboard ##
Say you’re not a TextMate user but you still want a quick way to run this shell script with as little effort as possible. AppleScript makes quick work of this task with it’s `do shell script` functionality. We need to make an AppleScript that runs the shell script, then copies the results to the clipboard. Then we can paste that result into what ever we’re working with at the time; file renaming, email signing, etc…
Here is how the script looks:
set uniqueID to (do shell script “date +%y%m%d%H%M%S”)
set the clipboard to uniqueID
display alert “\”" & uniqueID & “\”" & “Has been copied to your ¬
clipboard” giving up after 1
### Download ###
Get your fresh copy of “[UniqueID.scpt][a_091027205534]” from CodeCollector.net
[tags]applescript,shell,script,textmate,snippet,terminal,unique id[/tags]
[a_091027205118]: http://www.seydoggy.com/downloads/UniqueID.tmSnippet.zip “Download from seyDoggy.com”
[a_091027205534]: http://www.codecollector.net/view/55260B3D-599D-489A-BC7E-C51AF597B2D0 “Download from CodeCollector.net”
The Little Know Clipboard App That Can
One thing the Mac OS has repeatedly failed at is a native clip board, one where more then the most recent item is available to you. This has been an ongoing concern of mine for quite some time and I have always been on the lookout for a solution… a good solution.
Back in the spring of 2007 I wrote about [iClip as one possible solution](http://www.seydoggy.com/2007/03/28/copy-and-paste-and-copy-and-paste/ “seyDoggy Web and Graphic Design – seyDoggy weblog – my thoughts on the web and the mac”) and in fact my dependency on it around that time became so great that I was using it to store passwords, code snippets, oft used text, etc… All was great until one day, the database became corrupted. Yes, iClip was complex enough that is was storing all my clipboard data, snippets and what not, in a database. _Eeeeek!_
My next _notable_ shift in clipboard management was QuickSilver, [for which](http://www.seydoggy.com/2008/02/01/web-search-with-quicksilver-the-definitive-how-to/ “seyDoggy Web and Graphic Design – seyDoggy weblog – my thoughts on the web and the mac”) [I have](http://www.seydoggy.com/2008/01/30/quicksilver-as-a-file-launcher/ “seyDoggy Web and Graphic Design – seyDoggy weblog – my thoughts on the web and the mac”) [written numerous](http://www.seydoggy.com/2007/12/03/convert-icons-revisited/ “seyDoggy Web and Graphic Design – seyDoggy weblog – my thoughts on the web and the mac”) [articles](http://www.seydoggy.com/2007/03/30/quicksilverhttp/ “seyDoggy Web and Graphic Design – seyDoggy weblog – my thoughts on the web and the mac”). For everything that I used iClip for I was able to use QuickSilvers “Shelf” and “Clipboard History”. It was a brilliant setup and had them show/hide off the edge of the screen with a couple hot-keys. Then came the inevitable fall of QuickSilver. I can’t afford to keep monkeying around with sub-alpha builds of various branches so after my nearly three year dependency on QuickSilver I had to finally give it up.
The hole that was left was quickly filled with apps that I already use on a daily basis, like [Code Collector Pro](http://www.mcubedsw.com/software/codecollectorpro “M Cubed Software – Code Collector Pro”) which bore the brunt of my oft used text snippets and auto complete tasks. But I was still left without a good solution for clip board history. So off on a mad search I went, review countless apps that varied in complexity and price range, until I came upon a small, simple, unobtrusive app that does one thing; buffers your clipboard history. [Jumpcut](http://jumpcut.sourceforge.net/ “Jumpcut: Minimalist Clipboard Buffering for OS X”) is a simple, open source (and free) clip board history manager that allows you easy access to your clipboard history with a few simple key strokes.
Jumpcut allows you to set up the size of your buffer size (up to 99 clips), hot keys, bezel behaviour, app behaviour and that’s about it. It doesn’t get any simpler to use or set up. I have been using this little app heavily on a daily basis since February and never once has it failed me. No hang ups, it’s never lost my history, it’s never crashed or caused anything else to crash. It’s lightweight, responsive and just an overall pleasure to use.
_This_ is the app that ought to be a part of Mac OS X.
[tags]mac,osx,clip board,history,paste,copy,app[/tags]
Rapidweaver Classroom Relaunches With Some seyDoggy Flair
There are so many cases when a developer can feel proud; new product launches, mention in the media, collaboration with other developers and so on… but nothing can quite compare to seeing your work and efforts brilliantly used in a manner that really make you look good. That’s the case for me today when I saw the relaunch of the popular site and RapidWeaver resource, [RapidWeaver Classroom](http://www.rapidweaverclassroom.com/ “RapidWeaver Classroom | Learn RapidWeaver with Screencast Lessons and Video Tutorials”).
Ryan and I have worked closely together in the past. He’s created some tutorial movies for us and we have both been active in cross promoting each others services. Ryan is an absolute wizard when it comes to RapidWeaver usage and his students say his approach is kind, patient and always measured. So when Ryan asked if I could create a custom theme for his new site, I jumped at the opportunity.
Ryan knew exactly what he wanted and being the expert in RapidWeaver that he is, I knew he would have no trouble expressing his needs. We had a working draft in about a days time and we were able to nail down the final version in very little time.
Now that I have seen the final result, I can see why Ryan’s students sing his praises. He is truly a consummate professional in RapidWeaver circles.
[tags]RapidWeaver, Classroom, custom, theme[/tags]
The Perks of the Job

Ahh the perks of the job. I have been helping out Bill and Lana from [Wee Willy's](http://weewillys.com/ “Award Winning Grill Wizard shares Award Winning Barbecue Sauce and Our Family Favorite Recipe for comfort food online.”) for a few years now and every so often, to show their appreciation, the send me a nice little care package of their incredible spices and sauce. I am now a complete and total junkie for their stuff. There is not a meal cooked in this house that doesn’t get at least a splash of something from Wee Willy’s.
Thanks Bill and Lana, very much appreciated.
[tags]spices, cooking, perks, clients[/tags]
30 Minutes With DrawIt
Some apps you know are just put together well right from the start. They look right, they feel right, they are intuitive… Adobe hasn’t made such a product yet and my frustration of having to shell out hundreds of dollars every few years for a few minor upgrades to what is still complete rubbish has lead me to finally explore my horizons. My search lead me to [DrawIt](http://bohemiancoding.com/ “Bohemian Coding”) ($38) from Bohemian Coding about a month ago.
I had seen DrawIt in the past and was impressed then but my anger with Adobe had not fully matured yet. I wasn’t ready to leave Adobes shackles. By now I am more than ready to give something else a try. It took me a number of weeks before I had the time (and heart) to get my feet wet in a totally new drawing environment (other than Photoshop or Illustrator). I thought I was likely to spend days just getting my head around the way things were done. But that was not the case.
I made this concrete block in all of about 30 minutes, no joke! I mimicked the steps in one of there demo movies from memory (since the movies can’t be paused) and got some fairly convincing results in a half hour. Try that the with someone who’s never used Photoshop before… pftpftpft! Yeah right!
DrawIt just makes sense. It doesn’t focus so much on the tools as opposed to what you can do with each object or layer once it’s drawn. Every adjustment is non destructive and quickly undoable. Everything is fast, drop, drag, tweak, drop, drag, tweak… This truly is a designers application. Please [check it out](http://bohemiancoding.com/ “Bohemian Coding”).
[tags]DrawIt, Bohemian Coding[/tags]
LittleSnapper Touch Is Soon to Hit Realmac Lineup
[
](http://www.realmacsoftware.com/blog/index_files/littlesnapper_touch_iphone.php#unique-entry-id-35 “Realmac Software Blog – RapidWeaver News”)[This looks interesting](http://www.realmacsoftware.com/blog/index_files/littlesnapper_touch_iphone.php#unique-entry-id-35 “Realmac Software Blog – RapidWeaver News”), a companion iPhone application to [LittleSnapper](http://www.realmacsoftware.com/littlesnapper/ “LittleSnapper – Screen and Web Snapping for Mac OS X Leopard”) (desktop Mac app) and [QuickSnapper](http://www.quicksnapper.com/ “Welcome to QuickSnapper image hosting | QuickSnapper.com”) (web based snapshot sharing). It’s yet to be released but the new app, dubbed *LittleSnapper Touch* promises to allow the user to snap photos and webpages (or parts of them) and then post them to QuickSnapper.
Anyone familiar with QuickSnapper will be aware that you will, in turn, be able to pull down those snaps into the desktop version of LittleSnapper with a simple click of the “Send to LittleSnapper” button. It’s not clear yet whether there will be any syncing option that will negate this step. I guess we’ll have to wait and see.

