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.

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

Refactoring Struts Menu

I made a bunch of changes to Struts Menu (a.k.a. Navigator) for use in my current project. Highlights include dynamic parameters (configured in menu-config.xml) and the ability to create menu templates using Velocity. The full story can be see on my wiki.

And yes, I did really post this at 2:30 in the morning - ugh, I'm off to bed!

Posted in Java at Sep 24 2003, 02:37:23 AM MDT Add a Comment

Backed out of Roller 0.9.8

I have too much other stuff pounding my brain to support this website right now (it crashed again today), so I reverted back to Roller 0.9.8-dev. I'm sure the release is fine (at least on FreeRoller), just something about my not-so-clean Roller environment that doesn't allow the upgrade (or at least kills MySQL every so often). If it dies again, well then, oh well...

Posted in Roller at Sep 23 2003, 09:29:40 PM MDT Add a Comment

Sun to Present Chip-Design Breakthrough

This seems huge to me - whaddya think?

Network computer maker Sun Microsystems Inc. researchers will report on Tuesday that they have devised a way to dramatically increase the speed at which semiconductors can talk to each other.

By placing the chips edge to edge, directly touching, so data can flow freely, Sun has taken out the need for the tiny wires, pads and solder points that now connect chips on printed circuit boards that help make up computer systems, Sun said. [Yahoo News]

Posted in Java at Sep 23 2003, 09:56:19 AM MDT Add a Comment

[ANNOUNCE] Display Tag 1.0 beta 1 Released!

The Display Tag Library has a new release! Fabrizio Giustina has been a busy guy as well as John York in refactoring the entire tag library. We had a run off between the two refactorings and Fabrizio won. This release is pretty stellar - checkout the full list of changes.

Temporary: I've uploaded a demo war that will self destruct as soon as displaytag.org is updated. This message will also disappear at that time.

Posted in Java at Sep 23 2003, 07:35:44 AM MDT 2 Comments

CVS Spam has a new release

CVSspam, a very cool tool, has a new release out. Release Notes and Download.

Posted in Java at Sep 23 2003, 05:40:22 AM MDT Add a Comment

Deadline Week

This is one of those weeks when I'm a freak of nature. A code monkey with a passion for getting things done. Yet there's too much to do and its all due by Friday.

Yep, this is a week with a deadline. It's been building since I started at this new gig about a month ago. We all knew it was coming, and we're somewhat prepared, but there's still a lot to do. The screwed up thing is I can't seem to think about anything else, and all I want to do is code, code, code. I don't want to eat, sleep or go to the gym. I just want to get it done: code, code, code: I'll neglect my family, friends and body to pump out a software release - because my mind is enthralled by the idea of deadlines. My body loves the excitement, the passion makes my blood boil and my brain just wants more, more, more.

The worst part of it all? It won't matter next week, or even the day after we get it all done. No one will really care. It was a deadline - we said we could do it, and that's what they expected. When we're super pumped that we got it all done, no one will care - we said we could do it. And my reward? I'll be so damned burned out (from spending so much time on the computer) that I won't even want to look at one - not even Foxxy (my new powerbook).

It's strange that I know this is happening - or that I've at least recognized it this time. I don't think it will help though. I'll have to make sure and apologize to Julie and Abbie for being such a narrow-minded prick all week.

Posted in General at Sep 23 2003, 05:36:34 AM MDT Add a Comment