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 "&amp". 294 entries found.

You can also try this same search on Google.

[NFJS Denver] Friday Wrapup

After slipping out of Bruce Tate's Spring talk, I headed into Dave Thomas's Advanced Version Control talk. I was going to blog it in real-time, but his talk was full of tips-n-tricks and there was just too much information. He showed us how its possible to use CVS to "undo" things and how the "magic -j" option allows you to easily merge experimental branches, as well as undo certain time periods of code. It seems that CVS is way more powerful than I ever knew and if you use a lot of tags and branches - it can be a very handy tool. The biggest thing I got out of this talk is that it's possible to do what I want to do at Java.net.

At java.net, they give you a CVS "module" for your project, rather than a CVS "repository" like SourceForge does. A couple of weeks ago, I decided it would be nice to arrange AppFuse's CVS so it would be more similar to a repository. By default, java.net gives you a "www" folder in your project's module - and when I first imported AppFuse, I just included www as a folder in the appfuse (base) module. Since I want to add more modules, I figured it would be easy enough to move all the base appfuse stuff to an "appfuse" folder so I'd end up with:

appfuse (module)
  - appfuse
  - www

This achieved what I wanted (from a CVS viewpoint), but when I'd check everything out, I'd get "appfuse/appfuse" - which is not what I wanted. You can read more on java.net's forums. Anyway, I ended up backing out the change. After sitting through Dave's talk, I realized that it's easy to achieve what I wanted. I just need to get access to java.net's CVSROOT module and add a line to the "modules" file to say "appfuse appfuse/appfuse". Damn, I wish I would have known that a few weeks back.

After that, dinner was served (catered) by the hotel. After dinner, there was an Expert Panel Discussion - where the experts consisted of: Rick Hightower, Bruce Tate, Dennis Sosnoski, Bruce Snyder, Rod Cope, Dave Thomas and Daniel Steinberg. It was a good discussion, with topics ranging from EJB3 to .NET to dynamic configuration with scripting languages to JSR 175. A most enjoyable event. Following the discussion, a group of us headed over to the hotel bar and grabbed some beers. I got to sit next to Renee Dopplick, Dan Steinberg, Dave Thomas and Mike Clark. It was quite a treat. I didn't get home until midnight.

Today's sessions start in 45 minutes and that's about how long my commute it - I'd better get going!

Posted in Java at May 22 2004, 08:19:03 AM MDT Add a Comment

Weekend Releases :: XDoclet 1.2.1, Tomcat 5.0.24 and Cactus 1.6

While many folks were oohing and awwhing over how EJB 3.0 will make their worlds easier and app servers viable again - some folks continued to get things done:

BTW, thanks to all the Symposium Bloggers - with all the good reporting, I felt like I didn't miss a thing.

Posted in Java at May 10 2004, 10:45:03 AM MDT 3 Comments

[ANN] AppFuse 1.5 Beta Released!

This release has lots of modifications that I've been meaning to make for quite some time. Specifically (1) removing the dependency on j2ee.jar and (2) removing Struts from the services layer. I also made improvements to Spring and its context file loading so you should be able to run unit tests from your IDE.

Other notables include full i18n support (with translations in Dutch, Brazilian and Chinese), improved setup-tomcat target (no additional JARs needed now), and an option to use Spring's MVC framework instead of Struts. If you'd like, you can read more about my conversion from Struts to Spring. Enjoy!

BTW, this upload was a little hefty for java.net at 12.5 MB - because of the iBATIS and Spring MVC option. My browsers (Mozilla and IE) kept timing out and I was getting a "Not enough space" error. To fix this, I had to increase the timeout on Mozilla. Here's the steps I went through:

  • Type "about:config" in the address bar.
  • Type "timeout" in the filter field and hit Enter.
  • Change "network.http.keep-alive.timeout" to 600 (10 minutes). The default is 300.

Posted in Java at May 04 2004, 03:57:41 PM MDT 10 Comments

Setting the heap size on your JVM

Cameron has posted a comment on my Performance Tuning MySQL article. The reason I'm highlighting this because it's something I wasn't are of:

From the article:

    -Xms128m -Xmx256m

The Sun JVM will run significantly faster with the following config instead:

    -Xms256m -Xmx256m

That's because the Sun implementation acquires and releases memory from / to the OS way too aggresively if the "ms != mx". Furthermore, either your server has the 256MB available or it doesn't. If you don't have it available, don't set the max that high. If you do have it available, you gain nothing from setting the min lower. This isn't a desktop system, it's a server -- make sure you have the necessary resources and if you do then use them!

Time to change all my heap size setting since I've been using the first setting (128/256) for quite some time. Thanks Cameron! The real question is: will changing "-Xms256m -Xmx512m" to "-Xms512m -Xmx512m" speed up my slow-ass PowerBook? ;-)

Posted in Java at Apr 28 2004, 09:16:00 AM MDT 7 Comments

[ANN] Fire 1.0 Released

Download · Release Notes. Fire, the Trillian-like IM client for OS X, has released version 1.0. I use Fire everyday and think it's a great IM client - especially since I use so many IM accounts. I do think that iChat, Yahoo Messenger and MSN are great clients, but I prefer having one app open rather than 3.

Posted in Mac OS X at Apr 26 2004, 04:51:26 PM MDT 2 Comments

[ANN] Hibernate 2.1.3 Released

Download · Release Notes. It's been awhile since the last Hibernate release (approx 2.5 months) - most likely because the last one has been rock solid - at least it has been on my projects. All tests pass in AppFuse.

Posted in Java at Apr 25 2004, 10:09:10 PM MDT Add a Comment

New PowerBooks

Apple's New PowerBooks (announced today) don't impress me. Sure it's great that you can get a 1.5 GHz processor now, but I want more. I want at least a 2 GHz PowerBook. Why? The simplest reason is easily demonstrated by the following numbers - comparing my 2.6 GHz Windows XP Deskop to my 1.33 GHz PowerBook.

AppFuse TargetPowerBookDesktop
ant compile 44 seconds 25 seconds
ant test-all 6 minutes 7 seconds 3 minutes 18 seconds

Most Mac Heads will probably cry "compare the Dual G5 and see what happens!" I tried doing this at the MySQL conference last week, but the G5s didn't have internet access so I couldn't download Ant and AppFuse to test it out. Regardless, even if I was able to test it out - the G5 is a Desktop - and I want kick-ass speed in a laptop. You can certainly buy speedy Windows laptops.

This post is not meant to be a bash on PowerBooks - I love my PowerBook and I think that Apple makes the best damn laptop hardware out there. I just wish that Megahertz did matter to Apple and they'd give us a faster laptop. Then again, I'm pumped that these PowerBooks are not G5s, 'cause then I'd want one... ;-)

BTW, I tried Jikes 1.20 to speed things up and AppFuse won't even compile. The problem seems to be a bunch of ".class has an invalid format" errors from Cactus. Sorry Jikes, you failed the 10 minute test.

Posted in Java at Apr 19 2004, 09:28:59 AM MDT 10 Comments

[ANN] Display Tag 1.0 Beta 3 Released

View the Release Notes, checkout the changelog and/or download. Kudos to Fabrizio, who does almost all the work on this tag.

BTW, I tried downloading it a few times and it kept hanging (from several sites) - so I went with building from CVS. Same difference, right? And yes, all tests pass in AppFuse! ;-)

Posted in Java at Apr 12 2004, 02:51:02 PM MDT Add a Comment

[VW Bus] Could this be the one?

A 21-window Volkswagen Bus showed up on eBay this morning - and I could "buy it now" for $9,650. If you look at it, you'll think I'm crazy. $9000 for a old beater of a bus - let alone a VW?! The problem is that these things are pretty rare. The 23-windows are even harder to find. The last 23-window on eBay went for $32,000! Granted it was a bit older and a little better shape - but still, that's ridiculous. The difference between this one and previous ones is that you can "buy it now" for under $10,000. Julie is all for it and thinks it'd be a great 30th birthday present (my birthday is in July). Also, it's in San Diego - where her sister lives, so she'd love an excuse to go out there. If I do buy it, it sure would be fun to road trip across the country to bring it home!

Hmmm, if I could buy my dream car today and DU wins the National Championship tonight...

Update: Woooo HOOOOO - DU WON!!! I told myself earlier today that if they won, I'd buy the bus. So w/in 2 minutes of the win, I bought it! What a day. ;-)

Green CheckYou purchased the item using Buy It Now!

Update 2: On Sunday: it figures, buyer's remorse is starting to flood my brain. The good thing is that it's not because of my purchase. It's because a 1965 21-window showed up on eBay today for much less. It's got 6 more days until the auction ends, and it's at $360 right now. The nice thing about this newest one is that it's already been stripped for restoration. Oh well, I still think I made a good decision yesterday. And as long as Julie does too - I'm golden... ;0)

Posted in The Bus at Apr 10 2004, 09:34:30 AM MDT 10 Comments

Eclipse Plugins updated for 3.0 M8

At my current client, I'm teaching a class this week on developing Java-based webapps. I'm starting simple with basic JSPs and JSTL's SQL Tags. Later, I plan to teach them how to write JUnit tests, DAOs, Actions, etc. I hope to show them how Hibernate and Spring can reduce the pain of J2EE.

The main problem is that it's kinda tough to teach this stuff to people that have no webapp development experience. How can you tell them Hibernate is soooo much easier, when they've never used JDBC? How can you show them that Spring simplifies things when they've never developed a complicated app?

Anywho, back to the point of this post. As part of the first day, I had the class (actually, there's only 2 students) setup their development environments (JDK, Eclipse and Tomcat). I decided to go with the latest Eclipse 3.0 M8 b/c I'm an upgrade junkie and I firmly believe that it's best to teach the latest and greatest stuff. Because we're using M8, I had to update a bunch of plugins and decided to package it up and release it. So without further ado, I give you Eclipse Plugins 1.1. [Download, Release Notes]

Here's the current list of plugins included in this package:

NOTE: I updated most of these plugins because older ones didn't work with Eclipse 3.0 M8. I haven't tested all of these, but they are the latest versions (as of yesterday).

I still use Eclipse on Windows, but I sure am getting used to using IDEA on the Mac. Now if I could only figure out some slick ways to pre-program keys-to-code. The Flex guy in NYC last weekend would press one key and a whole block of text would appear. I think that'd be a nice touch for next week's presos in Florida. It'd be cool to write a JUnit Test, DAO Interface, and DAO Implementation in a matter or keystrokes (i.e. one for each method).

Related posts: 1.0 Release.

Posted in Java at Apr 08 2004, 12:37:23 AM MDT 17 Comments