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.

Symlinking now works in Tomcat 4.1.16!

The Tomcat developers turned off the ability to create symbolic links (symlinks) in 4.1.x. This really threw a wrench in my ability to upgrade as I use symlinks to point to resources outside my webapp all the time. I don't do it for jars, but for common image or documentation directories. In Tomcat 4.1.12 (the latest release), you were supposed to be able to turn symlinks back on by adding the following to your app's context:

<Resources
  className="org.apache.naming.resources.FileDirContext"
  allowLinking="true" caseSensitive="false" />

The bad news? This didn't work! I'm happy to report that with the lastest 4.1.16 beta, this does work! So, for instance, if you want to turn on symlinks in the ROOT context, add the following to your server.xml:

<Context path="" docBase="ROOT" debug="0">
  <Resources
    className="org.apache.naming.resources.FileDirContext"
    allowLinking="true" caseSensitive="false" />
</Context>

Posted in General at Dec 04 2002, 09:10:54 AM MST 2 Comments

News Nuggets from Today

We skied this run! The skiing was great at Vail today! I might not be able to walk tomorrow, but so goes the first day of the season.

There was all kinds of good info from the java.blogs community, and so I re-emphasize, for the heck of it. My favorites (thanks Erik and Dave):

Posted in General at Dec 03 2002, 03:59:45 PM MST 1 Comment

Stomach Flu

Julie and I are sick with the stomach flu - hopefully it's just a 24 hour thing. There's nothing like getting sick to make deadlines even tighter.

Posted in General at Dec 01 2002, 03:04:47 PM MST Add a Comment

Oslo - New Project admin tool

Aslak Hellesøy, of XDoclet fame, has started a new project admin tool called Oslo.

Oslo is an administration tool that will let you set up a development project easily.
...
The main goal of the Oslo project is to provide one single tool that can automatically download, install and configure such tools. Oslo will provide an intuitive web interface where everything can be configured.

Sounds good to me - it's definitely needed! BTW, I found these XDoclet Templates for Eclipse.

Posted in General at Nov 28 2002, 06:04:35 AM MST Add a Comment

Happy Thanksgiving!

Happy Thankgiving!

I would like to thank my wonderful family and my great friends for making my life a blast to live! I'm also thankful for good health and the micro-breweries of Colorado, Montana and Oregon.

I'd also like to thank the blogging community (particlarly you java.blogs gents) for making the web fun again. Now go get some good eats and tell your family I said Hi! Big Smile

Posted in General at Nov 27 2002, 06:53:27 PM MST Add a Comment

www.javablogs.com

I woke up around 10 this morning (after being up until 2 last night), fired up NetNewsWire and started reading. The first one of interest was Dave's entry All I can say is WOW! and where can I get the source?. I signed up and was amazed my the smoothness and speed of this webapp. As I told Mike - this is one of the coolest things I've woken up to in a long time. The question is, will I stop using NetNewsWire on OS X, or Phoenix (with a 31 tabbed bookmark) to read the blogs? Probably not, I like the look of a web page, and people are changing their styles so much, that it's nice to see good looks along with great content.

I guess if I really had my shit together, I'd put something like this together for www.javawebapps.com. A place where you can signup and upload your .war files for public consumption. I'm willing to let the java.blogs webapp be the first entry! I'd love to hear more about this webapp - I'm guessing it's written using webwork and it's running on Resin.

Posted in General at Nov 27 2002, 05:28:36 AM MST Add a Comment

Bend, Oregon

Floating Mountain Russell says he's heading to Bend, Oregon next weekend. Cool! I went to high school in Salem, Oregon and a bunch of my friends lived in Bend after college. Julie and I have visited Bend a few times, and it's a really nice mountain town. It's kinda like Denver, but a lot smaller (but growing rapidly). They get 300 days of sunshine a year (like Denver) and have a great micro-brewery. Everytime I've been there, I've wanted to move there. It's got great skiing too! But then again, Russ may not like it since he hates the cold and it was 15 degrees (F) this morning!

Posted in General at Nov 26 2002, 04:11:17 AM MST 1 Comment

Services for UNIX

I received a Services for UNIX CD in the mail today from Microsoft. That's funny since I remember receiving an installing SFU 3.0 back in July. I tried to telnet into my XP box, and apparently the 120-Day Evaluation has expired. It's nice that they sent me a new 120-Day Evaluation. I wonder if I'll get another one after 4 months. I'd buy it if I really needed it since it's only $99. However, since the license expired a couple weeks ago, and I didn't even notice, I must not use it. It's very much like Cygwin, except you get everything that UNIX has - including a telnet server, and you can type ls from a DOS prompt.

BTW, did you know you can enable command-completion on any Windows machine? Here's how.

Posted in General at Nov 25 2002, 02:29:42 PM MST Add a Comment

XDoclet and Castor

I found this post on the castor-dev mailing list this afternoon. It seems to indicate that there's a better version of the Castor module for XDoclet.

The "exolab2" module is nearly identical to the original exolab module in that it:

1. generates the mapping.xml file

however, exolab2 differs in that it:

1. works on the fields in a class instead of the methods
-working with field name seems easier and more logical as castor
is for mapping class/db fields, not methods
2. generates the database.xml file
3. generates the create.sql and drop.sql for each class' table
4. doesn't require explicitly declaring the @castor:field-sql type="..." for each class field; it uses a simple look up .xml file to retrieve the appropriate/default sql type for the field's java type
5. doesn't require explicitly declaring the @castor:class table="...";
the class' name will be used as the default table name

so in summary, it generates:

-database.xml
-mapping.xml
-create.sql
-drop.sql

with less "work" than before. basically, these improvements are to help developers quickly and easily generate all the castor-specific and non-castor-specific (sql table defintions) code for new projects.

Too bad this isn't available in XDoclet as of yet. Hmmm, maybe I can use Castor Doclet to generate my DDL.

Posted in General at Nov 24 2002, 09:11:50 AM MST Add a Comment

Writing a Technical Book

Graham Glass offers some great suggestions on how he writes a book (tip of the hat to Matt Croydon). This is extremely valuable information for me, as I will be writing a couple chapters over the next few weeks. If I can follow in his footsteps, I'll be set!

A typical chapter takes me 3 or 4 days to write, including the source code for the examples, which I think is pretty fast. In addition, the high level book structure takes about a day.

The thing I'm struggling with right now is what persistence layer to use on my example Struts application. I'd like to use either Hibernate or Castor, but since I've never implemented either from scratch, I don't want to spend more time learning than implementing. And I'd like to generate the entire persistence layer - which seems possible with both. I'd like to use Middlegen, but then I'll have to use JDO or EJB's for my persistence layer. While JDO might be appropriate, EJBs are probably over-kill for an example app. The nice thing about Middlegen is that it will generate the JSP and Struts classes for me too.

Posted in General at Nov 24 2002, 05:04:23 AM MST 2 Comments