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.

Open Source Testing

We all know how much open source Java tools have helped us - how about open source testing tools? Opensourcetesting.org looks to be a great site for saving some cizash for your QA department (or for you when you're wearing that hat).

Opensourcetesting.org aims to boost the profile of open-source testing tools within the testing industry and give you easy access to open source testing tools from one central location. As you'll see from the tools on offer, there are some very usable, sophisticated and stable open source testing tools out there.

Posted in Java at May 14 2003, 10:50:21 AM MDT Add a Comment

[Montana] Great Photo

One of my favorite digital photographs

This picture was taken in the Bitterroot National Forest in Montana on August 6, 2000 by a fire behavior analyst from Fairbanks, Alaska by the name of John McColgan with a digital camera. Since he was working while he took the picture, he cannot sell or profit from it so he should at least be recognized as the photographer of this once in a lifetime shot.

Posted in General at May 14 2003, 05:32:24 AM MDT

Our new Tivo

Tivo Series 2 I gave Julie a Series 2 for her birthday today. We set it up and now it takes 4-8 hours while it downloads and programs itself. Pretty cool. Spendy though - the Home Media Option is another $100, and if I want broadband access (which I do), I have to buy a Wireless USB Adapter. Oh well, we figure to have it for a long, long time and we love our last one. Julie was pissed that I spent more than $50 on her birthday present, but bit her toungue because she got mad at the last Tivo I bought her and now thinks its the best birthday present ever!

On a side note, I discovered that Tivo Central Online (the site to remotely program your Tivo) is Powered By Struts - sweet!

Update: I just got the following e-mail from Julie. I guess you could say that she gives the Series 2 a thumbs down.

i think we should return tivo. i don't think it's better than the one we have now. you can view another show while recording but only if you switch the channel on the tv and watch regular tv w/out tivo. it just seems like a lot of money for no/few more options. maybe we should wait a couple years for the technology to progress.

Posted in General at May 13 2003, 09:03:05 PM MDT 1 Comment

Help re-name XDoclet

The XDoclet Team is looking for a new name for XDoclet 2. This is to eliminate confusion b/w version 1 and version 2. Checkout the current suggestions and add your own if you like. If you don't know what XDoclet is, or haven't used it, you're wasting precious development hours IMO.

Posted in Java at May 13 2003, 04:58:24 PM MDT Add a Comment

Java Treats

Here are a number of Java-related treats I found this morning that will likely serve as good personal bookmarks in the future.

  • Ryan is looking for an XML-based properties class and one of his commenters (Dmitry) points to this article about the J2SE 1.4 Preferences API. Good stuff.
  • From JavaWorld (via Erik): Java Tip 138: Still parsing to generate your JavaBeans' XML representation?
  • Dave Hyatt makes XBL look wicked cool! If we could only get Microsoft to support it, it might actually be useful.
  • After reading this article I wonder if I should replace my Powerbook (w/in the next year) with another Powerbook, or an Intel based laptop. I do most of my development on Windows because I'm more productive and as an American, I get a buzz from being productive. So why buy another Mac? Intel-based PCs are faster - if I really want a Unix core, I can just run Linux. With VMWare for XP, I find it hard to justify buying another Mac. Besides, I already own one and the desire is out of my system. And furthermore, I dig how Dell will come to your house and fix your PC, whereas Apple makes you send it in for two weeks - what's up with that?!

Posted in Java at May 13 2003, 09:34:54 AM MDT 2 Comments

Running latest version of Roller

I upgraded to the latest version of Roller from CVS this morning. Everything appears to have gone smoothly. Too bad this bug didn't get fixed in the upgrade. The bug is that $baseURL doesn't get resolved in IE, but it does in Mozilla. This is quite strange since it's server-side code, and the browser shouldn't matter. Unfortunately, it seems to on my version of IE6.

Posted in Roller at May 13 2003, 06:46:56 AM MDT Add a Comment

Damn

Life went from really good to really complicated. I got a call from my parents tonight with the dreaded (but expected) news that my Grandpa Joe had passed away. The funeral is Friday - which meant I could fly to Beacon, NY on Thursday and (hopefully) fly back on Friday night and make it to the conference on Saturday morning. Then I looked at the agenda and found that the conference actually starts on Friday at noon. So I sent an e-mail to Jay in hopes of getting my money back. Hopefully this is an option and I can just spend the weekend in NY and then join Julie in Florida next week. Oh well, no conference, but it'll be great to see the whole fam in NY.

Posted in General at May 12 2003, 10:23:51 PM MDT Add a Comment

How do you iterate your lists?

This seems to be a matter of personal preference, but I'm interested in hearing how other programmers do their loops. Here's how I do it most often:

List users = dao.getUsers();
for (int i=0; i < users.size(); i++) {
    User user = (User) users.get(i);
    // do something with user
}

I've seen others do it with an Iterator, and I've done it this way myself, but for some reason I prefer the for loop:

List users = dao.getUsers();
Iterator userIter = users.iterator();
while (userIter.hasNext()) {
    User user = (User) userIter.next();
    // do something with user
}

I usually add a null check as part of the loop as well. They both seem pretty much the same to me - is one more performant than the other? John Watkinson points out that in JDK 1.5, the for loop will be even easier:

List users = dao.getUsers();
for (User user : list) {
    // do something with user

At least that's how I interpreted it - please correct me if I'm wrong. Also, enlighten me if I should be using an Iterator - or at least let me know what advantages it has over a for loop.

Posted in General at May 12 2003, 04:11:37 PM MDT 6 Comments

What a great day for playing hookie

Today is and has been an awesome day - Julie's Birthday. It's actually tomorrow - but I screwed up and thought it was today. Her birth certificate, driver's license and all other legal documents say today (yeah - she's tried many times to get it fixed), but she was actually born on May 13th - so I do have an excuse for getting the date wrong. Anyway, I surprised her on Saturday night with a birthday party at our house with friends - a couple of deep fried turkeys made the night scrumptious. I surprised her again today by leaving for work, and then coming back 30 minutes later with bagels and coffee. This is after I cooked her breakfast in bed yesterday for Mother's Day.

So I played hookie today and we all went to the Denver Zoo - which is awesome. Julie bought a season pass for her and Abbie. Now we're home and a Masseuse is coming over at 4 to give her a massage. Pheewww - it's tough being married to a woman who (frequently) has her birthday and Mother's Day very close together.

This week has started off terrific, and will only get better. Julie takes of Thursday for West Palm (FL), Reloaded opens on Thursday, and No Fluff is this weekend. After the conference - which should be a blast, I'll be meeting Julie in Florida for a week of relaxation and sunshine. Life is good...

Posted in General at May 12 2003, 03:17:11 PM MDT Add a Comment

RE: Abstract Classes vs. Interfaces

Yakuu provides a good comparison of abstract classes versus interfaces. This is an interested read for me, since I've only started using both of these in the last year - and only because I've seen/copied/extended other programmer's code. After using them for that long, I have to say that there's still doesn't seem to be much of a point. Of course, I'm rarely using mutliple inheritence and none of my projects have gone through a major refactoring. I'm willing to bet that Dave is happy he decided to use interfaces in Roller. The Castor -> Hibernate conversion probably would've sucked without them - or did they create more work?!

Posted in Java at May 12 2003, 07:44:36 AM MDT 2 Comments