Matt RaibleMatt Raible is a Java Champion and Developer Advocate at Okta.

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.


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.

Improving the Maven Repository

Brett Porter provides a few steps on how you can help improve the Maven repository. My advice? Convert your project to use Maven 2 as an experiment. That's what I did with Equinox 1.5. In the process I found 28 issues with POMs at ibiblio. If you're using Ant, you can use Maven 2's Ant Tasks to download your dependencies w/o going "whole hog" and converting everything to M2.

Yes, this is a somewhat twisted attempt to convince you to endure the same pain I went through. The best and worst part of Maven 2 is its transitive dependencies. If they can all be updated to be accurate by the project owner's - the problem will be solved. But how do you convince project owner's to do that? I wonder how good Ivy's metadata is?

Why is this whole debate important to you? Because Ant 1.7 is (supposedly) going to have a dependency download mechanism. It's likely you'll use it because it is a nice convenience. Steve Loughran is one of Ant's primary developers and he has this to say:

I do find the m2 tasks and repository hard to work with, and am debating a quick investigation of Ivy. Maybe focusing on one thing -library management- has let them do a better job than trying to be all of a next generation build tool.

The "best dependency downloading tool" debate is heating up. I wonder which one will win Ant Developers over? If it's M2, I can see the Apache folks smiling. However, if it's Ivy - at least we'll know it's not a political decision. It's because it simply does a better job. May the best tool win.

NOTE: I've yet to try Ivy, and don't know if I will. Especially now that I've fixed all the POMs I use at ibiblio.

Posted in Java at Jan 05 2006, 08:12:43 PM MST 9 Comments

OpenSuse 10.0 vs. Ubuntu 5.10

Ever since I got a new HP Pavilion, I've been planning what's next for my Dell Dimension 8300. I decided it's probably best to retire my somewhat hosed Fedora Core 3 box (Dimension 8100) and replace it with a new Linux server. After talking with a good friend, I decided to go with OpenSuse 10.0 or Ubuntu 5.10. Steve was a good enough friend to burn me DVDs of both. Yesterday, I bought a new 160GB hard drive and last night I tried to install Ubuntu. I went w/ Ubuntu b/c Steve tried them both and said he liked Ubuntu a lot better. I've never used Ubuntu, and I have used Suse a fair bit - so I figured I'd try something new.

When I started installing Ubuntu last night, I figured it'd be a breeze. I have a DVI KVM Switch hooked up to a Logitech cordless keyboard/mouse, and Ubuntu immediately recognized them both. However, at 44%, it failed to install gstreamer0.8-jpeg and the installation bailed out. I was able to login to the desktop and (seemingly) get stuff working, but I'm always a bit leary about a failure in the middle of an OS install. After an hour of futzing with it, I tried again and got the same error. Around 1 a.m., I said "screw this" and threw in the Suse DVD.

I had the same good results with Suse, where my keyboard and mouse were recognized. However, when I got prompted for the root password, my keyboard quit working and I was up shit creek. I started the re-install process before going to bed at 2 and picked it up again this afternoon - after a beautiful day of skiing at Copper. I got almost everything working on Suse this afternoon, and just as I was about to call things good - the keyboard problem came back. Pretty disappointing since I'd just gotten my Apple Cinema Display to work.

As I speak, I'm trying Ubuntu again, without the KVM switch. I suspect there's probably a piece of hardware I have that's causing the failure, so hopefully unplugging things will solve the problem. If I don't get it figured out in the next hour or two, I'll probably just go with Suse, setup VNC - and get a wired keyboard for when I need direct access.

24 hours later: It's interesting to see that almost the commentors on this post are recommending Ubuntu. After posting this, and receiving a comment from Brett, I tried the Ubuntu Live DVD. What I found was that Ubuntu recognized my cinema display, but it entered into a non-stop flickering loop that I couldn't solve. Therefore, I threw in the Suse DVD and tried again. This time, Suse recognized everything flawlessly (including my HP OfficeJet G85). So I'm sticking with Suse - mainly because it seems to recognize my cinema display, printer and DVI KVM switch the best. With apt-get working on Suse, it's been a breeze to get everything setup.

Posted in Open Source at Jan 05 2006, 07:22:57 PM MST 26 Comments