Jon Aquino's Mental Garden

Tuesday, March 28, 2006

American Idol app on Ning

I just finished coding a fully-AJAXified app on Ning for the American Idol folks, and I am super-proud of it. Fully CSS/XHTML-compliant, unobtrusive JavaScript (thanks to Behavior.js), amazingly clean Rubyish JavaScript (yay for Prototype.js!!), cool fade transitions (kudos to the remarkable Scriptaculous library which makes them so easy). This thing is a work of art, and I am ecstatic just thinking about it.

Freeware timer

OK here's another freeware recommendation, this one from tinyapps.org. It's called Multi Timer and it's just a little utility that does one thing and does it extremely well: provide you with 10 countdown/countup timers that you can see at a glance.

And it has a pleasant alert sound.

I'm using it right now to help me crank through my backlog of 150 emails in 15-minute bursts.

Saturday, March 25, 2006

FileTargets: Right-click file and copy its path to the clipboard

Here's another little gem I discovered via an alt.comp.freeware search - FileTargets. It lets you right-click a file in Windows and copy its path to the clipboard -- something I find myself doing often these days.

Tuesday, March 21, 2006

Freeware sticky notes alternative: EverNote

While I was enjoying Hott Notes (freeware sticky-notes program), it was giving me a lot of trouble (became excruciatingly slow to delete notes; wouldn't remember settings on startup). Which is too bad because lots of people love it.

And I didn't want to go back to index cards. So I'm going to go with EverNote, which is a freeware (for now?) alternative to Microsoft's acclaimed OneNote software. Basically the idea is that you can throw all sorts of text and notes into it. It's very well done and highly regarded. And it will be a lot faster to input information into than my old way of using index cards.

Friday, March 17, 2006

IE JavaScript errors? Use Microsoft Script Debugger

If you're like me, you've been using alert() statements to debug JavaScript errors in IE. It turns out that there is a free download from Microsoft called Script Debugger that makes debugging easier: it opens a window showing what line in the JavaScript caused the error.

Tuesday, March 14, 2006

Where I find my freeware

I was thrilled to receive this note of appreciation from Tim M:

Thank you for the mental garden. I found your garden while looking for freeware advice on google about 3 months ago. Since then I have found a use for at least 2 or 3 freeware programs you reviewed that have helped me enormously in my projects at home, and also at work.

Just want to quickly mention where I find freeware and how I am confident that they are highly recommended and virus free. The basic source is pricelessware.org, though digg.com occasionally has highly-rated freeware lists that appear as front-page stories.

Free place to host PHP scripts: Ning

If you need a place to host your PHP scripts, or if you just need somewhere to experiment with PHP, the company I work for (Ning) offers free PHP hosting. Actually the purpose of Ning is to be a platform for social apps, but you can just as easily use it for simple one-off scripts :-)

Freeware Sticky Notes: Hott Notes

Trying out this freeware sticky notes program called Hott Notes, because I think I can get ideas out faster by typing rather than scrawling them on index cards as I have been doing for a while.

Hott Notes rocks because it has a cool "crumple" sound effect when you delete stickies; also its stickies have a very nice default appearance, with a gradient background. Also there are three different kinds of stickies: Message, Checklist, and Scribble. The user interface is superb - it's immediately obvious where everything is and what the controls do.

Sunday, March 12, 2006

Never again lose what you typed: Home KeyLogger

I'm trying out a free program called Home KeyLogger which was recommended by Rod on the alt.comp.freeware forums. It basically records all your keystrokes and writes them to a logfile. I was tired of losing what I'd typed because Firefox (or another program) decided to freeze.

So here's what's currently at the end of the log:

. This is because I am tired of losing what I typed because Firefox decides to freeze() or other programan. In fact, here's what's at the end ofSo

Not bad. Actually I had Ctrl-Lefted and Ctrl-Righted quite a bit while typing that, so I don't mind the mangling too much. As long as I have some sort of backup. I hate having to duplicate some bit of inspired creativity -- it's never as good the second time.

What Makes Rails Great - Its Directory Structure

The greatest thing about Ruby on Rails is not its code generators. Nor is it its automatic database-to-object mapping (though that is pretty sweet). It's the directory structure.

A Rails app has three main directories: models, views, controllers (also the very important test directory). Here's the key: the controllers set up the variables for the views. So the PhotoController's "new" method sets up the variables for the new.rhtml view. The PhotoController's "edit" method sets up the variables for the edit.rhtml view. I love the consistent naming.

And notice how every "thing" has the same set of actions. Whether a comment, event, person, photo, or topic, they all pretty much do the following: edit, list, new, view. Again, wonderful consistency.

Shower idea capture with Crayola Bathtub Crayons

If you're like me you get some of your best ideas in the shower. I need a way to offload those ideas so new brilliant ones can take their place. That's the thing about good ideas -- they take up so much brainspace that they leave no room for the new ones trying to get in.

One way to offload these ideas for later processing is to write them down. This is often a problem in showers, most of which are not equipped with diver's notepads. So head over to your local Wal-Mart and buy a pack of Crayola Bathtub Crayons. You can then write on the shower walls whenever brilliant ideas strike you (and they will!).

Friday, March 10, 2006

Potluck: Assemble Your App From 100 Web Services

From the creator of YubNub (ok it's me) comes a new service that lets people assemble new applications from 100 web services. It's called Potluck, and it hasn't quite hit 100 services yet, but I've made it super-easy to add new ones. The basic idea is to make web services more accessible to Real People by making them as easy as clicking checkboxes.

It took me all of one day to build Potluck (well, a day and a half). It's the glue that unifies del.icio.us, flickr, Google Blog Search, and the other web services into a single app. The idea is simple: each web service gets its own page (or "tab"). All you have to do to contribute a web service is make a webpage for it, host it somewhere (you can get free PHP hosting at Ning), then submit its url. It's more powerful than meets the eye (there are ${named parameters} if you want, for instance).

It's going to be an interesting experiment, and the apps will look a bit rough (demo) until I add the ability to choose from CSS skins (and submit new ones). The goal is a lofty one: offer people a menu of 100 web services that they can build an app out of by ticking a few checkboxes. Let's build it together!

Monday, March 06, 2006

CSS Aha! Moments

I've been programming computers for many years, but only recently have become aware of the new wave of interest in web design standards. Things like why ems are almost always better than pixels, and why not to use alt for tooltips.

This is all new stuff for me, and as I go along I'm going to capture what I'm learning in this little web app: CSS Aha Moments. Add your own CSS Aha! moments if you like!

Saturday, March 04, 2006

Why Google Desktop rocks: Caches every webpage you've visited

I love how GDS keeps a cached copy of every webpage I've visited. So when my laptop is not connected to the internet, I can access every single webpage I've viewed. It's like dragging along a part of the internet with me wherever I go -- the part that's most relevant to me, no less.