Tuesday, January 31, 2006

Google Linux

Slashdot has a good thread on the possibility of a Google Branded Linux Distribution. I don't think that it will happen, but we can all dream. Why should I care? Simple, and explained by a conversation that I had earlier today. I was hiking this morning with two good friends (a pharmacist and a psychologist) who are avid computer users, but not experts. I was trying to explain just how good open source is for my consulting business:

It is all about services. It is all about giving customers maximum value for their money. With stable open source infrastructure software I find myself adding customer problem specific bits of my own, some customization, and delivering solutions to customers' problems. Infrastructure software like Tomcat, Ruby on Rails, etc. is just there to be used and to cut development costs. (I tried to explain, with limited success, how 30 years ago, my company wrote everything from scratch for customers, then the vogue was integrating some "off the shelf" software for solutions to save some development costs, followed by using a wealth of open source software.)

I don't use Microsoft software for customer solutions. I don't use SAP. I don't use Oracle.

If, by some happy miracle, a company with great branding like Google could influence many businesses to adopt a Linux desktop, that would lead to even more use of back-room Linux servers and other standards compliant open source software which makes my job easier. Anyway, this is the best scenario from my point of view. As a computer scientist, I basically see myself working in a service industry - and that is fine with me. Drive down costs and increase the value of services.

Sunday, January 29, 2006

Yikes! Criticizing something without understanding it

I just read with some humor an article bashing Ruby and RoR by someone who apparently does not know the Ruby language and has never developed an application with Rails. Oh well. Really, the learning curve is small (probably 40 hours is enough to learn a little Ruby and develop a few applications in Rails) so try stuff before criticizing it. I have been known to criticize C++, but I spent a decade writing C++ production code, doing mentoring, etc. so I really had a lot of material for my criticisms :-)

Thursday, January 26, 2006

Microsoft Word's master document support sucks; ancient archeological sites

Really. I have searched for 'Microsoft Word master documents' so at least I know that I am not suffering alone :-)

Really, what could be so difficult about supporting a master document with included chapter files and get the TOC right?

On a happier note: I went on a great hike with friends today, and another two days ago. I live in a fairly remote area in central/northern Arizona, and there are hundreds of ancient Native American Indian ruins in our area. Fortunately, almost all of them are very difficult to get to so the theft of artifacts is slowed down. I am a peaceful person, but the thought of people stealing artifacts drives me right over the edge.

Anyway, I have visited 6 sites in the last 3 days - quite a treat. I like to just sit and not only take in the views (ancient American Indians always built their homes where there were fantastic views) but pick up pottery shards, grinding stones, broken arrowheads, etc. (It is OK to pick stuff and look at it if you place things back where you found them). Ancient Indians may not have developed much technology but I personally believe that they were very advanced spiritually. Almost every site that I visit has ancient rock art, and while the drawings and etchings in stone walls are simple, they are very emotive - really touching in a deep way: I feel a bond with the people who lived 1000 to 4500 years ago at the sites that I visit; hard to explain, but there it is.

Wednesday, January 25, 2006

Large overhead for consultants: agreeing to contract terms

Am I the only consultant who has to spend a lot of time working out details for consulting contracts? I have a policy of never signing anything that I don't totally understand and agree with. I try to get customers to just use my standard NDA and consulting agreement but it is too simple for some tastes. The worse case scenario for me is that someone wants me to do a small job (perhaps 4 or 5 hours of work), we agree on the telephone what I am supposed to do, then they email me their "standard contract" that is many pages long, difficult for a non-lawyer to understand, and usually contains many terms that just don't seem required to me for a job where my customer and I are not sharing any real intellectual property except for the software that I am writing for them and that they will own when I am paid. Some of the worse terms, from my perspective, call for my divulging everything that I am working on (can't do this because I am NDAed with other customers) or say that I can not work on any similar projects for a specified period of time (OK if the work in question is a long term project but not OK for small one day jobs).

Sometimes long contracts are required. Long term engagements can require more complicated agreements because more IP is shared and a consultant might need access to a customer's software and/or servers, etc. Anyway, I think that agreements should be as simple as possible but still protect both side's interests.

PS. While I was writing this, I paused, and decided to offer customers who use my NDA and contract a 12.5% discount. Anyway, I just updated my web site so it will be interesting how many people take me up on this offer over the long term.

Tuesday, January 24, 2006

Yahoo and Google (on Slashdot): rooting for underdogs

Good article on Slashdot today: Yahoo's CFO saying that they don't need to be number 1 in search. She was probably sending a message to investors that Yahoo has many more revenue streams than just search, which makes sense. While I usually use Google search, I spend a more time on Yahoo: finance, local TV, and general news.

What I think that Google has is a great distributed computing platform (GFS, map reduce, etc.) that lets them quickly try out a lot of new ideas quickly and scale them up as needed. However other large companies also have great resources (e.g., the best computer scientist who I have ever worked with now works at Yahoo) and in any case, I expect to see most great new ideas come from much smaller groups.

Although playing for market share seems like a zero sum game, I don't think that it is. We don't even know what new and hot markets will exist in a few years. Creativity space seems infinite, to me.

Even with search, I tend to sometimes use 'the underdogs', mainly because I like to see competition, and trying competing products seems right. I think that the Clusty.com clustering search engine is both very cool and useful. I am a voracious reader, so using Amazon's A9.com search engine is fun because I get web, book, people, etc. search results.

Google provides a good service, and I am happy to see them rewarded with the largest market share - as long as perhaps a third of the market is left for other companies. If Google ever achieved Microsoft-like search market dominance, I would probably stop using them, even if they were technically the best. Anyway you look at it: free unfettered competition is good.

Saturday, January 21, 2006

Sony e-Book with electronic paper

This device from Sony should be popular with people who commute without driving. I used my Apple Newton like an eBook when I commuted for a year from San Diego to San Francisco (technical lead on a fraud detection expert system for PacBell). The Newton was expensive and ill suited for use as an eBook. The new Sony device looks just about perfect: digital paper technology is easy to read in full sun light or indoors and the device is only 1/2 inch thick. Last year my toy purchase was a Sony Portable Play Station and this year it will probably be a Sony e-Book reader.

The Sony Reader also works with PDFs and plain text. In the last few years I have more frequently offered both static and dynamically generated PDFs of content on web portals that I work on. The ability to have a watch list of web sites, automatically gather material for a device like a Sony Reader sounds like a winner. Not counting play time on Slashdot, Reddit, etc., I usually have to spend several hours a week reading papers and other technical information from the web. The Sony Reader looks like a better alternative to balancing a laptop or (what I often do) print material in draft mode for offline reading.

Friday, January 20, 2006

Fun: Flickr slide shows

I don't get to meet most of my customers (I live in a remote area and telecommute) so I like to share pictures, talk on the telephone, etc. to have some personal link. Anyway, here is my Flickr slide show. One thing I wish the the 'Flickr crew' would add: show the photo captions with the slide shows. The captions are visible on the main page, but the slide show is more fun.

DRM, Apple's Music Store, Google Video

While I support Open Source and free Open Content (see my main web site for my contributions to the 'commons'), I don't see anything wrong at all with Digital Rights Management (DRM) when it is properly implemented, and is just for non-work related entertainment.

I have just had a good experience with Apple's iTunes music store DRM: in the past I have just bought music and I have been happy so far. My daughter and son in law gave me an iTunes gift card recently and I decided to purchase some videos instead of music for a change: an old Alfred Hitchcock TV show and the Battle Star Galactica miniseries. These can be backed up to a CDR or DVD-R just like music, and installed on another computer in your house (up to 5 computers). Anyway, I bought the videos on my old dual-G4 Mac tower, and also 'authorized' them to play on my Windows laptop. So far, very cool. It is also great to watch TV shows without the commercials.

I am still not so happy with Google Video but I noticed that it does seem to work better with Windows than a Mac. I searched for "sci-fi" and played several free 2 to 4 minute clips, which were nice, but I am still looking for a full length movie that I want to buy. I have been increasingly unhappy with the value from our cable TV provider, and coupled with my OK experience with NetFlix (so far), I am thinking of dropping premium cable channels and relying more on NetFlix rentals and rentals/purchases from the internet. So, while I am still a little dissapointed with Google Video, I am rooting for them and other providers.

Carville and Begala: yes!!

James Carville and Paul Begala have it exactly right:
As any average person will tell you, the heart of the problem is that elected officials take money from interested parties. Whether it's technically legal or not, accepting money as a public servant is a form of bribery, and it serves to fundamentally corrupt democracy. We don't let cops, customs agents, or federal judges take money from the people they're serving. We should hold elected officials to the same standards. They should be out of the fundraising business altogether.
As citizen's we really should insist on the end of huge-scale corruption in Washington.

Wednesday, January 18, 2006

I must have been crazy using Linux on my desktop

Actually, I use Windows/Linux/OS X as needed, but since I deploy and use Linux servers, for quite a while I just used Linux most of the time. That (temporarily?) changed when my publisher (for the Ruby book that I am writing) requested that I use Word and their templates. I usually use OpenOffice.org but since I own Word licenses for Windows and OS X, I gave each a quick try again and decided that Microsoft did a better job writing a word processor for someone else's operating system :-)

In this process, I just updated my trusty old dual 1GHz G4 tower to OS X 10.4 and as much as I am a Linux fan I must admit that for writing, using IntelliJ for Java development, and developing in Ruby, OS X really is more productive than Linux. The OS X X11 support is good, so accessing my Linux servers can be done via X11 or SSH. So, I love Linux, but logic dictates that OS X makes a better development desktop - even when developing web applications to be deployed on Linux.

Tuesday, January 17, 2006

Rich clients and web applications

I (mostly) earn my living designing and developing interactive web applications and web services. Putting up with different implementations of CSS and JavaScript in FireFox, Safari, IE, etc. seems like a small price to pay in order to enable anyone to use a web application with a browser.

That said, I love it when web portals open up their systems with public APIs. Flickr's API is especially nice since they support REST, XML-RPC, and SOAP. For Mac OS X 10.4 users, there are two great Flickr rich ("fat") clients that I think are very cool: Flickr Export for iPhoto and tickr for Flickr which allows you to search on Flickr tags and see a scrolling list of matched thumbnail pictures that scroll up the right side of your desktop.

The important thing here is that Flickr did not have to write these fat clients - they just had to make a public web services API available.

Sunday, January 15, 2006

Conservative Patrick Buchanan also gets it right

Another political blog - must be Sunday. Patrick Buchanan writing in "The American Conservative" makes some great points. A worthwhile read, for sure. It gives me great cause of relief that conservative pundits are publicly criticizing bad policy choices of our neoconservative administration.

'smartest man alive' gets it right.

I don't know how MIT professor Noam Chomsky got that nickname, but he really does have a way of cutting through bullshit and has a keen focus on reality:

Chomsky Interview

I especially like both how he blasts Democrats and Republicans, and how he is still hopeful for our democratic process. I have personally never wanted to 'throw my vote away' for voting for a third party candidate, but I am re-thinking that.

Too many people I talk to seem to think that there is nothing that can be done about the current situation where a corporate owned news media convinces most people to vote against their own best interests. I am just a bit more optimistic, and I dream of a world where we use more of our intellect and a little less of our emotions. By the way, I think that there is a good reason why the quality of our school systems has gone done hill in my lifetime: people who can not think critically are easier to fool and control. More profits for the corporations(*). Why would any "average" person think for one minute that George Bush, Dick Cheney, and the powerful corporate interests behind them care about "average" people like themselves. They don't, of course, but a lot of people are certainly fooled.

(*) I very much believe in business and world wide free trade, etc. But, it is required that corporations obey laws and we definitely need governments to keep corporate power in check while supporting free and open market places. Honest competition is good.

Friday, January 13, 2006

Great: a free online version of Diestel's Graph Theory book

I noticed this on reddit: Springer-Veralag has a free online version of Reinhard Diestel's "Graph Theory" book. I usually use the Corman/Leiserson/Rivest "Algorithms" book, but they only have 200 pages on graph theory. This book is in the Graduate Texts in Mathematics series but the math is fairly easy to follow. Useful resource.

Thursday, January 12, 2006

Google Video: bad, or what?

I have been a happy customer of Apple's music store (now videos also :-) for several years, so it was fairly shocking to see how mediocre Google's video store is. I am basically a Google fan (approaching my 2 year anniversary using GMail and 3 year anniversary of using their SOAP search API), but wow, they seemed to have dropped the ball on this one. Yuck!

I am tired of getting low value for my money from my local cable company, and I am fairly eager for opportunities to buy or rent good entertainment as I want it on the internet. If all content providers sold through Apple's store that would be great. I also signed up for netflix last night and I am curious to see how their service will be.

Open Media Network used to be great, but now they seem to have fewer great free Indy movies, etc. than they used to.

Wednesday, January 11, 2006

Quality of information vs. hot news

I enjoy using reddit, digg, slashdot, my own RubyPlanet.net, news.google.com, etc. to get hot news items and the latest gossip about the technologies that I am most interested in. Yes, there is always stuff happening in the world. At the other end of the spectrum, are well polished papers and articles as are found in the Communications of the ACM, etc. With many exceptions, I don't get the feeling of satisfaction after reading the hot sites compared to reading quality technical papers. Sort of like the difference between network TV and a well crafted movie.

I have also been enjoying reading Thomas Passin's Exployer's Guide to the Semantic Web which is a very good introduction to the high level details of the Semantic Web without getting bogged down in too many implementation details - a high level view or RDF, Topic Maps, OWL and ontologies.

I have also been working very hard to produce high quality material: I have (more or less) suspended my consulting business while I am writing my new book on Ruby and Ruby on Rails for enterprise development. Spending over 40 hours a week on a writing project that I really believe in is tremendously satisfying. After "living and breathing" Java development since Java 1.0 beta I am both thankful for a change and I also find myself changing my philosophy on development: favor simpler and appropriate technologies in order to spend more effort on problem solving. Mastering the J2EE stack was a fun multi-year effort but now I view J2EE as appropriate for a smaller range of problems than I used to.

More on link types and the Semantic Web

I wrote a few weeks ago about the need for a less formal way to specify link type information. One reader pointed me to the Microformat rel tag. Actually, the the rel tag is a W3C recommendation but the number of accepted link types is small.

One problem with the rel tag is that it does not support name/value pairs. For example, I might want a <a href=...> tag to have an attribute for how much I agree with the linked page. Something like this: <a href=... agreewith="3" ...> where the numeric constant might be assumed to be in the range [-10,10]. Still, even rel tag values like disagreewith, agreewith, etc. would be useful.

I think that eventually the Semantic Web will, in some form, catch on but I think its eventual success will come from small grass-roots efforts that are simple to implement and become de-facto standards if they become widely used. I believe that the most important semantics for linked web sites is what the level of trust or agreement is. For example, if a very large number of people link to a site that they believe to contain incorrect information, the dubious site's page rank will be high and the dubious site may be taken to contain accurate information. Widespread use of trust attributes on links would create new possibilities and opportunities for people writing software agents.

Tuesday, January 10, 2006

Are Apple laptops a good deal?

I have always considered myself to be an Apple fan (I wrote the little chess program that they gave away with the early Apple IIs, and I made real money writing a commercial app for the Macintosh when they were first released) but I question if their laptops make sense financially.

I bought an Averatec Windows laptop last April for $800 (with rebates) that was faster with a 64 bit AMD processor than a similarly featured iBook for $1300. I spend most of my time programming in Java and Ruby, with a lot of writing also (e.g., I am working right now on a Ruby book for Manning). For me, a dual boot Linux/Windows XP laptop has about the same productivity value as a OS X laptop - your mileage may vary.

I was playing last week with a new Averatec model ($1100) that was very small, thin, and light, yet had a wide screen display and a usable keyboard - it compares feature wise with the new Apple MacBook announced today for a starting price of $2000.

If Apple releases an Intel iBook that I can easily configure to also boot Linux and Windows then they will probably get my money - if the price is right and they stop purposefully disabling dual desktop support when using an external monitor (*).

(*) I did apply the free patch by a German programmer to my ancient G3 iBook so I get dual desktop support, but why should I have to do that? Why not just let non-PowerBook customers also get dual desktops when it does not cost Apple anything more? I think that eventually Apple will get burned because everything they do is proprietary. Again for me, they are competing with the flexibility and productivity of booting Linux to work and booting Windows when I want to try out Windows only software, run DRMed movies, etc.

Saturday, January 07, 2006

Blue-ray and HD-DVD: I think DVD is here for the long term

My brother just called from CES in Las Vegas. He is excited by HD-DVD ("It will only cost $500 for a player, roughly half a Blue-ray Player") but while I am enthusiastic about backing up 25-30 GB of data from my computers in one shot, I am very dubious about the medium term consumer acceptance of the incompatible HD-DVD and Blue-ray formats.

Right now, a consumer can buy a DVD player for under $40. Many "high definition" TV sets are really just S-video quality that downsample high definition to the lower display resolution.

DVD was a great improvement over VHS tapes, but I just don't think that the new formats are going to catch on until the players are cheap and the media costs come way down. Also, just think about the mess in consumer electronics stores having to stock so many options.

My Dad is an amateur movie maker - he combines live high definition video with lots of computer generated material. He uses a high end Mac, and enjoys working with the new high definition formats. He runs cables from his study to his high definition TV in the living room, so he does not have to burn media. Anyway, he has a lot of fun, but he is not the average consumer. I think that for several years consumers will stick with DVDs.

Friday, January 06, 2006

Lack of Linux client support by Google and Yahoo

The computer geek in me does not like the lack of Linux support. Yahoo gets some positive nods for at least supporting (mostly) OS X. Larry Page said in his CES keynote speech today that a lot of people run Windows. True enough. But, Linux will not catch on with the general public if cool and free new toys like Google Pack don't run on Linux. Oh well.

That said, both Google Pack and Yahoo!'s Go Connect system look cool indeed and will make using computers more fun for non-geeks.

Kurt Vonnegut: Human beings will be happier only when they find ways to inhabit primitive communities again

This is from Dave Pollard's essay on predictions for the future of society and real threats.

I love technology for work and entertainment but that does not mean that we need to live in vast cities connected by even vaster urban sprawls. I am in San Diego this week visiting family and friends and while San Diego is a nice place (especially now - recent rains have largely cleared the sky of air pollution) it just seems wrong with so many people crowded into a relatively small area. I lived on the beach in California for about 15 years but my wife and I decided to move to a more remote area (Sedona Arizona) so I admit my own life style preferences and prejudices.

I think that the technologies supporting remote interaction will make it easier for people to spread out into less habitated areas. A year ago, we got set up with my parents to use video conferencing to replace telephone calls. Seeing people while you talk with them is a large improvement. Shared working environments, largely through better web applications, things like Microsoft Sharepoint, etc. all make it easier for people to spread out and avoid over crowding.

There is another motivation for away from urban sprawls: like it or not the American worker must compete with foreign workers based on quality of work and cost per work unit. Living in less expensive areas, yet being connected via the internet, telephones, and emerging groupware technologies can reduce our cost to do quality work and make the U.S. more competitive. While there are productivity costs involved with a distributed work force there are also real benefits from reducing time spent in meetings to a useful minimum and greater efficiency due to scheduling work during times of peak productivity. I am pleased to also see more companies move their headquarters to rural areas in order to be more cost effective. Telecommuting also saves on commute time and reduces our energy and environmental impact footprints.

Sunday, January 01, 2006

Easing into the Semantic Web

First, I wish everyone a healthy New Year and joy with your family and friends.

As James Hendler pointed out in a recent article in AAAI magazine, the current web lacks typed links. I have an easy part-way solution to this problem. As an example, when people link to another site, they might mention that they agree or disagree with the site that they are linking to but a software agent would have to rely on natural language processing of the text surrounding the link to determine how they felt about the linked information. I propose adding a few attributes to <a href=...> links; for example:
<a href=... agreeWith="no">
<a href=... businessPartner="yes">
<a href=... aFriend="yes">
<a href=... paidAdvertisement="yes">
etc.
These attributes would be ignored by web browsers, be easy for people to add if there were only a few accepted attributes for link types, and software agents could get some idea what the trust relationships, etc. are for the linked information.

PS. thanks to reader Faried for reminding me that MicroFormats.org already proposes the "rel" attribute that is similar to what I proposed.