Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

OpenLaszlo supports Ajaxified output

I heard this was coming, but I didn't expect it so soon.

There has been some crazy, crazy work going on here in the last month or two and the result is amazing. Today at etech, we’re demoing an early alpha of OpenLaszlo’s new DHTML backend. Truth! Press Release!

OpenLaszlo

Here’s a new demo showing off the goods:

That’s a live OpenLaszlo server, running both apps from the same source code.

Also, new shiny openlaszlo.org page, with links to the DHTML demo.

This demo definitely works best in Firefox, but it's damn impressive. It's tough to test which medium you're using if you open them side-by-side. My hats off to you OpenLaszlo Developers - well done.

Posted in Java at Mar 07 2006, 05:12:22 PM MST 1 Comment

RE: Marketing is the billion dollar question in open source

Dana Blankenhorn has an interesting post titled Marketing is the billion dollar question in open source. I definitely agree with this. Good marketing of a project can make it successful, and bad marketing can kill it. It really is the hardest part of being an open source developer. Sure it's fun to work on this stuff until the wee hours of the morning, but if no one (including yourself) appreciates your project (due to your lack of marketing), it really worth it? Compare that to wild enthusiasm by your users and people writing articles about your project. There's a stark contrast there.

Some of the hottest open source projects are driven by marketing. Read more (and comment) on my Virtuas blog.

Posted in Open Source at Mar 06 2006, 11:14:20 PM MST

Dream Bus

This is a 23-window bus, and looks to be a bit older than mine (a '66 21-window). However, it has the same paint job I'm dreamin' of. Sure is beautiful.

Dream Bus

Found at vwtrends.com.

Posted in The Bus at Mar 05 2006, 09:42:25 PM MST 3 Comments

Upgraded to Roller 2.1

I upgraded this site to Roller 2.1 yesterday. I did encounter a few issues while upgrading, but nothing too major. If you see any issues let me know.

For the record, this blog has had 2244 entries and 7380 comments since I started it in 2002. I wonder what the highest numbers are on a Roller-based blog?

Posted in Roller at Mar 05 2006, 08:43:42 PM MST 3 Comments

CSS Framework Design Contest

Over the past 2 weeks, I've managed to raise $900 for the CSS Framework Design Contest. Thanks to friends, AppFuse users and SourceBeat their donations. You guys rock!

With this cash, I hope to give away 3 prizes: an iPod (60GB), an iPod (30GB) and a 2GB Nano. Of course, if the winners decide they'd rather donate the money to charity, that's cool too. Any additional donations I receive I'm going to send to the Elena Steinberg Memorial Fund.

Here's the rules of the contest: Create a theme (mostly CSS, images allowed) that makes the CSS Framework look good (download source files). This framework is simply a structured bit of XHTML for page layout, and a number of CSS files for positioning. What's missing is a number of good-looking themes to make this framework look even better. I have aspirations of creating something like CSS Zen Garden - but with more of a web-application flavor.

I'll use the same submission guidelines as the CSS Zen Garder, but add that your themes should be Apache licensed. In my mind, this simply means that anyone can use your theme - they simply have to retain your contact information in a comment w/in the stylesheet itself. I'd like to distribute (or at least make available) the top themes to AppFuse users - so they aren't stuck with a single theme. In addition, it probably wouldn't be too hard to make these into Roller themes.

The CSS themes from this contest should be usable in corporate intranets, as well as customer facing applications. Sure, wacky designs are cool, but sharp and clean are better. Extra points will likely be given for themes that pretty up how forms are laid out and displayed. Ajaxian.com links to some good examples, particularly Wufoo.

I've created a CSS Design Contest project in AppFuse's JIRA - so please submit your entries there. The contest ends on March 31st, 2006 at midnight MST. After that, the winners will be decided using some sort of voting mechanism. I hope to create an application to showcase all the entries in the next week or two.

For inspiration, you might checkout Open Web Design and Open Source Web Design.

Good luck folks - may the best design win!

Posted in The Web at Mar 03 2006, 06:12:47 PM MST 28 Comments

Spring Fundamentals in Boston almost sold out...

Virtuas If you're looking to learn Spring and live near Boston, I'm coming to town on March 14th to teach our Spring Fundamentals course. We're getting pretty close to capacity, so sign up now before it's sold out!

And yes, I will be staying in Boston on Friday night for St. Patty's day. Should be a good time for sure. :-D

Posted in Java at Mar 03 2006, 01:45:51 PM MST 7 Comments

MacBook Pro Battery Life

I leave my MacBook Pro at the office these days, and keep it plugged in most of the time. However, some folks have asked about battery life, so I figured I'd test it out today. I unplugged it when I got in and waited for it to sleep. 2 hours and 23 minutes. This is on par with my old PowerBook, but it's quite different from what MacRumors says (3hr 17min). I have a keyboard, mouse and 20" cinema display hooked up to it, but the display has its own power, so I doubt that effects the results.

Posted in Mac OS X at Mar 02 2006, 01:36:55 PM MST 12 Comments

Which Ajax enabled framework should you use as an Enterprise Java developer?

Paul Browne asks (and answers) "which Ajax enabled framework should you use as an Enterprise Java developer?":

Pre Ajax, the answer to 'which Java presentation framework should I use?' would have been Apache Struts. Not because it was technically better than any of the other frameworks (although feel free to leave your comment!) but because everybody else is using it. This meant
(a) using Struts is good for your client, as they can replace you if you get run over by a bus and
(b) using Struts is good for you, as you can take your Struts skills to your next piece of work.
However , in this strange new Ajax and Web 2.0 world, things are beginning to change. Javascript gone from 'has been kiddie scripting language' to 'coolest thing on the planet'. User expectations about what Enterprise Web applications can are going through the roof as Web 2.0 enters the mainstream. What Java framework are you going to use to deliver these expectations?

Paul goes on to show you how he researched the Ajax-enabled Java frameworks that are currently available and gives a set of criteria he used. His conclusions?

  • Use AjaxAnywhere if you need to add Ajax functionality to an existing Struts application.
  • For new applications with Ajax, use AppFuse. While he recommends the Struts version, I recommend using the other flavors first (Spring MVC, WebWork, Tapestry or MyFaces). ;-)
  • For the future (which I believe is what he means by medium-term), use a JSF implementation. AppFuse currently uses MyFaces, and it's likely we'll keep improving that (possibly with a Shale front-controller or some nifty things the Spring team has been adding).

Posted in Java at Mar 02 2006, 12:16:14 PM MST 17 Comments

Sun's Guerilla Cannibal Team

James Governor:

... Sun would do well to build a new team tasked with putting pressure on its own software portfolio. This disruptive influence would ideally eschew technologies associated with the Java Enterprise System. Instead it would concentrate on other issues such as establishing a business model for the Roller blogging platform, or working out a non-virtual machine story for scripting languages. Doing cool things with Rome and Atom. Focusing on mashups, Web 2.0, Read/Write and programmableweb and new ways of getting things done. Oh yeah - AJAX.
...
So who is on the A-Team, in my view?

  • Hal Stern - Hal is a playful, but could play the role of Corporate Guy on the guerilla team. As a Sun Services representative he can bring some very useful resources to the table. Many of the new approaches in web 2.0 require hosting. That's a potential services play. Note that IBM Global Services doesn't like hosting easy software that doesn't require a lot of expensive customisation.
  • Simon Phipps - Simon is currently Sun's chief open source officer. Perhaps counterintuitively, as the rest of the industry begins to realise that Sun isn't "out out get" OSS, his role may become less, rather than more, important. A successful open source strategy requires less top down management of issues. So why not free up Simon to do what he does best. Contrarian Evangelism.
  • Tim Bray - developers respect Tim almost without reservation (although his championing of ATOM has left some people scratching their heads). He even thinks of himself as the honourable opposition. Needs to be on the team because he has a visceral dislike of space architecture and WS-I.
  • Dave Johnson - the developer behind Roller. He just gets the new new thing, and he builds stuff, rather than talking about it.
  • Matt Raible - doesn't work for Sun, but works well with Dave. And RedMonk just likes him...

It's not every day you get listed with a line-up like that! Like Simon Phipps commented - where should I send my resume? Looks like I owe the RedMonk guys a beer or 6. ;-)

Posted in Java at Mar 01 2006, 05:45:33 PM MST 4 Comments

DbUnit Tip: Turn off foreign key constraints when importing into MySQL

One of the issues I've had with using DbUnit is getting tables to load in the proper order from XML. The XML datasets I use to load table data are flat and don't really have any notion of foreign keys and such. Therefore, when you get into a situation where tables have a circular reference, using DbUnit can be a real bitch. I ran into this situation yesterday.

Luckily, I was able to figure out a solution thanks to the help of Mark Matthews. Just add "sessionVariables=FOREIGN_KEY_CHECKS=0" to your JDBC URL. Here's how the "db-load" target in AppFuse looks with this in place:

    <target name="db-load" depends="prepare"
        description="Loads the database with sample data">
        <property name="operation" value="CLEAN_INSERT"/>
        <property name="file" value="metadata/sql/sample-data.xml"/>
        <dbunit driver="${database.driver_class}"
            supportBatchStatement="false" 
            url="${database.url}&amp;sessionVariables=FOREIGN_KEY_CHECKS=0"
            userid="${database.username}" password="${database.password}">
            <operation type="${operation}" src="${file}" format="xml" transaction="true"/>
        </dbunit>

    </target>

Does your preferred database have a similar mechanism for turning off foreign key checks using the connection URL?

Posted in Java at Mar 01 2006, 04:16:48 PM MST 25 Comments