Introducing RestExpress: Instant, High-Performance, RESTful Services in Java
RestExpress is the easiest way to create RESTful web services in Java. An extremely Lightweight, Fast, REST Engine and API for Java. Supports JSON and XML serialization automagically as well as ISO 8601 date formats. A thin wrapper on Netty IO HTTP handling, RestExpress lets you create extremely scalable, stand-alone REST web services rapidly.
It takes 5 minutes to get your first services up and running using the kickstart application and we've seen 15,000+ requests per second and 10,000 simultaneous connections on a single desktop box. Try accomplishing that with the competition!
Inspired by Ruby on Rails and Sinatra, RestExpress is designed as a micro-framework with sub-projects, Syntaxe, RepoExpress and OAuthExpress to provide domain/DTO validation, MongoDB persistence storage and OAuth authentication simply and easily.
Check it out (literally) at www.GitHub.com!
New Photo-Blog Up
In order to share some photos and track my photographic vision over time, I've started a new blog dedicated only to photography. Each entry contains a photograph (of mine) along with a blurb about how it was created, etc. Check it out at http://photo.toddfredrich.com/
2010: The Year of the Christmas Song!
I'm intrigued by the Trans-Siberian Orchestra. I love their gritty, unconventional renditions of Christmas song medleys. And though they try to "bust out" of the Christmas Band label, it doesn't appear to be working. Bummer for them, but that makes me interested to make some of my own arrangements of Christmas songs and "contemporize" them.
As I ramp up on my guitar practice and poise my pen to make a new arrangement of O Come All Ye Faithful, it causes me pause and ask, "Which Christmas song are you interested in hearing in a more contemporary fashion?"
Or, "What's your favorite Christmas song of all time?" Please post your comments! I can't wait to hear what you have to say.
The Internet vs. Brick-and-Morter (or The Times They Are A Changin’)
I continually hear businesses complain about how Internet companies are stealing their business--that it just isn't cost-effective to do business any more. Boo Hoo!
Here's a story for you. As an amateur photographer, I am constantly in the market for equipment upgrades and accessories to maximize and optimize my photographs and experience. I have window-shopped several of the local establishments here in Denver, both their new and used departments. I like to patronize the local shops for several reasons. First of all being convenience, then because they ARE local and I like to see businesses succeed.
The other day on impulse, I bought a used lens from one of the local Denver shops at a reasonable price. It wasn't a steal, I could've gotten it cheaper elsewhere (keh.com in particular), but they insisted on the price and they were offering a six-month warranty. Cool, I couldn't really quibble over $25 for a $850 purchase! Especially when there's lag-time and shipping costs involved from an Internet company.
The next morning, dork that I am, I got cold feet as I need to sell a few things before I can truly fund a hobby purchase of this nature (fellow photographers understand what I mean) so I attempted to return my recent acquisition not even 24 hours later. That's when things got ugly.
In attempting to make a return to this local establishment, I was presented with a statement on the bottom of my own receipt: store credit only on returned items over $100 in value. Right--who reads their receipt? And at that point it's too late! Besides, what can you buy in a camera store for less-than $100? Then I was presented with a 15% restocking fee (about $120). Unacceptable. I negotiated the fees down to about $40--they had to be compensated for the Visa fees--still feeling that was too much. I ended up getting a check from them, negotiating the fees down to $20.73 to compensate them for one-way Visa charges. It was a MAJOR hassle in my opinion.
Now if I'd bought the lens from one of the reputable photo dealers on the Internet, keh.com, adorama.com, or bhphoto.com, I would have had at the very least a 7-day no-quibble return window. But also would've been out return shipping. However, I wouldn't be hassled over why I was returning it--whether it was a problem with the equipment or not, etc. Neither would I be presented with a restocking fee nor would I have to quibble over Visa fees!
It is interesting to note that ALL of the fore-mentioned companies have a brick-and-mortar presence. I'm sure they still pay Visa fees. And I'm sure people purchase items to shoot an event or stuff around the house then return them.
So I ask you... do you think I'll be returning to patronize that particular local camera store? Do you think I'm being unfair? I think businesses need to catch up with the times and consider that local stores CAN compete when they offer truly great customer service, convenience and friendliness. This business offers very little, if any, of that. Bummer.
As far as I'm concerned, if you want to stay in business now days, you need to pay attention to what's going on, how you fit into that, and what unique benefits you provide--focus on those, providing even more of what you're good at. Or you can be stingy, focused on lack, and go out of business.
The Absurdity of the “Cadillac Pick-Up”
Over thirty years ago (I won't tell you how old I am), my dear old grandfather said to me, "Honey boy, if they ever make a Cadillac Pick'em Up, I'm going to buy me one!" Knowing full well, of course, that "they ain't ever gonna make one, you know?"
Now, my grandpa (may he rest in peace) was a true maverick. Not in the new, political sense where one pretends to be different than an incumbent. But someone who holds an opinion and sticks with it come hell or high water, if you know what I mean. A rebel who smoked like a chimney, swore like a sailor, but loved like a saint. Yesteryear stories encompassed the gamut between being on board ship in the Big War and participating in dancing contests with his betrothed, picking hops and working construction. So I ask you, why did he think it was so absurd to conceive of a Cadillac Pick-Up? We used to chuckle about the concept quite regularly while we harvested wood for the winter stove.
If it's true that the deceased actually roll over in their graves when something outrageous happens, grandpa is doing somersaults presently because of the adjacent picture. Here's your Cadillac Pick-up, Grampa:

The absurd Cadillac Pick'em-Up
I wish like crazy that GM could be like other businesses, and disappear when they make stupid business decisions! Cadillac doesn't mean "pick-up truck." It doesn't mean "luxury." It means "big, comfortable, roomy, luxurious car." Duh and good riddance, GM. I'm ready for an American car company that gets it. Quality, innovation and target marketing.
Interoperable, Fast Enterprise Messaging
Over the last few weeks, I've had the opportunity to consider various messaging frameworks. Being I'm a "Java guy" my bias has been JMS, of course. There are several interesting open source options in that space. Of particular interest to me is Apache's ActiveMQ. I've had good luck with it and enjoyed it's performance even when compared to high-buck options like Fiorano and Tibco.
As of late, however, because I'm working in a largely C# shop, language support is a new and interesting consideration. Additionally, performance and scalability via commodity hardware is increasingly important. So I've been shopping around for options. Yes, ActiveMQ supports C# via the NMS client. But what other options are out there, perhaps in non-Java languages? Erlang, for instance, which offers some compelling scalability opportunities...
Here's what I'm looking at currently, which might be of interest to you:
- Apache's QPid - An AMQP messaging platform.
- Zyre - An interesting RESTful enterprise messaging approach
- OpenAMQ - Claiming 590,000 messages per second on a single broker maching (130,000 mps per client)
- ZeroMQ - An extremely fast C++ AMQP platform, claiming 2.8 (8 byte) messages per second.
- RabbitMQ - an Erlang AMQP implementation.
Stay tuned....
NFL Experienced In Person for the First Time
Yesterday, I experience my first NFL game in an official stadium (vs. on TV). My youngest son, Alex (10), is a huge football fan and is mad about the Denver Broncos. We have friends that could not use their tickets yesterday, so Alex and I headed to Mile High Stadium (not its official name anymore) in their stead. We certainly lucked out on the weather... beautiful sunny Denver skies and almost no wind. Furthermore, the Broncos actually won, which made the experience that much better for Alex--and for nicer conversations with other fans on the way home on the light rail.
Even ignoring the crowd aspect and energy, it was an interesting contrast (from televised games) to see the actual field, players and actions in real life. Our seats weren't bad: second level behind the south end zone on the west side. Incidentally, the sun was setting behind us (it was a 2:05pm game) which caused the field to fairly glow and allowed us to see quite well. With my killer binoculars (10-30x60), I could see even better
A kick or punt on TV is just not the same as the camera tracks the ball with little to no context given by players on the field. During actual play, the camera operators typically zoom in tight for those of us who still have postage-stamp-sized screens, giving a super-human illusion to all the activities. Now, the players are professionals so they are extremely good at what they do. But somehow, "I always thought they'd be taller..." Just kidding. But the field certainly looks a lot smaller in real life that it does on a screen. The NFL stadium experience was quite interesting. Almost 72,000 people in one area observing the relatively small playing field.
It truly is amazing what we'll spend our money on in these financially trying times. Personally, I think it's kinda cool that so many people choose to "not participate" in what has been labled as an economic recession. Perhaps if more of us did that, we wouldn't be having such a catastrophic one--or one at all? Any thoughts?
Can Software Improve Over Time Through Refactoring?
As you know, the practice of refactoring is to account for software changing over time--presumably improving. Is that a myth? To some degree, I wager yes. Here's why... and it's not what you think.
Over the last few weeks, I've been involved in a fire drill to improve the reliability of enterprise messaging (via JMS) for a set of messages that transmit financial-related data within the organization I currently work. Said enterprise messaging library is approximately six years old and has had many features (as you can imagine) added to it over the years.
Upon initial inspection, it is quite clear that there is a significant amount of "Copy-n-Paste" coding involved in creating the additional features. Clue 1: Copy, paste, mutate does not constitute refactoring! Where's the craftsmanship in that? Software quality, reliability, and readability degrades over time because software developers often just don't give a damn. They lack pride, care, and craftsmanship. It's as hard to find a good software person as it is to find a good doctor, mechanic, etc. Is that the company's fault?
OK venting aside, I maintain software truly can improve over time. But as with anything (e.g. relationships, gardens, food, coffee), software requires tending. Software is never done so we need to be dilligent and deliberate with our changes. Companies need to account for total cost of ownership and allow time for refactoring to occur during the introduction of new features. Of course, that implies software developers have the inclination and skills to improve the software over time.
Positioning, Branding and the Demise of the American Automobile
As I drove to work this morning, I saw a black Pontiac Solstice on the highway. Nice car! The convertible top was up due to the temperature here in Denver this morning. Then directly in front of it, I saw a Lincoln LT pickup truck, which got me to thinking about the demise of the American automobile manufacturers. First of all, I thought, "Duh!" My grandfather said many times that he was waiting for the day when they'd make a Cadillac pickup. Too bad he wasn't around to see it. But my point is that he only said it because it was completely ridiculous. Caddilac and pickup don't mix. Cadillac means "big, luxury car."
So what's the difference between Cadillac, Pontiac, Oldsmobile, Chevrolet, and GMC? What are the differentiating factors in deciding to buy a Lincoln, Mazda, or Jaguar over a Ford? Or for that matter, why would you buy a Passat over an Audi A4 (or visa versa)? And who ever thought Porsche meant "high performance SUV"????! Now we know why Porsche profits have been suffering over the last few years. And if the Cayanne has improved them, it's short lived.
Back to that Solstice... Pontiac's tag line has been in recent years, "We build excitement." Cool. I say go with it! And that Solstice looked pretty exciting. I see that on their website, they've chosen, "Pontiac is car." But they also build SUVs. Hmm... something to think about.

Pretty Exciting Looking... The Pontiac Solstice
The foreign auto makers have done significantly better in branding and positioning, me thinks. While Toyota does build cars, trucks and SUVs (which, IMHO is a mistake to brand them the same), they have somehow managed to hold the position of "dependable," "long lasting" or "quality" vehicles. So, now people are willing to pay a premium price for their foreign-made automobile in hopes of getting more "value" out of it in the long run.
American auto makers wake up! Stop creating the cross-over confusion, utilize our American enginuity and resourcefulness to build a better product, and differentiate your brands! Long live the Solstice!
How is Spamming Beneficial?
I was just visiting the Portland Pattern Repository Wiki, which I read regularly but don't contribute that often. Anyway, I made an attempt to update a page that I had contributed to before to find that security has now been enforced on the wiki to avoid spammers and denial of service attacks.
Question for you... what do spammers gain by posting to a technology wiki--or any wiki or blog for that matter? Do people actually buy what they are selling from postings like that? Do they garner a good-enough reputation from spamming to gain name recognition and a constant stream of orders for their products? Same question for email spammers... do people actually buy that stuff? My wife, BTW, has no need for penal enlargement products, yet she gets a steady stream of "quality" offers for them.
Perhaps the masses are more stupid than I thought. Oh well, those spammers keep me in business implementing better and better information security systems and policies for my clients.
What are your thoughts?














