Friday, January 27, 2006

Waterfall 2006

Waterfall 2006 is a great idea. I really can't wait until people get back on board with the only approved way of developing software. I didn't realize so many of the luminaries of so-called "agile" development were already on board, but if that's what there doing, it must be right, so sign me up.

Wednesday, January 25, 2006

O'Reilly Rough Cuts...Safari

O'Reilly Rough Cuts - read the book as it's being written. These solve the problem of having to write about a technology before it's fully formed. Of course, there are a fair number of books that have never been finished. My own "Windows Millenium Edition: The OS for the next Millenium" was abandoned nearly as quickly as the laptop running ME that crashed everytime I tried to write another chapter was.

Rough Cuts is a bit of an imitation of the Pragmatic Progammers' Beta Books, which I enjoy. The thing that really crushes me about the whole Rought Cuts thing is that they cost $16 extra to read on Safari, and the subscription expires 45 days after publication. I am a little confused by the pricing overall, because, if your getting a PDF, why do you need to use Safari? Why doesn't the subscription model work for pre-release material? It would be cool if there was one slot on the bookshelf for pre-releases, at the least.

Apress is even more of a pale imitation of the Pragmatic guys- they used the same name. They have alpha and beta books, but the list of books isn't working too well as I am getting Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /usr/local/apache2/htdocs/betabooks/bbconf.php on line 3.

Oooops. I'll have to avoid their latest title "Beginning PHP and MySQL 5; from Novice to Professional"- which is being advertised literally on the same line as the error message. On the other hand, maybe their developers haven't made it to the end of the book yet, since it is so new. :-) I am sure it's a temporary condition, but it is a little funny to see that error message on the same line as the ad for the book on how to fix it.

Marc McNeill: Is good corporate software design too much to ask?

Marc McNeill: Is good corporate software design too much to ask?:

"Users are beginning to expect more. Giving them functionality is no longer enough, you have to ensure the application is engaging and compelling."

I am finding this more and more as well. You may need to have a good UI designer (and an HTML hacker to make the design real, preferably, these are the same person) in your corporate development arsenal. Now, what's good design? It's a little bit like asking what's good art. No easy answers to questions of esthetics.

However, I have a few examples of situations where you I have noticed that there is a problem:

If the users ask, what is it going to look like when it's done? You may have a UI design problem.

If you have a user that feels compelled to catalog the number of clicks and page reloads needed to do a simple operation in your application, you probably have a UI and application design problem.

If your Architecture Staff thinks that the answer to these problems is to write design standards that a committee spends 6 -18 months creating and then are put out on the corporate portal in a word document, you may need to look for a new job.

Tuesday, January 24, 2006

What's the web made of?

In a neat analysis of one of the larger collections of HTML documents in existence, Google has published some stats and analysis, gleaned from the big index, of what the web is made of. It's a lot of really, really bad HTML. When you talk about a weird standard, HTML has to take the cake.
It takes long enough to roll out a new version of the standard that most browsers just implement new features on their own (and imitate the implementation of new features in other browsers). The standards committees can then base the standards on what works and what doesn't.

Google themselves have added non-standard attributes such as the "nofollow" on anchor tags (to prevent links from being spidered). Microsoft on the one hand built a really loose parser for IE6 that would handle all the sorts of garbage that are out there. On the other hand, their HTML generation tools murder the standard for no good reason with extensions and attributes that no browser ever looks at.

If you had a browser that stictly enforced standards- validating the HTML/XHTML it encountered, the list of websites you could hit might be shorter than the list of opposition political party websites you can click on from Beijing. Still, the standards body seems to have a real purpose and influence, despite the general lack of rule-following behavior.

Some choice quotes from the site:

"The most-used attribute on html elements is xmlns, from misguided people using XHTML but sending it as text/html. They even (just) outnumber the people who specify the lang attribute!"

"A whole slew of people are specifying the xml:lang attribute, which will have absolutely no effect (no HTML processor will look at that attribute; it's an XML attribute). And finally, the fourth most-used attribute on the html element is the dir attribute (used by people who write in languages written right-to-left to make the text render in the right way)."

"One conclusion one can draw from the spread of attributes used on the body element is that authors don't care about what the specifications say. Of these top twenty attributes, nine are completely invalid, and five have been deprecated for nearly eight years, half the lifetime of the Web so far."

Google Local Data Update

Official Google Blog: New year, new imagery

Straight from the hand of Chikai, one of Google Earth's wizards. The Google Local data now matches the Google Earth data. Of course you can't rotate it (yet?), but you're now seeing some high quality imagery in 2 dimensions. Wow.

Open Source within the Enterprise

I just started reading Scott Mark's blog, based on a link from the enterprise architect we wish we worked for- James McGovern. It's fascinating stuff really. I like this perspective on standards he outlines. We really shouldn't just prefer standards by default, when there are better "open" alternatives. I think the examples of EJB and JSF in the Java world are cases in point. The EJB3 standard is an attempt to incorporate some of the ideas that Spring's dependency injection approach and Hibernate's object relational mapping approach have shown to be more flexible. I really appreciate the difficulty of the challenge faced by standards groups to keep up with the more agile progress made by open source and commercial products- I wonder how they can do it?

Open Source within the Enterprise: "Richard [Monson-Haefel] has some interesting perspectives on this issue... he founded the MockEJB project, and authored 2 best-selling O'Reilly books on EJB and Java Web Services - you would think he is a big standards wonk, but guess again. Like many pundits who spent years under the mind cloak that EJB was a Good Thing, he is now extolling the virues of Ruby (along with people like David Geary, who wrote previously sang praises of JSF and JSP). It should give all enterprise architects pause when some seriously bright people are willing to walk away from what they have been saying for years, and admit they were wrong. Are standards so great when tons of doorstop-quality books are required to explain them, and their apologists even stop apologizing?"

Monday, January 23, 2006

Job Trends on Indeed

Indeed (a job postings aggregator) has some cool tools to compare trends of keywords in job postings. For example, you can look at C#, Java, Ruby or the like. They also have a cool feature where you can compare all the job postings per capita across various markets. San Jose area is tops with 99 jobs per 1000 people, while our beloved DC area comes in 3rd at 92 jobs per 1000. I don't think the map they put on that page is very attractive or useful. It's a Flash thing that seems...primitive in a way. Still, comparing the ratio of available jobs to the number of people in area is a better metric than the raw numbers. It also helps me feel a little better about the slow pace of recruitment I have been able to achieve.

Thursday, January 19, 2006

Google's BigTable

This is an interesting talk on Google's architecture for storing massive amounts of structured data on commodity hardware (not another story about their cafe, which is good, but not worth the number of articles it gets). It's built on top of some of the services they have written CS papers on, such as MapReduce.

UWTV Program: BigTable: A System for Distributed Structured Storage

This guy already wrote a nice summary of it:

(...and I found the link here: )

Wednesday, January 18, 2006

CruiseControl with Subversion

I was trying to set up CruiseControl (the automated build tool for ant) with Subversion for the first time this morning. I had used the material from Mike Clark's excellent Pragmatic Automation when I did this with CVS.

Fortunately Mr. Clark has a great overview of exactly which of the files need to be changed on his blog- Pragmatic Automation.

In any case, build automation, and automation of processes such as testing in general, has become an obsession of mine. If you think about how a higher priced worker can compete with a team of lower priced workers, automation is one area that affords a lot of opportunity. For most projects, there is no need to hire a dedicated CM person, if you have a couple of developers that are familiar with the automation toolset.

Thursday, January 12, 2006

Many Minis

I think the Google Mini is a pretty cool idea for internal search. You would be surprised at how many things you can hook up to it. It's also pretty nice how you can buy it at the Google Store alongside the mugs, t-shirts, and other logogear. "I'll take three colorful pens and an enterprise text search server, to go..."

Many Minis

The standard Mini lets you search up to 100,000 documents. Now organizations that constantly crank out new content can opt for either of two new Minis: one searches up to 200,000 documents, and another that can manage up to 300,000.

Instant Rails

RubyForge: Instant Rails: Project Info

This is a great way to get going with Rails on Windows- Ruby, Rails, Apache, and MySQL all preconfigured and ready to run. It came out about a week ago but I just got around to giving it a test drive. I also just learned that RubyForge is being hosted by a company (InfoEther) that is about a mile from my house. They may end up hosting a meeting of the Northern Virginia Ruby Group in a couple of weeks.

Monday, January 09, 2006

MeasureMap Flash component

Saw this at Ajaxian, MeasureMap Flash Slider Released. If you are willing to put some Flash on your page, this is a pretty neat way to filter data by time slices. Maybe because this thing has map in the name, I was thinking about how to hook this into some map data in a web app for limiting the data display by date range while giving the user some visual feedback about how much data exists in the range that they want to look at...

Who should host our data?

All Points Blog asks "will Google Earth be the new web library for imagery?" I think the question is probably wrong. I would imagine that the various localities will still serve as the librarians for much of their own data, or still store that data in some larger repository. The catch with Google Earth is that is only going to display the "best" imagery for a particular location, with the exception of overlays. So, for people that are making maps using public imagery, they will still need a way to download the data that they want.

However, Google Earth may become the way the majority of the data consumers interact with public imagery and other forms of geographic data. The reason is that the data on its own is useless, it needs an application. So far, Google Earth is the current leader in providing an application that serves up the best available data for the whole earth for free. ESRI could provide the data and applications too, but Google has the hosting capacity and the architecture necessary to get the whole world into a common project that runs fast. Just putting the data up there in a standards compliant format doesn't get you that. Just having an application where you can look at any data that's out there doesn't get you that. You need that combination in a ready to consume, high performance format- and being beautiful never hurts.

Tuesday, January 03, 2006

Quoted in CRN

The lovely folks at CRN quoted me on Google. I think it's a pretty safe guess that they will again be in the news quite a bit. The sheer number of really smart people there is going to make something happen if they can get a few of them moving in the same direction. Although I really don't know if they are going to release an Enterprise version of GMail, or do anything specific, I do know they are going to do something good.

In the meantime- the GreaseMonkey extensions for Gmail (requires Firefox 1.5) are very nice. I think GreaseMonkey is one thing that makes pure DHTML or AJAX sites better than Flash sites, that Flash will probably never get. You just can't hack the Flash as well.