Matt RaibleMatt Raible is a Java Champion and Developer Advocate at Okta.

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.


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.

Things I learned from OSCON

While at OSCON last week, I learned quite a few things. Many of these are my own opinions, so feel free to disagree with them.

Ruby is very cool

The main reason (for me) that Ruby is cool is because it's new. I don't have to know any of its history to know what makes it tick. It's easy to learn and has powerful language features that make it easy to use. I think the primary reason people, particularly Java developers, are excited about it is because it releases them from all the shackles they're accustomed to with Java. I have absolutely no plan to ditching Java and jumping to Ruby, but I do want to learn it so I can use it when it's a better fit than Java.

How to learn Ruby and retain that knowledge is the hard part. My current plan is to buy Programming Ruby and Agile Development with Rails. Unfortunately, I realize that I probably won't be able to finish these b/c I'll get bored and both will likely serve as more of a reference than a knowledge creator. I haven't been able to read a technology book cover-to-cover in several years. I couldn't even finish The Pragmatic Programmer for crying out loud. I realize that the best way to learn is to do, but the best way to do is to get paid to do. To facilitate this, I hope to develop some apps we can use at Virtuas. Of course, I'll try to find good open-source solutions first.

Rails has a lot of great ideas

The interesting thing about Rails is many of its good ideas are from Ruby. The built-in Webbrick web server is part of the language. The only way to come close in the Java world is to embed Jetty or something like that. I'll definitely be looking into embedding Jetty into AppFuse in the near future. The other thing I really like about Rails, and that I've been doing in AppFuse a bit is convention over configuration. As part of AppFuse, I'm already making a lot of decisions for users. The next step seems to be making all decisions for users, but allow them to override. It'd be cool to write some code that sweeps through all classes at startup and auto-configures them, w/o the need for any XML. If nothing else, the XML could be generated using reflection.

The biggest thing I learned from Rails is I need to provide 1) an easier upgrade path and 2) better Ajax support. Because I'm supporting so many different web frameworks, solving #2 might be a bit tricky - but could be done by writing tag libraries or components. Hopefully the framework developers will beat me to it and I won't have to do anything. As far as #1, I'm hoping I can move to a single appfuse.jar that contains all the base classes. Hopefully I can use a little JSP pre-compile action to re-use the existing JSPs for user management/etc. If not, I can always use something like FreeMarker to store the default view files in a JAR.

Creating Passionate Users is all about inspiring emotion

Kathy Sierra's talk about inspiring emotions among your users to make them transparently excited about your product/company was a real eye-opener. I can totally see what she's talking about and I'm happy to say I'm already doing some of it. This blog seems to attract lots of readers, some more passionate than others, just by talking about web technologies and Java. This does translate into more business for Raible Designs, whether it's the title image or URL, it doesn't really matter. Folks do figure out that I have a company and I do work with the technologies I talk about.

To apply these concepts to AppFuse and Virtuas is a little more difficult. For AppFuse, I can probably teach people how to better use Hibernate, Spring and Ajax - and then show how AppFuse can simplify things. Building in easy-to-use Ajax support is probably essential to really get this going. For Virtuas, we could re-vamp our site to provide education about open source and its history - providing users with a way to become open source experts. It would also be cool to do real-time reporting of how we helped a company adopt open-source.

Ideas, ideas, I have lots of ideas after last week.

Posted in Java at Aug 08 2005, 03:40:38 PM MDT 4 Comments

Transparency is something I strive for when I build software. If the user can sit in front of their terminal and think about doing their job rather than how to use a piece of software then that software is a success. I don't think a genuinely transparent piece of software can be built but its a good aim. By the way, if you can write some software that will get accountants passionate about their job I think you'll get very rich very quickly!

I've been looking at BRR (see my blog) and this sounds like it would be useful for your company and Virtuas. OSS needs solid case studies. I don't know what the situation is in the US but in the UK it still has credibility issues. I'd be very interested to read a report on how adopting an open source software progressed, warts and all.

If your thinking or re-working your site, take a look at one of the Head First books. I'm working my way through Head First Design Patterns. Even though I know the basis of the methods being employed in this book I'm still impressed by the results. This book is doing the best job of teaching me design patterns but its also showing me how to write much better documentation and presentations in the future.

Posted by Andrew Moores on August 08, 2005 at 06:26 PM MDT #

MR>It'd be cool to write some code that sweeps
MR>through all classes at startup and
MR>auto-configures them, w/o
MR>the need for any XML.
Hey Matt, have you tried TRAILS?
what he did looks great to me.
I think this guy was at Oscon too (from looking at his blog),
how about joining forces with him in some way...
just an idea

greets from Berlin

Posted by Peter Lazarev on August 09, 2005 at 10:56 AM MDT #

Hi Mat, Check the new AjaxTags I'd like to see it added to Equinox.

Posted by Juan Perez on August 11, 2005 at 07:03 AM MDT #

I think the AJAX support is important. As for for the equivalent of Webbrick, I like being able to deploy to different app servers, no changes to that pls! :-)

Posted by Philip on August 14, 2005 at 11:19 PM MDT #

Post a Comment:
  • HTML Syntax: Allowed