Matt RaibleMatt Raible is a Web Developer and Java Champion. 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.

What's next in my career?

I've been pretty fortunate in my career so far. A few years ago, I was attending Web Designer conferences, learning more about HTML, Photoshop and Flash. At those conferences, I admired the speakers, the relationships they had with other speakers and how they really seemed to be enjoying the "speaking lifestyle." I thought to myself, "that's what I want to do."

Fast forward to today and I feel like I've accomplished everything I ever wanted to in my career. Now I'm experiencing an interesting state of mind. I don't really know what I want to do next. I'm certainly enjoying being a consultant and getting new gigs every 3-6 months, but I know if you want to make any real money as a consultant, you have to travel. When I say "real money", I mean $200-$300/hour, which equates to $400K-$600K/year. The problem with consulting is I don't want to travel. At all.

So I can continue being a consultant, making pretty good money, but I'm yearning for something more. I don't know what the "more" is, but I feel like I should have a plan for the next 5-10 years. I've had a couple of good offers for full-time jobs recently. The problem is that full-time employment generally doesn't appeal to me. The main reason is because I don't want to take a 50% pay cut. The second reason is because I tend to take 2-3 months off per year, and finally - I never seem to be that interested in the hiring company's mission statement.

The 2-3 months off is probably a misnomer because many of those weeks are for conferences, but I doubt I'd find a company that'd send me to conferences and pay for it.

On Monday, I was discussing this with a potential employer/client - and it hit me. I think I need to share my career aspirations with a full-time employer's to make it work. Since I'm at a point where I I don't know what my goals/desires are - it's pretty tough for me to see myself working for anyone but myself. What I do know is that it would drastically help if starting the company was my idea. The problem with this is I don't really have the motivation to start my own company right now. Sure I have Raible Designs and all, but to make real money as a non-consultant, I think you have to have a product. I could hire a bunch of consultants, but I don't really want to manage people - it seems like it'd be more fun to develop, ship and support product(s). Then I wouldn't have to travel at least.

This is all to say that I don't know what I'll do next in my career. Heck, I don't even know what I want to do. One things for sure though - my current gig is one of the best I've ever had. Awesome team, good rate, great location and super-easy commute. I think I'd be a fool to quit before my contract ends at the end of the year.

What are your career aspirations for the next 5 years? The next 10?

Posted in General at Mar 30 2005, 10:58:30 PM MST 21 Comments

No More Kids

I've only ever wanted two kids. However, Julie has been playing with the idea of 4 ever since we had Jack. Her thought is "they're so damn perfect, let's have more!" I've always wanted 2, and so did she when we first met - but she grew up with a sister and they've always been best friends. Abbie doesn't have a sister, and Julie doesn't want an odd number of kids - hence her slight desire for four.

This Friday, all this talk of possibly having 4 kids will come to an end. I'm heading into the doctor's office for the Big V and will lose my ability to reproduce. I'm terrified, but hopefully the drugs will be good enough to ease my fears (and pain afterwards).

I'm supposed to "take it easy" for a week afterwards and not lift anything more than 10 pounds. This means I can't pick up Abbie or Jack, and I can barely pick up my backpack (w/ laptop) to go to work. No riding to work either. With all the "you can't dos", it almost seems like a mini-vacation. However, the thought of getting my nuts cut still sends chills down my spine.

Posted in General at Mar 30 2005, 12:45:58 PM MST 29 Comments

DU going back to Frozen Four!

This past weekend I had a great time watching college hockey. DU played both Saturday and Sunday and won both games. This means they're going back to the Frozen Four. The best part? They're playing their arch rivals, Colorado College, in the first game next Thursday. Game starts at noon. Go DU! CC Sucks!

Posted in General at Mar 29 2005, 08:41:50 AM MST 3 Comments

Ajax components with Tapestry

From the Tapestry User Mailing List, I discovered a cool example of integrating an Ajax component in Tapestry. The code needed to add it looks nice and easy too. Hopefully this will set the groundwork for a plethora of Tapestry/Ajax components.

Posted in Java at Mar 25 2005, 10:06:54 AM MST 4 Comments

Ditchnet.org: JavaScript tips and a cool Tabs Tag Library

Thanks to a post to the Struts Menu Mailing List, I discovered a nice blog about JavaScript and DHTML. Not only does it seem to have lots of good tips and tricks, but its author also has a couple of cool menu examples:

Nice work Todd!

Posted in Java at Mar 24 2005, 09:58:46 AM MST 7 Comments

Trim Spaces in your JSP's HTML

One of the annoying things about JSPs is all of the dynamic (non-rendered) parts of the page still produce line breaks. This means that if you do a view-source, you'll likely see large blocks of whitespace.

The good news is you can get rid of this whitespace if you're using Tomcat 5.5.x. Just locate the "jsp" servlet in $CATALINA_HOME/conf/web.xml and add the following <init-param>:

    <init-param>
        <param-name>trimSpaces</param-name>
        <param-value>true</param-value>
    </init-param>

I tested it and it works great. This begs the question - why isn't this on by default? Source: Struts Mailing List.

Update: JSP 2.1 adds the ability to trim whitespaces.

Posted in Java at Mar 23 2005, 10:24:58 PM MST 39 Comments

Spring Live is done, but constantly improving

I've talked to a couple of Java developers lately that asked me "Sooo, when are you going to be done with Spring Live?" I was quite surprised to hear this because I finished it in October. I guess folks just aren't used to the constantly updated thing. Or maybe SourceBeat needs to do better marketing?

Regardless, Spring Live has been a blast to write. I was definitely hesitant when I signed up to write it b/c I didn't know much about Spring. But a year later, it seems to be getting good reviews and holding it's own when compared with the other Spring books. I'm also starting to see some traction from the book itself - not only in book sales, but also in training and invitations to speak at conferences.

If you're looking for Spring training, don't hesitate to contact me or SourceBeat directly. Also, the Spring Developers offer Spring training as does Rick Hightower.

Posted in Java at Mar 23 2005, 09:49:34 PM MST 4 Comments

How IE handles PDFs

From the Struts User Mailing List, I spotted a good explanation of how IE handles PDFs. It's quite messed up, so I thought I'd post it for your amusement.

If your application returns data that is to be handled with an ActiveX control (ie Adobe Acrobat Reader) the browser sends additional requests to the server. In IE 4.x and 5 it actually sends three requests. For IE 5.5+ it sends two.

Assuming that your using IE 5.5+, the first request is the original request (duh), but then IE sends a second request to get the content-type. Who knows why they can't figure this out on the first request ;) This second request has it's userAgent header set to "contype". You can solve this problem and increase the performance of your application by writing a Servlet filter that sits in front of whatever Actions you have setup to serve PDF content. Have this filter look at the userAgent header of each request. If it's set to "contype" just send an an empty response back to the client with the content type set to "application/pdf". Simple as that.

More info on this "feature" is on Microsoft's site.

Posted in Java at Mar 23 2005, 09:29:56 PM MST 2 Comments

Round Squares with CSS

Want to create squares with rounded corners - and only use CSS? If so, you might want to checkout the CSS Rounded Box Generator. Source: CSS Beauty.

Posted in The Web at Mar 23 2005, 09:35:05 AM MST 2 Comments

David Geary won't learn Tapestry, but he'll write a book about Rails

Sorry David, but I have to call you out on this one. Yesterday, you wrote a long post about how you won't use Tapestry b/c you have bills to pay.

Do I use Tapestry? Heck no. I have a mortgage to pay. Besides, I'm so comfortable with JSF that I don't know if it'd be worth the investment for me to switch to Tapestry. Also, JSF already enjoys more industry support and that gap will widen considerably over the next couple years as Tapestry maintains a small but rabid group of followers in a niche market, whereas JSF will dethrone Struts as the reigning king of Java-based WAFs. JSF will eventually have support for HTML views and custom components devoid of Java code, in addition to many other cool features such as built-in AJAX support and client-side validation.

Today we find that you're writing a book on Rails. So rather than spending the time to learn Tapestry b/c it doesn't pay the bills - you're going to learn Rails? What makes you think it will pay the bills better than Tapestry? Is Shale still the next big thing for you - or do you just like writing books? ;-)

Posted in Java at Mar 22 2005, 10:48:21 AM MST 14 Comments