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,227 entries found.

You can also try this same search on Google.

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

IDEA 6 on OS X and Out of Memory Errors

Ever since I upgraded to IDEA 6.0.1 on OS X, I've been getting Out of Memory errors like no tomorrow. It seems like it's leaking memory when I'm not even using it. Today, I went to lunch shortly after opening IDEA to do some work. When I came back, I was created with the following dialog:

OOM Error Dialog

I've set my Info.plist to have -Xms256m -Xmx512m -XX:MaxPermSize=256m, but it doesn't seem to help. How has your IDEA 6 experience been on OS X? Are you running out of memory? I haven't had any issues on Windows - maybe it's a problem with the MacBook Pro?

I fully expect the IDE zealots to say "use NetBeans or use Eclipse". Eclipse doesn't support hierarchical projects, so that won't work. I'm willing to try NetBeans if I can run something like "mvn netbeans:netbeans" and if it supports hierarchical projects like IDEA does.

Posted in Java at Nov 02 2006, 08:06:39 PM MST 15 Comments

Upcoming Speaking Engagements

If you're interested in learning about Struts 2 or AppFuse, I'm doing a number of speaking engagements in the next month:

How's that for getting some mileage out of my CSS presentations? ;-)

I don't know who will be doing the Basic Concepts talk at DJUG, but I'm pretty sure Chris Maki will be presenting on JPA at the JBoss User Group meeting.

In addition to these local talks, I'll also be talking at The Spring Experience on What's new in AppFuse 2.0. Since my talk is at 9:30 p.m. on Saturday night, I'm looking into getting some free beer to bribe people into showing up.

Posted in Java at Nov 01 2006, 09:56:18 PM MST 4 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

[CSS 2006] Mike Milinkovich's Keynote

I'm sitting in Mike Milinkovich's Keynote at the Colorado Software Summit in Keystone, Colorado. Mike is the Executive Director of the Eclipse Foundation - his picture can be seen on his IT Conversations page. Mike had fun getting up here - driving through the snow - and waiting on the freeway for a couple hours while the "rock slide" was cleared.

Mike's presentation is titled "All About Platforms, Lessons learned from Eclipse". Mike used to work for Oracle, and he's been at the Eclipse Foundation for 2 years. Before that, he was at WebGain. The company that "would not believe that Visual Cafe sucked". He's been in the Tools Business for a long time, and has never bothered to learn Java. He used to do a lot in SmallTalk and that's they last time he programmed. The "repository thingy" in Visual Age for Java was his fault.[Read More]

Posted in Java at Oct 26 2006, 10:39:24 PM MDT

AppFuse 1.9.4 Released

This release's major new features are upgrading to Spring 2.0, Hibernate 3.2, and Facelets + Ajax4JSF integration for the JSF option. In addition, many libraries have been fixed and a few bugs have been squashed.

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):

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

Note: 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 Oct 23 2006, 10:54:55 AM MDT 11 Comments

The Colorado Software Summit in Keystone

This week I'm speaking at the Colorado Software Summit in Keystone, CO. I love this conference because it's so close to home (only an hour drive) and because it's so relaxed. The organizers, Wayne and Peggy Kovsky, do an excellent job of organizing the show. I've never felt more cared for as a speaker, including the fact that they plan and communicate with speakers for the preceding 6 months to the show. Not only that, but it's in one of the most beautiful places in the world. Check out the view from our condo this morning.

If there's any sessions you'd like me to attend and blog about, let me know!

Posted in Java at Oct 23 2006, 08:56:47 AM MDT 2 Comments

Equinox (a.k.a. AppFuse Light) 1.7 Released!

This release's major new features are upgrading to Spring 2.0, Hibernate 3.2, an Ajax + Spring MVC version, an Acegi Security + Spring MVC version and Struts 2.0 as an optional web framework. It's highly likely that the "extras/security" package can be installed with other web frameworks, but it's only been tested with Spring MVC. Furthermore, this release provided all of the different combinations that Equinox provides - all 50 of them!

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

  • Added extras/spring-ajax with examples of ajaxified displaytag (with AjaxAnywhere), in-place editing (Script.aculo.us), in-page updates (DWR) and lightbox (Lightbox gone Wild) popups.
  • Added extras/security with Acegi Security integration for authentication and authorization.
  • Automated creation and testing of all possible combinations for distribution.
  • Converted from JSP to Facelets for JSF/MyFaces option.
  • Integrated Ajax4JSF into JSF/MyFaces option.
  • Added Struts 2.0.1 as web framework.
  • Upgraded to Spring 2.0, including improved XML syntax and JSP Form Tags
  • Added Cargo settings to pom.xml so it's possible to run web tests from Maven.
  • Changed dataSource bean to use a connection pool.
  • Added popup calendar (using jscalendar) to Spring MVC and Struts 2.
  • Added OpenSessionInViewFilter for Hibernate and OpenPersistenceManagerInViewFilter for JDO/JPOX.
  • Fixed foreign-language encoding issues with Spring's CharacterEncodingFilter.
  • Changed from DAO to Dao to be more consistent with other projects.
  • Dependent packages upgraded:
    • Canoo WebTest 1393
    • Cargo 0.8
    • Commons Validator 1.3.0
    • DWR 1.1.1
    • FreeMarker 2.3.8
    • jMock 1.1.0
    • JPOX 1.1.1
    • Hibernate 3.2
    • MyFaces 1.1.4
    • Spring 2.0
    • Spring Modules Validation 0.5
    • Struts 1.2.9
    • Tapestry 4.0.2
    • WebWork 2.2.4
  • Dependent packages added:
    • Acegi Security 1.0.2
    • Ajax4JSF 1.0.2
    • AjaxAnywhere 1.2-rc2
    • Facelets 1.1.11
    • Struts 2.0.1

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

Demos:

Thanks to all the users of Equinox for making this a great release!

P.S. I'm fully aware that this project's name conflicts with an Eclipse project. ;-)

Posted in Java at Oct 20 2006, 04:28:31 PM MDT 16 Comments

Abbie and Jack - October 2006

Abbie and Jack had their picture taken at school this week. The picture turned out so cute, I couldn't help but post it. It's hard to believe that Abbie was born 4 years ago and Jack is just over two. They sure grow up fast!

Abbie and Jack

Posted in General at Oct 19 2006, 10:16:56 PM MDT 6 Comments

Confluence installed for AppFuse 2.0 Documentation

The last item on the AppFuse Roadmap for 2.0 M1 is setting up the documentation system. I'm still undecided on whether Confluence or DocBook is a better system to use. However, I am certain that using a wiki to document an open source project is the lowest barrier to entry. For more on this topic, see my post from a month ago. In an ideal world, Confluence could be used as an authoring tool, and everything could be exported to DocBook for storing in SVN. Even better, pages that are "core" to AppFuse could be automatically saved in Subversion, and built using Maven's DocBook (or Confluence) support. Who knows, this is still new territory for me, and I feel like I'm losing momentum just thinking about it.

So far, I've installed Confluence 2.2.9 at http://dev.appfuse.org, but this will change in the coming weeks. I plan on eventually moving it to appfuse.org and leaving the demos on the demo.appfuse.org server. Hopefully there won't be too many 404s when we make the change.

Currently, I have Adaptavist's Builder installed for managing/manipulating themes. I've done some work with the default theme, but I think we can do much better. One cool thing I did find was the Page Tree Plugin that allows for Ajaxified tree menus like Stripes has.

Thanks to Atlassian and Adaptavist for the free product licenses.

Posted in Java at Oct 15 2006, 04:54:55 PM MDT 6 Comments