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.

Scaling with Rails

Whenever I talk to developers in the Java community about Rails, the first question out of their mouth is usually "But can it scale?" Today, David has written a nice post titled It's boring to scale with Ruby on Rails.

The one thing that I see time and time again is that Java developers don't seem to realize that some of the highest traffic sites on the net are using LAMP stacks similar to what Rails advocates. IMHO, I don't think "Rails can't scale" is a valid argument. In fact, I don't know if there's any argument or way to put down Rails anymore.

As a developer, my guess is the rates for programming in Ruby developer are less than for programming in Java (unless you're a Ruby Superstar of course), so that's one reason not to program in it. However, since Rails is one of those new bright and shiny things, chances are you might be able to get high rates for it. As far as Enterprise Adoption of Rails, unfortunately I think that's still pretty far on the horizon. I think the hardest part is convincing management that they'll be able to find developers to support it. Mind you, I didn't say good developers, just developers. Period. This is information I've gathered from talking to my Java developer friends.

Try convincing a Fortune 500 company to program in Rails vs. Struts and they'll probably choose Struts because there are thousands of Struts Developers. Is this a good decision on their part? I don't think so. I think it's more important to hire smart people that can learn a technology, rather than hiring those that know a technology. Of course, if someone knows a technology really well, there's probably no harm in hiring them.

I think Rails can become a real contender in the Enterprise if managers can be convinced that it'll be easy to maintain Rails application. Remember that most of software cost is maintenance. Because of this, the whole "it's super productive to develop with" doesn't matter so much - does it? Are Rails applications easy to maintain? My guess is yes, but how do you convince CTOs and CIOs? Another thing I think Rails needs for Enterprise Adoption is good tool support. Drag and Drop type of stuff. Why? Because management loves that stuff (because then they can develop apps) and it's a great sales tool. ASP.NET has been successful because of Visual Studio, not because of its ease-of-use and simple syntax.

Will I learn Rails and use it to develop applications? I certainly hope to, but it's hard enough convincing companies to use something other than Struts - so I don't know if I'll have much luck in selling Rails. The one cool thing about my new job at Virtuas is its an open source company, not just a Java open source company. This opens the doors for me to learn about Rails (and others) and compare them to Java Web Frameworks.

Update: Aaron Rustad has written an interesting article for DeveloperWorks that compares Rails to Struts+Hibernate: Ruby on Rails and J2EE: Is there room for both?

Posted in Java at Jul 12 2005, 08:45:26 AM MDT 28 Comments

eXtremeTable - another table tag for sorting and paging

From the AppFuse mailing list and the Spring Forums, I learned about eXtremeTable. This JSP Tag looks similar to the Display Tag, except that it includes support for checkboxes and filtering columns out-of-the-box. If you've used this tag, please let me know how it's working for you.

eXtremeTable Demo

Posted in Java at Jul 11 2005, 07:33:47 AM MDT 26 Comments

What's the best way to synch iPhoto Libraries?

Having two 17" PowerBooks around the house has led to a problem. We've accidentally imported our photos onto both machines, and now we don't have a true master that contains all our pictures. To rectify the problem, I tried using rsync to update my ~/Pictures/iPhoto Library directory with the one from the 2nd machine. All the pictures were migrated successfully, but not the photo albums, nor the thumbnails in iPhoto. I even tried importing the new pictures, but it says the file is not a valid image (even though I can open it in Preview just fine). Any ideas for a better synchronization strategy?

Posted in Mac OS X at Jul 11 2005, 06:02:50 AM MDT 6 Comments

Off to Big Sky Country

Holland Lake In only a few more hours, we're heading on Raible Family Roadtrip #9. Number 7 was when Julie, Abbie and I traveled up the California coast, and number 8 was when my Dad and I drove my '66 Bus to Denver from San Diego. This time it's going to be much more special. The end destination is my favorite place on earth. We're heading for the cabin, which is a log cabin my grandpa built in 1918. I was born in one corner, my sister in the other, and I spent the first 16 years of my life there.

Spending the 4th of July at the cabin has been a long standing family tradition. It's always fun to watch the parade and the O-Mok-See in the small town I grew up in. The Swan Valley is a very special place and my friends that visit often return. It really is one of those uniquely special places on Earth.

I love road trips. Julie hates them, but tolerates the fact that I love them. The main reason we're not flying to Montana is because the flights are very expensive. It's a 1 and 1/2 hour plane ride and a 15-hour drive in the car. It's a good thing we have a DVD system in our Odyssey for the kids - 15 hours is a heckuva long trip.

While I was at JavaOne last week, Julie did some research and discovered that Yellowstone isn't too far out of our way, so we're staying there tomorrow night. I've been to Yellowstone a few times, and every time it takes my breath away. I can't wait to see the look on Abbie's face when she sees an Elk right outside her window.

The best part about the whole trip? It's sure to be the family, laughing and creating memories. But I'm also going unplugged - which I haven't done in a while. For the next week, I'll be without a laptop and refusing to check voicemail or e-mail. E-mail is going to suck when I get back, but the peace of mind while I'm gone is sure to be priceless.

Posted in General at Jul 01 2005, 11:25:40 PM MDT 6 Comments

Web Framework Comparison Whitepaper

Working at Virtuas in June was really a lot of fun. We worked a fair amount preparing for JavaOne, and also found time to work on a number of whitepapers. These whitepapers are part of an Open Source Landscape Series that has been posted to Virtuas's site. For your convenience, here's a current list:

In addition to the whitepaper, I also wrote an article for JDJ that'll be showing up in the July issue.

Posted in Java at Jun 30 2005, 07:54:10 PM MDT 8 Comments

[JavaOne] Web Frameworks and Birthday Celebrations

Yesterday was a fun afternoon. James Goodwill and I sat in the same room for 3 hours and watched 3 different presentations: Tapestry in Action, JSF and Spring and the Web Framework Smackdown. The Web Framework Smackdown was particularly enjoyable. It was great to see all the framework guys "duke it out" and there were plenty below the belt comments. After that, we hit a bunch of the Birthday Celebration festivities, including Free Booze, an Art Auction and Dennis Miller. Unfortunately, we missed Zepperella - an all-female Led Zeppelin cover band.

Following JavaOne festivities, we met up with the Geronimo guys - only to discover they had just passed the TCK for J2EE 1.4. This resulted in many hours of celebrating and good times. As usual, I took plenty of pictures.

James and Floyd

Today I slept in because I know I won't get any sleep when I get home (parents with small children hardly ever get to sleep much). I attended the Web Tier Expert Group meeting this afternoon, which was really great. We had folks from JSF, JSP and the Servlet teams, all trying to figure out what's next and what we need to do to make web development in Java easier. There were a lot of great ideas, and the next versions of all 3 specs should really improve things.

Posted in JavaOne at Jun 30 2005, 07:44:37 PM MDT Add a Comment

[JavaOne] Pictures from Monday

Click on the image below to see a bunch of pictures from the first day at JavaOne.

Posted in JavaOne at Jun 28 2005, 07:32:16 PM MDT 5 Comments

RE: AppFuse, 'tool' of experts

I'm please to say that I've been biled yet again. The first time wasn't so bad, and this time seems pretty mild too. There's no mention of asshat, chozgobbler or turdburglar in the whole post, which is somewhat disappointing. Nevertheless, it's what I've come to expect from a guy who sallies car bombs and dances like a sissy.

Regardless of the lack of bile in Hani's post, he does bring up some good points. Let's take a look at them individually:

  • IzPack and MyJavaPack: the progress bar doesn't work, and the installer downloads everything rather than just including/installing it all.
    • To be honest, I didn't know it was possible to pack up everything and skip the internet download part. I'll definitely look into fixing this.
  • You must have Tomcat installed to work with AppFuse.
    • This is true, and I've thought about changing it to be Resin friendly, or possible Orion friendly, but there simply hasn't been any demand. Of course, Orion isn't that attractive to many folks because it doesn't even support Servlet 2.4. Maybe you should crackin' on that Hani! Or maybe you just like living in the dark ages with your affections for EJB 2.1, Servlet 2.3 and WebWork 1.4.
  • When creating a new project, you get prompted for the package name twice.
    • This is true, and something we should fix. The major reason we haven't is because I didn't want to distribute a 2MB BeanShell JAR that would support the 3 lines of code to fix the problem. I guess I should bite the bullet and add the bloat, or figure out a more elegant way to fix the problem. Issue #75.
  • Project generation auto-detects MySQL when you don't have it installed.
  • I'm a web monkey.
    • True, but that's cool now with Ajax and all.
  • Half the build targets don't work.
    • I think this is more like a handful don't work, but good effort. I agree we should remove the install-* targets when installing a web framework. Issue #76.
  • Every object creates builder objects in hashCode and toString.
    • This is true, and I've seen no performance implications from it. In reality, these are a product of the commons-lang project, as well as Commonclipse. We should probably change these to use smarter methods like the ones IDEA generates. It'd be nice if Eclipse has hashCode() and equals() method generation like IDEA.
  • The project's directory layout is bound to confuse a seasoned webapp veteran.
    • The directory structure is largely based off the example app in Java Development with Ant. Since AppFuse uses Ant, I figured it was a good idea to use a "best-practices" structure like Erik describes in his book. I've often thought about consolidating the 3-source tree, 3-test tree directory structure to one, but users are very attached to the current setup. Maybe for 2.0.
  • XDoclet generates web.xml.
    • I agree that using 11 XML fragments to generate 1 XML file is a little ridiculous. You're right - developers should know how to write a web.xml and what goes where. Issue #77.

Thanks for the feedback Hani - sounds like I owe you a car bomb or two at JavaOne. ;-)

Posted in Java at Jun 22 2005, 10:41:03 PM MDT 17 Comments

Bike to Work Day

It's another Bike to Work Day in Denver and I'm missing two key ingredients: a bike and an office to ride into. It's funny to look back at last year and see that my first day with OpenLogic was Bike to Work Day. This year, I'm again starting a new gig and working from home (much like last June). The good news is we'll be moving into fancy new offices (in the swanky Tabor Center) at the beginning of July.

I've been looking at new bikes, but haven't bought one yet because I'm going to be traveling so much in the next couple of weeks. NYC this weekend (wedding), San Francisco next week, followed by a week of vacation at the cabin in Montana. It'll be pretty cool to come back from that and move into my new office at Virtuas (yeah, a *real* office with a window seat!). I'll likely be forced to buy a bike then - driving to work in the summertime just isn't right.

Posted in General at Jun 22 2005, 08:23:46 AM MDT 8 Comments

HowTo set the default submit button on a form

Howard has a nice little trick for setting the default submit button on a form. Basically, you just put the default button first, and then use style="display: none" to hide it. For the most part, I haven't had any issues with putting the default submit button first (i.e. "Save"), but I have noticed an issue when developing wizards (b/c "« Previous" is likely to be first). Nice tip Howard.

Posted in The Web at Jun 20 2005, 08:58:53 AM MDT 7 Comments