Forking "Southern Fried Java"

I’ve been reading a good bit of Seth Godin and Hugh Macleod’s weblogs lately. Both are geniouses in marketing – Seth as the grand idea man, the viral marketing, the giving away of his work as a means to build his career and credibility. Hugh is less known, but there’s something very authentic in his bluntness that hits a nerve. He’s already turning heads, and I think he’s just getting started. Both recognize and evangelize that marketing as we know it is dead.

I’m not a marketing guy by trade, I’m a technologist with a decent business sense. But I’ve seen so many awful, feeble attempts at appealing to potential customers that I’m poking my nose into that realm. And as a potential customer, I feel for than qualified to raise a voice on what is and isn’t working. Instead of clogging this feed with my riffs on marketing and ways it’s done poorly, I’m developing a split personality. If you’re interested, head over to BadMarketing, Atom feed here. I’ve kicked it off with my treatise, Miserable Marketing, a , and a look at the odious Lovemarks marketing scam. Hope you’ll join me over there. If you decide I suck, at least check out Seth and Hugh.


Should JDO 2.0 be shelved?

Robin Roos of the JDO 2.0 spec team tells us to wait and have faith in the Java Community Process Executive Committee. Following the strong defeat of JSR-243 before the JCP Executive Committee, the expert group has 26 days to figure out whether it is prudent or even possible to pass a version of the spec. The future of Java persistence is in aligning EJB and JDO, guided by a spec that will be defined alongside the JSR-220 EJB3 spec. The time to market for the POJO EJB3-based persistence could easily be 6 months or longer, once approved, and the JDO 2.0 spec is generally complete and the vendors would be ready to push implementations of it in short order. Should existing JDO customers and developers doing green-field work use Hibernate, JDO 1, or custom code until EJB3 is ready for standalone deployment, or would they benefit more from the availability of JDO 2.0 to get the new features and a bridge to EJB3 persistence out in the wild?


JDO 2.0 fails – shame on the vendors

Is JDO dead now? Sounds more like back to the drawing board, according to the comments submitted with the Executive Committee votes. Google’s “abstain” keeps them in line with their “don’t be evil” mentality, but all the vendor concerns about EJB3 compatability are a bit frustrating. The letter they refer to is a joint letter to the Java community by the spec leads of JSR-243 (JDO 2.0) and JSR-220 (EJB3). They say JDO 2.0 didn’t follow the spirit of that letter, but their wrong, and I think it’s a red herring.

The letter CLEARLY spells out that EJB3 will define the future roadmap for unified Java persistence (though in a separate spec), and that JDO 2.0 will make efforts to be compatible with that future vision while delivering necessary extensions to current JDO users. JDO 2.0 does this. The tone of the vendors seems to indicate that they just wish JSR-243 would wait for that new persistence spec to come out and fully implement it. It has long been known that JDO 2.0 would come out of the gate before this new persistence specification, so how can they be expected to adhere to a spec that hasn’t been defined? The more likely scenario is that the vendors don’t want JDO 2.0 to come out at all. Why? Because the new spec adds some critical functionality that removes many companies’ obstacles to adopting it, and if they use JDO, they don’t need a container, they don’t need to buy a product from the vendors.

Not only does this rejection delay JDO adoption, it also blocks current JDO users from getting functionality they need to make their applications better. This spec was NEVER designed to be the next generation of Java persistence, it’s a maintenance release, and a bridge that takes us toward that future. The vendors have NEVER been big on JDO, but they need to recognize that many people are rejecting EJB wholesale. If EJB are so great, why does Hibernate have such momentum, and why are there vendors focused solely on JDO? There’s a demand or it, and trying to cripple the competition until EJB becomes something palatable is a scummy way of handling the trust the Java community has placed in the Executive Committee.


FahrenHYPE 9/11 – a compelling rebuttal

After watching Michael Moore’s Fahrenheit 9/11 a few weeks ago, I took interest in FahrenHYPE 9/11, an interesting rebuttal to Moore’s film, apparently driven largely by Dick Morris (one of the more enigmatic characters in U.S. politics. I can’t say for sure that the film is any more factual than what Moore puts forward in his film, but if you watched one, you should watch the other, in the interest of hearing both sides of the story. I don’t know whether to trust Dick Morris, so I don’t take the whole thing as fact, but there is plenty in the film to show why Michael Moore can not be trusted.

One of the most easily challenged charges of Moore is regarding now-CIA-Director Porter Goss. In Moore’s movie, Goss is shown speaking, saying that there’s an 800 [toll free phone] number people can call, I think regarding terrorism. Moore charges that there is no such number, insinuating that Goss is an irresponsible liar who is negligent in facing terrorism. The fact that HYPE brings to the table is that the number was actually an 877 number. So while Moore is FACTUALLY correct, the malicious intent is clear. Most every American would take Goss’ statement to mean a national, toll-free phone number. Moore preys on this by discrediting the statement on literal inaccuracy without giving the viewer enough detail to form an informed opinion. It’s sloppy, underhanded moves like these that call Moore’s credibility into question on ANY topic – he’s clearly willing to mislead you if it accomplishes his goals.

Perhaps the most compelling parts of HYPE are the parts that show real people in their own words, not the pundits spouting hard-to-check facts and figures. The double-amputee soldier and Oregon patrol officer are both shown expressing how Moore completely twisted and edited their own words to show viewpoints completely opposite what they believe. For instance, Moore showed the patrol officer talking about how he is the only one assigned to patrolling Oregon’s coast, and only part-time due to budget cuts. Moore uses this to suggest that the entire coast of Oregon is vulnerable to terrorism, and that it is due to Bush’s fiscal policy. In reality, that department is funded at the state level, so the cuts had nothing to do with federal policy, and furthermore, Moore completely ignored several other state and federal departments that are actively patrolling this coast, including the Coast Guard. Moore wanted you to believe that this one guy was the only one looking out for us on the Oregon coast. Also interesting is camera time with the school teacher in the classroom Bush was in when he was informed that the second plane had hit – the much maligned “My Pet Goat” photo op. She didn’t vote for Bush in 2000, but expresses strong admiration and respect for the way he handled himself that morning, and feels that it was quite appropriate and presidential.

I won’t say that FahrenHYPE 9/11 is completely true. Somewhere between Moore’s allegations and Morris’ rebuttals regarding Bush, Clinton, and everyone else’s ties to the bin Ladens, Saudi Arabia, etc. lies the truth. What I do know is that if you’ve only watched Moore’s propaganda, you’ve only heard one biased side of the story. HYPE may also be propaganda, I don’t know for sure, but in the name of intellectual honesty, you ought to watch it to get a bigger picture.


Hiring a Java Developer in Atlanta

My company’s looking to hire a mildly experienced Java Developer – somewhere around the 2 years of experience level. You don’t have to have experience with 30 different buzzword technologies, but you absolutely must have a clue when it comes to Java, Object Oriented Programming, and software engineering. The company’s just under 50 people, nice and small (but growing, both in staff and revenue), laid-back atmosphere, reasonable hours but intense work, and good co-workers. Drop me an email at (hoping to avoid spammers harvesting my email address).

Update: Since location matters in Atlanta, it’s worth mentioning that the job is in NW Atlanta, Vinings area.


The new Apple iProduct

Get one as soon as you can. iRead this and iLaughed.

Don’t get me wrong. Honestly the mini Mac and iShuffle announcements are pretty compelling, and I’m far from a Mac apologist (though if I’m going with a flash memory MP3 player, I’ll stick with the upgradable sort that lets me swap out a CompactFlash or SecureDigital card that I can also use in a digital camera and similar devices). (Thanks to Seth Godin, the marketing genius for putting this on my radar.)

Update: Just found a iProduct Rebuttal – “Apple Haters Unite!”.


"Ogle and Save"

That’s the message that greeted me on the front page of today. Such is the title of their promotion offering some sort of deal if you purchase a Sports Illustrated subscription in time to get the swimsuit issue. Very odd since I’ve never purchased or even browsed as much as a GQ subscription or a racy movie on their site. I guess they just looked at my records noticed that I’m male, and splashed it up there. Good for a laugh at least.


Have you hugged your StackTraceElement today?

More J2SE revelations today as I discovered the method, StackTraceElement[] Throwable.getStackTrace(), introduced in J2SE 1.4. So what’s a StackTraceElement? Essentially, everything you’ve been seeing in a line of a printed stack trace for years – class name, method name, line number, and a convenient toString() method that returns the link you’re used to seeing in your traces.

Clearly, this sort of information has been hidden somewhere for years, kudos to the folks that put this into the spec for exposing to developers. I can think of a lot of things this could be abused – some people might use the source of the exception in place of error codes in designing how they handle the exception (if traceElement.getClassName, or worse, lineNumber == “com.moron.App” then handle one way, else handle another). One scenario that comes to my mind is for tracking down bugs. Suppose you have an Exception that’s unexpectedly being thrown at infrequent intervals, but when it happens you want to give it immediate attention, and suppose it’s a commmon exception type. Rather than changing your code, you could write an AOP interceptor that traps that common exception, checks if the source of that exception was the problem spot, and takes some notification action (perhaps logging to an SMTP log appender or something). I’d be curious what scenarios others more familiar with this distant corner of Java have done

Are you going to use this every day, week, or month? Not at all. But I’m thinking it’s a handy thing to keep in the back of your mind.


"Rediculous" – Spelling word of the day

The correct spelling is ridiculous, derived from the same root as ridicule – few people write redicule. I’ve seen this abomination in spelling become very common online recently. Maybe you have friends who pronounce it reee-diculous, but that doesn’t change the spelling. I never cease to be amazed at how many college educated people I know with not a prayer in the world of spelling simple, common words. Don’t even ask about writing coherent sentences. How do we turn out so many highly-educated people with so little ability to use our primary language, much less learn a second language? It’s so common that it’s ridiculous.


Ashlee Simpson (train wreck) Roundup

Much of the U.S. is fascinated by train wrecks, both figurative and literal. From the “rubbernecking” phenomenon in traffic to the obsessive tabloids at the grocery store, we are fascinated by sudden and overwhelming destruction. I’m usually NOT the one obsessed with celebrity culture, and the one who actually attempts to focus on the road ahead more than the wreckage in the emergency lane, but the interruption of an otherwise boring, lopsided national title game between Oklahoma and USC by a travesty of a halftime show has me fascinated for pure, unintentional humor value.

I despise the invasion of privacy conducted by rags like the Enquirer, InTouch Weekly, etc, simply to sell magazines, but public performances are fair game. Clearly, technical difficulties hampered all 3 performers in Tuesday’s Orange Bowl – Kelly Clarkson, Chet Adkins, and Ashlee Simpson, but the train wreck of the night was Ashlee Simpson (which is saying something, given the Drubbing the Oklahoma Sooners received). Her performance made viewers WISH she was lip-synching like the incident that embarrassed her on Saturday Night Live. From the start of her singing career, it has been clear that she should have simply continued the acting career she began on 7th Heaven. On her MTV show, her vocal strains attempting to record “Pieces of Me” should have been clear indications that her singing career should have been short-lived, but MTV flexed their marketing muscle to the masses who are clearly tone-deaf, and a platinum-selling album was born. (As an aside, I grant her sister Jessica, points for having vocal talent. A simple listen to Jessica’s first single demonstrates that the girl has some pipes, even if lacking some common sense and originality.) I don’t wish failure on anyone, but I resent being sold a fake bill of goods, which is what much of modern music is designed to do. Thus I enjoy those rare moments when it’s crystal clear that the emporer has no clothes.

That being said, there are a few links I found this evening that are well worth sharing: