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.

[ANN] Equinox 1.5 Released

This release's major new feature is dependency downloading using Maven 2's Ant tasks. The main reason I used Maven 2 over Ivy is because I've heard rumors that Ant 1.7 will include dependency downloading - and they're planning on integrating the work that Maven has already done.

One of the nice things about using Maven 2's Ant Tasks, is you can download Maven 2 and generate your Eclipse or IDEA (possibly even Netbeans) project files using "mvn eclipse:eclipse" or "mvn idea:idea". You can also use Maven 2 to build and test things if you like. The only thing that doesn't currently when using Maven to test Equinox is the web tests with Cargo. I can try to get those working if there's enough demand. For now, you'll have to use Ant if you want to test the UI.

All of the frameworks used in Equinox, as well as its build/test system is explained in Spring Live. A summary of the changes are below (detailed release notes can be found in JIRA):

  • Removed packaged JARs in favor of Maven 2's Ant Tasks. Dependencies are now downloaded on-demand, greatly reducing the size of Equinox-based applications.
  • By specifying compile, test and runtime dependencies in a pom.xml file, Equinox applications can now be built with Maven 2. The only difference between building with Maven 2 and Ant (at this time) is that the M2 build does not support testing with Cargo. However, there is an M2 Cargo plugin so this shouldn't be hard to fix if you have that itch.
  • Added DWR, Script.aculo.us and Prototype to simplify Ajax development.
  • Added Beandoc support - simply run "ant beandoc" to see javadoc-style documentation of Spring context files.
  • Refactored UserManagerTest to be UserManagerImplTest; renamed UserManagerIntegrationTest to UserManagerTest.
  • Changed BaseDAOTestCase to extend AbstractTransactionalDataSourceSpringContextTests.
  • [Hibernate] Added example ehcache.xml to web/WEB-INF/classes for default cache settings.
  • [JSF] Removed client-side validation because corejsf-validator.jar causes issues with Spring's Ant-style path matching.
  • [Spring] Fixed number editor and edit logic in UserFormController.
  • [Struts] Fixed issue with installation where ContextLoaderPlugin was loading ApplicationContext a 2nd time b/c the listener was not being commented out.
  • Dependent packages upgraded:
    • Cargo 0.6
    • Hibernate 3.1
    • iBATIS 2.1.6
    • JPOX 1.1.0 Beta 4
    • MyFaces 1.1.1
    • PostgreSQL JDBC Driver 8.1 Build 404
    • Spring 1.2.6
    • Struts 1.2.8

Download. For more information about installing the various options, see the README.txt file.

Demos:

The basic Equinox download contains all the various web and persistence framework options in the "extras" folder. If you have issues replacing the web framework or persistence engine, please enter an issue in JIRA and I'll build and upload a customized version for you.

Posted in Java at Dec 28 2005, 07:14:43 AM MST 4 Comments

Struts 1.2.8 has client-side validation issues just like 1.2.7

This weekend, I upgraded AppFuse from Struts 1.2.4 to 1.2.8. After failing to upgrade to 1.2.7, I was a little leary of this release - for good reason. It turns out, the 1.2.8 release has the same client-side validation issue as 1.2.7. The good news is it's a Commons Validator issue this time, and you can fix it by upgrading to Commons Validator 1.2.0 (it ships with 1.1.4).

If you're using custom client-side validators, you might have to patch your functions. Here's what I did to mine:

- oTwoFields = eval('new ' + formName.value + '_twofields()');
+ oTwoFields = eval('new ' + retrieveFormName(form) + '_twofields()');

Also, if you'd like to use Spring MVC with Commons Validator 1.2.0, you'll need to patch springmodules-validator. Or you can just download the one from AppFuse's CVS.

Posted in Java at Dec 19 2005, 04:55:37 PM MST 2 Comments

The Ajax Experience

The Ajax Experience looks like it's going to be an excellent show.

We will have the website for the conference launched just after christmas, but here is a taste of the quality speakers that we have confirmed for the event:

  • Scott Dietzen, CTO of Zimbra
  • Alex Russell and Dylan Schiemann of the Dojo Toolkit
  • Thomas Fuchs of Script.aculo.us
  • Sam Stephenson of Prototype and 37 Signals
  • Bob Ippolito of MochiKit
  • Joe Walker of DWR
  • Douglas Crockford of JSON-RPC, and Yahoo!
  • Jonathan Hawkins of Microsoft Atlas
  • Patrick Lightbody of WebWork/Struts Ti
  • Bill Scott of Rico and Yahoo!
  • Eric Pascarello of Ajax in Action
  • Glenn Vanderburg, JavaScript expert
  • Brent Ashley, noted Ajax expert
  • Michael Mahemoff of Ajax Patterns
  • Greg Murray of the JavaServer Faces team at Sun

This is a show I'd love to attend. However, it ends the day before Mother's Day - WTF is up with that?! For those of us who happen to be family men and are planning on attending JavaOne, this sucks. If I want to attend The Ajax Experience, I'd have to fly back on Sunday and then fly back to San Fran on Monday for JavaOne. Booo hisss. Looks like I'll be missing this show.

Posted in Java at Dec 19 2005, 01:12:15 PM MST 4 Comments

How to Keep your Volkswagen Alive

VW Manual The illustrator for How to Keep your Volkswagen Alive has passed away. I read about this on the Dead Bus Diaries, which links to an nice obituary.

I've used this book many times in my VW career - which started way back in high school. I had a friend who was into VWs and he convinced me that my first car should be a VW Bug. I bought a '69 bug, and after driving it for 2 months, the generator went out and I decided it was time to start restoring it. I took a belt sander to it the next day, and used this book to remove the engine. Days later I was ripping out all the wiring getting ready to head to the paint shop. Needless to say, I had no idea what I was doing and the car suffered quite heavily for it. When I tried to put things back together, hardly anything worked and I had large waves in the body from grinding parts of the car down to bare metal.

I've re-built 5 VW engines in my lifetime, and I've always had this book by my side. It took me 4 times to get it right, but this was largely due to my lack of experience. Furthermore, I'd often get the engine finished and then head out on a road trip instead of waiting 500 miles for the initial settling in. Since I'm about to start rebuilding my Bus's engine, it's about time I bought a new copy of this book, so I just did that on Amazon. I haven't taken the engine out of the bus yet, but that sounds like a fun activity for next week when my Dad is in town.

Posted in The Bus at Dec 16 2005, 10:46:31 AM MST 6 Comments

RE: Oracle donates ADF Faces to Apache MyFaces

I read the news initially on the AMIS Technology blog, which points to the original news-breaker on the IT-eye Weblog. This is huge for the JSF community IMO. The main compelling feature behind component-based frameworks is components. Without components, there's not much point in them.

By christmas a website and mailing list will be available for the incubator project. You will also be able to download the source code. By New Year a subversion repository should be available with the source code. And the intention is to move out of incubator by JavaOne 2006, which I think is in May.

So why is Oracle doing this? Well it's obvious that Java needs to have a good component based framework to compete with .NET. And Oracle believes that JSF can be this Framework, but a good implementation is needed, which is what ADF Faces provides.

What does ADF Faces, or better Apache Faces Cherokee contain? More than 100 components, an Html AJAX renderkit (but it doesn't use HttpXmlRequest, but iframes), a dialog framework, personalization, skinning, and a lot more.

I wonder if Oracle has a solution for the "everything is a post" problem? ;-)

JSF is cool, and easy to be productive in, but so is Tapestry, WebWork and Spring MVC. I find it somewhat ironic that the Struts committers turned down Shale as Struts 2.0, but they voted in WebWork.

I think component-based frameworks might be the way of the future. However, after playing with OpenLaszlo for the past few weeks - I can't help but think that this is what component-based frameworks should be. Many components, easy to use, and the output is a rich-client out-of-the-box. In addition to the Flash output they have now, I've heard rumblings that OpenLaszlo may support other outputs in the future (i.e. XHTML/Ajax).

It's pretty cool to see continued excitement and innovation in Java. Competition is good, and will only make each of these frameworks stronger and easier to use.

Posted in Java at Dec 12 2005, 02:26:45 PM MST 8 Comments

Awesome weekend

On Friday night, I skipped out on The Spring Experience's activities and headed out for a night on the town with Julie's Aunt and Uncle, who live in Miami. "Uncle Tim" married us and we had a great time - I even talked him into doing his first Irish Car Bomb. The cab dropped me off at my hotel room at 3:20 a.m.

I slept for 2 hours before getting up at 6:00 a.m. to catch my flight back to Denver. I arrived home safely, played with the kids for a few hours, and then headed to Castle Rock for the Virtuas Christmas Party. They had a "murder mystery" show during the party, and it was very entertaining. We left early (8:30) because our babysitter couldn't stay late.

Sunday: woke up, family breakfast at UPC and picked up a Christmas tree at the local Nursery. We decided to wait a few hours before decorating the tree, so I headed to the garage to work on the Bus. Within 5 minutes, I got a call from a good friend asking if I wanted to join them for the Broncos game. "Hell yes!" I said and 30 minutes later I was sitting in the South Stands. The game kinda sucked, but the Broncos won, and the tickets were free. All in all, quite a weekend.

Posted in General at Dec 12 2005, 11:04:56 AM MST Add a Comment

The Spring Experience - what a show!

Last week, I traveled to beautiful South Florida to attend The Spring Experience conference. This show was put on by Interface21 and No Fluff Just Stuff. Keith Donald (from I21) and Jay Zimmerman (from NFJS) were the organizers and both did an excellent job. This was one of the best conferences I've attended this year, and I've been to many.

Well done gentleman, can't wait for the next one. To read my posts from the event, please see the links below:

This week, most of the Virtuas Practice Leaders are at ApacheCon. Let's hope they blog a little about the event.

Posted in Java at Dec 12 2005, 10:41:41 AM MST Add a Comment

North Americans - how's that weather treatin' ya?

I can't help but link to James Halberg's post titled More of the Spring Experience.

Weather on December 9, 2005

To anyone reading this anywhere in the country other than Miami (and especially you suckers in Wisconsin), I would just like to say: ha ha, ha... ha ha... ha. I hope you're enjoying the weather.

Well said James. :-D

Posted in General at Dec 09 2005, 03:01:10 PM MST 2 Comments

New Computer - should I keep it?

HP Pavilion a1250n When I arrived here in Florida on Wednesday, I got a call from Julie saying my Windows Desktop was hosed. When she started it up, she just got a black screen. This is the problem with having a 23" Cinema Display hooked up to a Windows box - you can never see if anything went wrong on startup. I told her she needed to hook up one of my humongous 19" CRT monitors from the basement, and plug it in to see what was wrong. 10 minutes later, she calls me back and tells me the problem: it can't find the hard drive. I walk her though putting in the XP CD and trying to repair the drive, but it doesn't work. I tried to convince her to live w/o e-mail and the internet until I got home, but that didn't fly either.

I got a call from her yesterday afternoon telling me that she'd just bought a computer from Best Buy. I cringed. "Best Buy?", I thought. Knowing my penny-pinching wife, I figured the machine would be a $300 eMachine. However, she sent me a link and I was pleasantly surprised. She bought a HP Pavilion a1250n, which seems to be a dual AMD 64. After further reading, it seems it's a dual-core and not a dual processor. Regardless, I was quite proud that she bought something that I've been thinking of getting. I've used AMD-based machines in the past and they've always seemed much faster than an equivalent Pentium box.

This machine does seem to be a "media center" PC, which is expected when you buy it from Best Buy. But what exactly does that mean? Does it mean it won't make a good development box? We have 14 days to return it, so I'm wondering if I should. I don't really want to buy a new desktop (unless it's a G5), but my 2.6 GHz Dimension 8300 has thrown up quite a few times in the last few months - so I'm probably due. I tried to talk Julie into a G5, but a lot of the software she's using for her new business is Windows-only ... and VirtualPC sucks.

Update: I've decided to keep the box, mainly because my Dell Dimension 8300 is getting old and this one seems much faster. It's unlikely I'll ever have a Mac desktop because we still need and enjoy using Windows for a lot of things. I'd love to, but it just won't fly with the wife - as well as many software vendors out there. To make things a bit speedier, I did buy 4 GB of RAM for the HP today. I'll likely turn my Dell into a Suse box for Subversion, CUPS and Samba.

Posted in General at Dec 09 2005, 09:07:55 AM MST 22 Comments

Sunrise at Bal Harbour

I could get used to starting my day with this view. Don't tell Julie, she's ready to move back here. ;-)

Sunrise at Bal Harbour

Posted in General at Dec 08 2005, 09:19:37 AM MST 1 Comment