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.

Hibernate 2.0 Final this weekend?

From Gavin on the hibernate-devel mailing list:

I plan to release Hibernate 2.0 final this weekend.

It would be nice if, at the same time, we have all the other "bits" built
and available for download:

* a special XDoclet build (I need to clear this with xdoclet team)
* avalon wrapper
* tools package (mainly for the sake of CodeGenerator)
* middlegen plugin (DONE)

The XDoclet team has also been trying to get out a new release - they don't seem to be having much luck though. That's the problem with these open source projects - they take too much time, with little or no ROI for the developer(s). I dream of a day that the company I work for actually pays me to work on Open Source projects. Maybe I just need a new client for Raible Designs, and then I'll just pay myself to work on OS!

Posted in Java at Jun 04 2003, 09:23:48 AM MDT Add a Comment

Validator Presentation and Struts Cocoon Plugin

Chuck Cavaness, author of O'Reilly's "Programming Jakarta Struts" book, gave a presentation to the Struts Atlanta User Group last week. [Download PDF, 41 pages]. Chuck also announced the availability of the Jakarta Struts Pocket Reference by O'Reilly.

This purpose of this small (144 pages) book is to provide a quick way of looking up often-used information and have it small enough to shove in your back pocket. Information like config files settings, built-in action usage and especially tags is covered. In fact, 100 of the 144 pages are dedicated to how to use the tags, including examples of each. [More Information, Table of Contents, Sample Chapter].

I don't see why you would need this book as the online docs and Google have always provided everything I've needed. Maybe it'd be nice if you lacked an internet connection. In other news, Don Brown (from Struts Training: Week 5), has released a new version of the Struts Cocoon Plugin.

The plugin that allows Struts actions to forward requests to Cocoon has been updated and released as 0.2 This time it is released as a full release rather than a developer prototype, complete with better documentation. Cocoon support has been updated to version 2.1M2 More information can be found at: http://www.twdata.org/struts.

Don has also put together a sample website for the Struts Applications Project at SourceForge.

The site is built using Forrest which is based on Cocoon. Forrest is used to build xml.apache.org, which being in similiar purpose to us, makes a great template for a project site. I took their sources from their CVS and modified them to suite our purposes. One of the big advantages is the site is 100% static HTML so it could be hosted at Sourceforge easily. BTW, anyone wanna throw together a logo? [Discussion Thread]

Posted in Java at Jun 04 2003, 07:52:21 AM MDT 1 Comment

Reading Ports and Frames in Java

My dad has an issue that maybe y'all can help with. He needs a class or library that can read from ports, addresses, and a "frame" (including the header). I asked him what he meant my all this, and here's what he wrote back.

In Pascal it would be a Procedure that reads a location. The location being an address or a hardware port like an RS-232 port, as opposed to a socket or Port 80 for HTML.

Ethernet transfers data in Packets or Frames and you can limit the size of the frame (fragment for optimal efficency); although, Ethernet (802.3) including 802.11x have a maximum size packet (Frame). The nomenclature changes according to the OSI Model Layer you're reading from.

Any ideas?

Posted in Java at Jun 03 2003, 11:43:30 PM MDT 2 Comments

Struts Menu now supports tabbed menus!

I uploaded a new demo of the tabbed menu system. This one uses url-matching to determine which menu to activate. If it finds more than one menu item (that matches the current URL), it falls back on a cookie that is set when you click on a link. Seems to work pretty well. Better than the last demo which didn't support clicking the "back" button.

And for you struts-menu users, this menu is soon to be available as a Displayer. I haven't checked it into CVS yet, but here's a working demo. Hope you enjoy! Let me know if you find any bugs.

Update: I checked everything into CVS and also added support for Struts' forwards in menu-config.xml. So now there are three choices when defining a URL for a menu/item:

  • location: uses the exact value you specify.
  • page: pre-pends the contextPath to the value you specify.
  • forward: looks up the path of the forward in struts-config.xml.

You can download the latest struts-menu.war if you want these features right away.

Posted in Java at Jun 03 2003, 03:44:21 PM MDT Add a Comment

Java Server Faces Resources

James Holmes has put together an impressive list of JSF resources. Very cool - thanks James! Now the question is, when do you start developing your apps in JSF vs. JSP? When do you start developing your apps in JSP 2.0? Obviously, when the J2EE 1.4 spec if finalized and Tomcat 5 comes out - right?! Well then, giddyup - I'm ready!!

Posted in Java at Jun 03 2003, 02:43:29 PM MDT Add a Comment

Mozilla Firebird Rocks!

I just downloaded and installed Mozilla Firebird 0.6 and I must say - it rocks! With the Luna Blue theme and the startup time enhancement, this browser is awesome. On my 2 GHz/512 MB Windows 2000 box, it's still a fraction slower than IE to open (.75 seconds vs. .5 seconds), but it's soooooo much better than IE, that I doubt I'll notice the difference. Very cool Team Mozilla - you rock!

Posted in The Web at Jun 03 2003, 09:07:43 AM MDT 1 Comment

Tabbed Menus - now with DHTML!

I did some work this evening to adapt Adam Kalsey's Tabbed Menu demo to fit my own design. He simply changes the <body>'s class based on which tag the user has clicked on. While this seems reasonable, I'd rather do the menu-selection on the client-side. This allows a developer to integrate this menu into their app with no server-side coding needed. So here's a demo with a client-side (DHTML) method of selecting menus. Clicking on an item just sets a cookie and then reloads the page.

This client-side approach should make it much easier to integrate this menu into struts-menu.

Posted in The Web at Jun 02 2003, 07:25:14 PM MDT 7 Comments

Tomcat/Oracle Connectivity Problems

I had a problem that I thought I fixed a while back. The problem was that our firewall between Tomcat and Oracle would close our database connection after 90 minutes of inactivity. We first solved this problem by using a Servlet/Ant Task/cron job combination to ping and use the DBCP connection pool we'd configured in Tomcat. This worked, for a little while. Then we realized we had to also ping the JDBCRealm, so we used a login test (via WebTest) and added this to our Ant Task/cron job. Again, this worked for a couple of months, until a QA Expert came on board and starting using WAPT to load test our app. Then we began having issues with many connections being opened (20+), then they were closed by the firewall, and when the app would try to re-use these connections, they wouldn't respond, and the app would enter into the "dithering idiot" mode. We finally figured out a solution, rather than workarounds, and here it is:

// In the file:
$ORACLE_HOME/network/Admin/SQLNET.ORA

// Add the following line to check every 10 minutes
SQLNET.EXPIRE_TIME=10

Posted in Java at Jun 02 2003, 09:25:58 AM MDT Add a Comment

Cold Beer in the Sun

nice contraption Via Slashdot - How to keep your beer cold in the sun. I'd like to buy one!

Posted in General at Jun 01 2003, 08:05:07 PM MDT Add a Comment

Today was a good day

Today I woke up at 6:00 and met a friend in Castle Rock (south of Denver). We were up early to ride our mountain bikes in the Elephant Rock ride. We did the 26-mile Canyon Course, which was mostly pavement and dirt roads. It was much easier than the some of the single tracks in the foothills. I live in the foothills and it's only about 10 miles to some of the best mountain bike riding in the country - right in my backyard! It rocks. So we finished the ride in 2.5 hours, had a beer and then the storm hit. The temperature dropped about 20 degrees in 15 minutes, the rain came down in sheets, and the wind picked up to about 10-20 miles/hour. We were done, and very happy about that. A lot of people were still our riding in it. I actually know a couple of folks - it'll be interesting to see there take on it later this week.

After escaping the storm, I drove home, dropped my bike off for a tune-up (I had to bribe the guy with a 12er to get it done so I can commute this week) and played with Abbie for most of the afternoon (Mom slept after being up with her all last night - she's teething). We just got back from an hour walk, and I can her (Abbie) waking up from her nap in the other room, so I'd better go.

Posted in General at Jun 01 2003, 05:02:16 PM MDT Add a Comment