Martin Ström
my-domain.se

CopyPasteCharacter iPhone Application

A couple of weeks ago our official iPhone application for CopyPasteCharacter.com finally became available on the App Store. The project itself isn’t too complicated but was my first “real” Cocoa and iPhone app so it took some time to get everything together and learn how to do things.

The application basically lets you find and easily copy symbols, characters and letters which otherwise can be hard to find on a regular keyboard. On the iPhone, many of these characters aren’t available at all by just using the system keyboards. Just touch one or many symbols to automatically copy them into your clipboard and paste them into any application (SMS, Facebook, Twitter, Mail etc).

I was happy to see that the app was approved by Apple only two working days after I submitted it. I had, however, waited about 2 months to hear from Apple on how we should solve a problem with my iTunes account.

Hint: You can’t use the same Apple account to upload/sell music in the iTunes Store as upload upload applications to AppStore. Create a new account before buying the iPhone developer program to stay out of trouble.

Please check out the product page with a video walk through or go directly to the AppStore.


Automatically iChat complete Transmission downloads

Lets say you have an extra computer at home which can be used to download Linux distros using Transmission on Mac OS X. Here’s how you can let the computer iChat you when a download is complete.

  1. Sign up for a new iChat screen name and add your normal user as a buddy.
  2. In Transmission, open Preferences
    ? Transfers and set the folder for incomplete files to something different than the “Default download location”.
  3. Start Automator (in /Applications) and create a new workflow
  4. Add the “Run AppleScript” action and paste in this code (replace YOURBUDDY with the scree name of your own iChat account:
  5. Save as a plugin and choose “Folder action” in the “Save As” dialog. Select the folder you setup Transmission to use as the “Default download location”.
  6. Done! The script should now send you an iChat message whenever a new file is added to the folder.

I created this setup a pretty long time ago and still use it, but these days together with a Growl notification plugin that also twitters me when the download is complete.


Screencapture in Mac OS X from a SSH session or launchd jobs

If you’d ever need to use the screencapture command from a scheduled job (like launchd in OS X) or from a SSH session, you might find out that it doesn’t allow you to do that since you’re not the logged in user.

To work around that, run the scheduled jobs as root and exec screencapture like this instead:


Show & Tell

A few days ago we launched a new web service we’ve had in the making for the last couple of months. It’s called Show & Tell and is basically an online calendar for lectures, book releases, artist talks, and other events in Stockholm containing some sort of showing and telling. The idea is incredibly simple, but up until now there was no website gathering all such events. Sure, many do exist on Facebook, but not nearly all of them, and there is a lot to wish for when working with and/or subscribing to Facebook events (to not mention the fact that Facebook owns all the content). Since we anyway would add everything interesting to a shared work calendar, the step to making a new calendar and publish it online was very easy.

Google Calendar

The calendar uses Google Calendar as its backbone. A calendar (called www.showtell.se) on Gcal is shared between us and a bunch of friends in different corners of the Stockholm cultural world. The calendar is then published using the built-in Gcal widget on a webpage hosted by us; www.showandtell.se (or www.showtell.se). Events can be added by the editors straight to gCal, or though iCal (/Outlook/etc) and automaticly synced with gCal using for example Spanning Sync.

Calinker

A few years ago we created a very simple service called Calinker. Its purpose was to reduce the number of times you and your friends/guests/coworkers etc have to enter the exact same calendar information to your own calendars. So instead of just sending your friends a date and location when the next dinner party is, with Calinker you can create that event one time and instead just share the link. The user can download the ICS-file to their own calendar software of choice (like Outlook, Apple iCal, Google Calendar etc).

Create events from e-mail

One smart feature with Calinker is the the possibilty to email events from any email address and in return get a link to a automatically created event at Calinker.com (example), with all the info already filled in. When finding an event of interest online, all a S&T editor needs to do is use the ‘mail contents of this page’ feature in Safari, e-mail the event to Calinker, get a link in return, click the ICS-file and add the event to iCal that automaticly syncs itself onto S&T via Spanning Sync and Gcal. This of course works great with event invitations via email too; just forward the email to Calinker and get a link in return with the ICS file.

Suggest events

A lot of features we wanted on S&T (like maps, ICS-generation etc) already existed on Calinker so we wanted to re-use as much as possible for Show & Tell, especially for the ‘suggest’ feature (where people can suggest/inform us on new events). Using the inofficial Calinker API, we just post the event info from S&T to Calinker (via a proxy to allow cross domain AJAX) and the editors get an e-mail back with the ICS link, ready for Google Calendar. This was the most simple way of dealing with the suggest feature since  we could re-use many parts we already had built for Calinker.

Making Show & Tell SEO friendly

Since all the content is taken from a Google Calendar and just embedded on our website with an iframe, the site’s real content cannot be indexed by search engines (the only content a search engine would find is generic info such as about texts and headers). To work around this, once a day we automatically take the calendar’s RSS feed (available for all public Google Calendars) and render it as a hidden (as in display: none;) html element on S&T. This way the content will be indexed by the search engines but not visible to regular users. It could also work as an alternative for browsers with JavaScript/CSS turned off.

Linklists

Show & Tell also contains two linklists, both showing off linkli.st’s potential as a lofi CMS: The first one is quite obvious; the tab called ‘Online lectures’ is basically an embedded linklist (original here), making it possible for us to update S&T straight from linkli.st. The second one is a bit more secret; The list of all editors of the site, under ‘About’ (original here). This is simply because editors might be added over time, and it’s easier to use linklist when adding an editor than having to bump an update of the complete S&T website.

Twitter

Show & Tell is also present at Twitter, as a reminder service before each event starts. The setup is quite experimental and works about 80% of the time, but we like the lofi-ness of it and decided to keep the system even though it’s not completley reliable. Here is how it works: Google Calendar has a feature where you can get a reminder emailed to you every time an event in your calendar is about to happen. That reminder is in our case set to 3 hours, and emailed to one of our Gmail accounts. In Gmail, a folder is set to re-route all incoming Google Calendar reminders to an account at twittercounter.com. Twittercounter.com is a web service that forwards e-mails to Twitter, and as soon as the e-mail reaches it, the email is turned into a tweet and posted by @showtellse. Since the actual Google Calendar itself is called www.showtell.se and every reminder tweet automaticly contains the name of the calendar (example), the clickable url is featured in every tweet, thus making it easy to find out more about each event.

Facebook

And there is — of course — also a Facebook page, that takes the RSS feed from gCal and turns each event into a post. It looks quite ugly, because the posts are based on publishing date (ie when we added something to the calendar) and not the date when the event takes place, but might come handy for people who don’t use Twitter.

Visit the site here: www.showandtell.se

Twitter reminders: www.twitter.com/showtellse

Facebook as RSS reader: www.facebook.com/pages/Show-Tell/271553430665

Peter Ström (Konst & Teknik) and Martin Ström, January 2010

Update 2010-02-03: Show & Tell Brussels

In collaboration with PLMD we started Show & Tell in anther favorite city of ours—Brussels. Check it out at www.showandtell.be. Read more on S&T Brussels in PLMD’s blog.


MissingDrawer TextMate Plugin for Mac OS X 10.6 Snow Leopard

I really like the MissingDrawer plugin for TextMate but it stopped working for me after upgrading to Snow Leopard. I recompiled it for 10.6 and now it works again.

Get the updated versions here (one with blue background and one with the white default).

Update:

Seems like the plugin doesn’t work very good after all. It makes TextMate stop responding to modifier keys (command, shift etc) so my recompiled version isn’t very helpful right now. I’ll investigate and try to fix it.


Linkli.st

linklist

We’ve been working on a new service on and off for a few months, called Linkli.st. The service was first launched in May but the last week we added some new (and awesome!) features so you should check it out.

Linklist is based around the very simple concept of creating, sharing and browse lists with links. It can be used for basically everything but I’ve found it very useful for things like:

We’re adding new features and working on it all the time so be sure to follow our Twitter feed (@linkli_st) for updates.


nordea-rb

Last week I hacked together a small little project/library called nordea-rb. It’s a Ruby library and a (pretty basic right now) command line tool for getting read-only access to Nordea Bank accounts. I use it for displaying my accounts’ balances so I can see when invoices are paid etc.

Everything you need to know is in the README on GitHub so if you’re interested in this, check it out.


things-rb—command line tool and Ruby library for Things.app

Things + GeekTool

I wanted to display my ToDos from Things on the Desktop using GeekTool so I created a command line tool in Ruby (backed by a library) to access the database.

This way you can see what needs to be done but without switching (or even launching Things)

It’s in a pretty early state right now and probably has bugs but I’ve been using it for some days now without problems.
I’m planning to add write-support as well (so you can create tasks from the command line if Things isn’t running) but right now it’s read-only.

For more information, check out the README file and source on GitHub or this thread on the Things’ forum