Matt RaibleMatt Raible is a writer with a passion for software. 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.

Speaking at MySQL User Conference

MySQL User Conference Speaker I've been accepted to present a 30 minute session on AppFuse at the MySQL User Conference in Orlando! I would have never thought to even apply, but Mark Matthews sent me an e-mail and convinced me to give it a shot. Now I'm pumped that I did. Here is the abstract for Easy Java Development with MySQL:

Using my open source AppFuse application, I will show how easy it is to setup a MySQL database using Ant, create the Tables using Hibernate/Ant and populate it using DBUnit.

Other events I'm speaking at in the next couple of months include a one-day conference in NYC on Developing Webapps using Open Source Tools and a Basic Concepts presentation on AppFuse at Denver's JUG in June.

Now the only question is - should I use PowerPoint/Keynote or enhance my simply preso app to write these presentations?

Posted in Java at Feb 24 2004, 11:45:40 AM MST 11 Comments

Java.net vs. SourceForge

I think it's about time I moved AppFuse from the Struts project on SourceForge to its own project. That way, I'll have more control over controlling spam on mailing lists, adding developers and other such stuff. So the question is - should I stick with SF or move to java.net? I'm fairly happy with SF, except for their recent CVS hiccup and regular CVS outages. It's cool that java.net gives you a wiki, but I doubt I'll convert all my JSPWiki wiki pages to java.net's wiki syntax (whatever it is). So I guess the question is for you folks that have used both (i.e. OpenSymphony developers): Is java.net better than SF?

Dave asked this same question in June of last year - and Roller still lives on SourceForge. I wonder if that's any indication?

Posted in Java at Feb 24 2004, 09:18:56 AM MST 6 Comments

Whaddya think - comments as wiki pages?

Dan sent me the following in an e-mail and I think he might be onto something:

...what if the comments where organized as
a wiki page themselves (meaning a single wiki page for all comments
to an article)?  This way, the readers could work together to
construct a "follow-up" to the article in an organized,
collaborative manner.

Maybe the problem with comments is the fact that they are linear
(even if threaded) and go on without end.  A wiki would allow some
structure to be established in the comments.  The best part would be
that comments could then have the chance to evolve into core wiki
pages overtime, even though they begin only as a collection of
comments, links and ideas...wait, isn't that what a wiki is anyway?

It sure sounds good. From an implementation perspective, this might be easy to do in Roller with a comment type that uses an <iframe> that points to a JSPWiki installation. A simpler solution might be that users are allowed to edit their own comments. In Roller, we could set a cookie after the user added the comments - allowing them to see an edit/delete link when they return. Whaddya think? Is there a better way for comments to compliment blogs?

While we're talking about comments for blogs - I remember seeing a cool comment-alert system a while back. I can't seem to find it now. If you're spotted a cool alert system you'd like to see in Roller, let me know!

Posted in Roller at Feb 23 2004, 11:36:08 PM MST Add a Comment

Tucson Rocked - long live the Saguaro

We arrived back in Denver safe and sound this evening. The only casualty was we forgot Abbie's pack n' play in DIA's parking lot. Doh! Maybe we can call and get it back tomorrow.

Erik Hatcher recommended some good spots to check out. We had dinner at El Charro's in downtown Tucson. We also spent a day touring Saguaro National Park and the Desert Museum. We played lots of Pinochle and my Aunt and Mom had a great time with Abbie.

My Aunt Mary Craig is quite a woman. She grew up in Montana during the great depression and her mom and dad (Hilma and Hank) were gold miners. They never made any real money off of it, but my Aunt has many stories about living in mining camps and helping her dad out when she was a kid. Her most amazing feat was going back to school in her 40s, getting her CPA and becoming the head of the Department of Revenue for the State of Montana. After that, she went on a speaking tour of the US about her childhood and how she became of the of the top 10 business women in Montana (at the time).

Meeting with Rick Hightower was a real treat and I got a lot of great ideas, and a ton of motivation from our meeting. I expected to sip Starbucks for about an hour, but time flew and we ended up talking for around 3 hours! Heckuva guy - he had a lot of knowledge and a great perspective on the whole independent consultant lifestyle I live.

Unlike most vacations where I drag myself back to the computer, I abandoned all electronics for the weekend and now I'm super motivated to pound out some code this week. My sister flies into town a week from today for a few days, so I've only got 7 days until the next vacation begins. Family Rocks!

Posted in General at Feb 23 2004, 11:26:04 PM MST Add a Comment

Heading to Tucson

We're leaving in a few hours to go to Tucson, AZ for the weekend. We're flying to see my Great Aunt Mary and her friend Judy - and my Mom is going to meet us there as well. Hopefully it'll be a nice relaxing weekend since there will be 3 ladies fawning over Abbie. I'm also meeting up with Rick Hightower since he lives there. The snow is supposed to start in Denver this afternoon - good timing eh?

I've never been to Tucson, but here's a webcam so you can checkout the weather there while I'm gone. Have a great weekend, I'll be back on Monday night.

Posted in General at Feb 19 2004, 11:53:22 AM MST 2 Comments

Simplify your AppFuse Managers

I figured out a way to remove any ActionForm references from my Managers yesterday. It was pretty simple, but I thought others might benefit from this knowledge. Basically, you just need to add a couple methods to your BaseManager.java file. Here is the latest one from CVS HEAD. Then you can pretty much eliminate any *Form references in your Manager by using the convert(Object) method. This method will convert POJOs <-> Forms and vise versa. You will likely have to do some tweaks on the package names if you're using anything < v1.4. Looking at this diff of the UserManager before and after this change will show you what's changed.

I started this task thinking I could remove the need for Forms in my classpath when compiling the service layer. However, I soon discovered that my Tests have Forms all over the place - since they replicate what my Actions will pass in. Oh well, at least my code is a bit cleaner now.

Of course, this code will become even simpler when I start using an MVC Framework that allows my POJOs to be my data handlers on the UI. These frameworks make me question if I even need Managers. Then again, it's nice to unit test what your DAOs are returning/receiving from the web layer.

Posted in Java at Feb 19 2004, 11:28:41 AM MST 2 Comments

JDOM 1.0?

It looks like JDOM 1.0 might finally be released next month. The main motivation for this release after 10 betas? According to Jason, it's all about saving face:

As we got closer to the four year mark, JDOM began to be my own problem again. It wasn't that I had different use cases, I just didn't want to be the guy who never finished JDOM. There's nothing like a little face saving as a motivating factor.

Personally, I don't use JDOM, but I've heard good things about it.

Posted in Java at Feb 19 2004, 11:09:57 AM MST 3 Comments

Spring gets some Scheduling

From the springframework-devel mailing list:

I've revived my Quartz support classes for Spring today. They emerged from a job scheduling consulting project I did in autumn 2003. We have concrete needs for this now at werk3AT, thus the revival: It's about quite simple cron-style scheduling of application jobs.

I've revived my Quartz support classes for Spring today. They emerged from a job scheduling consulting project I did in autumn 2003. We have concrete needs for this now at werk3AT, thus the revival: It's about quite simple cron-style scheduling of application jobs.

The basic idea is to set up a Quartz Scheduler via a SchedulerFactoryBean, also allowing to register scheduled jobs there via a <list> of <refs> to ScheduledJobDefinition beans. A ScheduledJobDefinition is just a simple combination of a Quartz JobDetail and a Quartz Trigger.

ScheduledJobDefinition bean implementations include:

- DefaultScheduledJobDefinition, allowing to use any implementation of Quartz' Job interface with a declaratively configured job data map and cron trigger

- MethodInvokingJobDefinition, allowing to specify a method of a Spring-managed bean to execute as job (completely declarative, without the need for implementing a custom Job object), with a cron trigger.

Both job definition beans can link in a separate Quartz Trigger instance instead of a cron expression; DefaultScheduledJobDefinition can also link in a separate Quartz JobDetail instance instead of a job class.

Very nice!

Posted in Java at Feb 18 2004, 11:28:25 PM MST Add a Comment

Hibernate gets faster...

Overheard this evening on Gavin's site:

My performance tests are showing a really big difference in performance, just from removing the finalizer. For one problematic test, I actually halved the overhead of Hibernate!

I can barely believe this result, but I've been successfully reproducing it for the last two hours.

Time to ditch those finalizers eh?

Posted in Java at Feb 18 2004, 10:56:26 PM MST 1 Comment

Going Pragmatic on CVS and Unit tests

After reading this thread comparing JUnit in Action to Pragmatic Unit Testing, I broke down and bought both the CVS and Unit testing books. They're short and sound sweet - just how I like 'em. I'm hoping I can knock each one out in a few days.

I definitely need to learn more about using (when/how) Mock Objects for unit testing - my fingers are crossed that this book has the answers I'm looking for.

Posted in Java at Feb 18 2004, 12:26:49 PM MST 2 Comments