• entries
1212
1738
• views
1144381

# My dumb programming idea

172 views

Here's my programming productivity idea, and it's so absurdly simple that there has to be something wrong with it. . .

I noticed recently that I use lots of bits of free source code from various places. Stuff like SWFObject or cunitescore or PHPFlashMyAdmin pr AMFPHP or other little bits of eternally updated code that exists on various sites. Problem is, I need to check with those sites once in a while to check for bugfixes and the like.

What if the makers of that code put a little chunk of XML in their header like so. . .

/*

*/

Then you'd have an app that'd scan your project directory for files with this header or, even better, a plugin to a development environment that'd scan the files in a project. And once in a while you could run the app or schedule it as a task or press the "check my internet objects" button in your IDE, and it'd compare your files with the ones in the repositories, pester you if something had changed, let you see the changes in a diff-tool (if it's text), and let you decide if you want to replace the existing version with the new one.

That way keeping your objects updated would be as simple as pressing the "scan c:/documents/projects for changes" button in an app.

Again, this is so absurdly simple that there must be something wrong with the idea. Either it's fatally flawed or it's already been implemented. I know revision control systems do this kind of thing, but that's killing a fly with a shotgun. I don't want to have to subscribe to a source code repository if I just wanna be notified that some little handy piece of javascript I use (like SWFObject) has changed. I'd rather just have something that'd quietly scan my project folders once every couple of weeks and pop up a box that says "Hey, SWFObject just updated to version 1.1.1, but you still have 1.0. Whatcha wanna do?"

Thoughts?

The only problem with it is standardization and getting all these developers to follow it. Other than that I believe it's extremely elegant.

Its a very nice idea.

I wouldn't call using version control system "killing a fly with a shotgun" because it was designed to do this kind of things. If you're using TortoiseSVN to check modifications you just need to click a context menu. I don't think it could get any simpler than that. Also you get a lot of other useful functionality for free.

The biggest problem with your idea is that file headers must be updated by hand. It wouldn't take long until one of the programmers forgot to update versions on some files and your project would run out of sync.

Honestly, I don't see any advantages of your method over using VCS, but maybe I'm missing something. It looks to me like reinventing the wheel.

I think the biggest advantage would be that you don't need to run a repository. If I'm using an object written by some kid in his basement and stored on his $2/month web hosting, it's a tall order to ask him to install a SCM so I can keep up with his updates. With the header, he wouldn't have to do much at all. But yeah, there'd also need to be a utility to store and bump the header as necessary. #### Share this comment ##### Link to comment Quote:  Original post by johnhattan If I'm using an object written by some kid in his basement and stored on his$2/month web hosting, it's a tall order to ask him to install a SCM so I can keep up with his updates.

I don't think it's a big problem when there are tens of free project hosting sites available.

Your solution could be nice as a lightweight replacement for SCM but as you said, it needs to be managed by some software to make it reliable.

I would recommend using something like app casting to embed versions in an RSS/atom feed. This allows you to use existing libraries to access version data, and existing tools to create and host the versioned feeds.

Wouldn't an RSS feed (or JSON-format news, or whatever) on the projects website work just as well, if they allowed you to set a filter to only return the 'New Version' announcements? Then it would be trivial to check, and wouldn't require any extra maintenance effort, but it would require you to react to the news manually. As far as getting the source, I'm fond of having a script intercept requests for an unversioned file name (such as 'extprotect.zip' instead of 'extprotect v0.1.2.0b.zip') and redirecting the browser to the latest version.

## Create an account

Register a new account