gUpload: low-tech, web 2.0 uploader

Skills/tech: PHP, JavaScript, MySQL

gUpload preview
Try gUpload now

OK, so there are about a million web 2.0-ey uploading schemes out there, many of which are better than this. For one: there’s no handy-dandy Flash widget or Java applet showing you the actual progress of your upload. But this works fairly well, and I must say that it was an education.


This was my first time getting down and dirty with jQuery, that darling of the JavaScript libraries. It’s kind of a beast, but I really like how cut-and-dried its usage is. The bare-bones animation and animations were set up within minutes, and I appreciate that.


Making the PHP side somewhat secure was the real bear. Plus there’s a lot of stuff I probably won’t ever use but I put it in there anyway: logging, session checking, etc. Basically, I don’t want anyone to abuse their upload rights, and I wanted to find out about it quickly if someone does. In the downloadable source, I haven’t included ALL of my security features, so just be aware that if you use this, do so at your own risk, and lock down your server!


The way the upload form works is sort of hacky, too. I was having a heck of a time figuring out how to deal with IFRAMEs in a JavaScript context. So in the end, I went with the simplest and most straightforward of implementations.


There’s not too much to setting this up if you’re familiar with your server’s file system, MySQL, and pretty basic Apache config. If you’d like to see what went into it, or would like to adapt it to your own use, toss me an email and I’d be happy to oblige.

Let me know what you think, and definitely let me know if you have constructive criticism, bug reports, etc. Enjoy.


Figleaf: JavaScript-powered Flash overlay

Skills/tech: JavaScript, Flash

Figleaf thumbnail
Figleaf demo

At work, they needed a way to be able to click on Flash movies without activating or acting on any of the movie’s contents. So I whipped this quick & dirty solution to show one way it could be done. View the demo.


CoMo Rentals

Skills/tech: PHP, GD library, MYSQL, lotsa Illustrator & Photoshop

CoMo Rentals logoThis was a medium-sized project I sort of assigned myself a while back. The impetus came from trying to find a decent yet affordable place: in Columbia, a completely annoying and involved task. I just wanted something simple, were you could search for specific attributes, browse by price and area, etc. Something that was as easy to place an ad as to find the one you were looking for. I think I succeeded. It was a good project, and I learned a lot about how not to do certain things. I also learned more than a few lessons regarding promotions, which - as I doubt you've heard of it - goes without saying.

So this project is in limbo now, while I decide whether or not to pursue it further. I still think there's a market for it, even though Columbia sports its own craigslist. For one thing, I don't think craigslist is very professional-looking, and that's a concern for image-conscious property management companies (for instance); to whit: it's ugly and lacks presentation. For another, besides the (decidedly search-opaque) local classified ads, it's the only game in town. And the only thing you'll find in the bigger & fancier rental search sites are cookie-cutter duplexes and overpriced apartments in the gigantic complexes... which is fine if that's what you're looking for, but not everyone is. I think this town wants better, needs better, and there are enough people (especially college folk) who move often enough for it to be useful at least several times per person (and their roommates, and their younger siblings, etc).

Don't look for this to go live right now, as I'm in the middle of deciding if it's worth a new look and reprogramming all of the bits. Try it out: you can register, place an ad, check out the other ads that have been placed, manage your ads, and so much more. (Well not that much more, but a bit more.) It all works.

**Click here to test it out. This is just the test version, for prospective landlords to try out and see how it works and what it looks like. So if you're a landlord, or just want to pretend, log in and place an ad.

Schlocky promotional verbiage

Tired of combing the "For Rent" classifieds and calling dozens of landlords asking the same questions again and again? Are you a landlord and dissatisfied with the measly three or four lines in the newspaper, and tired of answering the same questions again and again? Well CoMo Rentals is just for you.

It's a searchable rental classified ad database. Click here and find your new place today!


Quick & Dirty Word Counter

Skills/tech: JavaScript, regular expressions
A word-counting example

Example word counter output

If you’ve ever had a burning need to count the number of words in a paragraph/article/report/essay… look no more!

This handy-dandy utility will not only count the number of words; it will give you the number of times each word was used. Could have SEO applications, or it might just provide hours (ok, seconds) of fun for the whole family!

Click here to try it out.**

** Won’t work with older browsers, and – obviously – without JavaScript enabled. No malicious code here! Check the source if you don’t believe.


ISO-Latin-1 Character Generator

Skills/tech: JavaScript, regular expressions
example generator output

sample output

Just a (very) simple tool (and test of some JavaScript features for my own edification) that gives the ISO-Latin-1 Numeric Entity for whatever you type. ‘Probably poorly named. One of the first things I ever tried with JavaScript, years ago. I like to think I’ve improved since then.

Use the ISO-Latin-1 Character Generator.**

Kind of simple (and ugly), but kind of neat, too.

** Won’t work with older browsers, and – obviously – without JavaScript enabled. No malicious code here! Check the source if you don’t believe.


AllMusic Search Bar for Firefox

Skills/tech: Curiosity, ability to read, search
AllMusic search bar detail
what it looks like

If you use AllMusic as much as I do, and you use the Firefox browser, then this baby’s for you.

AllMusic rocks, of course, but I really do hate its lame search. Luckily, they let Google’s bots scour the entire site, so this search bar just saves you some typing.

By the way, this is also available on MyCroft. Go here to download and/or judge it.

To install:

Easy: click here to install it now. If you’re using Firefox 2.0 and above, that should be all that you have to do. If you’re using an earlier version, restart Firefox, and the new search plugin will now be in the upper right with the others (you may have to click the “top” search plugin’s icon (Google by default) to see it.

Not as easy (and for versions of Firefox previous to 2.0): Just save the following two files in the searchplugins subdirectory of the directory where Firefox has been installed (IE, Firefox @ C:\Program Files\Mozilla Firefox [the default on Windows], so I saved the files to the C:\Program Files\Mozilla Firefox\searchplugins directory).

  • amg.src – the XML that makes it work
  • amg.png – AllMusic’s bookmark icon

Once you’ve saved these files to the correct directory and restart Firefox, you’ll be ready to search!

If you are interested in how I did this, this article explains most of the basics. I believe that this was the article I actually used to create this search bar plugin thingy.

By the way, if you find this or any other Firefox search bar useless to you, some nice person thought up a plugin that lets you delete search plugins (only necessary prior to Firefox version 2.0).


The Accordion Object

Skills/tech: Javascript
Accordion example
accordion demo

I’ve been all excited about JavaScript lately, and I also wanted my own version of an expanding DIV, so I got down and made one. It’s not perfect, and [beware] it probably needs a lot of debugging. But it works, and as far as I know it works fine in Exploder, too.

View the Accordion demo.**

If you’re interested, here’s the code. It’s not commented all that much, but if you know what you’re doing, it should be all right. Email me if you need sample code. To all JavaScript nerds out there: be merciful. This was my first attempt at doing something of any complexity in JavaScript.

If you make any improvements, have suggestions, please let me know. If you use it, all that I ask is that you give me a little credit.

** Won’t work with older browsers, and – obviously – without JavaScript enabled. No malicious code here! Check the source if you don’t believe.


Valid XHTML 1.1 Valid CSS
             © 2008, garvin