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.

Using IP over FireWire

This afternoon, I received my 1.33 GHz PowerBook back from Apple (the one that blew up on the way to Norway). Everything is back in working order and no data loss. Good ol' Apple - their support is excellent, even if you do lose your laptop for a week. As part of the transition back to this machine, I've decided to format it and copy everything from my new one. Installing Tiger and doing the "copy settings from other PowerBook" works so well, I might as well do it again. Suspecting the worst, I spent a few hours today backing up everything.

I started by tarballing /Applications (5 GB), /Downloads (5 GB) and /Users/mraible (25.5 GB). I wasn't able to do them all b/c I ran out of disk space, so I had to do the first two and then the last one. As I started to copy this from my PowerBook to my Windows box, it began to look like a long day. Estimated time for 10 GB: 5 hours. So I did some research and figured out how to enable IP over FireWire. On Windows, it was pretty easy - I just had to create a "Network Bridge" by selecting both my 1394 Connection and the Local Area Connection. After bridging them, I added a new Network port on OS X utilizing the FireWire port, mapped an IP address manually, and connected to my Windows share the usually way (SMB). OS X took a while to connect, but then it did and I was able to copy 10 GB in 20 minutes, and 25 GB in an hour. Not bad.

Posted in Mac OS X at Jun 07 2005, 06:37:23 PM MDT 3 Comments

Updated Presentations: Spring, AppFuse and Comparing Web Frameworks

As part of my trip to Norway last month, I had an opportunity to update many of the presentations I've delivered at JUG meetings and conferences. Of course, there's not a whole lot to these slides because I believe the real value is seeing them delivered. ;-)

The presentation on Test-Driven Development with Spring and Hibernate (a.k.a. AppFuse) will serve as the basis for my AppFuse Tutorial at OSCON. If you're planning on attending that tutorial and would like to see any enhancements, please let me know. All of these are downloadable in PDF format.

Enjoy!

NOTE: I updated this site to the latest code from Roller's CVS this morning, so please let me know if you see any issues.

Posted in Java at Jun 07 2005, 12:36:43 PM MDT 4 Comments

What's in Apple's Transition Kit?

I wonder what's in the new Developer Transition Kit from Apple. The biggest thing is you get a 3.6 GHz P4 that runs OS X for $999. I wonder if this sucker is faster than a dual processor G5? I wonder how much RAM it comes with? Is it worth spending $1500 ($500 to join Apple as a developer + the cost of the package). It'll be interesting to see what these machines look like.

Posted in Mac OS X at Jun 06 2005, 10:27:27 PM MDT 6 Comments

AppFuse Tutorials in Chinese

A guy named "Rocksun" has done a tremendous service to the AppFuse community. He volunteered and took on the task of translating all of AppFuse's Tutorials to Chinese. If you understand Chinese better than English, I encourage you to take a look at Rocksun's translations:

Some people might say your open source project has hit the big time when someone translates your documentation to another language. I don't see it this way. I think the reality is that Rocksun is a super-nice guy and has done a great service to the community. Thanks Rocksun!

NOTE: Rocksun also publishes two blogs, one in English and one in Chinese. And I thought I was busy! ;-)

Posted in Java at Jun 06 2005, 09:46:34 AM MDT 4 Comments

New Phone - Motorola V330

After getting harassed by my new co-workers, and went out and got a new phone today. I lost mine a month ago in California and have been (happily) living without one ever since. Since I'm a T-Mobile subscriber (and much happier with them vs. AT&T), I went to their local store and asked to see their Bluetooth phones (for iSync, presentations and connecting to the internet on my PowerBook). They only had a couple and I decided to get the Motorola V330. I did some research briefly at the Apple Store before buying it and it seems good enough for me. It has the things I care about, but isn't too fancy or expensive. Since I didn't qualify for an upgrade (1 month before my last contract is up), I had to pay $170 (vs. 150 for the upgrade), which isn't that bad compared to the $300 I paid for my Sony Ericsson T637 I got last summer.

The phone seems pretty good so far, and there's been only one minor hiccup. When I first tried to use iSync, it said "device not supported". Thanks to Google and this post, it was easy to fix.

The best part about T-Mobile is I get unlimited data for $19.99/month. Supposedly, this phone works with EDGE networks, which should be available in Denver early next year. This means data transfer rates of up to 384KB/sec. Very cool.

Posted in General at Jun 04 2005, 02:45:35 PM MDT 5 Comments

OS X on Intel Chips

There's a lot of rumors flying around now about Apple switching to Intel chips. Somewhat credible sources: Scoble, Gizmodo and CNET. The rumor I like even better is the (less credible) PowerBook G5s. IMO, Apple should switch to Intel, but stay in the hardware business. I'm still willing to pay for a kick-ass aluminum PowerBook - but I'd love it to be twice as fast as my current one (this is where Intel comes in).

Speaking of PowerBooks, it looks like I've got a buyer for the one I bought in Norway. I'm going to lose about $500 on the deal, but it's better than having two PowerBooks when I only need one.

Posted in Mac OS X at Jun 04 2005, 02:35:06 PM MDT 3 Comments

Tapestry 4.0 almost done

Howard on Tapestry 4.0:

Now is the time is to get everything left in 4.0 wrapped up and finalized. Time for a beta, and then a goodly amount of bug fixing and documentation ... and a very tight schedule for 4.1.

Excellent, I'd love to have a beta to play with. Hopefully it's good enough for development. I'd love to get starting using Tapestry 4.0 with annotations.

Posted in Java at Jun 02 2005, 02:57:17 PM MDT Add a Comment

Porting existing applications to AppFuse with Tapestry+Spring+Hibernate

Mark Dillon has a nice writeup of how he ported an existing application to use AppFuse 1.8 with Tapestry+Spring+Hibernate.

Posted in Java at Jun 02 2005, 01:52:52 PM MDT Add a Comment

Fighting E-Mail

I'm fighting a losing battle against e-mail, and spam isn't the problem. Last week, I was so busy in Norway that I neglected to check my "mailing list" account and starred most messages in GMail, rather than responding to them. For the last 6 hours, I've been trying to "unstar" the 75 GMail messages I have (by replying to them) and filter through the 2200 messages in my mailing list account. After 6 hours, I'm down to 62 GMail messages and 1500 from mailing list. This is like a full-time job!

Posted in General at Jun 02 2005, 09:19:00 AM MDT 3 Comments

AppFuse 2.0: JDK 5, Annotations and JSP 2.0

For the most part, I haven't used JDK 5 on any of my recent projects. You can compile and run AppFuse with JDK 5, but it doesn't use any JDK 5 features. After doing a code review at Bouvet last week and seeing how much cleaner their code is with Generics, Varargs and the Enhanced for Loop, I think it's time to dig in. I don't know how soon we'll start, but I think it's time to start creating a branch for AppFuse 2.0 - which will use these features. For AppFuse 2.0, I'd like to go whole hog, bleeding-edge and use all the stuff that's out there to make developer's lives easier. This includes JSP 2.0, Annotations (especially for Hibernate and Spring, as well as Tapestry) and all the JDK 5 features that seem useful.

Since most developers won't be able to deploy on a JDK 5-compliant server for quite some time, we'll continue to maintain the 1.x branch as JDK 1.4-compliant. I expect to release AppFuse 1.8.1 later this week (with mostly bug fixes + latest releases of Hibernate/Spring) and 1.9 in the next month or so. From there, we'll likely do 1.9.x releases with bug fixes and do all the major upgrades (i.e. Tapestry 4.0.x) in the new branch. Working with new features in JDK 5 should be a lot of fun.

I'm hopeful that we can get rid of XDoclet and we may even give Maven 2 a run for its money. Last week in Norway, I found that most Java developers were using Maven on their projects and I also discovered that many of the core Maven 2 developers are getting paid to work on it full time. There were even claims that Maven 2 is going to be twice as fast as Ant - which definitely intrigues me.

Later: I just realized the hardest part of this migration is going to be replacing AppGen. It currenly uses XDoclet templates for all the class templates - and we'll need a new solution based on annotations. Oh well, it's kind of ugly anyway, but it'll likely be difficult to figure out a new solution. Hopefully we can create some sort of tool that involves easy-to-customize templates and a GUI to drive it all.

Posted in Java at May 30 2005, 12:41:52 PM MDT 27 Comments