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 "free sex movies for men non blog". 1,226 entries found.

You can also try this same search on Google.

Washington, DC

It looks like I'm going to be in Washington, DC on and off throughout the rest of the summer. Besides the regular touristy stuff, what's fun to do in this town? I'll be traveling with good friends from work, so I'm actually looking forward to the trip(s).

Posted in General at Jun 22 2006, 11:45:51 PM MDT 20 Comments

MacBook Pro Power Management Issues

Last week, during the Denver JUG meeting, my MacBook Pro's battery quit functioning. I got a new one from my local Apple Store the next day. Today, my power cord quit working. Again, my local Apple Store was happy to replace it. I wonder if this is a sign of things to come? It's probably time to backup the whole thing tonight just in case the hard drive is next.

Posted in Mac OS X at Jun 21 2006, 12:57:06 PM MDT 4 Comments

RE: What Web Application framework should you use?

Tim O'Brien has an interesting post titled What Web Application framework should you use?. The first thing I noticed about this post is the permalink. It looks like he started with "Isn't Rails supposed to change...", which makes me wonder what the rest of the title was. In this post, he rags on Java Web Frameworks and the lack of a clear path for choosing one. He ends up predicting that many will stick with Struts 1.x (poor bastards) and those that aren't tied to Java should move to Rails. I don't have a problem with folks moving to Rails, but I would like to comment on the Java Web Framework space and Tim's comments.

He says:

Prediction: The confusion over what is happening over at Struts is going to discourage people from continuing to use it. The Struts team did the right thing in recognizing that Struts 1.x was a dead-end, but that project needs a single public message. Is it Struts Action or is it Struts Faces? Or is it two frameworks capitalizing on the Struts brand name?

I think what is going on in the Struts project is definitely two frameworks capitalizing on a brand name. That was a concious choice on the project's part when they chose to start creating sub-projects. The interesting thing about Struts Shale is it's largely a prototype for JSF 2.0. Furthermore, it was rejected by many Struts developers as becoming Struts 2.0. Why? Because JSF sucks. Especially when used with JSP - which is what most folks are doing.

JSF continues to be the most over-hyped under-used framework in Javaland. If you read the blogs of first-time users, you'll find many complaints and issues on how things work. Granted, most of these problems are with JSP and the implementation, but still. If I were in charge of JSF, I'd dump JSP altogether, bundle Facelets with it and allow more flexible page navigation (including controller-to-page). Don't get me wrong, I like the ideas behind JSF, I just don't like the implementation (or the fact I have to wait years for things to be fixed in the spec).

That being said, I've yet to meet an unhappy WebWork fan. If you find someone that still likes Struts, ask them if they've used WebWork. Chances are they'll say no. As far as Tapestry is concerned, the learning curve is too high. It's been rejected time and time again by my clients because of the learning curve. Are they going to fix this? Yep, they're going to re-write the whole damn thing - again! Every major point release of Tapestry throws backwards-compatibility out the window. Furthermore, I've heard once you get over the learning curve, it's a joy to work with. I've also met people at conferences that've used it over a year and say they're still struggling with its concepts.

Spring MVC - I wish I had bad things to say about it, but I don't. It (obviously) has the best Spring integration, but I've found WebWork much more pleasurable to work with. Sure, Spring has a ThrowawayController, but with a name like that, you can tell it's a second-class citizen.

Inspired by Tim's post, here's my prediction:

Struts Action 2 will be the best choice for developing Java-based web frameworks. Not only does it support JSF, but it's easy to learn, test and use. Furthermore, it seems to be the most often used framework in major software products and web sites.

How's that for a clear message? Struts Action 2 is the shiznit, now let's get back to developing applications.

Disclaimer: This is my opinion with a lot of stuff thrown in to get folks riled up. I've never put a JSF, Tapestry or Spring MVC application into production (except for AppFuse of course), so most of my opinions are likely without foundation. In wonder how many applications Mr. O'Brien has put into production with these frameworks?

Posted in Java at Jun 20 2006, 08:32:41 AM MDT 57 Comments

#8 on Google

It's amazing what a blog can do for your name. I wonder why Photo Matt got bumped from #1 to the 2nd page?

Posted in General at Jun 16 2006, 08:48:29 AM MDT 6 Comments

[DeRailed] Denver Rails User Group Meeting

Last night, Francis (Virtuas' Operations Manager) and I went to the local Rails User Group meeting, better known as "DeRailed". This group was started by a good friend of mine, Fernand Galiana, who obviously doesn't know how to blog. ;-) Since Virtuas is a sponsor, and I really like Rails technology, I felt like it'd be a fun meeting to attend. I wasn't disappointed.

The meeting was held 3 blocks from our offices at the downtown Tattered Cover. The first presentation was by Doug Fales, and he talked about his new soon-to-be-launched site called WalkingBoss. With this site, he integrates GPS Data (GPX files) and Flickr photosets to allow you to easily plot your trips on a map. It looks very easy to use, and somewhat inspired me to get a GPS device, and possibly a new (smaller) camera. Doug's blog has more in his most recent post. Unfortunately, I don't see that his blog has permalinks, so this might be hard to find in the coming weeks.

The 2nd talk was Ruby Meta Programming and was presented by Ara Howard. Since I don't know a whole lot about Ruby, this talk was over my head, but somewhat interesting nevertheless. There was about 20-25 people that showed up for this meeting and I found it to be a much younger and more down-to-earth group than the local DJUG. Furthermore, almost everyone went out for beers at the Rock Bottom afterwards, which is a lot different than DJUG (10-15 out of 75-100 usually go). Good meeting, good group of guys. Thanks Fernand!

Posted in Open Source at Jun 16 2006, 07:37:20 AM MDT 1 Comment

DJUG Tonight: Portals, MyFaces and Dojo

Tonight's Denver JUG meeting should be a good one. Scott Ryan is going to do a presentation on Portals, followed by Bill Dudney on integrating MyFaces and Dojo. Both presentations look interesting, but I really like what's in Scott's description:

The real questions is what really makes up a portal and what makes it different from just a normal AJAX enabled website. In this basic concepts presentation we will look at the components that make up a modern portal framework. We will look at the common architecture of this framework and what pieces and parts you should expect to find inside a portal framework. We will examine several commercial and Open Source portal frameworks including PHP and Java based portal framework. We will look at some of the tools that enable you to develop and configure a portal and if we have time we will look at installing and developing with a common open source portal framework.

With any luck, I'll be able to blog both talks.

In case you weren't aware, Scott has also done a fair amount of work migrating AppFuse to Maven 2, along with Brian Topping. Scott has put together an appfuse-maven-plugin and Brian has converted an existing AppFuse project to Maven 2. Read more about the move to Maven 2 in this mailing list thread.

Don't forget the best part of DJUG - networking at the Rock Bottom Brewery!

Posted in Java at Jun 14 2006, 09:34:02 AM MDT Add a Comment

Seam 1.0

I've posted my thoughts on Seam 1.0 to my Virtuas blog. What are your thoughts?

It's great to see the release of Seam 1.0. Seam is similar to many full-stack frameworks like Rails, Rife and AppFuse in that it gives you all the pieces you'll need to build a kick-ass web application.

I've blogged my thoughts on Seam before, so there's no need to do that again. I like the idea, especially the lack of interfaces and the 3-files-for-each page idea. However, I don't know that this concept will fly with Java developers. I agree there's a need to simplify, but many of us are mesmerized by the de-coupling that Spring gives us. So now we're programming to interfaces, and every-so-often swapping implementations. I don't know that we can switch to this simpler model. And then there's the "EJB" thing. I think there will be a fair amount of developers that don't use EJB3 simply because it has the "EJB" name. The best thing the EJB Expert Group could have done for EJB3 would be to give it a new name.

The other thing I worry about with Seam is that it wasn't developed from an existing application. AFAIK, it didn't get extracted from a real-world application that had all the problems that Seam solves. I know that Gavin is a smart guy, and he's probably seen these problems in the real world, but there's nothing like developing a real-world application with a technology - and then extracting the framework from that.

In reality, I'm probably jealous. Seam has some really cool features, JBoss has done a great job of marketing it, and it seems to be a really cool way to develop applications. If I'm going to make AppFuse a direct competitor to Seam, it's gonna be quite the uphill battle.

Posted in Java at Jun 13 2006, 04:45:48 PM MDT 5 Comments

Integrating JCaptcha with Acegi and AppFuse

Jason Thrasher has put together a nice howto for integrating JCAPTCHA with AppFuse via Struts. If you're interested in making your application more secure for signup or authentication, check it out!

Posted in Java at Jun 13 2006, 01:43:29 PM MDT 2 Comments

[ANN] AppFuse 1.9.2 Released

This release includes CSS Framework integration, EMMA code-coverage support and AppGen sub-package support. Thanks to the CSS Framework Design Contest Winners, Doug Hays and Mika Göckel for their help with this release.

To install and configure AppFuse for development, see the QuickStart Guide. Thanks to all the sponsors who have contributed products and free hosting to the AppFuse project.

To see how AppFuse works, please see the following demos (username: mraible, password: tomcat):

TIP: If you login as an administrator, you can change the theme by appending ?theme=themename to the URL. The default theme can be set in web/WEB-INF/web.xml.

Comments and issues can be sent to the mailing list or posted to JIRA.

NOTE: This release contains Acegi Security 1.0 RC2 rather than the recently released 1.0. This is because a couple issues were found with the 1.0 release. When Acegi Security 1.0.1 (or 1.1) is released, all AppFuse users are encouraged to upgrade.

This (hopefully) marks the last release from AppFuse 1.x. AppFuse 2.0 development should start shortly. See the roadmap for more details. I'd like to say it'll be done in the fall, but I already said it'd be done two months ago. ;-)

P.S. For those of you that won the CSS Framework Design Contest, I'll be contacting you within the week to get you your prizes.

Update: If you're building AppFuse on Linux, you should be aware of some non-English encoding issues. The solution is to add something like the following to your ~/.bashrc file.

export LC_CENGINE=en_US
export LANG=en_US
export LANGUAGE=en_US

Posted in Java at Jun 06 2006, 03:24:59 PM MDT 15 Comments

[ANN] AppFuse 1.9.2 RC1 Released

AppFuse The primary reason for this release is to integrate Mike Stenhouse's CSS Framework. Since this involves many UI changes, we're publishing a release candidate that uses Herryanto Siatono's "simplicity" theme. For the final 1.9.2 release, we hope to offer themes from all the CSS Framework Design Contest Winners.

To install and configure AppFuse for development, see the QuickStart Guide. Thanks to all the sponsors who have contributed products and free hosting to the AppFuse project.

To see how AppFuse in action, please see the following demos (username: mraible, password: tomcat):

Comments and issues can be sent to the mailing list or posted to JIRA (please use version 1.9.2). Hopefully we can release 1.9.2 final in the next week or so.

Update: I've finished a first stab at integrating the puzzlewithstyle and andreas01 themes. I've only tested these in Firefox so far, but you can see them in action on the demo site using the webwork and jsf flavors.

Update 2: 1.9.2 Final has been released.

Posted in Java at Jun 02 2006, 03:54:17 PM MDT 8 Comments