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.

The war in Iraq

I don't believe it's started yet, but "The war in Iraq" was the only title I could think of. Anyway, I haven't been too concerned with it up to this point. I don't know that I support it, but I don't want to be the victim of chemical or nuclear warfare either. However, it became pretty personal today when I received an e-mail from one of my best friends.

For those of you who didn't already know, I was recently activated and deployed to Kuwait on the seventh of February. Obviously I had to withdraw from school and could be here for up to a year. However, this is very unlikely and I'm speculating and hoping that out unit will be sent home in either May or June.
....
I'm stationed at Al Jaber Air Base approximately 45 miles northwest of Kuwait City. As you can imagine the base in a very busy place right now with units from all four service braches present, along with a small contingency of British troops. I can't disclose too much information about the resources in place or our mission, but I can tell you the base is well fortified and protected. I'm sorry I didn't get in touch with some of you before I left. I had a very limited amount of time between the time I was notified and actually deployed, and was very busy taking care of personal affairs.

Yikes! Now I really hope we don't go to war!

Posted in General at Feb 10 2003, 09:48:28 PM MST 2 Comments

Java.blogs and Roller in Java Developer's Journal

I received the February issue of Java Developer's Journal today. I thought it pretty cool that java.blogs, Roller and MiniBlog were all mentioned. I barely skimmed the thing, so it's possible that there are more nuggets like this hidden in its pages. Maybe I'll find out tomorrow - Abbie wants me to read her a story tonight.

I received the reviews/comments back from Wrox today on my Security and Struts chapter. I briefly read the e-mails and gasped at the deadline for editing/returning (next Monday). Overall, the e-mails were encouraging and didn't seem to indicate a lot of change, just more code samples and a more consistent flow. Knowing my luck, there's all kinds of work hidden in the marked-up Word docs. Getting these chapters edited and returned could take a while since it gives me an excuse to dive back into struts-resume and add some more features. Maybe that's why they give the short deadline.

One interesting point that was mentioned is that the Struts chapter was so packed full of tools (i.e. XDoclet, Struts, Validator, Ant, Hibernate, Tiles) that they're thinking of renaming it to be something like "Leveraging Struts, Tiles, and other Tools." Sounds cool to me. In my current project, it seems that Struts only plays a small role in the whole webapp, but after teaching it to a co-worker over the last week - I guess it plays a larger role than I thought. The combination of all these tools and learning them can be a bit overwhelming - I guess I had an advantage in learning since I wrote about them and also did a sample app. I tell you what - "doing it" is certainly the best way to learn. Now hopefully I can come up with a better way to explain how to do it. The book is (to my knowledge) still scheduled to be released in March.

Posted in Java at Feb 10 2003, 08:56:31 PM MST 4 Comments

Great Weekend and the DOM

Boy, what a great weekend I had. Three of my best friends and I drove to Steamboat on Friday night and met up with some other very good friends. There were about 20 of us total that rented a house and had a great time. It was -21 (F) when we drove up, and about -10 when we went skiing on Saturday. The fun we had made up for the cold, and we actually ran into another friend that we hadn't seen in 5 years! Good times were had by all.

Today, back at the grindstone, I got to start working on a UI prototype. I did a lot of stuff with the DOM in JavaScript and CSS. Man that stuff rocks and makes it so easy to create a truly user-friendly webapp. I was doing pretty simple stuff like changing table row background colors, adding/deleting rows in a table and duplicating rows. Tomorrow, I'll be implementing a client-side sorting script on a table. I'm lucky on this project in that I only need to support IE 5.5+ - which has pretty good DOM support. I developed all day long on IE 6.0 and was amazed when I tested it (at the end of the day) and it actually worked on IE 5.5. Made me smile from ear-to-ear. I checked it in and left before I broke anything.

Posted in The Web at Feb 10 2003, 08:40:21 PM MST Add a Comment

Gone Skiing

Steamboat, the Mountain

I'm outta here - for your viewing pleasure, here's a picture of Abbie to make you smile throughout the weekend.

Abbie Smiling

Posted in General at Feb 07 2003, 06:48:39 PM MST Add a Comment

JAAS Security in Action

I haven't read it, but this JAAS Security in Action article at DevX.com looks like a good intro to JAAS. Hopefully it'll teach me something as soon as I take the 10 minutes to read it.

Posted in Java at Feb 07 2003, 05:45:06 PM MST Add a Comment

Is it possible to lock files with CVS?

I don't think this is possible, but since a co-worker asked - I'm relaying the question to you, the experts. Using CVS, it is possible to "checkout" a file for editing, and to lock it on the CVS server, so no one else can check it in. If this feature exists, I'd love to use it. Also, if anyone knows how to hookup sending e-mails for commits on a barebones CVS install, enlighten me. SourceForge makes it easy using synchmail, but Google doesn't even know about this tool - must be a SF script.

Update: Anthony has given me some good tips in the comments of this post. I've had some success in getting e-mail notification setup, but I'm still having some issues. To configure it, I checked out CVSROOT, and edited the loginfo file, adding the following line:

^project /usr/bin/mailx -c $USER -s "[cvs-commit] %{sVv}" [email protected]

When I get in a file, I get:

Checking in build.properties;
/export/home/cvsr/project/build.properties,v  <--  build.properties
new revision: 1.7; previous revision: 1.6
done
1.6... User unknown
1.7... User unknown
build.properties... User unknown
/export/home/mattra/dead.letter... Saved message in /export/home/mattra/dead.letter

I do receive the e-mail, but it's addressed to 1.6@cvsserver, 1.7@cvsserver, build.properties@cvsserver and [email protected]. I'm sure it's an easy fix, comments are appreciated.

Update 2: Our SysAdmin solved the e-mail issue with the following lines in loginfo:

^project /usr/bin/mailx -s '[cvs-commit] %{sVv}' [email protected]
^server_config /usr/bin/mailx -r [email protected] -s '[cvs-commit] %{sVv}' [email protected]

I'm no UNIX expert, so that's why I'm posting this here - that way I can use it the next time I need to set this up. Alternative approaches are welcome and encouraged!

Posted in Java at Feb 07 2003, 07:23:56 AM MST 6 Comments

Deploying to Tomcat using Ant

If you're using Tomcat 4.1.x, did you know you can deploy using an Ant task that ships with Tomcat. You'll need to add $CATALINA_HOME/server/lib/catalina-ant.jar to your classpath, but then you can configure your ant task as follows:

<taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"/>

<deploy url="${manager.url}"
         username="${manager.username}"
         password="${manager.password}"
         path="/${name}"
         war="file:/${dist.dir}/${name}.war" />

I haven't tried it, but it looks cool. Right now I use a simple copy task that works pretty well for me, so no need to change at this point.

<target name="deploy" depends="package-web" if="tomcat.home"
    description="unwar into the servlet container's deployment directory">
          
    <unwar src="${webapp.dist}/${webapp.war}" 
        dest="${tomcat.home}/webapps/${webapp.name}"/>
    
</target>

If you know of any advantages to using Tomcat's deploy task, or you'd like to share your experience using it - please post a comment.

Posted in Java at Feb 07 2003, 06:58:04 AM MST 12 Comments

Anthill, this site crashing and XSL

Anthill rocks. Once I got our CVS server configured to allow pserver authentication from localhost, it took less than 5 minutes to configure automated builds with our build.xml file. Next steps - running tests and deploying. I got deployment pretty much done today and all I have to do is add the tests as parameters to Anthill's build process. The only thing that worries me about Anthill is that they have an open-source version and a pay-for-it version. No company wants to pay for anything these days, and I'm afraid all the good stuff will end up in the pay-for-it version. To be honest, that's fine with me, since all the stuff I need right now is in the open-source version.

In case you haven't noticed, this site has been crashing daily and I only discover it when I actually check it. I'm definitely overdue for a Roller upgrade - especially considering the last one was in the October or November of last year. I want to contribute before I upgrade though, so it might be awhile. The problem I'm experiencing right now is OutOfMemory errors, so Keith wrote a perl script to check catalina.out for this string, and if it's there, it restarts Tomcat. Hopefully this will help me out until I upgrade Roller.

This morning, I did a little XSL for one of my moonlighting projects - and I was disappointed to find that there's no ends-with function in the current XSL spec. There's starts-with and contains, but no ends-with. I used contains in the end to check if a filename contains .avi, and if so, then use HTML for Windows Media Player, rather than QuickTime Player. Seems to work good enough for now.

Posted in Java at Feb 06 2003, 10:30:32 PM MST 2 Comments

Which conference would you attend?

I try to go to a conference every year. Last year it was Web Builder in Vegas, and it was a great time - but not enough Java stuff. So this year I'm going to try and attend a conference that is more up my alley. Here's the three I'm trying to decide between:

In reality, I'd like to go to all. Regardless of the other two, I'm pretty sure I'll attend the one in Denver. I know Jay Zimmerman (the organizer), and I don't mind giving him my money at all. After all, he is a fellow Montanan! I'd really like to attend the one in Boston, but that'd be a spendy trip with hotel and all. As for the O'Reilly Convention in Oregon, my parents live in Salem (40 miles south of Portland), so that one might work out well. However, we usually try to do the 4th of July at the cabin, it might be rough travel to Oregon so quickly after basking in the Montana Summer. I'll probably settle for Denver and maybe hit up another one towards the end of the year.

Posted in Java at Feb 06 2003, 10:20:25 PM MST 3 Comments

MySQL Control Center

If you're using MySQL, you should checkout MySQL Control Center. It's the MySQL Administration client you've been looking for. It says it's cross-platform, but also notes that it doesn't support OS X at this point. I downloaded and installed it on Windows and it seems to work pretty well. Installed and worked in about 10 seconds, which is always a determining factor. You can also checkout these screenshots.

Posted in General at Feb 05 2003, 12:04:29 PM MST 3 Comments