Topics:
apps
css
games
javascript
mobile
node
php
speaking
tehcl
textmate
tools
video
webgl

Topic: php

Presenting ShortJournal at MinneDemo

published:
2009.05.13
topics:
php
speaking
tools

Last week Thursday, May 7 I had the pleasure of presenting a piece of software I've been working on called ShortJournal at MinneDemo. MinneDemo is the "Twin Cities' premier technology demo and networking event," and I "came for the demo" but "stayed for the beer." It's true, I did. I'm quoting the site, not being sarcastic. I met a lot of interesting people and had a great time. In the beginning of this video you'll find me briefly blathering on about what ShortJournal is (right after Extendr):

Right, so anyway… ShortJournal is a tool I made for myself to solve a specific problem I was having: I had umpteen million notes and ideas that I was either putting into text files or emailing to myself or writing on scraps of paper. Searching for a specific note or idea was totally brutal, and that's if I even had the right file with me on the particular computer that I was on. It sucked.

So I made ShortJournal for storing and organizing my notes — any little bits of text. It's a development journal and an everything bucket, and I use it to store code snippets, how-to's, bookmarks, project ideas, notes to self, to-do lists, and anything else I want to remember. Any bit of text can be tagged and stored away in ShortJournal, and then retrieved from anywhere on any computer or phone with web access.

Other products that solve this problem such as EverNote or BackPack certainly have a lot going for them, and I know ShortJournal won't be for everyone. Really, personally, it just came down to me not being comfortable with the idea of a third party having access to all of my notes and ideas, and then also being dependent on that service and their uptime to access my data.

That's the key way that ShortJournal is different. It is a simple service that you can run on any machine with Apache-MySQL-PHP. From that machine you can access your notes anywhere via the web, and then ShortJournal itself also has a [currently very rough] REST API so that you can write any kind of client (in any language) for ShortJournal that you'd want. I made a nice simple little command line client for those shell users like me out there. I've got it plugged into my TextMate. Somebody could certainly make a desktop app, a native iphone app, or a better web client with the API... at least that's the concept.

I'm already using ShortJournal heavily on a daily basis with great success. It solved the problem that I had. I've got a couple other people testing it out for their own needs. Right now I'm looking for more alpha testers. If you want to try out ShortJournal, you just need to get ahold of me via email or my contact form, or Twitter is fine, too.

Eventually I think this project is bound to end up as open source so that people can extend it as they need. I wouldn't hold your breath for a glossy boxed product. ShortJournal really is targeted for developers, not casual computer users. It is the first in a line up of several other tools and libraries I've been using over the years to optimize my development environment, all of which I intend to share the source of "some day soon." More information can be found on shortsix.com.

Oh, and speaking of the target audience here being developers, you may enjoy this wildly inaccurate review of ShortJournal from one of the MinneDemo attendees.


Be Careful Using PHP's empty()

published:
2009.02.09
topics:
php

Glen Stansberry recently shared his great tutorial about 10 PHP Mistakes, but I thought there was one other mistake so important and easy to make that it was worth explaining: PHP programmers of all skill levels can easily use the empty() language construct incorrectly.


Relative Date / Time Strings in PHP

published:
2009.01.20
topics:
php

I've noticed that Facebook, Twitter, and lots of other sites are using a relative date and time string description for user posts and comments. For example, "comment written about 3 months ago" instead of "comment written on October 20, 2008." I decided to do the same thing on this site, although rather than saying "3 months ago" I made it say "T plus 3 months." I adopted the NASA language for keeping track of post-launch time. If you've ever heard a NASA employee (or an actor portraying a NASA employee) say, "T minus 1 minute to lift off," that is their standard language for pre-launch time. Same idea. (Perhaps I'm taking this space thing a little too far... whatever. All in good fun.)

I want to share the PHP function I wrote to convert the timestamp of a comment or Tweet — or anything else — into a relative time string. Code after the bump.