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.

Mac Meeting and Fonts.

So I went to the meeting tonight in Boulder at the National Center for Atmospheric Research. Very cool location, although I felt like I was driving into the boonies. It's about an hour from my house, and since I never commute (home office), I didn't mind the drive. Interesting demographic that showed up: about 5 Gen-Xers, most folks were between 30 and 50 and a fair amount over 60. Lots of seniors and about half women. Very different from what you see at Java User Group meetings. The people were very friendly, though it did have somewhat of a cult-ish atmosphere. Boy do some folks hate Microsoft. I like Microsoft, and Red Hat and Apple. If I could only use one OS, I'd use M$, but I prefer using all of the above.

The first presenter showed us his cool site of the week. Another great flash site that you i-hate-flash folks might actually like. The second guy was a Photoshop Guru and gave good tips on using layers and combining images. Stuff I'll definitely use.

I managed to sneak out without paying the $25 and no one asked me too. I'm thinking about asking them if they want a new website, their current one is sooo 1990s. Maybe one running on Roller (with the Aqua theme?) - now that would be cool. That brings up another point - my favorite thing about Roller that I realized today? That I get to write HTML, actually XHTML, every-single-day. I dig it 'cause I dig writing XHTML. It's how I got into this industry, and it's nice to be doing something so familiar every day. Some folks don't seem to like it so much.

I did ask if anyone could solve my Mac problems on Mini-me (my laptop's name). A guy in the front row asked if I'd installed any fonts recently, and if so, that was probably my problem. Since I installed 471 of them two days ago, I figured that must be it. So I removed them - dragging them to Trash from the /Library/Fonts folder. Didn't seem to work and everything seems to be getting much worse (applications not opening, no folders under "Computer"). So I made the leap and I'm in the process of re-installing OS X 10.2 right now. I did the Archive Install and elected to preserve my user settings. I hope it works - it sucks to lose data. Then again, I really don't use Mini-me that much, so if I lose everything, oh well. I've learned many things re-installing OS's - most often what NOT to do again. Hopefully this time Apple has made the re-install fool developer-proof.

Posted in Mac OS X at Oct 17 2002, 04:12:02 PM MDT Add a Comment

Ant and JUnit.

I reduced the build.xml file on my project drastically this morning (more than 900 lines). I used to have a task per testcase and was able to consolidate from this:

<!-- =================================================================== -->
<!--            Run the UserDAO test                                     -->
<!-- =================================================================== -->
<target name="test.userDAO" depends="compile">
  <echo message="Running UserDAO Test -------------------"/>
  <junit printsummary="yes" haltonfailure="yes" 
    haltonerror="yes" fork="yes">
      <jvmarg value="-Djunit.conf=./src/onpoint/PersistenceTestValues.ini"/>
      <classpath>
          <pathelement path="${webapp.target}/WEB-INF/classes"/>
      </classpath>
      <classpath refid="classpath"/>
      <formatter type="plain" usefile="false"/>
      <test name="com.onpoint.webapp.persistence.UserDAOTest"/>
  </junit>
</target>

To this:

<!-- =================================================================== -->
<!--            Run all the Persistence tests                            -->
<!-- =================================================================== -->
<target name="test.persistence" depends="compile">
    <echo message="Running Persistence Tests -------------------"/>
    <junit printsummary="yes" haltonfailure="yes" 
	  haltonerror="yes" fork="yes">
      <jvmarg value="-Djunit.conf=./src/onpoint/PersistenceTestValues.ini"/>
      <classpath>
          <path refid="classpath"/>
          <pathelement path="${webapp.target}/WEB-INF/classes"/>
      </classpath>
      <formatter type="plain" usefile="false"/>
      <test name="com.onpoint.webapp.persistence.${testcase}" if="testcase"/>
      <batchtest unless="testcase">
          <fileset dir="${webapp.target}/WEB-INF/classes" 
              includes="**/persistence/*Test.class"/>
      </batchtest>
  </junit>
</target>

And I got to remove the AllTests.java file in the persistence package! You probably knew this already, but just in case...

Thanks to Erik Hatcher for Java Development with Ant. I studied this book for three hours yesterday and it's already increasing my productivity! I hope to finish it by tomorrow afternoon - only 300 pages to go. It's pretty cool when you're reading someone's book and getting e-mails from them at the same time.

Posted in General at Oct 17 2002, 04:37:09 AM MDT Add a Comment

XDoclet 1.2 and Roller.

Fall in Wash Park (Denver) I was able to get Roller to compile last night with only a few changes. I tested it on Tomcat this morning and after logging in, I'm getting Invalid path /weblog was requested. After looking at the struts-config.xml, I can see that there are no <action-mappings> in my struts-config.xml file.

Dave, I enjoyed your install-blogging last night. Particularly since I was working on Roller and interested in your progress. By hitting F5 (refresh) every 20 minutes, I received an update on your progress - quite nifty.

The picture on the right was taken at Washington Park in central Denver. If you're from Denver, or have visited, you'll know that this is a very beautiful park. I thought this site needed a little sprucing up today, so here you go.

In other news, I've been looking for a new project in both Denver and Florida (since we're moving there next spring). No calls from Denver, but I'm getting a call or an e-mail per day from Florida. I thought we had more jobs here, guess not.

P.S. Are any of you Java/Struts developers in Cincinnati looking for a job?

Posted in Roller at Oct 17 2002, 02:20:06 AM MDT Add a Comment