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 "la blue girl episodesorgasm denial web tease". 1,368 entries found.

You can also try this same search on Google.

Vacation in Denver

The Westin Tabor Center This afternoon, Julie and I are heading downtown to checkin to The Westin Tabor Center. Tonight is my company's Holiday Party and we figured it was a good excuse to spend the night out. James Goodwill turned me on to the idea about a year ago. The idea is to take your spouse "on vacation" in the town you live in. It's quite cool, because you rarely get a chance to enjoy the town you live in. We're only doing one night, but Jim recommends you do 2 or 3. The last time we did a vacation in Denver, it was our anniversary and we had a blast.

For the party tonight, we'll be dining at La Fondue, with the Parade of Lights just happens to pass in front of. After that, we'll all be heading to Denverginity. It should definitely be a fun night!

Posted in General at Dec 02 2006, 02:47:35 PM MST 1 Comment

Facelets 1.1.12 Released

From Jacob's blog:

Facelets 1.1.12 was just uploaded to Java.net and includes many small bug fixes for JSF 1.1 (MyFaces 1.1.4) and JSF 1.2 (RI 1.2_03b5).

Download Here

This release is considered 'draft' until users call it stable for production use. More information is found over at Facelets' web site.

In most cases, when an open source project says "more information can be found on our website", you expect to go to the website and see more information. Not so with Facelets. All I could find was this announcement. How about a detailed list of bug fixes?

Update: I found the magic link on the mailing list which I subscribe to with Nabble's RSS Feed.

Posted in Java at Dec 02 2006, 11:48:47 AM MST 1 Comment

How can Nabble be improved?

I recently received the following e-mail from the founders of Nabble:

You are the first person (literally) to recognize the value of Nabble. So far, Nabble has been well received. But it needs more users. There are a lot of open source projects archived on Nabble, but how do we go about letting people know about us? We would like project owners to link to us and skin us like you did with appfuse, but I am not sure how to do it. You know many people in the open source world, so we would really like to hear your thoughts and advice.

For example, should I go and announce Nabble on a project list? If so, should I do it on the dev list or user list? Is this considered OK or spam? Or should I contact the mailing list owner by private email? What nabble feature do you consider most useful to the project owners?

My response to the first paragraph:

I would suggest e-mailing project owners and pointing out projects like AppFuse and Maven that've taken the time to "skin" their forums. I'm guessing you could get some real good traction at Apache because they like to keep everything on mailing lists. People like your forums because they can post (and subscribe to) a single message. AFAIK, you can't do this with any other mailing list archive. Maybe you could write an article for TSS or InfoQ that tells all the features and highlights projects that are using it.

As far as announcing Nabble on a project list, I said:

I would do it on the dev list, but sending private e-mail is probably OK as well. I don't think it will be perceived as spam. Sending it to the dev list might skip a step for the project founder. You could also offer to "skin" forums for folks - so it looks like their project sites. I think the most useful feature for end-users is search and easy browsing. It's *much* better than the archiving/browsing tool that Apache uses.

One thing that might attract for folks is vanity URLs. I don't know if it's possible, but something as simple as appfuse.nabble.com might be attractive to some people, or having some sort of path-based URL, for example archive.nabble.com/java/java.net/appfuse. That way it'd be easier for folks to "guess" the URLs of mailing list archives.

What's your advice? What should Nabble do to get more users? Maybe if folks new about Nabble's RSS feeds, they'd use it more. I'm currently subscribed to Maven, Wicket, Shale and Stripes, just to name a few.

Posted in Java at Nov 18 2006, 12:10:52 AM MST 11 Comments

How do you get open source frameworks past the red tape?

From an e-mail I received earlier this month, with a subject of "Acceptance red tape":

After requesting permission to use the Spring Framework for the business logic and data access layers of an application, how do you fight something like this? Spring is not an approved Framework for the ********** environment. We understand the benefits of the framework. However, we have not certified it in our environment. Additionally, we have concerns that this framework will not gain long standing traction among the J2EE community. We would like to reduce the number of frameworks used in our environment, and do not want to be left with "legacy" frameworks that have little acceptance or support as is the case with the pico container. This is a response from one of our clients after asking about the use of a framework in our development after another vendor had used the PicoContainer without their permission. We have Spring experience and we love it. My responses have been to ask what they have certified that we could use and to ask their business staff to override their tech staff. I'm caught needing to redesign an aging J2EE application with an awfully over-architected original design confined to EJB 2.1, JSP 2.0, Servlet 2.4, and JDK 1.4.X in a very short amount of time. The additional responses were that they have only certified Struts and although both the business staff and the tech staff admit they know the benefits of Spring, neither of them are allowing us to use it.

My response:

Wow - I don't know what to say, especially when they say "Additionally, we have concerns that this framework will not gain long standing traction among the J2EE community." They're probably using Struts and they thinks it's wonderful, eh? ;-)

I could compose a long response with lots of details, but the fact that they prefer EJB over Spring is baffling. Spring is so much easier to program with, it's not even funny. Granted, EJB does have its place, but it's often used as a hammer for a problem that doesn't exist.

Have you experienced similar "Acceptance red tape" in your company? If so, how did you work around or work through it?

Posted in Java at Nov 16 2006, 08:04:24 AM MST 31 Comments

Is XMLC a dead project? Is anyone using it?

From an e-mail I received a while back:

I'm interested in hearing your opinion of XMLC? And when will we see it in AppFuse? ;-) Seems to me that with it's base in xml and all the ajax and SOA hubub that it could be primed for a resurgence. And what about BarracudaMVC as an AppFuse option?

[Read More]

Posted in Java at Nov 15 2006, 10:13:03 PM MST 14 Comments

Hug your kids

I saw this story in the headlines last week. It's a tragic story that I never expected to hit close to home. Today it did. The little girl, Macie, was one of the four girls in Abbie's ballet class. Julie and Jack used to hang out with Macie's Mom and little brother while Abbie was in class. I can't imagine what the father is going through right now.

Hug your kids. There's no such thing as showing them too much love.

Posted in General at Nov 13 2006, 08:57:58 PM MST 2 Comments

Should I rename Equinox to AppFuse LE?

I'm curious to know if folks think I should rename Equinox to "AppFuse LE"? LE stands for "Light Edition" in this context, but I'm open to other suggestions. Even though my Equinox project is ranked higher than Eclipse's Equinox project, it's obvious there's a name clash. It seems to make sense for me to change the name since it's a one-man project and Eclipse is a huge organization. AppFuse LE seems like a good descriptive name, as does "AppFuse Light" and "Spring Kickstart".

Eventually, I'd like to figure out a way to merge AppFuse and Equinox. If users could start with something like Equinox (no features) and plug-in the various features, that'd be pretty cool. Some web frameworks (i.e. Struts 2) have a plugin feature, but most don't. I figure we can leverage Struts 2 for all frameworks, and convert to specific frameworks' plugin features if they're added. Of course, we're also looking at OSGi and Spring's OSGi support for our plugin architecture. The only problem with OSGi is it looks pretty complicated compared to Struts 2's plugin system.

The other advantage of changing the name is I could create a new java.net project with SVN support and not have to pay for the CVS -> SVN conversion. Of course, leaving the name the same also makes it pretty easy as there would be no additional work for me. ;-)

Thoughts?

Posted in Java at Nov 13 2006, 09:36:59 AM MST 20 Comments

DJUG Tonight: Google Maps and Struts 2

If you're in the Denver area, tonight's DJUG should be a good one. Scott Davis is presenting on how to Roll your own Google Maps and I'm talking about Migrating from Struts 1 to Struts 2. I've seen Scott's presentation and it's very good. He explains the basics of CSS and JavaScript so even if you're new to web stuff, you won't be lost.

The nice thing about being the main speaker is I can almost guarantee that the talk will finish on time, pending questions and answers of course. With any luck, we'll be at the Rock Bottom by 8:30. Here's the current agenda:

5:30-6 p.m. Food and Networking
6-7 p.m. Basic Concepts
7-7:15 p.m. Break and Announcements
7:15-8:15 p.m. Main Meeting
8:15-8:30 p.m. Questions and Answers
8:30 p.m. Door Prizes

Update: Download Migrating from Struts 1 to Struts 2 (PDF, 4.7 MB).

Posted in Java at Nov 08 2006, 07:37:46 AM MST Add a Comment

Continuum, Luntbuild, Pulse and NetBeans

Last night, I did a bit of playing with technologies new to me. First of all, I got AppFuse 2.0 running on Continuum. This was was easy enough, I just had to add <scm> information to each pom.xml. Thanks to those who recommended this approach. I thought it was a silly solution until I realized "mvn site" produced the wrong information when <scm> wasn't present for sub-modules.

Since I was playing with Continuous Integration tools, I decided to give Cerberus, LuntBuild, and Pulse a spin. My goal was to give each server the old "college try" and see if I could get them running with minimal effort. I don't know where I heard about Pulse, but it was somehow included in my tests.

Cerberus didn't work with my Cygwin/Ruby setup, so I was done with it quickly. LuntBuild worked pretty well, but the interface and configuration seemed kinda clunky. I also found it strange that it uses a 4.x version of Jetty - seems kinda old. I was surprised to see that it uses Tapestry for its web framework. Pulse was the nicest one with a kick-ass (ajaxified) user inferface, powered by Acegi, WebWork and Hibernate (according to its JARs). It was definitely the easiest to setup and use. While Pulse isn't free for commercial use, it is free for open source projects, as well as small teams.

Summary: Continuum, LuntBuild and Pulse seem to be the best tools for building Maven 2 projects. While CruiseControl works, and works well, it does require you to customize XML from the command line, whereas these tools allow you to do everything through a web interface.

Toward the end of the night, I downloaded NetBeans 5.5 and installed its Maven 2 Plugin. I was surprised at how full-featured this plugin is. I was able to build, test and run the AppFuse web modules in the embedded Tomcat without issues. It's definitely a cool plugin. As for NetBeans, it seemed pretty sluggish and I couldn't figure out how to get Ctrl+Shift+R functionality, which is a must for me these days. Also, I couldn't get the JSF support working for the AppFuse JSF Module, seemingly caused by the Maven plugin (project properties only has Maven options). Since NetBeans works so well with Maven 2, and it's much more full-featured than Eclipse, it seems natural to recommend it to AppFuse 2 users. Of course, I like IDEA a lot more, but there's no Maven 2 plugin that I know of.

Posted in Java at Nov 03 2006, 10:31:19 AM MST 17 Comments

GenericRCP - A GUI for your Hibernate Domain Objects

Peter Schneider-Manzell is an active contributor to AppFuse's documentation and mailing list. Yesterday, he posted a message to the mailing list announcing the 0.3.0 release of GenericRCP.

We (a good friend of mine and myself) started a SpringRichclient based project, called "GenericRCP". With this tool, you can edit your DB directly via your classes and Hibernate. The GUI (Panels / Binding etc...) is generated dynamically out of a JAR, containing the classes and hbm.xml files.

For AppFusers: You only need to import your <.....>-dao.jar, and you can start to edit the values.

You can use this project as a starting point for a customized editor with CRUD functionality and add customized panels / attribute editors for different classes / attribute types, and combinations of them.

Yesterday, I tried GenericRCP with the appfuse-dao.jar from 1.9.4 (XDoclet-based), as well as the appfuse-data-common-2.0-SNAPSHOT.jar (annotations-based) and it worked with both. Nice work Peter!

GenericRCP Screenshot

Posted in Java at Oct 31 2006, 02:01:51 PM MST 2 Comments