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, script.aculo.us, DWR, Dojo, etc.)and start hacking. The book has a chapter split between Prototype and Rico. It also has one on script.aculo.us. 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.

Tuesday, February 28, 2006

The IT crowd


This show is really funny to me. I could watch the opening scene of the 6th episode every day for the next month and still find it amusing. I loved Father Ted, and this is basically Father Ted does Office Space instead of Craggy Island. It captures on the odd dichotomy off the IT group being the lowest on the social scale in many regards, but having total control over a few minor things.

Roy answers the phone with: "Hello, IT department. Have you tried turning it off and on?"

You can watch some here, at least you could last night (although you can find better quality wma files as torrents).

Service Oriented

How much of a key to Service Oriented Architecture's success as an enterprise buzzword is due to that first part- "service oriented"? I think for non-IT types that are tired of getting told what they can and can't do by the IT crowd. Having something focused on service seems to put the IT guys back in their place.

You then add into the mix Fowler's absolutely correct assertion that "SOA has turned into a semantics-free concept", and you have a recipe for entertainment in the enterprise. It's a great label to stick on whatever pet project you've been pushing for months, years, except now it comes with an extra helping of buzzword compliance which is sure to get it funded.

Sadly, it also applies to my pet project which is making applications respond to applications in addition to responding to humans. Unfortunately, it's a little difficult to get that one funded, it's more something that I want to fund across hundreds of projects.

From Fowler's site, here is the definition I am most strongly opposed to:
"For some SOA implies an architecture where applications disappear. Instead you have core services that supply business functionality and data separated by UI aggregators that apply presentations that aggregate together the stuff that core services provide."

That sounds like it's going to be hell for users. Sorry, you don't get an application, you get an aggregated UI. The thing that really makes that version of SOA completely evil, is that in order to produce an aggregated UI, your "service" has to present a portlet (or equivalent) version of itself.

On the other hand, the concept that you should achieve code reuse by introducing dependencies on other occaisonally running, provisionally funded systems might even be worse than what the above would do to users. Maybe we should just rename it dependency oriented architecture- the acronym seems much more appropriate.

Saturday, February 11, 2006

PropSmart

I really like PropSmart. It is a Google Maps (should we call them Google Local?) API application for real estate. They use all of the basic features that one would associate with that kind of application, with nice tabbed pop-ups on the pins that have pictures of the properties and basic info.

The truly impressive thing, to me, though is there ability to scrape so much housing data. In the US, that data is pretty tightly controlled via the Multiple Listings Service (MLS). The MLS has tiered access, where registered Realtors get to see the most up to date information. PropSmart hasn't cracked that yet, but has taken advantage of the fact that most offices post stuff on their own sites in addition to making MLS submissions. So, you'll still be cursed by old data, but the mere concept of putting all of that data on the map makes it so much easier to see what's where.

Friday, February 10, 2006

Pragmatic Ajax

I'm in day two of the Pragmatic Ajax Studio. It's been entertaining, particularly with my cousin in his usual enthusiastic form...

Of course, I have been falling behind in the exercises because I am not a natural when it comes to JavaScript. The first day of the course is a real eye opener on the power of that language. I don't know that I'll ever need/want to get that deeply into it, but JavaScript in some ways more powerful than a lot of other languages that I am used to using, particularly in the variety of things you can do with functions. Of course, with that power comes great responsibility.

Corporate GMail

Google to offer GMail with your domain name. Still beta? Sign up here.
With rumours of a calendar and web page editor, plus the recent GTalk integration on the horizon, they are coming closer to being a viable corporate platform. We are using Yahoo! Small Business now, simply because they offered hosting and email for a cheap price. Unfortunately, it's not exactly GMail. Optimally, GMail would be a product we could host ourselves (on an appliance?), but that's probably just me dreaming again.