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.

RE: Wake a Sleeping Mac (Remotely)

If this is true, and I can wake my Powerbook(s) remotely, it'd be wicked cool. Since I never turn them off (they're always sleeping), remotely waking them would make it seem like they're always on. Crosses fingers and grins.

Update: I got it working using this perl utility. However, it only works if I have an Ethernet cable plugged in. Since I never use an Ethernet cable these days (isn't the whole point of a laptop for the wireless connectivity?), wakeonlan is not an option for me - until the AirPort cards support it.

Posted in Mac OS X at Dec 29 2003, 11:51:17 PM MST Add a Comment

WebSphere version 6.0 - when's will it release?

Today I discovered that WebSphere is one of the first appservers to support J2EE 1.4. Too bad it's a developer release and not a real release. At my current project, we've been developing on Tomcat 4.1.29 (and MySQL) because it's the only platform I've tested AppFuse on. We plan to migrate to WebSphere and DB2 in the coming months. They currently have a license for WebSphere 4.x, which I heard sucks - especially (IMO) because it only supports Servlets 2.2 and JSP 1.1. Luckily, the app we're deploying to production will be the first Java-based webapp, so we will hopefully be able to use WebSphere 5.1.

I just wish 6.0 was out as a real release, then we could start using JSP 2.0 and leave all those damn <c:out value="..."/>'s behind.

Posted in Java at Dec 29 2003, 11:15:14 PM MST 4 Comments

Back in Denver

We arrived back in Denver last night after a nice winter-weather week at the cabin. It's nice to be home and sleep in our own bed. Julie agrees and would add that it's nice to have indoor plumbing again. I hate the fact that I have all this e-mail to plow through and respond to. I like the fact that I'm super motivated to learn new stuff. So motivated that I ordered a few books from Amazon. I hope I can suppress my desire to play on the computer (i.e. blogging, open source) and just learn for the next month or so. On my agenda: Spring, WebWork and a Java 1.4 Programmer Certification. 1 month, 2000 pages - if I can restrain my internet addiction, it should be a breeze.

In other news, I'm pumped to see that IDEA is available for $249. My question is - does that give me a license for both a Windows and OS X install?

Posted in Java at Dec 27 2003, 01:49:15 PM MST 7 Comments

We're off to the Cabin for Christmas

Front Road in the Snow We're heading to Montana this afternoon. Thanks God United now flies directly to Missoula from Denver. It used to be a real fiasco - Denver to Salt Lake (1 hour), two hour layover and then another hour to Missoula. Now it's an easy 1 1/2 hour flight.

It's been a long time since I visited the cabin during the Winter (1996) and even longer since I spent Christmas there (more than 10 years ago). I can't fricken wait. We might have to hike in because my parent's Subaru won't be able to make it all the way (they left it at the airport for us). Julie is terrified. I talked to my parents last night and my Dad broke trail in his '65 Ford, so at least they made it all the way up the road. When we were kids, we had a '73 Toyota Landcruiser that would go through almost any amount of snow. We rarely had enough money to get our 3 mile road plowed out, so it was always a gamble on whether we could drive in or not. The road was usually drivable until about mid-December, and then the snow accumulated too much for the poor ol' Landcruiser.

Up until we could no longer drive, my Dad used to wind that thing up like you wouldn't believe. The Landcruiser, as we affectionately called it, would easily get up around 9000 RPM. All four tires would have chains on them and snow would be flying 10 feet high off all four tires. My sister would be sitting in the middle of the front seats, and I'd be sitting on my Mom's lap. The Landcruiser was a soft top, so it was pretty damn cold and the heater sucked, but that used to be the best carnival ride there was. We were all terrified we wouldn't make it and my Dad was determined to get home, even if it killed the Landcruiser. He wasn't gonna let some piddly little 2 feet of snow keep him from driving home.

We all hated the 1 1/2 mile walk to "the Bus Stop," but when the snow got to be too much, we had walk or ski it. This lasted most of the Winter. This was a real pain when we'd just returned from Missoula and we had to pack all the groceries in on backpacks. But there were times when this walk was truly majestic. When there was a full moon and enough snow to ski. It is truly one of the most beautiful sites - snow everywhere and beautiful fields and trees basked in the warm brilliant light of the moon. All you can hear is the swish-swish of your cross-country skis. It is then that all your worries subside and the world become a perfect place - even if only for the 30 minutes you're on the trail.

Posted in General at Dec 21 2003, 08:46:47 AM MST Add a Comment

AppFuse 1.2 Released!

This is primarily a bug fix release. Here are the details from the release notes:

  • Backed out Http Post for Remember Me. It was not redirecting user to the page they originally requested. Using reponse.sendRedirect does send the user to the proper location. Turned on password encryption (SHA) to protect any passwords that end up in log files. Turned off encryption in Tomcat.
  • Changed configuration parameters in servlet context to be in a hashmap.
  • Improvements to StrutsGen tool to generate list screen as well and to fill in more missing elements.
  • Changed to close Hibernate session when object not found in BaseDAOHibernate.
  • Fixed bug in UserAction.save: when creating a new user, role defaults to "tomcat" regardless of what the user chooses.
  • Dependent packages upgraded:
    • Hibernate 2.1.1
    • Struts Menu 2.1
    • WebTest Build 379

Download (~11.9 MB for src, ~4.3 MB for bin) or View Release Notes.

For more information on AppFuse, check out the AppFuse Wiki Page or FAQ.

Posted in Java at Dec 21 2003, 08:07:27 AM MST

Struts Menu 2.1 Released!

This release is primarily a bug-fixing release, but I also added a couple of enhancements. The first is the variable substitution now uses JSTL, which means two things.

  • You must use a JSP 1.2 container and include the standard tag library in your project for this to work.
  • You can now use "dot" notation in your variables. For example, ${user.name} will now work.

Other enhancements include added support for standalone menus in the Explandable List Menu (no items, just a <Menu>) and highlighting of the last menu clicked.

List of Changes (from http://struts-menu.sourceforge.net/changes-report.html):

  • Changed dynamic variable feature to use JSTL's ExpressionEvaluator. To substitute request parameters, you must use ${param.paramName}, rather than just ${paramName}.
  • Fixed UseMenuDisplayerTag to allow config in menu-config.xml to override the default (as documented).
  • Fixed DisplayMenuTag to continue rendering menu items when Action or Forward lookups fail.
  • Added support for highlighting the last menu selected in the Expandable Menu.
  • Added support for standalone links/menus (no children) to Expandable Menu.
  • Added struts-menu.tld to the binary distribution.

A complete CVS changelog can be found at: http://struts-menu.sourceforge.net/changelog-report.html.

Demo: http://raibledesigns.com/struts-menu
Download: http://tinyurl.com/2aq6k

I realize the JSTL stuff could backfire if users are stuck on an old container. Hopefully, you can simply continue using 2.0 if that's your situation.

Posted in Java at Dec 20 2003, 08:34:56 AM MST 1 Comment

JSF 1.0 - Proposed Final Draft Spec and Beta Reference Implementation

From Craig McClanahan on the struts-dev mailing list:

I'm pleased to announce that the Proposed Final Draft version of the JavaServer Faces 1.0 Specification, and a corresponding Beta release of the Reference Implementation, is now available at:

http://java.sun.com/j2ee/javaserverfaces/download.html

Please send any feedback and comments strictly about JavaServer Faces to [email protected].

I'm also finishing up an update to the Struts-Faces Integration Library, and will be making it available (via nightly builds) very soon. Feel free to ask any questions about how to use Struts and JavaServer Faces here on the STRUTS-USER list.

Sweet! It's almost time to try JSF in a webapp. I'd love to offer a web layer for AppFuse in JSF. But then again, I'd like to offer WW2 and Tapestry options too. I just need to figure out how to give the developer that option when building. The main problem is it'd probably be a pain in the ass to maintain all 4 implementations. But then again, that's what unit tests are for!

In other news, a nice patch has been proposed for the DisplayTag that would give it JSTL's EL support.

Posted in Java at Dec 20 2003, 05:40:02 AM MST 1 Comment

Stop Tomcat from persisting sessions

I can't seem to find the blog post about how to disable Session persistence for a given <Context>. Anyone got a link?

Posted in Java at Dec 18 2003, 09:49:38 PM MST 2 Comments

[ANNOUNCE] Ant 1.6 Released!

Big news baby - the best Java tool in the world has a new release. I don't know that I'll use any of the new features (such as antlib, macrodef, presetdef, ssh tasks), but I do love to upgrade. Downloading now...

Later: It looks like Canoo's WebTest is not compatible with Ant 1.6. Reverting back to 1.5.4.

C:\Source\appfuse\test\web\web-tests.xml:29: Task must be of type "Step": invoke at 
C:\Source\appfuse\test\web\login.xml:1:  is of type org.apache.tools.ant.UnknownElement

Line 29 is: <canoo name="login">. I've notified the webtest mailing list, hopefully there will be a resolution shortly.

Posted in Java at Dec 18 2003, 08:17:01 PM MST 3 Comments

Interested in Java ISP Options

I'm not exactly looking for a new ISP, but I am interested in exploring my options. I'm currently averaging about 10 GB of bandwidth usage per month, and it's unlikely to go down. I only pay around $50/month, so it's not bad, but I wouldn't mind some more RAM. I don't want to administer the server per say - I'd like backups and e-mail setup/config done for me. I don't think I want my own server b/c I don't want to be a sysadmin - I only want to worry about the Java server setup. Below is my ideal setup - please let me know if you think there's other things I should be looking for.

  • Linux
  • 512 MB RAM
  • 1 GB disk space
  • A Fat Pipe (100 MB+)
  • 25-50 GB traffic
  • Tomcat or Resin (Servlet 2.3 and JSP 1.2 at a minimum)
  • MySQL databases (2-5)

Posted in Java at Dec 18 2003, 02:09:30 PM MST 12 Comments