David Palmer

consultant, technical architect.

XMPP/Jabber: blinder.dave@gmail.com

AIM: b1inder

Posts written by David Palmer

August 22

Discovery: Groovy

Scripting languages, or “toy” languages I’ve heard some say, are quite the rage today (and most likely tomorrow). We’ve (at least in the Java community) been inundated with a deluge of scripting languages, so many that Apache’s BSF was built (Bean Scripting Framework) to help us make sense of all of them.

There’s a relatively new upstart on the block, goes by the name of Groovy. Groovy, completely based on pure java, incorporates enclosures, code as data, completely OO, completely and transparently embeddable has really started to take off. Think of it as the best of the Ruby and Java worlds, mixed up together in a single JVM, running as either a stand-alone system or embedded in an existing application. Its that cool.

Why are scripting languages cool? Think of it this way. Imagine having a mountain of messy dirty “if/else” statements in your code, and that code constantly changes, needs to be re-compiled, re-deployed and on and on. Imagine taking (decoupling) that code from your application, dropping it into a script, and letting the script handle that stuff for you? Pretty cool eh? Yeah, I think so.

Yes, this is short on detail, I would urge those interested to simply download the Groovy distro, takes about 2 minutes to get it up and running and begin to discover why Groovy is just that.

August 17

HTML 5?

Well, after, what? 8 years? Looks like the powers that be have decided to brush off the dust of HTML 4 and give our old and dear friend a much needed (?) face lift.

The article on IBM’s Developer Works site is actually long on details, but the question is, will HTML 5 actually look like what is outlined? The W3C and those crazy browser makers can do the darndest things.

Things like <aside>, <nav>, <dialog> and the new embedable objects (audio/video) looks pretty interesting. Also the new structural tags looks like they are finally going to pay more than lip service to a real structure to HTML. That’d be nice.

August 10

Socket Programming (in Java) Made (Painfully) Easy

I know many cringe at the thought of socket programming, what with all of the tiny little details you must take care of (like threading, zombie sockets, queuing, etc.), and while practicing these things, I think, make you a better developer, 99.999 percent of the time, we’d just rather let a container worry about that stuff for us.

Well, there will be time when you won’t have a container, or don’t really need one, but may have to do some form of client/server (like in a light-form of systems integration where messaging needs to be employed) development.

For that, there’s no need to fret, fuss or bother, because there is an open source library called QuickServer that is there to make your (development) life much easier. QuickServer is a TCP server library that is brilliantly designed in that all major pieces of functionality have been broken out through interfaces. You do not have to mix authentication code with protocol code with client data all jumbled together with thread handling and buffered readers.

In fact, I’ve been playing around with QuickServer and have integrated it with Spring, completely abstracting out all pieces of a fully running server to where the entire server is “wired” together in XML.

So, take a look. Play around with it. It could prove rather useful when containers become too heavy.

July 27

Mysql-Proxy: Mysql Steps Up, Again

While it isn’t exactly new news, it was news to me, and it might be news to you, for those who care.

The Mysql dev team has released a new tool called mysql-proxy. While not very interesting sounding and certainly not “sexy” what it does and will do for Mysql may just make larger enterprises step up and realize that this little database system is for real.

So, what’s all the hubbub, bub? mysql-proxy is just that, a proxy system for mysql. Aside from doing crazy things like query re-writing (via the built-in Lua scripting) what’s probably the most interesting feature is the ability to load balance mysql servers.

Real load balancing, not master/slaving, having the slave poll the master’s binary log, this is real load balancing. I’ve written a start/stop script for mysql-proxy that initiates load balancing between n-number of mysql servers, which is available here.

Mysql-proxy is still very new, very experimental and does need some attention, but the primary developer behind this is the same man who wrote lighthttpd, so it’ll get there in due time. Keep an eye out for this.

Technorati Profile

Browse posts by month

Browse by author

We're always looking for rockstars

Come take a look at careers with Molecular