Monday, March 27, 2006

Ajax Hacks on Safari

So, I am enjoying reading Ajax Hacks on Safari. It's a decent book. I really think the first general chapters of these books are becoming quickly less important, as people are really looking to pick a library (Atlas, Prototype,, DWR, Dojo, etc.)and start hacking. The book has a chapter split between Prototype and Rico. It also has one on Really, not very many useful bits on these. It is a hacks book, so it's not meant to be a reference tome or anything, but most of these libraries could use some serious documentation. I think I'd like to see a book where the first chapter was on doing Ajax with Prototype and built from there.

I think what makes this more interesting is that I am reading the book for about $2. Now that the book is out of the "Rough Cuts" stage (see my earlier rant on this), I can add it to my $19.95 per month 10 book shelf and read it. I can use some of my 5 PDF downloads to get the chapters I am interested in permanently. Last week, that would have cost me $14.99, just to get that one book for a little while online, and then the PDF when it was done. If you don't have Safari, it's not a bad deal. If you have Safari- what's the point? Just to read it sooner? How much is that worth? Not $15 if you ask me...

"Purchase the Rough Cuts online pre-publication version only
This option gives you access to the evolving manuscript through Safari Books Online. You can read the Rough Cuts book online, download it in PDF format, or print. The Rough Cuts title will be available for reading until 45 days after the print version is published. Once the title is officially In Print, you can make one additional download of the complete book. When you buy a Rough Cuts title through this option, your credit card is charged immediately.

Saturday, March 25, 2006

Dynamically dealing with document-centric SOA

I was reading the following bit from Neal Ford, echoing an idea I've been wrestling with for a while. The amount of XML that is getting shoved around (and the knowledge that if it is in format versions n today, it will be in format n+1 at some point in the future) really points to the advantages of using dynamically typed languages for dealing with what you are going to be getting tomorrow. It also makes you think about how "genius" enterprise XML validation services are....

Of course, statically typed languages can always use hash maps or reflection to deal with missing stuff, but at that point you are going outside compiler checking anyway. In some sense, writing Java or C# code that is primarily using hashes and reflection is equivalent to writing dynamically typed code, with a more limited set of tools than a dynamically typed language would provide. This would probably make more sense with an example, which I'll be digging through my repository for shortly...

Neal Ford: Dynamic Typing in the Strangest Places: "I was talking about how document centric messaging in SOA avoids endpoint versioning headaches. Later in the weekend, I was talking about the flexibility afforded by dynamic languages and their loose typing. Then, it occurred to me: SOA and the document centric approach is really just another version of dynamic or loose typing. If you free the plumbing from having to know what types you are passing (in this case, just a blob of XML), you create a more flexible system, able to withstand changes more gracefully. Just like with dynamic languages."

Tuesday, March 21, 2006

Loki- WiFi locations

Business 2.0 blog has a decent over view of Loki- which triangulates your position using known wireless access point locations. Apparently they have trucks driving around collecting the location of wireless access points. Nifty. Of course, there is a bit of error handling that has to be done when people move their APs.

It's gettting a lot easier to know where you are- GPS, Cell Tower locations, TV signals, compass/sextant, etc., albeit with varying degrees of accuracy. Now what do we do with that information? I am really tired about hearing about "directed advertising" based on location. Location based search (a spatial query with results ordered by distance from your current location) where you don't have to type in your current location is just a usability advance from typing in your current address. Presence applications, where others can see where you are seem to have some problems when you don't want people to know where you are, but are interesting.

Thursday, March 16, 2006

Depressing: DHS Gets Another F in Computer Security

DHS Gets Another F in Computer Security:
"...Paller argues that the yearly FISMA grades force agencies to apply scarce funding and employee time toward the wrong priorities.

'It turns out that the vast bulk of the federal information security money is spent on documenting these systems, not on securing or testing them against attacks,' Paller said. 'Most [agencies] are spending so much on the paperwork exercises that they don't have a lot of money left over to fix the problems they've identified.'"

Beyond the fact that data is at risk, the documentation process is just depressing, although not surprising at all. This is a phenomenon that repeats itself throughout government in areas far beyond security. Just think about what kind of people you need to hire to prepare all of this documentation versus the kind of people that you need to hire to actually create and operate reasonably secure systems.

Think about the same approach that is now being applied to things like Enterprise Architecture, where you have whole staffs creating OMB-300 docs and defending next years budget with paperwork so that 3 poor coders in a basement somewhere can try to hack out some code in between the mountain of documentation that they have to be compliant with and the bureaucrats they have to appease, having never met the even poorer users who are working on mainframe apps disguised in web browsers.

Monday, March 13, 2006

McGovern and others on Enterprise Ruby

Large Enterprises and why they don't care about Ruby: "The funniest thing is occurring in the blogosphere. Lots of folks who write for industry magazines have jumped on Ruby, yet you will never find a single large enterprise that is even considering it. Ever wonder why?"

Some great points here on enterprise adoption of dynamically typed languages, which are on the wrong side of the hype curve, but James M. misses the point to make his. One one hand, I think the basic assertion is wrong, in that I have seen some dependencies in mission critical applications on things written in Perl and Python, not to mention LISP. On the other hand, I think the point about maintenance is decidely in favor of the system that has less code and XML to maintain.

Here's the only part of the hype that seems true- Rails is a better web development framework than any of the Java frameworks that I have tried. Tapestry comes closest. Microsoft and JSF tool driven web development frameworks can be pretty close to Rails on a productivity scale, but there is too much complexity in the actual code there. If you compare the Microsoft code generation with the Rails code generation- I'd rather have Rails write my code. I'd rather maintain code generated by Rails too.

In terms of the seldom considered factors of how much I like coding in various languages- I still have to say to code assist or code sense or whatever you call it when the attributes and methods available pop up after you type "." is a big factor. My first real job involved writing Avenue and Lotus Script. (I am still occasionally maintaining that code base 10 years on.) I was quite overjoyed when Visual Basic gave me the dot power. Losing it again was initially a big deal. The Zen realization that literally anything could go after that dot and still work (hello, method_missing) has made up for it.