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.

Win2VNC is very cool

I got the tip from Crazy Bob and decided to try it tonight. Win2VNC basically allows you to connect to a server (via VNC) and you can simply move your mouse onto that VNC-ed machine and voila - your mouse and keyboard are on that monitor. It's almost too cool to describe. The only issues I found where that it doesn't work well with multiple monitors. I have two monitors plugged into my XP desktop, and if I choose "West" as my direction (to switch to my PowerBooks monitor), then that works, but I can't get it onto my primary monitor - it only shows up on the 2nd monitor. The issue is better described on the user forums. The easy workaround is to go "North" to switch monitors. The other annoying bugs are no mouse wheel support and no Alt+Esc support. This thread has a few patches for this. The first patch I tried seems to work the best, with both Alt+Esc and wheel support. This other one has an installer, but Alt+Esc didn't work for me.

If you have a laptop sitting next to a desktop - you've got to try this software - it's what you've always wanted.

Posted in Mac OS X at Jan 16 2004, 08:38:46 PM MST 5 Comments

AppFuse 1.3 Released!

This release fixes a few compatibility issues with Resin and other databases - specifically PostgreSQL and DB2. The major new functionality in this release is Easy Database Switching. Basically, you can very easily switch from using MySQL to PostgreSQL by only changing a few properties in your build.properties. I implemented this on my current project last week because I do most of my development (at the client) on a PowerBook. The client wants to deploy onto a DB2 database - and there is not DB2 install for the Mac. Since Hibernate allows you to easily switch between databases, I figured I could develop using MySQL on the Mac, but have the default (CVS version) use DB2. One of the things I didn't want to do was to have a build.properties.sample, because I love projects that "just work" when you type "ant". So I changed the the build process so that database.properties is generated from default settings (MySQL) or the settings in build.properties (if specified). As part of the build process, Ant looks for the following build.properties files:

  • ${user.home}/.${ant.project.name}-build.properties
  • ${user.home}/.build.properties
  • build.properties

What this allows you to do is to take your customized database settings and put them in ~/.build.properties and they'll be applied to any AppFuse-derived project. This makes it easy to keep the CVS version of your project tied to one database and a developer's local version tied to a different database.

While it's true that you'll most likely only talk to one database during the duration of your project, this exercise proves that it's easy to migrate from MySQL to another database. It also proves that AppFuse can easily integrate with other database (at least as of this release). Slick stuff IMO.

One of the best parts about developing AppFuse is that it's not a library. As a developer, I don't really have to concern myself with backwards compatibility. This means that new functionality can be added quickly and easily and old stuff can be ripped out. It's too bad all OS "products" can be this easy.

What about AppFuse's future? Check out the AppFuse Roadmap to see what I'm thinking about.

Posted in Java at Jan 16 2004, 04:28:47 PM MST 1 Comment

[ANNOUNCE] Resin 3.0.5 Released!

View the Release Notes and Download. A couple of the bugs I found when running AppFuse on Resin have been fixed: <description> is now a valid property of <user-data-constraint> and the following JSTL statement should work as well.

<fmt:message key="login.signup">
    <fmt:param><c:url value="/signup.jsp"/></fmt:param>
</fmt:message>

Posted in Java at Jan 16 2004, 01:36:20 PM MST Add a Comment