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 "java". 1,588 entries found.

You can also try this same search on Google.

DWR and Script.aculo.us now included in AppFuse and Equinox

Last night, I integrated DWR into both AppFuse and Equinox. AppFuse has had Script.aculo.us integrated since 1.8.2 and it's been great to work with - so I added it to Equinox as well. I added these with the philosophy that it's easier to remove them than to add them.

Thanks to Joe Walker (DWR), Thomas Fuchs (Script.aculo.us) and Sam Stephenson (Prototype) for authoring (and supporting) these great open source projects.

Next up: integrating Ivy (or Maven 2's Ant Tasks) for downloading dependencies. Hopefully both will still allow bundling JARs in a release so both AppFuse and Equinox can stick with the 1-download-to-get-everything philosophy. The main reason I'd like to integrate a dependency downloading tool is to reduce AppFuse's size in CVS, as well as make it easier to upgrade dependencies.

Posted in Java at Oct 10 2005, 09:40:33 AM MDT 14 Comments

Java in Action Presentations and OS Rot

I think I have a serious case of OS Rot on my PowerBook. Despite the fact that it's been extremely slow lately, I went ahead and used it to deliver my Comparing Web Frameworks talk at Java in Action. I was a little hesitant when I agreed to do this talk - mainly because it required me to stretch a one-hour presentation into a 3-hour presentation. I figured the best way to take up all that time would be to do some live coding. So I recorded a whole bunch of "Live Templates" in IDEA and went in to the talk thinking I could pull it off. To say the least, my Mac didn't cooperate and the "live coding" I did failed miserably. JR Boyens hits the nail on the head in his review. Cameron only attended the first part (before the live coding started) and it looks like I did pretty good in the first hour.

Lessons Learned: 1) Have a backup plan and 2) don't do Comparing Web Frameworks as a 3-hour tutorial. I've never had a backup plan in the 2 years I've been speaking at conferences. I've been pretty lucky though, my demos have always worked. I was due for a failure. For my afternoon session about Ajax and Spring, I moved all the live coding stuff to the Dell laptop I had with me. This worked much better, but I was again spat on by the Demo Gods and over half of my demos failed to work. Oh well, I guess it just wasn't my day.

The good news is that all the demos are available online. The master/detail applications I developed are already part of Equinox, and the Ajax demo is available at http://demo.raibledesigns.com/equinox-ajax. Features include an ajax-ified Display Tag with AjaxAnywhere, an editable text with script.aculo.us (click on a user's first name in the table), in page updates with DWR (on the detail screen) and a zip-code autocomplete/city-state auto-populate with script.aculo.us and DWR. If there's any interest, I can write up a tutorial on how each feature was constructed. In the meantime, you can download the equinox-ajax project from java.net.

After my Ajax talk, I was approached by a couple of the AjaxTags developers, and they showed me some very cool widgets they're working on. I definitely plan on digging into this project in the very near future.

Posted in Java at Oct 09 2005, 03:20:45 PM MDT 1 Comment

Made it to Java in Action

I just arrived at Disney's fancy "Yacht Club" for the Java in Action show. Today was a fun day - Julie and I took Abbie and Jack to Magic Kingdom and had a great time. Abbie got to meet Mickey Mouse, Winnie the Pooh, Eor and Tigger. She was scared of Mickey, but warmed up to Pooh and friends pretty quickly. It was weird - it kept raining off and on throughout the day, but it didn't seem to put a damper on anyone's spirits. Unlike Colorado, rain doesn't cool anything down. In fact, the humidity seems to crank the temperature up a notch or two.

Tomorrow is a full day - I have a 3 hour tutorial on web frameworks in the morning, followed by an hour of Ajax + Spring in the afternoon. After that, it's back to vacation-mode until I return to Denver next Tuesday.

I'd post the slides from my talks, but they're starting to make less and less sense (in downloadable form) as I add more images and less bullets. Besides, I plan on coding and conversing for most of the talks. That's the fun part of speaking at conferences - who wants to listen to a presentation anyway? Why does the good conversation have to take place in the hallways? Can't it happen right in the room?

Posted in Java at Oct 06 2005, 04:15:17 PM MDT 5 Comments

The Busy Season Begins

I never thought the 4th Quarter would be the busy season, but it is for me this year. Tomorrow marks the beginning and it won't end until after The Spring Experience is over. My current schedule is that I'll only be in Denver 2 weeks in the next 2 1/2 months! Of course, I'll be home on the weekends, but I'll be on the road the rest of that time. Most of the travel is for conferences, but a few weeks is for clients, as well as a couple weeks of remote work/vacation. I'll be traveling to Florida (twice), Keystone (Colorado), San Francisco and New Jersey.

In that same time span, I'll be speaking 15 times. 2 times at Java in Action next week, 6 times at the Colorado Software Summit (in two weeks), twice at Denver's No Fluff, at the Gator and Orlando JUGs in November/December, and 3 times at The Spring Experience. Phew! That's a lot of talking. Conferences are fun though, especially since you only have to really work for the hour or two while you're talking.

The last part of the whole roadtrip should be a really good time. We're heading down to West Palm Beach (Florida) for Thanksgiving and staying for 3 weeks. I'll be working remotely, swimming in Julie's Mom's pool, speaking at the JUGs and ending it all at the Spring conference.

If you're going to any of these shows, let me know. I'm always up for a beer. ;-)

Posted in Java at Oct 02 2005, 12:17:25 PM MDT 2 Comments

New Laptop

When I saw Russell's Why I Might Switch Back... post a couple of weeks ago, I found myself wanting to write a response. My response was going to be I completely agree and I was going to bitch about how slow my PowerBook is (once again). Then, later that day, I was doing something with iPhoto and I thought - I really do like OS X. It's the Mac hardware that I don't like. And it's not the look of the hardware (I love that), it's the fricken speed!! Most PowerBook users I know don't switch b/w computers a whole lot - whereas I spend 50% of my time on a fast Windows desktop. When I go from something that's so fast to something so slow, it's quite painful.

Last week, I started working with a new client - developing an application with Spring, Hibernate, WebLogic and Eclipse. Installing WebLogic on OS X was pretty easy, thanks to this article. Even remote debugging with Eclipse was pretty easy to setup. However, when I started running WebLogic locally and trying to debug it with Eclipse, it was extremely frustrating. I've never seen the spinning beach ball so much in one day. When other developers would watch me work, it was embarrassing how slow my computer was. And it's not like I had a whole lot running: Mail, Safari, Eclipse, WebLogic and iTerm.

Over the past couple of months, I've started debating if my next laptop should be a PC. It's not like I hate the Mac or don't like my PowerBook - but Java development on a Mac is far slower than on a PC equivalent. The problem is that I really like the PowerBook's form-factor. I'm so comfortable using the keyboard, right-clicking with the Control key, and all that jazz - that I'd probably have a hard time adjusting. I realize that a lot of my PowerBook bitching might seem unfair - as I'm often comparing a Desktop to a Laptop.

What I'd really like is two laptops: a PowerBook for doing all non-Java stuff and a PC for doing Java stuff.

My dreams came last Friday when my client handed me a brand new Dell Latitude D610. It's got Windows 2000, a 1.6 GHz CPU and 1 GB of RAM. To be honest, I expected it'd have a lot bigger processor. However, the fact that it doesn't makes it easier for me to show you how fricken slow my PowerBook is.

I used AppFuse for this test and ran ant clean war 3 times on each. I had ANT_OPTS set to -Xmx256m, JAVA_OPTS set to -Xmx512m and I'm using the latest 1.4.2 JDK available for each respective platform. It's possible my PowerBook suffers from some OS Rot, but it's still amazing how much faster the Windows laptop is.

  • PowerBook: 58.3 seconds
  • Latitude: 17.3 seconds

Holy ass-kicking batman!

My PowerBook has a 1.33 GHz CPU and 1 GB of RAM. It'd be interesting to do the see the numbers for a PowerBook with a 1.67 GHz processor. Here's to hoping OS X with a 1.6 GHz Intel processor can keep up with Windows for Java development.

Posted in Java at Oct 02 2005, 11:25:17 AM MDT 25 Comments

Denver Tech Meetup on October 13th

From Stephen O'Grady:

For the Colorado residents in the audience, I'm pleased to inform you that I've finally scheduled the first of what will hopefully be many Denver Tech Meetups. The theory behind this is simple: there are meetups for just about every possible group out there, be it a company, database, development language or operating system, but nothing that I'm aware of that that brings folks from all of those different areas together, in one place. This is my attempt to rectify that particular problem, while having a few beers in the process.

If you'd like to attend, drop your email in a comment and I'll shoot over the Evite (you can join Larkin in laughing at me for using one of those), but otherwise it's Thursday, October the 13th, 6:30 PM at the Wazee Supper Club.

Bruce and I talked to Stephen about this a few months back. It's great to see the idea coming to life. Well done Stephen! I especially like the part about skipping the meeting and going directly to beers. ;-)

In related news, the Great American Beer Festival is in town this weekend. We're going tonight. 1,669 beers on tap is too good to pass up...

Posted in Java at Sep 30 2005, 06:17:55 AM MDT 2 Comments

JBoss Announcement next Tuesday

Any idea what the JBoss Announcement will be next Tuesday? Since he's laughing at Oracle, I'm guessing they hired a prominent MyFaces developer - or they've "acquired" a prominent database developer (i.e. PostgreSQL). What's your guess? Will it really be that impressive, or just impressive for JBoss employees?

Posted in Java at Sep 23 2005, 04:20:23 PM MDT 9 Comments

Hibernate Relationships with XDoclet Tutorial

I finally got around to finishing the Hibernate Relationships tutorial for AppFuse today. This initial version includes a howto for creating the UI with Struts. In the future, I'll add sections for creating the UI with Spring MVC, WebWork, Tapestry and JSF. Those should be easy now that the hard part is done. This is a first cut at this tutorial, so it's likely there's issues, bugs and things I did wrong.

Now it's your turn. If you have a chance, please try it out and let us know how we can improve it.

Posted in Java at Sep 23 2005, 11:51:50 AM MDT 2 Comments

Seam

I have to admit, there's something about Seam that intrigues me. Maybe it's because they put up a really nice-looking demo (I'm a sucker for eye-candy), or maybe it's because it seems to be well documentated, or maybe it's the fact that it's based on J2EE standard technologies (EJB3 and JSF). It could also be that I greatly respect the work of Gavin King (who's always been respectful to me when I asked Hibernate questions back in the day).

It could be the lack of configuration, but I think it's the simplicity that gets me. A POJO (Entity Bean), a Session Bean for your business logic, and a view page (w/ Facelets no less, which is very cool). Other new frameworks this year include Wicket and Stripes. While these frameworks look cool, I really like the idea of a full-stack framework much better (I do use AppFuse after all). Well done Gavin - Seam looks very cool IMO.

On a related note, I upgraded AppFuse to MyFaces 1.1.0 yesterday w/ minimal effort. You can grab the latest from CVS if you'd like to get started with MyFaces quickly.

Posted in Java at Sep 21 2005, 10:00:28 AM MDT 15 Comments

The Display Tag Project is not dead

Despite the lack of support and code contributions, it's good to know the Display Tag project is not dead. Fabrizio has been doing a lot of refactoring lately, including Maven 2 integration and support for long lists. Nice work Fabrizio! In addition, it's good to see all the activity on the mailing lists. Thanks to all of you that've been answering questions.

Posted in Java at Sep 19 2005, 05:47:53 PM MDT 8 Comments