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.
You searched this site for "<a href=". 3,022 entries found.

You can also try this same search on Google.

What's up Raible?

Paul Rivers wrote a comment about yesterday's post; guessing as to why I haven't been posting much lately. There are two reasons. The first is that I firmly believe that blogging is motivated by broadband and I don't have it. Secondly, I'm on vacation. The worst part is that I'm on vacation and I've been working the whole fricken time! My parents are in town and no one has to work but me. Do I really have to work? Probably not, but one of my clients wants a re-design done by Monday - and I've known about it for a month. So I put it off and put it off, and now the deadline is here - and it's not going nearly as fast or smooth as I though it would. The major motivation for the re-design is to make the webapp work in older browsers, namely Opera 6/Linux and IE 5.5/Windows. So just as I get it working in one, it breaks in the next. I'm learning way more about Opera than I ever wanted to know. It's no fun, I want to give up and quit - but something inside me still drives me to work away and neglect my vacation. This sucks...

Posted in General at Apr 11 2003, 12:14:23 PM MDT 2 Comments

America's obsession with Productivity

My family and I had a great time last night. I picked my Dad up from the airport and we hit a local microbrewery on the way home so I could school him at a couple of games of pool. He's usually pretty good, but the more beer I drank, the better I got, while it was the opposite for him. He'll blame it on his age.

One of the hot topics of the night was American's obsession with Productivity. We've talked about this topic many times; we used to call it American males are defined by their jobs. It's sad really, but if you're an American, you know what I'm talking about. If you've ever been out of work, chances are you felt less of yourself for it. The problem my Dad and I were discussing was what happens when you retire? And how do you enjoy your life now when you're so obessesed with productivity?

Russ is experiencing it. He's killing himself being so productive. I do the same thing, staying up late working on an open source project. Where my productivity does nothing more than get my name out there so someone can hire me to be more productive. Why can't we be satisfied with being un-productive? I need to find a middle-ground; a way to be satisfied with spending the entire night away from the computer. I've found that a good hard bike ride or basketball game after work will motivate me to NOT work on the computer - and that's what I'm looking for. I want to be unproductive and satisfied with it. Can you do that - or is it to un-American for you? ;-)

Posted in General at Apr 10 2003, 08:33:30 AM MDT 4 Comments

Roller going into Hibernation?

Dave sent an e-mail to the roller-devel mailing list tonight. If I had a more stable internet connection, I'd be crazy enough to upgrade this site tonight. It's good its unstable as I have two releases deadlines in the next couple of days (one COB tomorrow, one COB Thursday) and I'd hate to get caught up in a Roller upgrade - especially if it didn't work. Anyway, here's Dave's e-mail:

Subject: [Roller-development] Warning - latest code from CVS may be unstable

In other words: Roller now uses Hibernate for persistence!

I am in the process of checking in my Hibernate changes and switching Roller over to Hibernate. The backend unit tests pass and I've tested most of the UI (see the Open Office spreadsheet docs/test-plan.sxc), but upgrading to current CVS is not recommended at this juncture... it wouldn't be prudent.

I'll probably upgrade my site to the latest CVS code tomorrow night. I'll let you know how it goes.

What I want to know is - How does it work? Are you pleased with the results? Is it faster? Either way (dud or wild success), I appreciate your hard work Dave and hope this change makes Roller the best weblogger ever!

Posted in Roller at Apr 08 2003, 11:01:03 PM MDT Add a Comment

Maven makes it easy

If I ever migrate a project to Maven, I should probably read this article first. It's interesting to note that Maven makes it easy for project management, but not necessarily (??) for building. I know, you'll fire back that it makes it easy to build too - but if you don't have a need to manage your project, maybe you don't have a need for Maven. I find it strange that Maven is a top-level Apache project, and it hasn't even released version 1.0 yet.

Abstract: Even though Ant acts as the de facto standard for building Java programs, in many ways the tool falls short for project management tasks. In contrast, Maven, a high-level project management tool from the Apache Jakarta project, provides everything that Ant offers plus more. Java developer Charles Chan introduces Maven's features and walks you through a complete Maven project setup. [source]

Posted in Java at Apr 08 2003, 03:39:17 PM MDT 1 Comment

DJUG Tomorrow

If you're a Java-programming Denverite, you should probably make your way down to the Denver JUG meeting tomorrow. Mike Clark (a fellow Montanan) will be presenting Bitter EJB: Learning from Antipatterns. Sounds like a great presentation - too bad I won't be able to make it. My dad flies in at 5 and I have to pick him up from the airport. We'd much rather drink microbrews and play with Abbie than learn about EJBs. Sorry Mike - hope to meet you (in person) some other day.

Posted in Java at Apr 08 2003, 02:32:26 PM MDT Add a Comment

Tomcat FAQ

I stumbled upon the Tomcat FAQ project at SourceForge today. Actually, someone from the tomcat-user list (that I can't unsubscribe from) pointed me to it. Looks like a great reference for the Tomcat users of the world.

Posted in Java at Apr 07 2003, 05:20:29 PM MDT Add a Comment

Pinning Elements to your pages with CSS

I found this great example of how to pin elements of a page so they stay fixed at a certain location in a browser window. The bad part? It doesn't work in IE 5.5/6.0 on Windows. Since this is the most popular browser, it kinda makes me lose hope. The reason I'm intrigued by this CSS is because I have a requirement right now that I need to keep the footer of my page "pinned" to the bottom of the browser window. I suppose I could use frames, but I'd rather not. A workaround for IE might be to use a floating layer, but all the scripts I found seemed to fail when I added an XHTML DOCENGINE. That is why I curse IE today.

Update: I recieved a solution for my Experts-Exchange posting on this topic. It looks like I'll be able to use CSS expressions in IE to make this happen. Sweet! My latest code works in IE 6, Mozilla and Opera 7 - I hope it works in IE 5.5 and Opera 6.

Posted in The Web at Apr 07 2003, 03:39:19 PM MDT Add a Comment

Blogging motivated by Broadband?

It is my personal little theory that most bloggers have high-bandwidth internet connections. I am seriously de-motivated from surfing and blogging on a dial-up connection. Even worse, our dial-up connection has been on the fritz, and with no connection - I don't even try. I don't even care to read anyone's blogs and I'm starting to wonder if blogging is all that it's cracked up to be. java.blogs is not even interesting to me anymore. I've got to get my internet connection fixed! I'm talking like a crazy man! ;-)

The good news is our ISP called Julie this morning and we're scheduled for an upgrade on the 14th. They also (finally) admitted that there have been sporadic internet connection issues in our area. They've been so damn arrogant this whole time that it "wasn't their problem" - it's nice to see them admit fault. My mom is in town all week at a conference and my dad is flying in on Wednesday, so I'd expect a pretty light week of blogging until next Monday (the 14th).

Posted in Roller at Apr 07 2003, 11:25:33 AM MDT 1 Comment

Use XForms now with XMLForm

Remember XForms (the next generation of HTML Forms)? How about XMLForm? From their homepage:

This is a standalone servlet toolkit inspired by Apache Struts / JavaServer Faces and W3C XForms. The toolkit is derived from Apache Cocoon and a best effort will be made to maintain the features in sync with the Cocoon module.

For an introduction to the concepts, see: XML Forms, Web Services and Apache Cocoon

XMLForm uses W3C XForms based markup and automated server-side binding to JavaBeans, XML/DOM, JDOM and DynaBeans data models. It also allows easy deployment of REST style Web Services, with maximum code reuse between human facing and machine interfaces.

Wow! Sounds very cool. Thanks to Vic for the link.

Posted in Java at Apr 05 2003, 11:19:01 AM MST Add a Comment

Struts Training: Week 5

I'm dialed in and listening to Don Brown presenting on Struts and XML/XSL. Don is a lucky guy - he's presenting from Hawaii this morning, where I'm assuming he lives. The bad part for him - it's 5:30 in the morning there. Don is one of the developers of Stxx and has also developed a Cocoon plugin for Struts. He works for DigitalNet and currently is working on a contract for the Navy. Hmmm, wonder if they're hiring - I'm willing to bet that Julie would consider moving to Hawaii! Enough dreaming - onto the presentation.

The following are types of XML/XSL Extensions for Struts:

  • XSL-based
      - stxx
      - StrutsCX
  • XML pipeline-based
      - Cocoon Plugin

stxx: features
  - replaces JSP with XSL
  - in action, create XML manually, or get it from another source
  - stylesheet selection based on criteria like browser type
  - automatic serialization of ActionErrors, resources, and request objects
  - extendable to support any object serialization or XML transformation technology
  - supports both Struts 1.0 and Struts 1.1

Pretty cool - for Struts 1.1, there's a Stxx plugin, and you use a .dox extension to indicate it needs transformations. In a stxx-transformations.xml, you define "transformations" that define XSL stylesheets, where to run at (client|server), and mimeTypes (html|xml|pdf). Sweet - maybe I can use this sucker for struts-resume! I wonder how Stxx compares with StrutsCX. Since Stxx can be plugged-in and can co-exist with JSPs, it might be the right path for me.

Advantages of Stxx: Simple, use of caching makes tranformations quick, can be used with Velocity or Cocoon, lighweight, very extendable.

Disadvantages: XML pipeline very limited, poor scaling of message resources (if ApplicationResources.properties in huge - i.e. > 1MB), requires all data to be gathered in Action (MVC-push).

Compared to StrutsCX - Don says that it's very similar, except that StrutsCX supports the Validator. As for the Cocoon Plugin, it supports all the features of Cocoon. Describing the features of this plugin seems pointless as I would just be describing features of Cocoon. For the Cocoon PlugIn, you define it the same as a regular plugin, and then change your path to point to an XHTML-compliant JSP. Apparently, Don has modified the struts-example app to use the Cocoon PlugIn, so hopefully I can provide a link to the download.

Here are some resource links from Don's presentation that might interested you:

As for my presentation on Remember Me and XDoclet, you can find those slides here. The slides (and lab) uses a simple JSTL-based app I whipped up last weekend. I'm planning on hooking it into a database eventually to allow online editing of a presentation, but I probably won't do that until I give another presentation.

Posted in Java at Apr 05 2003, 09:35:09 AM MST Add a Comment