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.

Welcome to 2005

Happy New Year y'all! 2004 was a great year for this website. It was also an awesome year personally. I have a new baby, a new house and a new bus. I learned way more than I thought I would about Spring, WebWork, Tapestry and JSF. And I spoke at a couple conferences, which I certainly didn't anticipate. In 2005, I hope to step back a bit and spend less time working and more time being a good father and husband. Restoring the bus is my major goal I hope to accomplish this year.

Here's this site's stats for 2004:

Usage summary for www.raibledesigns.com

Summary by Month
Month Daily Avg Monthly Totals
Hits Files Pages Visits Sites KBytes Visits Pages Files Hits
Dec 2004 69799 49161 22409 8240 48267 14900635 255456 694680 1523995 2163770
Nov 2004 60768 44741 19467 6909 44461 14825881 207276 584016 1342233 1823057
Oct 2004 59121 42360 19773 6143 45245 13809074 190443 612977 1313172 1832774
Sep 2004 63906 43636 23673 5774 42490 13261427 173226 710216 1309089 1917204
Aug 2004 64860 45090 19532 5624 43517 11726885 174369 605511 1397803 2010661
Jul 2004 57133 39572 16076 5186 42676 10198473 160794 498364 1226754 1771147
Jun 2004 60793 43063 16368 5250 47805 12193392 157517 491061 1291909 1823808
May 2004 57158 42594 14260 5233 48390 13505124 162228 442085 1320430 1771900
Apr 2004 65187 49228 14960 5366 48607 14728211 160982 448823 1476866 1955629
Mar 2004 56271 43067 13638 4956 44910 12697448 153664 422780 1335091 1744423
Feb 2004 53122 40628 13052 4514 41702 10786518 130932 378534 1178222 1540566
Jan 2004 47717 36967 11173 4147 37554 10305975 128587 346372 1145985 1479249
Totals 152939043 2055474 6235419 15861549 21834188

Posted in General at Jan 01 2005, 09:30:53 AM MST 5 Comments

[ANN] Equinox 1.2 Released

This release adds support for iBATIS, JDO (JPOX), Spring JDBC and OJB. For detailed documentation on how to use these frameworks with Spring, see Chapter 7 of Spring Live or the Spring Reference Documentation.

For a detailed comparison of the web frameworks included in Equinox, see Chapter 11 of Spring Live (to be released in mid January 2005). Detailed release notes are below:

- Added CruiseControl files and documentation to extras/cruisecontrol.
- Fixed export issue in userList.jsp for displaytag. Birthday should now export w/o any issues.
- Added deployment descriptor for Geronimo with Jetty.
- Added JUnit and UI tests for JSF and Tapestry.
- Added installations for Velocity and FreeMarker with Spring MVC.
- Added installations for iBATIS, JDO, OBJ and Spring JDBC. Hibernate is the default.
- Dependent packages upgraded:

  • Cargo 0.4
  • DisplayTag 1.0 RC2
  • Hibernate 2.1.6
  • Spring 1.1.3
  • StrutsTestCase 2.1.3

- Dependent packages added:

  • FreeMarker 2.3
  • iBATIS 2.0.8
  • JPOX 1.1.0-alpha-4
  • OJB 1.0.1
  • Url Rewrite Filter 1.2
  • Velocity 1.4

Download. For more information about installing the various options, see the README.txt file.

Demos are available at the links below:

NOTE: I didn't upgrade to Hibernate 2.1.7 because it doesn't create the HSQLDB database tables when the JVM starts up.

Posted in Java at Dec 29 2004, 11:49:15 AM MST 1 Comment

New AppFuse Developer: Nathan Anderson

Nathan Anderson has been a huge help on the AppFuse mailing list lately. He's also setup an IRC Channel and keeps the wiki up-to-date with all kinds of tips and tricks.

I've asked Nathan to join AppFuse as a Committer and he's accepted the offer. Welcome aboard Nathan!

Posted in Java at Dec 22 2004, 12:32:48 PM MST 1 Comment

Happy Holidays!

We're heading for the airport in the next hour. I stayed up and tried to finish off Chapter 11. I still have a few more hours to go, but I made a good dent in it. Our flight leaves in 2 hours (6 a.m.) and we'll be in West Palm Beach, FL until the 31st. Should be a fun day - no sleep, 2 kids and we don't arrive until 3 this afternoon.

Enjoy your holidays - I know I will (after today is over with).

Posted in General at Dec 21 2004, 03:45:46 AM MST 1 Comment

Increasing Productivity

I have a new plan for increasing my productivity. With any luck, she'll be writing Java by the time she's 3. Abbie's so cool

Abbie likes Macs

Posted in General at Dec 19 2004, 06:50:11 AM MST 8 Comments

What's up with my PowerBook?

My PowerBook seems to be dying a slow death. When I put it into hibernate mode (by closing it), often it won't startup again. I open the lid and nothing happens. I often have to hold down the power button, power it off, and then restart it.

What's this mean? It means I'm rebooting the damn thing once or twice a day. It's especially frustrating when I'm about to give a talk at JUG meetings or conferences. I get everything setup (IDEs open, Keynote open, etc.), close it as I walk to the front, and then after I plug it in and open it - nothing happens!. This leads to me spending the next 5 minutes rebooting and opening everything again. It's extremely frustrating - especially since it's such a slow-ass machine. ;-) This week, I've headed to the coffee shop (3 blocks away) several times to write, and it seems to happen every time I open it. Each time I think, "Did I save before I closed it?" Luckily, I have Word set to save every minute, so it hasn't been a problem yet.

I believe this happened when I first I bought the machine. However, it was only a couple of times per month. Now that it's become a daily event, and I think it's time to take it in. Has anyone else had similar issues?

The good news is I'm back in love with my PowerBook after using it so much this week. It's really an excellent laptop - especially for writing. I hooked it up to my 23" for the first time in a few months today and I thought, "I really need to get a G5." In reality, I don't want a G5 - my Windows box suites me just fine. What I want is a faster PowerBook - when's the next revision?

Posted in Mac OS X at Dec 18 2004, 05:18:15 PM MST 19 Comments

Did you make the list?

It would've been nice if the Spread Firefox team had let folks know before the Firefox Ad was published. But oh well, shit happens. At least I made the list (PDF).

Posted in The Web at Dec 17 2004, 11:00:47 PM MST Add a Comment

New Gig?

There's a possibility that I'll be looking for new gig starting in January. If you're looking for some help, let me know.

Posted in Java at Dec 16 2004, 01:28:12 PM MST 5 Comments

If you could add another framework to AppFuse, which would it be?

If you could add another web framework option to AppFuse, which one would it be and why? Please keep in mind it already includes Struts, Spring, WebWork, JSF and Tapestry.

Posted in Java at Dec 13 2004, 09:52:17 PM MST 38 Comments

AppFuse Tip: Backup and Restore Data with DbUnit

One of the nice things about having DbUnit integrated into AppFuse is you can easily import and export data. I've often used this feature to export a test database (or even production) into my development environment to try and reproduce data-related errors. Here's how to do it:

  1. Run "ant db-export -Ddatabase.host=otherhost". This exports all the data into an XML file named "db-export.xml" in the current directory.
  2. Run "ant db-load -Dfile=db-export.xml" to import the data into your local database.

I've used the db-export task for other things too - like populating the database through the UI and then updating the test data. All you have to do for this is to copy the db-export.xml file to metadata/sql/sample-data.xml.

NOTES:

  • For Oracle, you need to add a "schema" attribute to all the <dbunit> tasks in build.xml. You also need to do this for the "db-export" target for PostgreSQL.
  • If you want to limit the tables exported (i.e. from a production database), simply nest a bunch of <table name="table_name"/> elements inside the <export> element.
  • If you get errors about foreign key constraints when running "db-load" after "db-export" - you need to re-arrange the order of your tables in the imported XML file.
  • To clear out tables before your tests, add an empty <table name="table_name"/> element to sample-data.xml.

Posted in Java at Dec 13 2004, 10:43:18 AM MST 2 Comments