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.

Server move should be completed

If you're seeing this post, then chances are that www.raibledesigns.com is resolving correctly for you. It's still not working for me from work, but that could be a proxy server / local DNS server issue. I've moved from the server that crashed all the time to a new one that is hopefully more stable. Thanks Keith!

Also, thanks to the folks that have e-mailed me offering their hosting services - it's greatly appreciated. Hopefully, things will run smoothly on this server and I won't have to move anywhere else. I installed JRockit at work today on both Windows and Linux, and it works so well (not to mention awesome monitoring tools), that I'm going to try to use it on this site. It's a 40MB download (same as Sun's JDK ??), but installs in under a minute.

The only error messages polluting my log file these days is the following. It seems harmless, but that means that we should probably not even be logging it. Anyone know of a solution?

2003-05-07 16:00:10,244 SimpleLog4JLogSystem.logVelocityMessage(181) | 
    VelocimacroProxy.render() : exception VM = #refererDisplayUrl() : 
    ClientAbortException:  java.net.SocketException: Broken pipe

Posted in Roller at May 07 2003, 05:14:03 PM MDT 4 Comments

WebWork and XWork Mavenized

Maven Propaganda I currently monitor the WebWork mailing list because I'm interested in the framework, and it's good to know what's going on over there. This morning I was impressed to see that one of the developers (seemingly overnight) Mavenized both WebWork and XWork. Very cool IMO. I especially like the Project Reports. If I do promote Moblogger to SourceForge, I think I'll mavenize it first thing. It's a small project at this point, so it'd probably be fairly easy to do. And we all know that some of the most successful open source projects are built on top of good documentation. So the real question is - wiki vs. maven?

Posted in Java at May 07 2003, 10:24:17 AM MDT 4 Comments

Cannot load JDBC driver class 'null'

I'm going to post my newly-found solution to an often-seen error in hopes that it will help someone. In the struts-resume demo application that runs on this server, I've been getting the following error message everytime I startup the context.

java.sql.SQLException: Cannot load JDBC driver class 'null'
        at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:529)
        at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:312)

In the past, this problem has been caused by not having the JDBC driver in my $CATALINA_HOME/common/lib directory, having an invalid username/password, or having another JNDI setting incorrect in server.xml. The strange thing about the problem this time was that everything was correct, and the app ran fine, save for the error (in the log file) on startup. Tonight I figured out the solution - I needed to grant permissions for the user with the specific hostname of the machine. I've been using the following SQL to grant permissions to the app's db user. This is the syntax for MySQL, it is probably different for other databases.

grant all privileges on resume.* to username@"%" identified by "password";

While this has worked on my WinXP machine, it failed on my RH9 box tonight. The solution turned out to be specifying the specific HOSTNAME (i.e. drevil.raibledesign.home), rather than "%".

grant all privileges on resume.* to username@HOSTNAME identified by "password";

Here Google, come and get it!

Posted in Java at May 06 2003, 10:52:24 PM MDT Add a Comment

JSPs compiled by Jikes

I configured Tomcat to compile JSPs using Jikes, and everything seems to work just fine. So good in fact, that I don't know that the change has taken effect. Anyone know how to verify that jikes is truly compiling my JSPs?

Posted in Java at May 06 2003, 10:31:02 PM MDT 1 Comment

I'm willing to bet...

... that this site crashes more than any other website I know of. It sucks. It was down most of the day due to a max of 20 database connections per MySQL user. When the automated process of restarting Tomcat for OutOfMemory errors took place, the database connections where not released for some reason. Damn. It was down a lot on Sunday and Monday because there was MySQL connection problems. NOTE: All of these issues are NOT related to Roller. Keith is going to try to setup a new box for me tonight to test on, and possibly move this site to. If that doesn't resolve these issues, I'm outta here and onto a new provider.

Posted in Java at May 06 2003, 05:01:13 PM MDT 1 Comment

Comments Fix

I committed a small enhancement to Roller's CVS tonight. Twisty Comments should now be FIFO instead of LIFO. Most commenting features are designed this way, including Roller's other two options (popup and single-page). Thanks to Keith for testing out twisty comments and inspiring me to fix this bug.

Posted in Roller at May 05 2003, 10:33:46 PM MDT 2 Comments

So much for zoom

My laptop is out of town, so I figured this would be a good time to send my phone (T68i) off and get the firmware updated. The reason I wanted the update was to get a zoom feature on my Communicam. I documented the painful process a while back, and have been putting it off ever since.

I called up tech support to make the request - and was disappointed to find out that they don't do requests, only repairs. This means no zoom for me, unless something actually breaks on the phone and I really need something to be fixed. The internet and information flow being the way it is though, I'm willing to bet that the firmware upgrade is out there (and downloadable), now I just need to find it!

Pssssstttt - have a hard time reading this site? Here's some homegrown zoom for ya.

Posted in General at May 05 2003, 06:35:37 PM MDT 1 Comment

Hibernate's Query by Criteria (What I'd like to see)

After trying to work with Hibernate's new Query by Criteria feature in version 2.0, I've come up with a page detailing what I'd like to see. Basically, this page results from the API not working for my needs - and since it's still in its infancy, hopefully this document will help shape it future. I'll add a comments link on the document (to this post) for any feedback or comments.

Posted in Java at May 05 2003, 03:56:12 PM MDT 2 Comments

iPod Goodies

Erik hooked me up this morning with a link to Haiko's blog this morning - where I found the lovely ephPod software as an alternative to MusicMatch (the Windows software that comes with the iPod). I actually don't mind the MusicMatch software, though I did use ephPod to make and synchronize a playlist this morning. ephPod definitely looks better, but I like the organized-by-artist feature of MusicMatch.

I also found Outpod for quick-and-easy synchronization of Outlook contacts. This software worked very well - though I have no clue why I need my contacts on my iPod. They're already on my phone thanks to iSync and Bluetooth. What would be really cool is if my phone (T68i) had the iPod's capabilities and I could just listen to MP3's on my phone.

All in all, it was a great ride in this morning with a fresh batch of hand-picked songs - not to mention that the iPod is very light. I couldn't even feel it in my pocket - where as my old Sony Walkman would flop all over the place.

Posted in Mac OS X at May 05 2003, 03:33:53 PM MDT Add a Comment

Snookered at the Apple Store

They got me tonight... those bastards. I walked in and handed over MiniMe. They're sending him off and will call me in a few days to tell me if the damage is covered by my AppleCare Warranty. It damn well better be ;-) If any of you have ever been to the Apple stores, and had them do anything, you'll know it takes forever for them to complete the paperwork. The last time, I went in to get a new powercord, and it took them 20 minutes to type everything in. I have a sneaky suspicion that they're doing this all on a webapp that is slow like molasses.

So while waiting for them to complete the paperwork, I went to buy an iPod. I wanted the cheapest one - $299 for 10 Gigs. 2500 songs is plenty when I only have around 700. But the salesman sneakingly let me know that the $399 model came with over $150 in accessories (Wired remote, Carrying case w/ belt clip, New iPod Dock). I knew the dock was good from reading James's new iPod experience. So I asked, "How much is the dock?" The swindler told me, "60 or 70 bucks, something like that." I fell for it, and now I'm the proud (and poor with a pissed off wife) owner of the 15 GB (3700 song) iPod. I'll be stuffing this sucker in my pocket and riding to work as long as I'm in Colorado this summer - shouldn't take me long to scratch it up real nice.

First impression: it sucks - I was stuck trying to do stuff in German for the first couple of minutes. :-) I had to reset it to get back to English. All my downloaded songs have many different names for the same artist, so I have 3 different "Eminem" and 4 different "Greatful Dead" artists. Only 1 Garth Brooks though. From these artists, you can see I like it all - music is one of my favorite things in this world.

I'm guessing I'll get used to my iPod (reminder to self: name it) after a few days/weeks of using it. As most things Apple makes - it takes me a while to fall in love with their toys.

Posted in Mac OS X at May 04 2003, 09:43:52 PM MDT 3 Comments