Nelz's Blog

12 May 2008

JavaDocWiki

Filed under: Ideas — nelz9999 @ 23:24

I had this idea a while ago, but it popped back up into my brain when working on my "Participation Culture" entry…

In the past I have felt that JavaDoc is just too… one-way.

The format is great as a one-way, generated-from-code outlet for programmers… But this ignores the benefits of the population at large. If some people spend their free time working on entirely new frameworks, I’m sure there’s a larger section of people who are willing to share in the enrichment of the documentation as well.

So, why not change the one-way broadcast to a two-way conversation?

My original thought was to have a JavaDocWiki site, where I’d enable some type of processing against a given JavaDoc set. This processing would decorate the pages with whatever ‘dashboards’ would be helpful, and links to an interactive Wiki-stle page for each class/method/variable…

But, the fault with this course of action is that the interactivity is at a brand new site. Yes, this site could still serve the basic documentation needs just as well as the originating sites, but it would still be a whole new site that people would have to reference.

I got to thinking… Why not just ‘decorate’ the original source files?

Maybe a GreaseMonkey script would be able to decorate the original source codes, slurping in the interactive dashboards and linking out to a host site for the interactive elements? (I haven’t audited GreaseMonkey≈’s capabilities to see if this is even possible yet, but it offers some intriguing possibilities…)

I guess in either case you would end up depending on host sites for the interactive bits, and you might end up with a busy ecosystem of different hosts being the ‘authority’ for different versions or sections of the code. Another concern would be migrating from version to version.

Ideally the documentation would end up with high enough quality that the original source developers would be able to slurp up the added doc for inclusion in the actual source code.

I also think this model might work for other auto-generated code documentation. Example: RDoc.

UPDATE (16 May 2008): It turns out, someone else had this idea too. Check out JDocs.com.

11 May 2008

Burn My Brain

Filed under: Ideas — nelz9999 @ 10:23

Well, it has been a week or so since I’ve posted anything to this blog. My excuse is that I’ve been moving and haven’t had time to post anything.

But, over the past day or two, I’ve had a couple of these ideas burning my brain a bit, keeping me up a bit as well.

I’ll throw out the caveat that I haven’t done *any* research on these ideas to see if they already have implementations… But, I’ll throw them out as my own ideas anyways.

Calendar-Oriented Natural Language Parsing

It occurred to me that it would be a cool project to create an open-source library that would do the same (or similar) natural language parsing that Google Calendar does.

If you’re not familiar with it, Google Calendar’s parsing is pretty cool. You can type in "tomorrow 10am call mom" and you’ll get an entry in your calendar for the current day plus 1 at 10AM that says "call mom". I believe it even does things like "next Wed" and "tonight" and "4 to 6 pm".

Creating a free library to do this kind of parsing would be cool, if it doesn’t already exist.

Twitter 4 Roller

As you can see, I am using Roller hosted on my own site for this blog. I think it would be fun to develop a plugin for Roller that would enable the system to automatically post a title and a URL to a specified Twitter account when a post is published. I also think a similar thing for other blogging platforms would be cool as well.

JavaScript Animation Platform

I object to monopolies in computing on general principle. I didn’t like MicroSoft’s stranglehold in the past, and I’m uncomfortable with the Adobe/Flash monopoly on ‘rich media’ going forward. (Sorry, I was unable to find the blog post that got me thinking about this a couple of months ago…)

After seeing Ned Batchelder’s animation of Román Cortés’ CSS Homer I got to thinking that someone could probably write some kind of suite that would spit out open-standards-compliant CSS and JavaScript that could achieve some of the basic functionalities that Flash presents.

I do think this would probably stretch the capabilities of these browser technologies, but stretching capabilities has an interesting habit of expanding possibilities when it gets into the spotlight. (I am specifically thinking of the JavaScript evolving into AJAX phenomenon… I had avoided JavaScript like the plague for many years, only to have it come out on top as a hugely functional way to change the post-update-get paradigm of the web.)

7 December 2007

Maven is Gettting Pretty Mature

Filed under: Ideas — nelz9999 @ 12:08

For quite some time, I’ve been a proponent of Maven. But, I did always have to admit that it was quite a challenge to adopt it. However, I’m starting to think that maybe Maven is reaching a decent maturity level.

I wanted to add JSP precompilation to my teams build of our WAR file. I did a small Google search for "maven jspc" and I got a link directly to the CodeHaus Mojo project, and specifically to the JSPC Plugin.

They suggested the following:

<project>
.
.
.
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jspc-maven-plugin</artifactId>
<executions>
<execution>
<id>jspc</id>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml>${basedir}/target/jspweb.xml</webXml>
</configuration>
</plugin>
</plugins>
.
.
.

This worked pretty well for me, except that it blew up on some Auto-Boxing, which is a JDK 1.5 feature. The FAQ wasn’t very clear, but this is how to fix the JSPC plugin for JDK 1.5:

<project>
.
.
.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jspc-maven-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
<executions>
<execution>
<id>jspc</id>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
.
.
.

This was all well and good, but it added about 30 seconds to every build that my teammates would run. (The JSPC plugin is attached to the process-classes lifecycle phase.) I want to keep the build times down as much as possible, so I decided to add the JSPC plugin under a profile:

<project>
.
.
.
<profiles>
<profile>
<id>precompile</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jspc-maven-plugin</artifactId>
<executions>
<execution>
<id>jspc</id>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml>${basedir}/target/jspweb.xml</webXml>
</configuration>
</plugin>
</plugins>
</profile>
</profiles>
.
.
.

Now, whenever someone wants to run the JSP precompilation at their workstation, all they have to do is add the -P precompile option to their maven command line. And, for CruiseControl, all I had to do was add activateprofiles="precompile" to the <maven2 .../> schedule element.

YAY for easy!

16 October 2007

“Monetization” – Controversial or Inconsequential

Filed under: Ideas — nelz9999 @ 10:30

I hate advertising. I really do. I would love it if some U.S. cities would adopt a similar policy as Sao Paulo.

In all my personal contributions to technology and technology culture, I have eschewed advertising. I have no advertising on this blog, nor on the other blogs I have had a hand in creating. I prefer the content to speak for itself.

But, every once in a while, when I spend myself into a bit of a tight spot, I wonder if I should add the advertising, just to pay the bills. Maybe just to cover a portion of my hosting cost?

I can rationalize: to the chagrin of marketing people, most internet users are "ad-blind". I know I don’t even see the ads on the right hand side of GMail. Who would I be hurting? The ads will be ignored anyway, and maybe I can effectively get my hosting for free.

At the same time, I like to believe I am a man of principle, and I think advertising is bad. Putting ads on the side of this blog is the easy way out.

Yeah. I guess I’m going to remain ad-free. I don’t wanna join the legions of other people who are just whoring themselves out for advertising dollars. I am bigger than that.

(Besides, making a little money from ads is only a minor temporary solution of my larger spendthrift problem. If I eat in for lunch just 3 times in a month, I’ll cover my hosting costs. I don’t need advertisers to help me do that!)

Theme: Silver is the New Black. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.