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.

Packaging Velocity

I've made a number of changes to struts-menu this week, and it now supports the ability to render menus via Velocity templates. This allows for easy customization and basically allows for you to create any type of navigation system you want (i.e. drop-downs, tabs, plain ol' links) etc. One of the issues I'm wrestling with is how should I package Velocity with the distribution. Usually, to integrate struts-menu into a Struts-based application, you only need to include struts-menu.jar. Now, if you want to use Velocity for your menus, you must include velocity.jar and velocity-tools.jar in your application's WEB-INF/lib. I think most users will accept this.

However, in the example app, there's a velocity.properties file and a couple example templates. This seems like an opportunity for many users to forget to include these - so I'm wondering what's the best way to package these. Should I put velocity.properties in the source tree, and initialize my VelocityMenuDisplayer using that? Should I do a check to see if the user has their own velocity.properites in WEB-INF/classes for an optional override?

Another question is should I put the sample templates (simple.html and coolmenus.html so far) in the source tree, and then use Velocity to load them from the struts-menu.jar file? Or should I package them in a menu-templates.jar file?

Basically, it all boils down to this question: If you have a project (.jar) that depends on Velocity and plugs into web applications - what is the best way to distribute your Velocity settings?

BTW, I hope to make an effort to decouple this library from Struts someday - shouldn't be too hard.

Posted in Java at Oct 02 2003, 03:38:32 PM MDT 3 Comments

Struts tip o' the day ~ using bean:size

A co-worker turned me on to this one today - you can use <bean-el:size collection="${myForm.list}" id="listSize"/> to get the size of a collection and expose it as a pageContext variable. I've been looking for this sucker for years! Usually, I end up putting a getListSize() getter on my form to accomplish this, since none of the other tags (including JSTL) allow you to get the size of a collection.

Posted in Java at Sep 30 2003, 07:25:59 PM MDT 6 Comments

VersionTracker - free with .Mac

I got an e-mail from Apple today. In it, they offered me a free version of VersionTracker. I signed up - why not, it's free? I don't know that I'll use it though. The reason I'm writing this post is to see if anyone else is using this service, and if so, whaddya think? What software packages do you watch?

Posted in Mac OS X at Sep 30 2003, 05:36:07 PM MDT 1 Comment

Pro JSP has arrived!

Pro JSP, Third EditionI received my complimentary four copies of Pro JSP tonight - whooo hooo! It sure is cool having your name on the cover of a book. ;-)

Congrats to all the other authors that feel the same way.

Posted in Java at Sep 29 2003, 10:06:35 PM MDT 16 Comments

Giving Roller 0.9.8 another try

I'm trying Roller 0.9.8 again after backing out last week. The main reason I'm trying again is my site was crashing over the weekend, after months of being up without issues. Damn. The main issue I'm having with 0.9.8 is that MySQL connections get up to 20 (the max allowed by my ISP) and then the whole connection thing shuts down (or something like that), and according to my logs - the database is down (when really, it's not).

My attempted solutions to fix this problem are twofold. First, I grabbed the oscache.properties from tools/oscache-2.0b2, rather than using my old one. When building Roller from CVS, there is no oscache.properties in build/roller/WEB-INF/classes, so that's why I copied my old one. Second, I cleaned out WEB-INF/lib and refreshed it with WEB-INF/lib from 0.9.8. I always just copy over the last install when upgrading, so it's possible there were some old jars lying around in here.

If this doesn't work (you'll know if this site is down), I'll have to get a fully clean install from the SourceForge downloads, rather than my own built copy.

Posted in Roller at Sep 29 2003, 06:18:13 AM MDT 3 Comments

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

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