Sunday, July 31, 2005

"What's a promise worth in America?", or: our new Corporate Overlords, part 2

Jon Talton has a good editorial in the Arizona Republic today - well worth reading about how once again the corporations get exactly the outcome that they want with the full cooperation of both the courts and our elected "representatives" (this is my interpretation of the facts that Jon talks about).

Some of my friends worry about a bad recession in the US. Like most things in life, I don't think that this issue is black and white (issues are only black and white for Sith Lords and Neo Conservatives: "you're either with us, or aggin' us"). Although I believe that the size of our middle class will decline dramatically (all is according to plan...), I think that the stock market (invest in those who are in control!) and international business interests will do OK.

Allowing large corporations to wipe the books of pension liabilities is just more evidence of where real power is. I am not complaining - just making a rather obvious observation.

Friday, July 29, 2005

"Standard" way to add RDF meta data to web sites

Adding RDF data to web sites has been a problem. In an all XHTML world, it might make sense to embed RDF. In a practical world, I think that it makes the most sense to have RDF files linked via a <head> section link like:

    <link rel="meta" type="application/rdf+xml" title="xx" href="zz.rdf" />


I was playing around with a newer version of the semantic web browsing tool Piggy Bank today, and noticed that Piggy Bank automaticly noticed my foaf.rdf file on my consulting web site. Nice.

Really, adding a few top level RDF files to explain what information is on web sites is not that tough - I need to practice what I preach and add them to my sites KBSportal.com, KBrecipes.com, and KnowledgeBooks.com sites.

Several years ago, I wrote a web spider that would slowly and politely traversed the web looking for RDF files. There were very few that I could find.

When I get some free time, I want to try using search by file type web searches and try RDF data collection again.

"A Housing Boom Built on Folly"

I always enjoy reading a well written article, in this case a Yahoo Finance article that talks about the bad effect the housing bubble has on technology investment. When 35% of all new investment is spent on speculative housing construction, investment in technology takes a hit. What should be our future: investing in education and technological innovation, or in the speculative housing market? I prefer the first choice!

Wednesday, July 27, 2005

A fun waste of time: web browsing with new PSP firmware update

Yes, a bit of a waste of time, but fun! I upgraded the firmware on my Sony PSP and the new web browser functionality is actually pretty good. Web sites that have a minimum of tables, etc. are fine - otherwise you need to scroll around a bit horizontally.

Semantic Web, Bosworth's MySQL conference talk, etc.

I have been been working for 20 years in the field of artificial intelligence, so when I first heard Tim Berners-Lee's ideas for the Semantic Web in 1998, it was an "oh boy, this is going to be fun" moment for me :-)

Bosworth, in his MySQL conference talk made a very good point: it is difficult for people in even one company or organization to agree on a data schema: try getting the entire world to agree. Thus the problem with the Semantic Web...

In principle, ontology backed schemas should be self describing - at least to human beings. In practice, good luck.

I have what is sort of an 'inside out' view of making data available for consumption by software: standard ontologies are like a "public API" for a specific field of knowledge, but the "back ends" that talk to different data sources (e.g., web sites, XML/SGML data like SEC Edger, databases, etc.) need to be built by hand.

An example: if there were a standard ontology for news stories, then news providers could provide "back ends" to sit between the standard ontology and their data source. So, if you were writing software to use news, you would have a standard API for accessing many data sources.

This fits in well with what Bosworth is talking about: "back ends" could also be written for RSS/Atom feeds. I have some related material on my KnowledgeBooks.com site on the research page.

What I like about my idea is that it can be done ad-hoc by individuals or organizations defining ontologies with corresponding "back ends" to data sources as they need them. Widely used ontologies will get more "back ends", access to more data, and eventually become defacto standards.

Monday, July 25, 2005

Disruptive web technologies

This has been a good morning for playing with some new (for me) stuff. First, one of my favorite customers sent me a link about Yahoo buying Konfabulator and giving it away for free. Konfabulator is a light weight Javascript based widget container for Windows and Mac.

I think that there will be real advantages to using Konfabulator style widgets as alternative access points to web services (can maintain local state, etc.) - HTML and AJAX is great, but also supporting widgets seems like a low cost way to extend the value of web servics. I am working (when I can break away from my consulting business) on a knowledge-intensive healthy food/recipes web portal and adding a Konfabulator widget interface seems like a good idea but with one problem: no way to generate revenue from advertisements (at least not easily like adding Google Ads).

Anyway, Konfabulator will be great for Yahoo as a new way for users to access their information sources and web utilities. I must say that Yahoo has been generally impressive lately. I am considering switching to their calendar web portal for organizing business and personal events. When I was exclusively using Macs, iCalendar did the trick, but I am looking for something more cross platform.

I also looked at MSN Virtual Earth this morning: lots of fun inspecting my local hiking trails while in bed with a cup of coffee :-)

Several years ago I wrote a book on J2EE ("Sun One Services") in which I hyped-up the possibilities for developers to think in terms of developing web portals instead of fat client applications. With more use of AJAX, things like Konfabulator widgets, and with a lower latency (more important than more bandwidth to me) Internet, web portals are looking to be a less expensive approach to running information-intensive businesses and a great way to start a small company for relatively little money.

Saturday, July 23, 2005

More on the Seaside web framework

Continuing from my blog yesterday: one compelling feature of Seaside is the interactive nature of web development and debugging. By opening a halo in a running web application you have access to developer tools: yes, right in your web browser you can see the code that is executing in the current context, change and save it, etc. In a Smalltalk programming environment (like a good Lisp system), you can modify/fix code on the fly - Seaside provides this development functionality for web applications.

Friday, July 22, 2005

Seaside might be the best web application framework for small scale web applications

I mostly do Java server side development for a living and I have been getting into Ruby on Rails the last 4 or 5 months. That said, the Seaside web application framework is incredibly compelling. It runs either on the free Squeak Smalltalk or the commercial VisualWorks Smalltalk systems.

I don't have a secure feeling as to how far up Seaside will scale and what its stability is, but I am starting to see more commercial web portals written with it - a good sign! Even though I have been programming Smalltalk off and on (mostly off) since the mid 1980s, my Smalltalk skills are weak - I always need to use the language and environment for a while before I get back into it. So, take my analogy with a 'grain of salt': if building web apps in Java, PHP, etc., is like carving something out of rock, Seaside is like using clay. Install Squeak 3.8, follow the simple Seaside installation instructions and first tutorial, and see what I mean.

Wednesday, July 20, 2005

Kai-Fu Lee's move from Microsoft to Google

I bought a copy of Kai-Fu Lee's PhD thesis almost 20 years ago: brilliant work on a speech recognition system called Sphinx. Kai-Fu Lee is one of several high profile tech people who have left Microsoft recently. Microsoft has money and a tight grip on the desktop, but I wonder about their ability to move into new product spaces: buying other companies only gets you so far. Linux is basically old technology: unix clone and X Windows (which I have been using for close to 20 years) - but, Linux is free. Disagree if you will, but I think that the next version of Windows will end up being a success or failure tipping point for the entire company. To me the telling point is that Microsoft has to stop supporting older versions of Windows to force customers to upgrade - a bit of a cliche, but they are their own best competitor.

Wednesday, July 13, 2005

Cleaned up my KnowledgeBooks.com site

I am planning two new business ventures around my old KnowledgeBooks.com web site: a "knowledge intensive" nutrition and recipe web portal and a custom news clipping service web portal. I used to use this web site for live demos of my Java natural language processing (NLP) tools but now these tools are freely available under a GPL license so anyone interested in these tools can just grab the source code and have fun.

Tuesday, July 12, 2005

Good comparison of Struts/Hibernate vs. Ruby on Rails

I just read a useful article comparing Ruby on Rails with some J2EE technologies. Aaron Rustad provides a clear and short comparison of the two architectures and winds up with some good advice.

I have been getting more into Ruby on Rails, but there are two things holding me back (a little): my huge investment in using Java server side technolgies and the clear tendency of my customers to want Java development. Still, Ruby on Rails is an excellent web application framework.

Monday, July 11, 2005

Why Windows irritates me

OK, a little complaining here: I lost almost an hour of work today because I relied on the Windows "search" utility to find all files containing a specific string in some nested directories. Windows "search" found some occurrences, but skipped all the files with a "*.wm" extension because it thought that these WebMacro text files were Windows Media files. Arhggg....

Sure, this problem was my fault for not being more familiar with Windows' quirks, but this is still annoying.

BTW, if you *must* use Windows, one of my customers pointed me to a good utility: TextPad which is a good programmable editor with lots of built in tools. Well worth the money. (TextPad searched inside the WebMacro files just fine :-)

Tuesday, July 05, 2005

Full circle: EJB 3.0

Early on, I was very enthusiastic about EJBs (covered them in 2 books that I wrote), but I have moved towards much simpler deployments (usually using Prevayler for persistence, sometimes Hibernate).

With JDK 1.5's annotations, and EJB 3.0 support in latest JBoss bundles, EJBs are starting to look good again. I have not checked out the JBoss/EJB 3.0/AOP IDE wizards for Eclipse yet, but they look promising (from the documentation).

Metadata: we hardly knew you...

Just when I think metadata and other Semantic web technologies are a failed technology path, I see something interesting (perhaps even promising). The Communications of the ACM this month has an article on the iLumina project ("digital library of sharable undergraduate teaching materials for chemistry, biology, physics, mathematics, and computer science") that uses both RDF (the Dublin core, which I have used for about 4 years on my main web site) and LOM (Learning Object Metadata).

This article also had a link to the Open Archives Initiative, which is also worth looking at. They have a project for an Apache module for publishing metadata (so far, no official software releases).

Saturday, July 02, 2005

I am finally using JDK 1.5 (Java 5) language features in production code

While I started to experiment with the new language features when the JDK1.5 was released, I have held off using these language features when writing production code. Anyway, I am now using JDK 1.5 and Tomcat 5.5.x for both development and deployment.