Archives
Admin / Logout

Adam Merrifield

a picture of me
I am a theme developer, a coder and internet personality.

what i am

I am the owner and operator of seyDoggy Systems, a small theme, code and design outfit based in Kitchener, Ontario, Canada. We primarily develop web based technologies but have begun to dabble in the desktop realm.

what i do

I code like a fool. I design like a fool. I am happiest when I can split my time between the two (though I tire of Photoshop faster then I do Sublime Text 2 or Terminal), and somehow I have managed to etch out a living doing so.

RW Updates Gets a Dust-Off

Here is a site that’s been in need of attention for a little while now, and being as we are between themes right now I thought what better time to give [RW Updates][a_091208163321] some love. RW Updates (now called RapidWeaver Updates) was started a few years ago to offer those wishing to track all the latest RapidWeaver developer goodness in one main point. It’s served that purpose well.

The most notable change is the width. I’ve all but given up on narrow sites — I’m over the skinny… and the scroll. The second most notable change is the boxes. Each new article shows up in a box — small, compact, easy to get through in a hurry.

Ok, I lied… the MOST notable change is that the site is just plain sexy now! [Don't you think][a_091208163321]?

[tags]rapidweaver,updates,rwupdates,developer,news[/tags]

[a_091208163321]: http://rwupdates.com/ “RapidWeaver Updates daily RapidWeaver news”

| Trackback

RapidWeaver Add-ons Version Identifier

RapidWeaver Add-ons Version IdentifierOne 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

Comments (1) | Trackback

Scripting LittleSnapper

[Scripting LittleSnapper][ls]I hate clutter in my Dock… I also hate being slowed down looking for things. You can imagine these two positions are at odds with each other quite often. I don’t use the Dock in Mac OS X as a place to launch apps so much as I use it as a visual reminder of the things I can do, but don’t on a regular basis.

Like [LittleSnapper][ls] for instance. I use it maybe once a day, and for pretty much the same thing — I open it up, I snap the current web page and then proceed to tag it, rate it and upload it to my [ember Pro][em] account — but I don’t keep it open. I quit LittleSnapper when I am done and cary on with the rest of my day. This kind of usage doesn’t warrant a coveted position in my Dock, but if I have to search for the app (Spotlight, Google QSB, QuickSilver) or dig for it in Finder, the inspiration to snap that web page may well pass.

So what does a magna nerdulosa like myself do to address this situation? I automate! AppleScript to the rescue!

The first thing I want to do is launch LittleSnapper and I do that by tossing a little bash in AppleScript using the following:

tell application “LittleSnapper” to activate

And now LittleSnapper is ready to have it’s buttons pushed[*][buttons]:

tell application “System Events”
tell process “LittleSnapper”
click menu item 1 of menu “Capture” of menu bar 1
end tell
end tell

It’s as simple as that! The full script will:

* Luanch LittleSnapper
* tell LittleSnapper to go into the “Capture” menu
* click “Snap Web Address from Safari”

You can then cary on with tagging, annotating or whatever else tickles your LittleSnapper fancy.

## Now what? ##

For me the next step is to save the script in `~/Library/Scripts/` add a hot-key combo to it using [Red Sweater Software's][rssw] [FastScripts.app][fsa]. You could also use this in [LaunchBar][lb], [QuickSilver][qs], [Butler][btlr], or any other means you may use to run AppleScripts.

## Full Script ##

– This script launches LittleSnapper

– and tells it to snap the current web page

– By Adam Merrifield
– r4 10-08-09 08:12 (removed delays)

tell application “LittleSnapper” to activate
tell application “System Events”
tell process “LittleSnapper”
click menu item 1 of menu “Capture” of menu bar 1
end tell
end tell

## Download ##

[Get it fresh from CodeCollector.net][ccdn]

## Notes ##

* this exact sequence of commands could change if Realmac Software ever changed LittleSnapper’s menu layout, but I prefer this shorthand over the verbose menu item selections.

[buttons]: http://www.seydoggy.com/2009/09/30/scripting-littlesnapper/#buttons

## References ##

* [Apple Developer Connection][apldev]
* [MacScripter][mcscrpt]
* [Mac OS X Hints][mcoshnt]

## EDITS ##

### r4 10-08-09 08:12 ###

I’ve removed the delays I once needed before each section. The modifier keys I was using (specifically ⌥) in my hot-key sequence were being passed to LittleSnapper and causing LittleSnapper to prompt me to choose a new image library. Taking ⌥ out of the sequence negated the need for the delays.

### r2 09-30-09 11:42 ###

While there is technically nothing wrong with the original script, the bash line — `do shell script “open -a LittleSnapper”` — throws an error in console and some part of that line looks as though it will not be supported for much longer. So I have changed this line to the slightly more verbose `tell application “LittleSnapper” to activate`

I have also split the 1 second delay into two 0.5 second sections, one at the front end and one before system events. It seems [FastScripts.app][fsa] really is fast and is getting ahead of itself when executing the script with hot-keys. That causes issues for me but may not affect you, depending on what you use to run your scripts.

[tags]applescript,automation,littlesnapper[/tags]

[ls]: http://www.realmacsoftware.com/littlesnapper/ “LittleSnapper – Screenshot and Website Capture for Mac OS X Leopard”

[em]: http://emberapp.com/seydoggy/ “View all images :: Ember”

[rssw]: http://www.red-sweater.com/ “Red Sweater – Amazing Mac Software”

[fsa]: http://www.red-sweater.com/forums/viewtopic.php?id=878 “How can I set keyboard shortcuts for FastScripts menus? (Page 1) – FastScripts – Red Sweater Software”

[lb]: http://www.obdev.at/products/launchbar/index.html “LaunchBar 5″

[qs]: http://code.google.com/p/blacktree-alchemy/ “blacktree-alchemy – Project Hosting on Google Code”

[btlr]: http://www.manytricks.com/butler/ “Many Tricks · Butler”

[ccdn]: http://www.codecollector.net/view/FCD7F708-8EB8-404D-B173-A8D2C6254B48

[apldev]: http://developer.apple.com/applescript/

[mcscrpt]: http://macscripter.net/

[mcoshnt]: http://www.macosxhints.com/search.php?query=applescript&mode=search&type=all&keyType=all

Comments (1) | Trackback

iMac G3 Web Server – Part 1

Creating an iServer from an iMac G3Recently an old iMac G3 of mine made it back home after a lengthy stint at the in-laws (introducing them to computers a few years back). My initial thoughts were to take her to the great recycling depot in the sky, but then I got to thinking. “What could a web designer/developer use a seriously underpowered G3 chip be useful for?”

And you all chant in unison… a web server!

So this is just a document of the stuff I went through to get from point **a** to point **b**. It’s not so much instructional, but if you wish to follow along, by all means, have at it.

## Serve with Mac OS X… maybe not. ##

So I got to fiddling around with this old bubble of a machine and thought initially that I would just try to use the services provided in the Mac OS (the iMac was running 10.4 at the time). This proved to be so painfully slow that I decided to dig up an old copy of OS X 10.2 (it was called Jaguar back then, in case you forgot) and install it. While this was a tad faster, those services that *were* installed were sorely out of date.

Since it was clear that I was going to have to get into the command line to install MySQL and update and configure the PHP that was there, and since the the whole desktop environment was going to be redundant by the time this thing goes into service… why use the Mac OS at all?

## When in Freeville, do as [Linus](http://en.wikipedia.org/wiki/Linus_Torvalds “Linus Torvalds – Wikipedia, the free encyclopedia”) does ##

That’s when I decided that [Ubuntu Server](http://www.ubuntu.com/products/whatIsubuntu/serveredition “Ubuntu Server Edition | Ubuntu”) was the way to go. There are a ton of worthy Linux distro’s out there but I decided to go with Ubuntu because their PowerPC ports are pretty much up to date with with the core development. I could have used Debian but trying to track down the latest stable PowerPC build was like trying to finding a hot date at a Star Trek convention.

I just so happened to have an Ubuntu Server 8.1 iso laying around, so just as a proof of concept, before tying up anymore of Ubuntu’s precious bandwidth, I tried the install out to be sure that all would work on the old PPC box. And it did.

## Fast forward to the Jaunty Jackalope ##

So I got my hands on the latest stable build of Ubuntu Server for PowerPC, [Ubuntu 9.04](http://www.ubuntu.com/ “Ubuntu Home Page | Ubuntu”) (which can be [downloaded here](http://cdimage.ubuntu.com/ports/releases/9.04/release/ “Ubuntu 9.04 (Jaunty Jackalope)”)) and got to work.

The install was pretty straight forward, I just followed the steps as each prompt appeared. All in all it took about an hour on the old beast. One helpful hint: it seems the install will fail repeatedly if you don’t have the machine connected to the internet. I just ended up plugging in to the spare ethernet port of my Mac Pro, but I am assuming any connection would do.

## I have a package for you ##

I wasn’t really sure what packages I was going to need in the end, so I installed most, if not all of them. But at the very least I knew I was going to need a LAMP stack *, ssh and possibly DNS (though unlikely that I would bother to set it up). If you plan to make your own server you might as well take the time to research the options since installing and configuring them at install will save you the hassle later.

## Bong! ##

Once the install was done I was prompted to reboot. So I did. If your a total nerd like me you’ll get excited to hear that familiar Mac “Bong!” yet moments later get nothing but a black screen, white text and a login prompt… I can almost hear echos of [Joshua (WOPR)](http://en.wikipedia.org/wiki/WOPR “WOPR – Wikipedia, the free encyclopedia”) in his computerized voice asking me, “Would you like to play a game?”

With everything done right in the install I was prompted with**:

`ubuntu login: `

I entered my username, in my case “adam”, and hit return:

`ubuntu login: adam`

Entered my password, •••••••••••, and hit return:

`password: `

Up pops a bunch of info like last login, software details, load and memory usage etc… and the all important command prompt:

`adam@ubuntu:~$ `

## The _root_ of the solution ##

Here is where I am about to do a no-no… if I ever planned to run this machine in the DMZ (beyond the safety of my internal network and out side my router) I would NEVER do this. However, I want to have pure, unadulterated, God-like power over this machine and I do not want to sudo (“superuser do”) it every step of the way.

Those of you familiar with Ubuntu know that they disable root login by default. But this cripples what various apps can do in various directories over ssh — namely ExpanDrive, MacFusion, various FTP clients and from what I can tell some TextMate bundles (though I probably have them configured wrong) — and I don’t want to always have my head stuck in the terminal.

So, to enable root login I had to set a root password (since the install never prompted me for a root password). This is done with:

`adam@ubuntu:~$ sudo passwd root`

I then entered my own password for adam@ubuntu, •••••••••••:

`[sudo] password for adam: `

And the the new root password twice:

`Enter new UNIX password: `
`Retype new UNIX password: `

And success:

`passwd: password updated successfully`

Now I am able to switch to root:

`adam@ubuntu:~$ sudo su root`

And after entering the password I just created I am now presented with:

`root@ubuntu:~# `

Now with that out of the way I can proceed with causing some real damage…

## More to come ##

In following posts I will talk about my ssh setup, configuring apache and working with my in my new server environment.

## Notes: ##

  1. * LAMP stands for Linux-Apache-MySQL-PHP/Perl/Python and is a generic acronym for a stack of applications that provide the kind of web services need to run web applications and dynamic web content.
  2. ** I set my server name up to the default “ubuntu”. Yours may read different.

[tags]server,linux,ubuntu,imac,g3,terminal,root[/tags]

Comments (1) | Trackback

RapidWeaver Takes Top Honors

Late last week RapidWeaver by Realmac Software took top honors in a group review found in the June issue MacFormat. This well deserved bestowing of kudos comes at a time when RapidWeaver’s development seems to be kicking into high gear with the release of version 4.2.3;
> We’re absolutely thrilled to see RapidWeaver take the honours in a large group test, and to keep people weaving even more rapidly, we’re also releasing RapidWeaver 4.2.3 today – an update that we strongly encourage all RapidWeaver 4.2.2 users to download. This update fixes a number of issues, including linking to blog posts and assets, as well as significant improvements in memory usage when saving files.

This is the exact sort of thing that allows us to be full time RapidWeaver theme developers. It’s the care and attention that Realmac Software puts into it’s products, not only making them look good but addressing the needs of their users and continually pushing to make the product better all the time.

RapidWeaver takes the gold

[tags]Realmac Software, RapidWeaver, theme, developer[/tags]

| Trackback

Rapidweaver Classroom Relaunches With Some seyDoggy Flair

RapidWeaver Classroom launches with a new siteThere 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]

Comments (1) | Trackback

Remembering XRAY

XRAY sees through the DOM tree cruftEvery once in a while you test a tool and think to yourself, “I need to come back to that one when it matures”. The trouble is you never do… unless someone reminds you of it!

Thanks to “mcfinn” in my [seyDesign Member Group](http://www.seydesign.com/support/membership/ “membership | support | seyDesign Professional RapidWeaver themes”) I was reminded of a cool tool, [XRAY](http://westciv.com/xray/ “XRAY :: for web developers”), for analyzing the box model of any element on a web page with the click of a button. XRAY, a bookmarklet, is a quick and tidy way of grabbing some DOM info without having to wade through the whole DOM tree like FireBug and WebKits developer tools.

While the XRAY bookmarklet isn’t as powerful tool as FireBug, and it doesn’t have editing capabilities, it is very handy for quickly and accurately pointing out the styles effecting a specific element on a page. Just click the bookmarklet, then click on the elements you want inspected.

[tags]web, developer, design, tools, xray[/tags]

Comments (1) | Trackback

Control your processors in Mac OS X 10.5

control your processorRemarkably after nearly one month I am still trying to tweak my system just so. I think this is one of the last things though, my processor preference pane. By default, the CPU controls in Mac OS X 10.5 and not enabled and in fact, can’t be enabled unless you have the developer tools installed.

I like to be able to turn off some of my processors when I am just doing day to day web design and theme development. It’s a good way to save some energy (it’s good to be green) and to be totally honest, coding in HTML, CSS, PHP, Javascript and XML isn’t all that processor intensive. With the developer tool installed you can do this. There two things you can do, you can run the CPUPalette.app and/or you can install processor preference pane.

The CPUPalette.app can be found in `/Library/Application Support/HWPrefs/`. It’s a simple app that doesn’t allow much other than turning the processors on or off. If you click the little pill button in the top right-hand corner you can see a couple of basic preferences for window type, sampling rates and information display. It’s a quick and easy way to both monitor how your cores are being taxed and whether or not you can afford to shut a few of them down.

Your other option, if you you are already familiar with your processor usage, is to install the processor preference pane. Go to `/Developer/Extras/PreferencePanes` and find `Processor.prefPane`. Double click to install it. Once installed I highly suggest you click the “Show control in menu bar” for quick access. You’ll notice by installing the processor preference pane you get access to the CPUPalette.app without having to dig for it.

| Trackback

I Give Apples New Safari 4 Beta a Spin

Apple announced today the launch of their [Safari 4 beta program](http://www.apple.com/safari/ “Apple – Safari – Introducing Safari 4 – See the web in a whole new way”) that claims to lead the way with innovation. I had to test this claim so I immediately downloaded it and gave it a spin. Here are my findings:

* On initial launch you are presented with the “Top Sites” window in which it appears that Safari scours your history for the most frequently visited sites in your recent cache and then throws up their thumbnails in a Core Animation like black gallery for you to pick from. Selecting the edit button allows you to remove items and make others sticky. I presume you can also add others that might actually be more indicative of your “Top Sites”. Again, in true Apple form, Apple seems to be hinging the success of a product on visual wow factor, but admittedly I could see myself making use of this.
* My next reaction was when I created a new tab and found that, a la Google Chrome, the tabs are on top. Why? While I will most certainly get used to it, what is the actual reason for this? I can’t find and difference in their functionality apart from the fact that you can only drag them about from their corner. Aside from that you can still drag them, move them from window to window, create a new window with each tab… there is one option I hadn’t noticed in previous version, “Add bookmark for these X tabs”. Is that new?
* Coverflow in Safari… there have been a few plugins to address this in the past. I guess they are history now. Do I need Cover Flow in Safari? I don’t need it iTunes or Finder so I probably won’t use it here either. But that said, it must be a popular enough technology if they keep throwing it in to their software.
* History search. Now *that* I like! I have always found searching the the history in the bookmarks folder to be painful and unproductive. This history search is insanely fast and (in Cover Flow form) even shows you screen shots of the sites that match your search terms.
* It claims to be faster, using the Nitro Engine. It could be but browsers and web technology today is getting so fast I would be hard pressed to notice the difference. It does seem to be faster overall but am I reacting to the guts of a finely tuned OS X Cocoa application or the page load? One note I will make about making browsers faster (and Safari 3 is already guilty of this), they cache things… unnaturally so which can make web development a nightmare. Safari 3 already caches it’s javascript and images in ways that cause web developers to have to reset their browsers all too often just to get an accurate response on their new projects. And faster also means pre-load, again which Safari 3 is bad for. Safari 3 will scour your main CSS file in search of things to load (like background images), whether or not that _thing_ is actually needed or even being used. I hope Safari 4 handles this a little better.
* The newish developer tools are nice (if your weren’t already playing with them in webkit), but I don’t know… it’s still not FireBug. You still can’t select code in the element window! How good is debuggin if I can’t edit what’s there or even copy and past it to a text editor? Seriously? As far as developer tools, these will give a glimpse into how your page is working, but they’re not much good for anything else.
* The full page zoom could be useful (hopefully not for a few years for me yet), but wow does it ever slow things down. Zoom in once and try page scrolling… not so fast now.
* I love, love, love the new address bar! If I am going to interface with browser in any way, it’s through the address bar so this improvement is quite welcome. Basically when you start typing in the address bar you are presented with much the same information your were before, but it’s clearly defined in two categories; history and bookmarks. In both cases it presents you with the site title followed by the URL which makes it very easy to get your bearings.
* The search field is now really slick too. It’s along the lines of Inquisitor, offering you suggestions and previous search queries. Very nice!
* CSS Animation, CSS Effects, CSS 3 Web Fonts… just more things to tease us web developers with. Stuff we won’t be able to use in the real world until all other browsers catch up. We can always dream though…

Overall, I think this is two things combined; a promising look at where web browsers should be and a sobering reminder of how much waiting for other browsers to get there will suck.

| Trackback

Stacks plus ExtraContent; it's a new Stacks Library item

ExtraContent and StacksSo did you here the news? Possibly the most exciting thing to happen to themes, plugins and RapidWeaver all at one time! Back a couple of months ago we introduced you to ExtraContent, the new way of getting more out of the available RapidWeaver content areas. And a little while ago, YourHead Software introduced Stacks, a new way of building your page layouts in RapidWeaver. Then recently YourHead Software announced the the API that goes along with Stacks so that developer can build custom stacks to add to your Stacks Library. Are you with me here?

So what do you get when you put it all together? A custom stack made for ExtraContent enabled themes! Now you can access your ExtraContent areas of your ExtraContent enabled themes from the comfort of the Stacks interface. Utilize the layout power and elegance of Stacks to build exceptional ExtraContent layouts without having to so much look at a snippet or piece of code.

Here is the best part, the ExtraContent Stacks plugin is free. All you need is Stacks, and ExtraContent enabled theme and this custom ExtraContent stack and you have a world of possibilities in your hands.

Learn more about the [ExtraContent Stacks plugin here](http://extracontent.info/2009/02/add-extracontent-to-your-stacks-library/ “ExtraContent Tutorials”), watch the [tutorial here](http://extracontent.info/2009/02/working-with-stacks-and-the-ec-stacks-plugin/ “ExtraContent Tutorials”), download the [ExtraContent Stacks plugin here](http://extracontent.info/downloads/ “ExtraContent Downloads – snippets, Stacks plugins…”) and get YourHead Softwares [Stacks for RapidWeaver](http://www.yourhead.com/stacks/ “Stacks”).

| Trackback
Powered by RapidWeaver, WP-Blog and WordPress 3.5.1