Thursday, June 25, 2009

I love this picture

Phyllis doesn't, but I do.

From


She loves this one, which I do too:

From Paris 2008

Sometimes love

Sometimes love
Can be as simple
as finding your daughter’s mouse dead in its cage
And burying it
While she’s out of town

Sometimes love can be as simple as a dog
Touching his cheeks as he turns his
Large white head to your hand

Sometimes love can be easy as making your son’s bed
Or smelling his washed head or holding
His hermit crab while giving it water

(For my sake, realize the mouse was old
And she knew
And had picked a place out to bury
Her, dear Silver)

Sometimes love is crying over those you’ve lost
In war, and in tragedy

And in nothing but peace, like flurries by the tarmac
Sometimes love can be not killing a man
You know deserves to die
Or hunting
For food for a family
Hungry in an Appalachian winter
And making a quick and merciful kill

And sometimes love is sitting
On the memorial benches
Among the dead outside
The Pentagon with pictures
Of your friends
With pictures of them smiling
With pictures before
They were a bench

And sometimes love can be the last story
Before bed
Or describing constellations
To your children
you hope will live so far into the future
And live such good lives into that dim
Horizon

Thursday, June 04, 2009

Cloud Computing: Show me the money panel

Well ok then, this sounds just a tad bit more like marketing or how you actually make money doing this stuff? Goodness knows I need lessons in that.

A knowledgeable friend tells me that SOA is fast dying.. great, we are just getting into SOA for a client, but.. anyway.. he says the near future is all about the Cloud. So, here I am.

Rags, the speaker (really) is saying- Cloud computing is replacing SOA and web services. “Cloud computing- everyone says they are doing it, but are not sure what it is and they are in fact lying.”

First up: Amazon Elastic Compute Cloud.

Ok, this wasn’t actually a demo of Amazon, but actually the amazon guy’s little traffic map application and I had no idea that going to one site, grabbing images (maps in this case) taking a snapshot and storing them locally and maybe doing a little manipulation. So, everything I do is now categorized as CLOUD Computing. I declare JPI experts on cloud computing and we will be talking at future conferences.

Sales Force guy is reinforcing this impression- grabbing sales data, crunching it, producing a map. That’s cloud computing.

FACT: I do not think they are right. But they are interesting.

The Enterprise Integration Patterns guy is talking: he’s doing a servlet for us. Oh, he writes the little app and puts it INTO the cloud. The cloud part is the ASP where you can put your app out there. Well, that’s pretty cool.

The Intuit presentation was much better- a little applet on the cloud that goes out and grabs client data from various sources to build them a billing record. That’s very useful and made much more sense. Reach out, grab a few fields here, a few fields there, and some other fields over here, pop into a nice AJAX front end and voila, a great little app.

The Microsoft guy is up next and his prime number checker app just died a horrible death. He blamed JSP and we moved on. Poor MS guy.

Wednesday, June 03, 2009

Wrapping up the day

Tired!

SOA at Enterprise Scale: Solving Real Challenges with GlassFish ESB

Whoah, this was a snoozer. Off to air hockey.


Coding REST and SOAP Together

Two guys from Prague. I think REST stands for Milan Kundera Potato Farmer. I could be wrong. I’m just surprised they threw one vowel in there.

What’s new in Groovy 1.6?

This should be fun- it’s all new because I have no idea what Groovy is.

I assume it is this: http://groovy.codehaus.org/

This is one of the talks I signed up to get outside of my box.. literally I have been mainly staying in a box here.

Well, it’s got BigDecimal arithmetic. Don’t underestimate the importance of things like this!

Fascinating- three examples of “Hello World” in Groovy. I’m lost. I’m not sure how many of my clients want something that says “Hello World!” and responds “Hello Groovy”.

Wait- I am sure. 0.

http://Groovyconsole.appspot.com

AJAX Performance Tuning

Ahh... this was a good talk...

Here’s some meat and potatoes for me.

Optimization Strategies: scale down your development environment- both your client and your server, because users invariably have lower quality than developers; browser incompatibilities should be researched early; do performance testing as well as usability- start with single users, then go to multi users; use tools to test; QA last, then ship.

FUN FACT: These strategies mostly go back well into the 1970s, but don't tell anyone I know that.

Good AJAX design separates content (HTML, XML, XHTML) from CSS from script. That’s each goes in its own file folks.


De-reference unused objects:
Var foo = ‘blah’: // then do something
Delete foo;


Setup vars for your declensions. This goes WAY back in coding history:

This is bad
divs[i].style.color = white
divs[i].style.alignment = right
divs[i].style.blah = blah

This is good:
Ds = divs[i].style
Ds.color = white
Ds.alignment = right

And so on. Simple.


To do with pages: Put style sheets at top. Put script calls at bottom. We’re going to try this.

Rethinking ESB

Oh boy, this speaker is not what I’d call engaging. Not good for first class of the day.
I mainly care about ESB for grabbing a single “thing” off the shelf and plugging it into much larger/broader applications we build.

This talk- focus on the API being simple, easy to learn, snap in, snap out. All great ideas, until you really need the bean to do something complex, e.g. plot a complex set of S-Curves for value management of a capital construction project, then a whole set of them. Sorry, I’m being snotty, but that’s the sort of real world stuff we run into and that API cannot be simple.

Here’s a nice point: when doing complex graphical output, give an option to view the data. I may have to run that by the line of business for their graphs. We sort of do this already! Yay.


Don’t wrap your business logic in code. Well, duh. Actually, I need to be careful here, having done that. But no longer! So, lesson to you- don’t wrap your business logic in code.

FACT: There will always be bugs (they said it, not me). So, be careful with your patch management.

FUN FACT (from Doug): Bugs are what happens when life is what happens when you are waiting around for something great to happen.

AJAX vs. Java

This seemed like a pretty useful discussion, but the presentation and content was fairly tortured. They tried to make it all entertaining, but I wanted to see some of the functional work done to deliver useful data to users.

So, here’s the take away- Java is much faster these days. Well, we knew that- remember 1.0? 2.0? Complete pigs and made up the popular phrase “Java- write once, run slow everywhere” or “debug everywhere”.

FUN FACT: Ajax and graphic rendering, even in 3D is still faster than Java, once you have the images to the user- especially in chrome (in IE, not so much).

The biggest wins for client side java these days seems to be its thread less nature (a very important, but singular issue) and it’s use in smaller devices (which is a much bigger issue as this is where the world is going). And by smaller devices, I should throw in giant TVs that are now including MIPS chips like LGs new LCDs. Why? Movies, games, anything on demand.

REALLY FUN FACT: Blackberry is head to toe java. You can’t do that with AJAX (duh) and it is the largest user base hands down. Blackberry doesn’t do anything crazy like working with only one carrier (ahem, iPhone) but with 400 of them. Dayum.

So, yeah, Java is great, but doing rich UIs like google wave, inotes R8.5 and other things with AJAX is still the best choice. Marry it up with a push method, like comet, and then you have everything you need.

Thoughts on fund raising

I volunteer for a local charity and, not surprisingly, donations are in the tank this year. They've asked for social events ideas and I have always thought a casino night(s) would be great for raising money and getting a younger crowd into the charity. I've also thought about regular Texas Hold'em tournaments.

I'm wondering if anyone has any experiences, suggestions, etc. for this sort of thing. I have never put together a casino night and I am daunted by how much work might go into it. Poker tourneys, however, I've done and they are very easy to organize.

Tuesday, June 02, 2009

AJAX and JSON

Ok, I can tell already this one is a little too basic for me. The basic idea is that AJAX is DHTML with XML. We’ve been doing the latter for ten years and the former since it first came out. Though I can use the brush up on current JSON.


Very useful things, that are new to me:

  • Jsoneditor.net -- As the name says, an easy and rich editor.
  • Jsoneditor.appspot.com -- same as above with neat features
  • JS Loader - http://www.jsloader.com/ -- load libs independent of platform and in order and with great confidence.

Sun Opening General Session

Well, this was refreshing. Compared to the whacky motivational speakers Lotus and IBM seem to prefer for their general sessions, Sun does it up with people doing the work and what they are working on and why it's cool.


FUN FACT: Last IBM conf. was Neil Armstrong- neat, but, um, he's not a programmer.


FACT: I already have Armstrong's autograph on my wall.


Down to some Java business. JavaFX will kill your DVR with a blunt object. DVRs will be around in ten years, but not for folks who like to order up their own content- much of it for free with commercials. TVs will just be another net appliance on your home Wifi, running whatever comes after N. Game consoles- you have 5 more years, maybe 7.


FUN FACT: Everyone in the AJAX talk has a laptop on and they just told us to turn off all electronics. Everyone just laughed.

FACT: Chicago Options market runs java applets on hand helds and the whole system logs 300,000 transactions per second peak. 300,000 transactions. Per. Second. Mind blowing.

Packed Community One sessions

And I post nothing. Oops!

Ok, other than some tips on AJAX, the best thing I saw was this:

http://code.google.com/apis/opensocial/

And, yes, of course you can plop it into any Eclipse project you are working on:

http://www.ibm.com/developerworks/edu/wa-dw-wa-pz-opensocial.html

FACT: linkedin uses open social, so does the GOOGLE.

Monday, June 01, 2009

What is ESB?

First off, I'm going to get an overview of Enterprise Service Bus:

Ok, introducing your talk with how much GlassFish is being googled and downloaded for 10 minutes- not so great.

GlassFish portfolio: Enterprise server, Web space server, web stack, OpenESB.

sun.com/glassfish

Well, this whole talk is much more sales than I expected and almost no OpenESB- which is what I wanted to hear. Maybe tomorrow's ROA talks will have more of the ESB stuff.

FUN FACT: If you are wondering, IBM Websphere does integrate with OpenESB- apparently quite well. Though I should not be typing that at a GlassFish talk.

FUN FACT: IBM has a robust federated ESB architecture. Not banging their drum, but it really is old hat for them:

http://www-01.ibm.com/software/websphere/products/appintegration/esb/?ca=campaign=agus_itebffesb-20090428&me=psearch&met=google&re=ibm_esb&s_tact=usitk011&cm_mmc=campaign=agus_itebffesb-20090428-usitk011-_-k-_-google-_-ibm_esb


Background:

Sun GlassFish Enterprise Service Bus builds on top of the Sun GlassFish Enterprise Platform and OpenESB to provide an enterprise-quality enterprise service bus (ESB).

http://en.wikipedia.org/wiki/Enterprise_service_bus

"There is some disagreement on whether an enterprise service bus is an architectural style, a software product, or a group of software products. While use of an ESB certainly implies adherence to a particular architecture, the term "enterprise service bus" is almost always used to denote the software infrastructure that enables such an architecture.

An Enterprise Service Bus (ESB) brings flow-related concepts such as transformation and routing to a Service-Oriented Architecture. An ESB can also provide an abstraction for endpoints. This promotes flexibility in the transport layer and enables loose coupling and easy connection between services."

Blogging from Javaone

I'll try to post regular updates here.

FUN FACT Hadoop on apache- yahoo uses it to build 4,000 node clusters. Actually, they have 25,000 nodes in their cloud, but 4,000 is their operational cluster. All open source.

REALLY FUN FACT: they have AMD sponsored "Hang Zones" with video games, movies, bean bags, comfy chairs and even air hockey. Don't tell anyone I work with.