Clockback, PHP, Programming, Web Applications

Run Your Own Open-Source Timehop

I like the idea of Timehop: seeing all of the photos I took on this day in years past. I don’t like the idea of sharing all of my photos with a third party, so I built an open-source replacement for Timehop that runs on my own computer and server; it’s called Clockback.

Clockback is two things:

  • a BASH script that uploads all of the photos I took this week in previous years
  • a single-page web app that displays the photos from this day:

To use Clockback, you only need two things:

  1. Your photos organized so that their filename begins with the date on which they were taken, e.g. “1969-07-20 – Moon landing.jpg”. (I use iPhoto Disc Export to do this.)
  2. A Web server to upload them to.

As long as you can run the script included in Clockback once per week from your computer, the Clockback webpage will have photos to show, and it will remove old photos, so it doesn’t use a lot of disck space.

To get the code and all of the details on how to run Clockback, check out the README in the GitHub repo.

Firefox OS, JavaScript, Mozilla, Open Source, Programming, Software, Web Applications

Introducing Reenact: an app for reenacting photos

Here’s an idea that I’ve been thinking about for a long time: a camera app for your phone that helps you reenact old photos, like those seen in Ze Frank’s “Young Me Now Me” project. For example, this picture that my wife took with her brother, sister, and childhood friend:


Reenacting photographs from your youth, taking pregnancy belly progression pictures, saving a daily selfie to show off your beard growth: all of these are situations where you want to match angles and positions with an old photo. A specialized camera app could be of considerable assistance, so I’ve developed one for Firefox OS. It’s called Reenact.

The app’s opening screen is simply a launchpad for choosing your original photo.


The photo picker in this case is handled by any apps that have registered themselves as able to provide a photo, so these screens come from whichever app the user chooses to use for browsing their photos.



The camera screen of the app begins by showing the original photo at full opacity.


The photo then will continually fade out and back in, allowing you to match up your current pose to the old photo.


Take your shot and then compare the two photos before saving. The thumbs-up icon saves the shot, or you can go back and try again.


Reenact can either save your new photo as its own file or create a side-by-side composite of the original and new photos.


And finally, you get a choice to either share this photo or reenact another shot.




If you’re running Firefox OS 2.5 or later, you can install Reenact from the Firefox OS Marketplace, and the source is available on GitHub. I used Firefox OS as a proving ground for the concept, but now that I’ve seen that the idea works, I’ll be investigating writing Android and iOS versions as well.

What do you think? Let me know in the comments.

Programming, Project X, Web Applications

Looking for some alpha testers

Is anyone interesting in helping alpha test and/or do some QA on a side project I’m working on? It’s a fairly simple Web application that should be relevant to pretty much everyone, but it will obviously be more useful to some people than to others. (How’s that for specifics?)

If you want to take a look and give some feedback, either leave a comment below or e-mail me at, and I’ll send you the URL.

JavaScript, Mozilla Firefox, Netscape Navigator, Pownce, Safari, Web 2.0, Web Applications

Pownce has a big security problem

Kevin Rose’s latest project, Pownce, has a glaring security problem on its front page. The JavaScript that Pownce uses in its login form can reveal your password in plain text on the screen. Here are the steps to reproduce the problem in Firefox:

  1. Login to Pownce via Allow Firefox to save your login information for next time, and then log out.


  2. Navigate to and type the first part of your username in the “Enter username…” box. Firefox will supply all of the matching usernames it remembers for this site. (So far, so good.)

    Using Firefox

  3. Select your username and press return to have the browser autofill the rest of your information. Oh look, there’s your Pownce password in plain view! I hope no one in the room was watching you login…

    Hey look, it

The method that Pownce is using to show the “Enter password…” prompt in the password field is the reason for this malfunction; browsers force all text in password fields to be hidden with asterisks, so if you want to show normal text in a password field like Pownce has chosen to, you have to do so in a non-standard way.

This bug affects Firefox and Netscape users who have JavaScript enabled, but it doesn’t affect Safari users.

Web Applications

Name Out Loud

People have been mispronouncing my last name (Finke, pronounced fink-ee) my whole life. Usually, they make the mistake of dropping the “e” (Fink); I don’t really mind or even notice this anymore, since “Fink” was an obvious nickname bestowed upon me all through elementary and high school, but occasionally there’s a creative soul who goes with a long “i” and says “Fienk” (rhymes with, uh, nothing, but has the same i-sound as “bike”). Since most of my interaction with other people is on the Web and via e-mail (a notoriously silent medium), I wouldn’t doubt it if 95% of the people I communicate with every week aren’t sure how to pronounce my name.

Mike Cassano, a guy I met at the University of Minnesota during the Chipmark project, has come up with a fun solution to this pronunciation problem, and it’s called “Name Out Loud.” Basically, you go to their website, hit “Record” on a little flash app, say your (ahem) name out loud, and their app saves your recording so that your Internet friends can hear exactly how you pronounce your name.

Name Out Loud icon
Here’s how to pronounce my name, Christopher Finke

It’s a neat idea, and it definitely would have saved this guy some trouble.