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.


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.

How I started Raible Designs

Lance sent me an e-mail and asked, "I've been thinking of asking you about running your own business. How do you find new contracts and manage your time?" I replied to his e-mail and before I knew it, I had a story. I tend to enjoy weblogs that talk about their experiences and history, so here's a little enjoyment.

In the fall of 1998, I was working as a contractor for IBM Global Services at CoBank. I worked with a guy who wanted me to help him write a ASP-based dating application. Since I was fluent in ASP, we negotiated a rate and began moonlighting on the project after work. To facilitate me working on the project, I had to purchase a computer (Compaq Presario 5020, 64MB RAM, 300Mhz Celeron), and after the first few payments rolled in, I figured I'd better start a company for tax purposes. The project ended up fizzling out halfway through when the guy decided to re-write the whole thing in Servlets/JSP - probably a good decision, eh? With the income from the project, I was able to pay for the computer, file the paperwork for the business, and start Raible Designs, LLC.

In the midst of that project ending, someone at CoBank knew someone else that needed a website. So my first website ( for hire was born. I left CoBank for and worked there for 2 years (through May 2001) as Director of Web Development. I kept doing Raible Designs stuff on the side for about 5-10 hours per week. You can find some early examples at Karen's Discount Bridal, Raskin & Makofsky and The Swan Ecosystem Center. In mid-April 2001, on the same day that I received my shiny new Dell P4 8100, the 2nd round of layoffs happened at eDeploy. There were only 3 rounds (of layoffs), and they announced the doors would be closing 2 weeks later.

So after frantically searching for a job for 2 weeks, I met with Chris Buzzetta from ICSynergy. Funny thing is that a co-worker of Julie's actually hooked me up with the interview - and everything went smooth at pie. One of ICSynergy's suggestions was that you have your own company - or at least work as a 1099 - so having Raible Designs was a big bonus at this point. I started a project with ICS at Douglas County and found myself in the world of Ant, CVS, Javadocs, and all kinds of other good stuff. In early June, I was tasked with developing a UI Framework for the County's J2EE projects, and thankfully stumbled upon Struts. In July 2001, I converted Raible Designs to an S Corp because I was now doing it full time and needed to enhance my company benefits. The DC project ended in late October. BTW, if you need a great accountant for your business, I highly recommend Lisa David of L & B Accounting.

After leaving Douglas County, I searched like a madman for weeks, but to no avail. I sent out resumes, attended User Group meetings, and e-mailed all my friends looking for a new client/job. I wanted to stay working for Raible Designs, but also needed to keep the income flowing. After finding virtually nothing, I hunkered down and satisfied a bunch of certifications (MCSE/MCDBA 2000, SCWCD, BEA Developer). In mid-December, my e-mails to friends paid off and the former CEO of eDeploy (Robert Gadd) sent me an e-mail. He said he was starting a new e-Learning company, needed a developer to produce their web-based product, and that he wanted to hire me. So it's been 11 months now, and I'm still working for Robert's company. He's been the best client in the world, and the relationship is half the fun. I've kept a close relationship with ICSynergy in the meantime, and they've helped me to get certified as a J2EE and Portal Instructor for Sun. I talked with Martin (ICS's head honcho) today and they might even have a new project for me soon.

So to make a long story longer, I find new contracts the same way that most folks find new jobs. I send out resumes (this hardly ever works), I talk to friends and I talk to old co-workers. I think the best way is to get your name out and get people familiar with what you do. Hopefully, blogging will help facilitate this even further. My partnership and friendship at ICSynergy have certainly helped a lot, and I'll be very grateful if I get my next project through them. I think more partnerships like this are definitely needed. Attending user group meetings certainly doesn't hurt. I've found that my domain name is too hard to remember though, so I bought (pointed to today. I doubt it's up yet.

As for managing my time, it's now getting very difficult with Julie and Abbie at home with me. It doesn't help that my office is in one of our common rooms, and privacy is not possible. My father recommended to spend as much time with my kids as possible, so I doubt I'll move out into a real office, but I should get my own room - with a door that closes. For the most part, I've had great success with early mornings (4 a.m.) and late nights before a release. I definitely manage my time best when I'm working on something I really like. Of course, then I work too much, and maybe that's not good time management either.

Hope this helps. Feel free to post comments or ask me any further questions.

Update: One important thing I forgot to mention. While I was working at Douglas Country, the Tech Lead on my project was Brian Boelsterli. Brian was a Principal of ICSynergy at the time, and has always been a great friend. He and I used to carpool to Castle Rock everyday, and I learned a ton from him about being an Independent Consultant, a good programmer and a good father. I eventually asked him to be my Mentor, to which he kindly accepted. I couldn't ask for a more valuable resource - he's always been full of great advice. So I encourage you to get a mentor if you know of one - all you have to do is ask.

Posted in General at Nov 14 2002, 03:36:07 PM MST 7 Comments

Eclipse 2.0.2 Available from Update Manager

You can now update your Eclipse installation to 2.0.2 from within Eclipse. I recieved the following response from the Eclipse newsgroup regarding the lack of an update initially.

If you really can't wait, you can upgrade without losing anything. Just backup your workspace directory and copy it into the new installation. The Eclipse Wiki has more information on manual upgrading.

I also found the Slime UML plugin on the newsgroup. The bad part? It costs money (EUR 30)!

Posted in General at Nov 14 2002, 09:49:18 AM MST Add a Comment

Improve your VM's Performance

Turbo-charging JavaTM HotSpot Virtual Machine, v1.4.x to Improve the Performance and Scalability of Application Servers Learn how to turbo-charge JVM 1.4.x to get the best performance out of your applications with regards to garbage collection.

I haven't read this yet, but with a title that long - how can it not be good?!

Posted in General at Nov 14 2002, 06:06:08 AM MST Add a Comment

Apache Flaws

Erik tells us that netApache Flaws are being exploited.

The Apache HTTP Server Project has warned that several security holes in the Apache source are being actively exploited on the Internet, urging IT managers to urgently upgrade to version 1.3.27 or 2.0.43 or higher.


"If you are running an SSL-enabled web server using OpenSSL, upgrade to at least version 0.9.6e of OpenSSL and recompile all applications that use OpenSSL," the organization said.

Other vulnerabilities still being exploited on servers that haven't been upgraded include:

  • A cross site scripting bug in the default 404 page of any web server hosted on a domain that allows wildcard DNS lookups
  • Possible overflows in the utility ApacheBench (ab) which could be exploited by a malicious server
  • A race condition in the htpasswd and htdigest program enables a malicious local user to read or even modify the contents of a password file or easily create and overwrite files as the user running the htpasswd (or htdigest respectively) program
  • htpasswd and htdigest in Apache 2.0a9, 1.3.14, and others allows local users to overwrite arbitrary files via a symlink attack
  • Several buffer overflows in the ApacheBench (ab) utility that could be exploited by a remote server returning very long strings

Posted in The Web at Nov 14 2002, 05:09:03 AM MST Add a Comment

Cool Comments

Scott Andrew points us to Joe Hewitt's weblog. He's got a sweet commenting UI that I'd love to see in Roller.

Because I'm always looking for new ways to exploit browser technology for some new marginally useful purpose, check out my new commenting UI! I make Movable Type output comments to XML files, load them through script, and turn them into HTML in this webpage for your commenting convenience.

Also, the comments form is inline with the page and is submitted without reloading the entire page. Woop-dee-freakin-doo.

Very cool! Hopefully there'll be some code soon we can modify for Roller.

Posted in Roller at Nov 14 2002, 02:58:52 AM MST 1 Comment

Wanna Try Roller?

This site seems to have stabilized pretty well - I haven't crashed in 2 days, so here goes. If anyone of you want to try out Roller and see what it's editor interface looks like, I'm inviting you to do so. Follow these steps to check it out:

  • Go to
  • Scroll to the bottom and click the "Login" link.
  • Type username "test" password "roller" to login.
  • You will see a list of Editor links on the bottom right after logging in. Use these to edit and change stuff for the test user.
  • Please annotate your entries with a URL to your site, and your impression/suggestions.
  • Have Fun!

Any body else willing to give us similar access with their blogging software? I'd love to see what the editor looks like for MiniBlog or PersonalBlog.

Posted in Roller at Nov 14 2002, 01:46:44 AM MST Add a Comment


I read about Middlegen in the Ant book I just finished. It sounded pretty cool, and now I've been encouraged to look at their site. It claims to generate EJB (CMP 2.0), JDO (1.0), or JSP/Struts (1.0) code and config files from a database. Too bad it doesn't generate Struts 1.1 code - maybe soon. It does have a GUI, but can also be run just using Ant. There are samples in the book that is oh so good. Too see it in action, check out this good ol' viewlet.

Posted in Java at Nov 14 2002, 01:35:51 AM MST Add a Comment