Categories
Uncategorized

Advice for Casual Coders

This is some simple advice for all the “Casual Coders” out there, the ones who don’t think of writing up a bit of Javascript or a simple PHP-based app as software development: Keep releasing your work to the world, we love it, really we do, but the software world has certain ways of doing things, and it would be nice if you followed a few of the existing conventions…

Use version numbers in the name: Too many people put things out and don’t use a version number. Or they just call it “Foocode” and eventually release “Foocode 2.0” but the first one is still just “Foocode” – so start early, and apply that 1.0 version to the first release.

Use version numbers in the file name: I don’t want to download “foocode.zip” I want to download “foocode-1.0.zip” – get that version number in the file name! This will help not only the people who download your code, but will help you in the future. There is reason software uses version numbers.

Put it in a folder: I’ve learned over the years that if I package something up, it goes into it’s own directory first. I can’t tell you how many times in recent years I’ve unzipped something, and end up with 20+ files scattered all over the directory I’m in. Maybe this is just a zip thing, as tarballs always seem to be in their own directory. Nowadays I put every single zip file into a temp directory before unzipping it, as I never know what will happen.

Include meta-info: Even if you are just releasing a Javascript gallery, you might consider including a few extra files, like README and INSTALL, and LICENSE, that clearly outline things like: basic information on the author, what the software does, how to install it, what license it is released under.

Include a license: Please include information on how the software can be used. Even if this is just some cool little PHP hack you came up with, make clear what people can do with it. Can it be used for commercial purposes? Do you care if people take your code, modify it, and then release it? I know this takes some thought, but it’s better to do it up front.

Make it permanent: When you release software, you are making a commitment. If people actually use the software, they may come to rely on you for certain things. The stuff I’ve released hasn’t required me to support any amount of uses worth mentioning, but I still do one very important thing, give my software a home that doesn’t change. Pick a URL and stick with it. I can’t tell you how many times I’ve tried to go to the page where I got something, and see that the person redesigned their site, or switched blogging packages, and the software I once got from them is now ether 404’d or takes me 10 minutes of searching to track down. Of course there are the occasional folks who completely disappear from the net and taken their code with them, those always hurt a little. (If they had released their software with the right license, or used something like Sourceforge, we’d have less to worry about.)

Ok, I’m out of ideas for now. I’m sure there are a ton more, but these are just a few that have bothered me recently. Got any tips to share?


Categories
Uncategorized

The Image Gallery

I’ve been looking for a simple image gallery, you know the type: a bunch of thumbnails on a page, with one larger image, and as you roll over a thumbnail it displays where the larger image is…

Gallery Idea

I’ve found a ton of these, but the problem is, I have not found one I really like. For the project I’m working on now, I need something that does not require PHP or any other back-end code, it has to be straight HTML, CSS, Javascript.

I’d like to find one with valid XHTML and CSS, that doesn’t require a tremendous amount of Javascript attached to the HTML elements. Lightbox JS is nice in the way it just uses a rel attribute to do it’s thing, but it and it’s spin-offs and clones don’t seem to be exactly what I am looking for.

I think it would be very cool to have something that works even without Javascript, and maybe used unique URIs for each image/page. I can see this working in two ways. (The following is just some brainstorming, I haven’t thought through it all yet…)

The first would use a single page, and each image would be a link with an anchor, so each image displayed would get a unique URI, like so: gallery.html#img1, gallery.html#img2, etc. This would allow a user to go to the page, click the thumbnail image they want to see the larger version of, and the copy/bookmark the URL, and pass it on, or return to the page, and see the image they choose as the larger focused image. This doesn’t sound too hard, but I have not found it yet.

The second is less coder-friendly, but perhaps more user-friendly. If the gallery has 12 images, you would create 12 pages, each almost identical, except for the larger focus image on each. If Javascript was enabled, you could then see all images on the single page by doing the classic Javascript swap, and if Javascript was disabled, the onclick would be ignored, and the href would take you to the approprate page, like so: gallery01.html, gallery02.html, etc.

I’ll see how ambitions I get with this project. I know, I might be the last person to actually care enough to say “I’d like an image gallery that takes advantage of Javascript, but is still fully functional without it, and provides unique URIs for every image.” Wish me luck!



Categories
Uncategorized

BarCampMilwaukee Part IV

Due to a prior commitment (Happy Birthday Emma!) I will not be able to attend the Fireseed meeting on Sunday, August 6th, 2006. But if you have any interest in BarCampMilwaukee, I encourage you to be there…

To the folks who will be there, please get some major planning done, and annotate it on the BarCampMilwaukee wiki page, or in your blogs, or the mailing list, or wherever.

Once we nail down a date and venue, we can really start promoting this thing. Hooray for BarCamp!



Categories
Uncategorized

Not Enough iRam

The amount of time you can use a 1.8GHz iMac G5 with just 256MB of RAM, in case your wondering, hovers at about 24 hours.

It’s a very nice machine (of course I’m sure the Core Duo iMacs are nice as well) but I’d just like to confirm that 256MB of RAM is not enough. That’s probably the case for any Mac you get nowadays. (More RAM should be here tomorrow. Yay!)

Categories
Uncategorized

Perl + Madison = MadMongers

MadMongers is the Madison Area Perl Mongers group, and they’ve got a nice site over at madmongers.org

MadMongers Poster

Of course I missed the meeting, but I guess 20 Perl Mongers showed up, which sounds like a pretty good turnout.

Anyway, if you’re near Madison, and a Perl hacker, hit one of their meetings, they seem like a nice group. (Heck, that Andy Lester guy is even a member!)