Sunday, June 10, 2007

Prototype bookmarklet

I find myself relying on Prototype quite a bit. So I added this bookmarklet to every browser I use (to the Links folder in IE, and the Bookmarks Toolbar Folder in Firefox) so I can enable it in whichever page I need. It's a poor man's replacement for Greasemonkey in IE.


javascript:(function(){var head,script; if(!document.getElementById('prototype.js')){head=document.getElementsByTagName('head')[0]; script=document.createElement('script'); script.type='text/javascript'; script.src='http://.../prototype.js'; script.id='prototype.js'; head.appendChild(script);}})(); void(0);


Replace the "..." in the URL with a location inside your network, on your localhost, or otherwise under your control.

Thursday, January 25, 2007

What Does a Tag Mean?


When I'm assigning a tag to something (on flickr or del.icio.us), or even earlier when I'm thinking about what tag to use, I'm asking myself some of these questions:



  1. What is this thing?

  2. What is it about?

  3. Who is the writer or owner of this thing?

  4. Does it go into one of my special categories (first, ideas, toread)?

  5. What tags did others use for the same thing?

  6. If this is an index of other resources, what does it contain (articles, blogs)?

  7. If I want to find it later, what would I be looking for?

  8. What else is it like, and how did I tag those things?

  9. What category does it belong to, what type of thing is it, how would I classify it?




One problem is that until now, I didn't have this list handy, so my tags are inconsistent in meaning. I'm usually good about asking myself the first 4 questions (Note to self: there's something familiar about 4 questions...), and del.icio.us makes #5 easy by suggesting other tags, but the others are harder to remember. So maybe this list will help me gel my tags. But maybe the questions are in a descending order of meaning to me.




Another problem is that my intentions frequently collide and the same tag has multiple meanings. For example, I used the tag 'webapps' on an article about web applications, a list of webapps, and an actual web application. On further review, the actual web application isn't about webapps, it is a webapp, and aboutness is far more meaningful to me than classification. But maybe I used 'webapps' because that tag was in a list and I just selected it because it was close enough. After the fact, I want to separate the article and directory from an example.




One way to handle that is to give my tags some sort of tag. I like the way that del.icio.us indicates that you are tagging something for someone else, with the for: prefix and their id. That's very much like a namespace, and perhaps that the model to follow. So, I could start using about: to prefix tags that indicate aboutness, writer: or author: or owner: or by: to indicate the person or company who runs the thing, is: to indicate what it is, etc. In my case, I might consider about: to be the default namespace for my tags, and other types of tags would need a prefix. Then what would I do about a self-referential blog that's both about and by the same person or company.




So now there's another meme about machine tags, that are in the form of namespace:name=value. They look like a simple form of RDF but they're not quite the same thing. They seem to be a natural for geocoding, and the examples on flickr are just that. This idea might be too much for my immediate needs, but have some interesting possibilities as a format for post hoc metadata.

Sunday, January 21, 2007

Serverless Inspirations

This blog is inspired by some other things I read and read about.

  • Rod Boothy's InnovationCreators blog about Enterprise IT, Web 2.0, and innovation. He came up with the phrase "Project Worksite" which reflects the active nature of project-centered web pages, and works better than "Project Portal" and "Project Web" which sound too corporate and passive.

  • Dion Hinchcliffe's blogs at web2.wsj2.com and hinchcliffe.org and blogs.zdnet.com/Hinchcliffe/. Great material, especially the pictures, but too occasional. Reminds me of the odd complaint "the food was no good ... and the portions were too small."
  • Andrew McAfee's blog at Harvard about Enterprise 2.0.

  • The FASTForward Blog collects similar minded folks about Enterprise 2.0.


I keep a running list on del.icio.us tagged with enterprise, web2.0, and innovation.

Saturday, January 13, 2007

Project Management Tools

A project is more than the sum of its tasks.

It is more than a timeline, and resources, and assignments, and milestones, and documents, and stakeholders, and Gantt charts, and PERT charts, and lifecycles, and spreadsheets, and audit requirements.

And I need better tools than the crap that is available, either online or in software or on paper.

A project is human activity for a purpose, and project tools need to emit the artifacts rather than start with them.

Thursday, January 11, 2007

What do you mean, there's no server?

How do you do Ajax when there's no server?

In corporate America, you can't just put up a webserver whenever and wherever you want. There's no webserver on our NT network folders, but there's a lot of documents and metadata there. There's no webserver connected to the source code and data in our version management application -- there's a Windows GUI and DOS commands, but there ain't no webserver. We've got the same problem with our Lotus Notes databases, UniVerse and Oracle databases, and emails and calendars in Outlook. There's not even a webserver running on my own darn workstation, because I don't have administrative access to it.

You can't have an asynchronous conversation if there's no one listening. So you gotta be creative. You could copy the data to some place where there is a webserver. You could generate files that can be read by web pages.

Generating Files

You could generate HTML files. You would have to combine the content and style together, and your web application would either include the generated HTML in a frameset or an iframe, or transfer control altogether.

You could generate XML files. You could use XML data islands, but I think you need a server for that. Maybe you could transform it into HTML with XSLT and the result could be styled with CSS.

You could generate JSON files. Hmmm, that's interesting... You could either load them up with a script tag, or generate a script element dynamically.

Tuesday, January 9, 2007

Enterprise IT Baffles Me

Enterprise IT baffles me.

I'm employed by a really big company in the Information Services department. My title is Senior Programmer Analyst, but every work day I maneuver through change-resistant project management procedures, anonymous & brainless internal policies, clueless but power-wielding managers, and heavy layers of poorly considered technical infrastructure and software cruft.

I hope to share some of the silly stories and brilliant solutions, so that some good can come from my angst.