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.

Thought of the day ~ WebWork

"At least when I do decide to sit down and learn WebWork 2, I won't have to learn WebWork 1."

I will learn it (someday), and I expect it to only take a day or two, but I'm going to wait for someone else to figure out how to do everything, and then I'll read about it and search the mailing lists. I feel like I've learned every little nuance of Struts (and many other OS packages) - I'd rather someone else swim in these bleeding-edge waters first. Hope I can stay dis-interested for a while longer... ;-)

Posted in Java at Sep 27 2003, 10:33:32 AM MDT 1 Comment

Java books I'm considering

Because it never hurts to have a good reference book around, I'm in the market to load up my bookshelf again. Don't know if I'll actually read these suckers, but I use these tools all the time, and I'm tired of searching on Google. I've found that just having these types of books are invaluable for a quick reference.

Any other recommendations - or better alternatives to the ones I've listed?

Posted in Java at Sep 26 2003, 10:00:18 AM MDT 15 Comments

Quote of the Day

From the door of the server room where I work:

Rebooting is the first step in NT Troubleshooting.

(grin)

Posted in General at Sep 26 2003, 09:29:39 AM MDT Add a Comment

The problem with Deadlines

Keith brings something to the table that I did not know (but I did suspect):

Anyway, back to the likely effects of applying schedule pressure. It is interesting to note that a University of NSW study, quoted in Peopleware: Productive Projects and Teams, concluded that "projects on which the boss applied no schedule pressure whatsoever ("Just wake me up when you're done.") had the highest productivity of all."

The problem is that we, as software developers, will always end up with tight (sometimes ridiculous) deadlines - and customers will always want us to do it for less. This is reasonable considering that this is how the business world runs and thrives. Get it done quicker for less. The interesting thing is I don't think this happens with other engineering projects, such as constructing buildings, houses, public works, etc. Sure the folks who are paying for the project want it to get done cheap and fast, but there's all kinds of permits and inspections that have to take place throughout the process.

Wouldn't it be ironic if someday if folks (from a 3rd party) would come in every so often and inspect and approve our code?

Deadlines suck, plain and simple. The reason they exists is that someone (that's paying your wages) told someone else they could have something done by ${insert date here}. I doubt it'll ever end until we're the ones paying the wages and promising deliverables - to make our businesses profitable and our customers happy. The other option is to get a really cool boss that understands Software Development and actually listens to your estimates. I've had this a couple of times - man those folks are cool to work for. Kudos to Dan and Alan - you guys really know how to run a software shop.

Posted in General at Sep 26 2003, 02:00:54 AM MDT 1 Comment

Does Apple's Cinema Display have some new competition?

For $500 less than Apple's 23" cinema display, you can get a 45" awesome-looking monitor from the company L. Looks cool - though the company does seem to be similar to Hypersonic PC in that they have wicked looking products, but no one has ever heard of them. In my experience, it's best to go with the name-brand companies. Also, isn't it funny how their 17" laptop looks a LOT like Hypersonic's ZX7. Since I actually had the ZX7 sitting in my lap for a couple of days, I'm willing to bet they're both built from the same hardware.

Posted in General at Sep 25 2003, 10:02:58 PM MDT 1 Comment

Tomcat Service Manager for Windows

If you run Tomcat as a service (on Windows), you might be interested in the Tomcat Service Manager. I don't, so I'm not - I prefer "tstart" and "tstop" in cygwin (or bash), which are defined in my .bashrc file as:

alias tstart=$CATALINA_HOME/bin/startup.bat
alias tstop=$CATALINA_HOME/bin/shutdown.bat

NOTE: If you are unfortunate enough to have $CATALINA_HOME defined as a directory with spaces in it, you'll need to wrap $CATALINA_HOME in double quotes.

Posted in Java at Sep 25 2003, 09:18:33 AM MDT 4 Comments

RE: IDEA vs Eclipse

I love Eclipse and always have. However, it kinda sucks on OS X. It is slow like Marcus says. Actually, it's a LOT snappier on my new PowerBook, but it's still much slower than it is on Windows. On Windows, it runs lickedy split and is by far my favorite IDE - because it *looks* like Windows more than anything. Inspired by Marcus's post, I'm willing to give IDEA another try on my OS X - I probably won't get enough time in the 30 day trial to appreciate it (or switch to it), but I'll make an attempt. BTW, I've actually heard that many of the "IDEA Rules" advocates actually got it for free - at least some OS projects' committers got a free copy. I'm sure if there was a 6 month trial version, and folks actually got addicted to it (like I am with Eclipse), they'd sell more copies. I'd pay for Eclipse right now if it weren't free.

Later: I already have one pet peeve - why can't I install IDEA in an "idea" folder rather than in "IntelliJ-IDEA-3.0.5". I install all my "tools" in /opt/dev/tools (i.e. /opt/dev/tools/eclipse) and this makes it very easy to tar xzf any new versions over old ones - and it just looks better. I hate when installers make you install their apps to a particular directory.

Posted in Java at Sep 25 2003, 07:25:52 AM MDT 20 Comments

New Powerbooks ~ I agree with James

I agree with James about the new PowerBooks. My 17" simply rocks. I do have to disagree on one point though - it's actually not that hot. It seems to run much cooler than my 15" 667MHz.

Posted in Mac OS X at Sep 24 2003, 10:46:00 PM MDT 1 Comment

Know of any good Calendar Tag Libraries?

Anyone know of a good Calendar Tag Library - that renders calendars like the ones you see on blogs? I found this one from Coldbeans, but it's $50 - whereas free is always better. We just need it to render a calendar on a page and gray out certain days (with CSS) to say that day is not available.

Posted in Java at Sep 24 2003, 04:24:31 PM MDT 5 Comments

Tiles Tips o' the Day

Here's a couple of things I learned today that might be useful to you Struts developers out there. When using Tiles, you'll normally import all the attributes into your baseLayout.jsp, and then your attributes are exposes as beans/scripting variables (you can actually grab them with JSTL tags). Rather than using:

<tiles:importAttribute/>

Use:

<tiles:importAttribute scope="request"/>

And then all your inserted pages can access these attributes. Pretty slick when you got a little JSTL love in the mix. The second tip is how to implement definition path switching. Let's look at the following baseLayout definition as an example:

  <definition name=".baseLayout" path="/layouts/baseLayout.jsp">
    <put name="titleKey"/>
    <put name="header" value="/common/header.jsp"/>
    <put name="sidebar" value=".sidebar"/>
    <put name="footer" value="/common/footer.jsp"/>
  </definition>

You currently cannot change the "path" attribute with a Controller, so you have to do it as the Tiles author recommends - by changing your path to refer to an action. So I changed the path on this particular definition to be:

<definition name=".baseLayout" path="/do/switchLayout">

Where my action-mapping is defined as follows:

 <action path="/switchLayout" 
   type="org.appfuse.webapp.action.SwitchLayoutAction">
   <forward name="printLayout" path="/layouts/printLayout.jsp" />
   <forward name="baseLayout" path="/layouts/baseLayout.jsp" />
 </action>

Then in SwitchLayoutAction.java, I have the following code:

boolean print =
    Boolean.valueOf(request.getParameter("print")).booleanValue();

// see if a print parameter is passed in the request
if (print) {
    log.debug("switching base layout to printing...");

    return mapping.findForward("printLayout");
} else {
    return mapping.findForward("baseLayout");
}

Pretty slick IMO! It's easy to make the printLayout.jsp only contain some simple wrapper stuff and only do <tile:insert attribute="content"/>. Of course, in this particular example, you could just use a print stylesheet (media="print"), but that doesn't work so well on 4.x browsers (man I hate those beotches).

Posted in Java at Sep 24 2003, 03:01:03 PM MDT 4 Comments