Time Lapse Photography With MacBook’s iSight

After the weekend blizzard barely touched New York, I was particularly glad to wake up to a snowy morning. My trusty old Canon A85 recently passed away, so left with only the Macbook’s built in iSight camera to document this I figured it might be fun to try and take some time lapse shots. Here’s one of the results:

timmargh‘s blog post showed me how to get going. First I had to install iSightCapture to control iSight via the command line, then write a script that will take photos in fixed intervals. Initially I used Tim’s AppleScript, but then converted to a quick Ruby script instead:

path = "~/lapse"     # directory where images will be stored. must exist and be writable.

duration = 4 * 60 * 60  # Time to run, in seconds (4 hours here)
interval = 5 * 60       # time between each photo, in seconds (5 minutes here)

end_at = Time.now + duration

i = 0
while Time.now <= end_at do
 i += 1
 system "/Applications/isightcapture #{path}/%05d.jpg" % i
 sleep interval
end

This will take a photo every 5 minutes for four hours. A few notes:

1. The directory in path (“~/lapse” here) should exist before you run the script. If you have more than one machine it may be a good idea to make it a shared folder, so you can check on the progress from your other machine.

2. Photo Booth, or any other app that uses the camera, should be off or iSightCapture won’t work.

3. WordPress code view adds some ‘ ‘s in “copy to clipboard” which will break the script – use the “source view” icon to get the clean version.

4. If you’re taking photos over a long time period, remember to turn the screen off (ie, minimal brightness) – this will help the battery last the whole time, especially if you’re on an older MacBook.

5. If you want to get some sound indication that photos are being taken you might add the following line at the start of the while loop:

`say "cheese"`

Once you have some photos, GIFfun will let you combine them into an animated GIF. If there are more than a few dozen file size can quickly get out of hand, so you might convert them to video instead –  ffmpeg can take care of that. Installing it is pretty simple if you have MacPorts:

sudo port install ffmpeg

You can then cd to the image directory and create the video:

ffmpeg -i %05d.jpg lapse.mp4

Finally, here’s a photo of the whole setup, taken with the other MacBook’s iSight :)

The Not-Really-That-Much-Hype Cycle

So TheRealURL extension got “public” status at the addons.mozilla, and I guess it was on the “new add ons” or similar page for some time, which resulted in some nice graphs:

This is after about a week of pretty much flat lines, when it was still in the sandbox. The red line active daily users. Nothing crazy, but nice steady growth, all in all. I really like the way the blue line – daily downloads – matches nicely to the Hype Cycle line:

Well, there wasn’t that much “Peak of Inflated Expectations” so the “Trough of Disillusionment” wasn’t that deep either ;). 1,522 downloads in total so far, in about 2 weeks.

TheRealURL Firefox/Thunderbird Add On

TheRealURL Firefox add on (which also works in Thunderbird, Flock, and Seamonkey) lets users get URL information on links – once the extension is installed, right clicking a link will show a new option in the context menu, “Get TheRealURL”:

Clicking it retrieves the URL’s information from TheRealURL’s JSON service and displays the unshortened URL, the page title and the content type on the status bar:

You can change the information displayed via the add on preferences settings:

I find it useful for checking URLs in possibly-spam messages, which recently started using URL shorteners to mask their addresses, and generally checking short links in blogs/twitter/etc. I was happy to discover Softpedia now lists it, with a %100 clean guarantee.

TheRealURL extension’s code was contributed by Rod Whiteley, creator of Mail Tweak, following a message I posted at MozillaZine forums. It was pretty amazing to post an idea on the evening and have a working first version by morning. Rod did an incredible job, with a lot of attention to detail, which I’m very grateful for. Thanks Rod!

Crowds Machine, Day 1

I’ve been working on Crowds Machine for a while, starting this an idea long ago and running it for my personal use for about three years now, but only recently I took some time to make it publicly usable – the first users I don’t personally know showed up only in the last 24 hours, following its mention in Waxy.org Links.

Here’s what this first public day looks like in traffic:

Keeping in mind it’s Christmas, and the site was down for a while till I fixed up the server, I’m pretty happy with that. But the real surprise is here:

There were less than 10 crowds in the system, so this means 1 in every 4 new visitors created a crowd. That’s pretty incredible. Maybe the holiday timing helped here. Maybe allowing users to log in with their Google accounts. Having to process 12,274 feeds a day might prove a bit of a challenge though…

I always assumed there’s a high entry barrier for CM users since they have to load in quite a few feeds to make it useful. Visitors so far seem to have no issues with that, most just importing their feeds list via OPML. Obviously these are not the typical Web users, but that’s ok. Crowds Machine isn’t meant to be mainstream – that’s the whole point of it.

Welcome Waxy/CrowdsMachine Users

Didn’t expect you so soon, great to have you here :)

Had some server issues earlier, but adding some memory to Crowds’ slice seems to have fixed it now. If you get any problems, or have any feedback, please feel free to post a comment here or email me at niryariv@gmail.com. Hope you enjoy Crowds Machine!

HelloWorldChat In Stanford Peace Dot Directory

HelloWorld Chat is a project I’ve been working on with my friend and designer extraordinaire Aviva. Basically it’s a “chat online with a stranger” site like Omegle & co, but we try to match between users from different countries (based on their IP address). Once we reach a certain level of traffic, we could start adding more sophisticated matching rules and connect between users of specific nations, based on current world events and so on.

We haven’t done much in way of publicizing the site, so it was great to be accepted into Stanford’s Peace Dot directory. Peace Dot only adds one organization per day to the directory, and we’re excited to finally get in :) They even do a little welcome video for each site, here’s Standord’s BJ Fogg welcoming us:

Thanks, Peace Dot!

Technically, HelloWorld is a simple Google App Engine based chat, written in Python. The focus was less on the chat code and more on making the application easy to customize and adapt for various sites. The look can be completely changed by editing two HTML files, and being App Engine based makes deployment extremely simple and cheap.

Sites built on top of HelloWorld might be used to foster dialog between sides in a conflict, aid in reconciliation phases, or help people going through their own struggle with a disease or addiction talk with others in the same situation. The anonymity allows users to speak frankly where it may often be difficult or dangerous to do so, and hopefully some may later move on to talk via Skype or Email – our goal is to be the easily accessed and risk free gateway to a dialog.

While forums and multi-user chats have important roles, a one to one conversation has a unique value of its own. Talking one to one makes slogans and cliches a lot harder to hide behind. It is a lesson I learned myself in the summer of 2006, when I happened into an IM conversation with a Lebanese person while both our parents’ towns were under fire by the other side. That experience was the inspiration for HelloWorld, I hope this tool would allow many more such conversations to take place.

Fall in New York

Generally beautiful, New York City is even beautiful-er when autumn foliage comes around. So it was cool to discover this Flickr set of scanned leaves from Morningside Park – literally 3 blocks from where we live.

(Via what about the plastic animals, via Outside.in)