CTO of Adigio
Dion Almaer is the founder and CTO of Adigio, Inc. He is an architect, mentor, pragmatic, and evangelist of technologies such as J2EE, JDO, AOP, and Groovy. He is the Editor-in-Chief of TheServerSide.com J2EE Community and enjoys working in the community. He is a member of the Java Community Process, where he participates on various expert groups.Presentations by Dion Almaer
Clean scalable builds with Maven
Our build systems have migrated from make to Ant. While Ant does a good job in many ways, is it the right tool for the job? This session talks about taking builds to the next level, looking at tools such as Maven to make your life easier."How to be Groovy
What? Another programming language? Are you kidding me? That is what we often feel when something new comes around, and is something you may be feeling about Groovy. However, Groovy could fit a niche for you in your daily toil. It is the swiss army nice that Perl/Ruby are, yet lets you work in a more structured way, and plays nice with the millions of lines of code already written on top of the Java Virtual Machine."Rules Engines
Rules engines are powerful beasts which allow you to program in a way in which you specific rules and facts, rather than a linear set of instructions.Learn about how you can use Rules Engines in Java development to take care of complicated problems."
Enterprise AOP
Aspect-oriented programming (AOP) has become a hot topic for enterprise development, with recent news of support by IBM, JBoss, BEA, Oracle, Eclipse, and IntelliJ.Behind the news headlines, however, are critical questions: How real is AOP for the enterprise? What problems can it solve today? How does it apply to enterprise applications? How can one make an informed decision about trying to use AOP? What is the best adoption strategy? What are the long term possibilities for AOP in the enterprise?
This sessions tries to tackle those questions."
Give the DB a break!: Performance and Scalability
What do we really mean by "performance" and "scalability"? This talk gets into the meat of problems which cause our applications to degrade. We will focus on issues such as problems caused by the database being a bottleneck for our application, and see how we can architect our solutions to bypass the issues, resulting in a solid system which scales with the increased load.Not only will we look at the factors, but I will delve into a couple of case studies to show how real world problems were solved!"
techno.blog("Dion")
blogging about life, the universe, and everything tech
Monday, June 18, 2007
Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A542a Safari/419.3
I know that they result from testing, but sheesh. Extrapolate this to 2020 and what will we have?
Friday, June 15, 2007
I wish we had tools such as GeoSense in the classroom.
It would be great to be able to "play a game" with other students. I would have really gotten into physical geography then. Also, it doesn't stop at just "where is some place in Africa". You can extend this to have information on all kinds of political, historical, and social issues that relate to geography.
I am sure todays teachers are wise to this and don't get up front in class and blabber on at the kids :/
Wednesday, June 13, 2007
Most of the time I want a simple tabular view over a spreadsheet that has the first row as a header, and other rows as the data.
To do this I created GSpreadsheet which lets me do:
GSpreadsheet.load("pSYwzniwpzSFnt8Ix3ohQQA", { index: 'firstname' }, function(gs) {
// display all
document.getElementById("displayall").innerHTML = gs.displayAll();
// show one
var row = gs.select('Bob');
document.getElementById("onebyindex").innerHTML = row.email;
// show by row number
row = gs.select(1);
document.getElementById("onebyrownum").innerHTML = row.email;
// display one row
document.getElementById("displayrow").innerHTML = gs.displayRow('Bob');
});
You will see that you call GSpreadsheet.load(..., callback(takesAgsObject))
This is because of all of the asynchronous work going on. To get the JSON from the Spreadsheet back end you are always using the json-in-script output, and getting it by dynamically creating a script tag. The real dirty hack in this code is how to do that, and have the callback give you back the info to create the new object. To do this, I am creating a static method on the fly with eval() and calling into it passing in the right info. It's real ugly:
GSpreadsheet.load = function(key, options, callback) {
if (!options['worksheet']) options['worksheet'] = 'od6';
var worksheet = options['worksheet'];
var callbackName = "GSpreadsheet.loader_" + key + "_" + worksheet;
eval(callbackName + " = function(json) { var gs = new GSpreadsheet(key, json, options); callback(gs); }");
var script = document.createElement('script');
script.setAttribute('src', 'http://spreadsheets.google.com/feeds/list/' + key + '/' + worksheet + '/public/values' +
'?alt=json-in-script&callback=' + callbackName);
script.setAttribute('id', 'jsonScript');
script.setAttribute('type', 'text/javascript');
document.documentElement.firstChild.appendChild(script);
}
Wednesday, June 13, 2007
This search below should search through my blogroll on the left (which I never update but that is another issue to do with me not generating the list from my opml feed like I should).
E.g. search for something like 'gears'. How it does this on the fly is quite impressive.
Monday, June 11, 2007
I am not sure exactly which target demographic will be running Safari on Windows though..... and of course, it means that we have yet another browser to support (although I am sure the windows version won't have any bugs different from the Mac version).
