Matt RaibleMatt Raible is a Web Developer and Java Champion. 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.

The Web Framework Smackdown Questions

I'm doing my Web Frameworks Smackdown this morning at TheServerSide Conference. A few weeks ago, I asked What Would You Ask the Web Framework Experts? on Javalobby and LinkedIn. Here's a summary of those questions:

  • What is the overall performance of your framework as it compares to others?
  • How does your web framework position themselves in relation to Web Beans?
  • How easy is it to create a re-useable component in your framework? Is it as easy as sub-classing an existing component?
  • What is the key differentiating characteristic of your framework that makes it better than the rest?
  • What do you think about the various scopes introduced by Seam, e.g. conversation vs request or session? If you support these additional scopes, do you also provide some sort of concurrency control?
  • Why can't we, the Java Community, come together and adopt the best application framework and settle the web development subject?
  • What are you doing to help with developer productivity?
  • 2008 is a huge year for the mobile web. How do you help developers build great mobile web applications?
  • If you couldn't use your framework, what would you use and why?
  • How do you enable rich Ajax applications?
  • Can a developer make a change to source, and hit RELOAD in the browser to see the change? If not, why not?
  • What do you think about the whole Flex revolution, and do you think you are competitors to this technology?
  • How easy is it to create a module and plug it into a bigger application, complete with configuration, code, and view?

Of course, there's many more questions on the aforementioned pages, these are just some that I hope to ask during the panel. Sitting on the panel: Don Brown (Struts 2), Keith Donald (Spring MVC), Ed Burns (JSF), David Geary (GWT), Geert Bevin (RIFE/OpenLaszlo) and Justin Gehtland (Rails). I tried to get Flex and Grails folks, but they'd either left the conference already or are speaking at the same time.

Update: InfoWorld has some modest coverage of this event in Web frameworks debated at TheServerSide Java Symposium.

Posted in Java at Mar 28 2008, 10:04:02 AM MDT 14 Comments

TSSJS Vegas Begins

This morning, I woke up early and headed down to the opening ceremonies for TheServerSide Java Symposium in Vegas. Joseph Ottinger and Eugene Ciurana kicked off the show and welcomed the seemingly large audience of Java Developers. After the introduction, Neal Ford delivered a keynote titled Language-Oriented Programming: Shifting Paradigms. You can download Neal's presentation from the TSSJS Wiki (requires creating an account).

I started live-blogging Neal's keynote, but quickly gave up when I realized it was going to be a very good talk and I'd miss the essence of it if I tried to write it down. So I closed my laptop, sat back and enjoyed. Neal is an excellent speaker and did a great job of telling a story of the next evolution in Java Development. First off, he talked about artwork, the Renaissance and the Age of Enlightenment.

The plethora of Frameworks today is similar to the Renaissance (where everyone painted Madonna and Child) in that they're all very similar, and most of them are configured with XML. XML is the external DSL that configures the framework and its needed to allow late-binding and flexibility. The reason folks use XML is because of Java's limitations as a language. There are better mechanisms (languages) to construct this DSL. He gave examples using Ruby and Groovy. Furthering the notion of DSLs are Language Workbenches that allow programmers to write DSLs that are IDE-aware, so tools like IntelliJ IDE can offer code completion and such. If DSLs are the next evolution of programming, then tools like IntelliJ's MPS (to be open sourced before year end) are going to become very important.

I think one of the most important things I took away was that the building blocks for the next generation of development is already there. Neal referenced Ola Bini and his idea of the Polygot Language Platform. He showed the following image of what the Polygot Platform might look like, where the Stable Layer is written in Java, it has a low-ceremony/dynamic language on top of it, and then a DSL that pertains to the particular application. If we start developing using this type of platform, we'll quickly move into our own Age of Enlightenment - where we're still using all the frameworks, we're just putting a prettier face (DSL) on them.

Ola's Layers

This was a very good talk that I enjoyed immensely. I'm glad I sat back and listened instead of typing like mad.

After Neal's Keynote, I went to Brian Goetz's talk on Java Performance Myths. In this session, Brian talked about how object allocation is no longer slow, benchmark frameworks are often flawed, (uncontended) synchronization is not slow and a couple other things. The room was packed and 10-20 people ended up standing up in the back. I didn't learn anything revolutionary as this talk seemed to be written a couple of years ago.

Following Java Performance Myths, I headed to my room to get some work done. On the way, I discovered the "gas is out" at the Venetian and it's recommended folks go across the street to eat lunch and such. I'm about to head back to the conference to grab some grub - it'll be interesting to see if this situation has caused any lunch chaos.

Posted in Java at Mar 26 2008, 02:06:11 PM MDT 2 Comments

Audi A6 Quattro

A few weeks ago, a friend recommended I join Hertz #1 Club Gold. His reason was simple - you can walk out of the airport, read your name on a board, jump in the car and go. No talking to anyone, just get your rental car and you're on your way. It sounded like a good idea, so I signed up.

Audi A6 Last week, I went online to reserve a car for this week's trip to Mountain View. I chose the cheapest car, and was subsequently prompted to choose an Audi A6 from their "Prestige Collection" for less money. I went for it.

This morning I hopped in the car at SFO and was immediately impressed. It's probably one of the nicest cars I've ever driven. It's not as fast as the Cayenne Turbo I drove for a week in Florida a couple years ago, but it's certainly a slick car. You can even talk to it to get it to change radio stations and such.

It's too bad I only have the car for one more day. I'm heading to TSSJS tomorrow night in Vegas. I wish there was a way to cancel my flight and drive instead.

Posted in General at Mar 24 2008, 11:43:23 PM MDT 7 Comments

An Irish Pub moves into the Neighborhood

In August 2006, I described how happy I was to be living in the DU Neighborhood and how we had so many good restaurants around. Today, I discovered there's a new Irish Pub that opened this week. While I don't live in the same house that I did in August 2006, I still live close by, a mere 5 blocks from Julie's house. While the old location was excellent, with Sushi, Indian and Liquor on the same block - my new location is 6 blocks from the Light Rail and a 1/2 block from the Elementary School Abbie and Jack will attend next year. DU is 5 blocks away - which is great for hockey games and gym memberships.

Why am I rambling on like this? I don't know, I just wanted to write down how much I like this neighborhood. With Spring starting yesterday, a beautiful day today and DU beating North Dakota last night - life is very good.

Today's agenda: skiing with the kids at Copper. WCHA Championship tonight.

Posted in General at Mar 22 2008, 09:25:43 AM MDT 3 Comments

The Thin Server Architecture Working Group

From The Wisdom of Ganesh:

Peter Svensson has set up a website where like-minded people can discuss the brave new world of applications whose common characteristic is that no aspect of presentation logic resides on the server side. I admit that's an overly broad-brush generalisation, and it will be necessary to read what the various authors of this camp have to say.

I thought about doing something similar when I first read about SOFEA. I'm glad to see that someone has taken on this challenge. However, doesn't it seem ironic that this site doesn't use SOFEA/SOUI for its own architecture?

IMO, if this site isn't written with some sort of SOFEA-based framework like it advocates, it's pretty much worthless.

Posted in The Web at Mar 19 2008, 09:23:56 AM MDT 2 Comments

I Got Lucky

Earlier this evening, I decided to upgrade my work laptop to Safari 3.1. Shortly after restarting, I was greeted with the Gray Screen of Death. To fix, I rebooted. Same result. 3rd time is a charm, right? Nope.

/me this is really going to suck, I'm going to have to give up my laptop for several days to get it fixed. Furthermore, this is my only machine authorized to VPN into LinkedIn's network. Looks like I'm going on vacation for the rest of the week.

Rather than trying to rescue the OS or upgrade it to Leopard, I decided to watch TV for an hour instead. When I came back, I disconnected the machine from its monitor and tried rebooting on battery power. Voila - it worked!

Now I'm in the process of using my old friend SuperDuper!.

I got lucky... when was the last time you backed up?

Posted in Mac OS X at Mar 19 2008, 01:18:02 AM MDT 5 Comments

The AppFuse Primer is now available!

From David Whitehurst's blog:

The AppFuse Primer Cover The AppFuse Primer is published! And, you can order your copy today. It's been a long road getting this done, but I'm excited about it and I hope you will be too. Please visit the site and consider the purchase of a copy today at http://www.sourcebeat.com/books/appfuse.html.

For more information, see SourceBeat's Press Release.

This book is as up-to-date as you can get. While I hope to do another AppFuse release in the coming months, this book should be up-to-date for quite some time.

Posted in Java at Mar 18 2008, 12:47:15 PM MDT 1 Comment

Proposal accepted for OSCON 2008

OSCON 2008 From an e-mail I received earlier this afternoon:

We are pleased to accept the following proposal for OSCON 2008.

* Web Frameworks of the Future: Flex, GWT, Grails and Rails

It has been scheduled for 16:30 on 23 Jul 2008.

My Abstract:

What if the choices in web framework was reduced to 4? If RIA are the way of the future, it's possible that these 4 frameworks are the best choices for this development paradigm. This session will explore these frameworks, as well as entertain many other's opinions on the future of web development.

RESTful backends are easy to create with both Rails and Grails. Ajax frontends are simple to create and maintain with GWT. Flex gives you flash and a pretty UI. If you're an HTML developer, Rails allows you to quickly develop MVC applications. If you're a Java Developer, GWT + Grails might be a match made in heaven. This session is designed to help you learn more about each framework and decide which combination is best for your project.

I'm really looking forward to learning about GWT and Flex in the coming months. If you have any experience (or opinions) about the abstract above, I'd love to hear it. The louder the better.

For those who haven't been, OSCON is one of those truly special conferences. Possible reasons:

I'm going for all 4 reasons and even made a reservation to stay at The Kennedy School. Should be a fun show.

Posted in Open Source at Mar 17 2008, 07:21:10 PM MDT 9 Comments

Lake Chelan

Today I woke up in beautiful Lake Chelan, Washington. It's a 50-mile long lake that's nicknamed "Microsoft's Playground" because all the Microsoftees vacation here. Here's the view from our condo this morning:

View from Our Condo

My Mom, Dad and I are all in town to celebrate my sister's birthday (on St. Patty's Day).

Today's agenda: Wine Tasting. ;-)

Posted in General at Mar 15 2008, 12:39:26 PM MDT 1 Comment

My Entire Family is now on Macs

24 Inch iMac I bought my first Mac in January 2002. I had dreamed about a PowerBook for years before buying it and was very excited when it arrived. A couple days later, I discovered it was practically worthless because it was so slow for Java Development. I used it for pictures and music, but not much else. Through the years, I owned a couple more PowerBooks, but rarely found them fast enough to use on a day-to-day basis. I kept doing most of my development on Windows.

In January 2006, everything changed. I kept my Windows box around at home, but mostly because it was connected to my 23" monitor and I didn't feel like switching things out. When I moved last summer, I put my Windows box in a closet and bought a 30" monitor. I've hardly touched that Windows box since. Of course, it helps that I have Parallels installed on my Mac.

Now I have two MacBook Pros (a 17" I bought and a 15" that LinkedIn gave me). Last year I convinced my sister to buy a MacBook. Time I've had to spend in the last year helping her fix it: 0 minutes.

Yesterday, I took my Dad to his local Mac store and helped him buy a 24" iMac.

The Raible Family is now an all-Mac family and I work at an all-Mac company.

Life is good.

Posted in Mac OS X at Mar 13 2008, 11:27:17 AM MDT 7 Comments