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 "matt". 1,142 entries found.

You can also try this same search on Google.

My Best Christmas Present

My best Christmas present was finding out that Baby Raible #2 is on the way! Sweet! The only bad part about Julie's 2nd pregnancy is we didn't have to try very hard. Last time it took 6 months, and a great 6 months that was... Lots o' Lovin

Posted in General at Dec 30 2003, 07:39:35 PM MST 8 Comments

Roller Tip: Managing your Comments

I tend to get a few comments a week that I need to delete because a reader has double-posted or said something I don't care to have on my website. Up until today, it's been a pain to navigate the Roller UI and delete these comments. It's almost easier to do it through SQL. No longer - I added a "Delete Comments" link to my _day template that shows up right after the "Edit" link. I'm not using the showEntryPermaLink macro for permalinks because I prefer to show permalinks on their own page (keyed by the anchor parameter). So replace your logic to render your permalink with the following and you'll be able to delete comments easier too:

    <a href="$baseURL/page/$userName?anchor=$entry.anchor"
        title="Permanent link to this weblog entry"
        class="entrypermalink">Permalink</a>
    #if ($pageHelper.isUserAuthorizedToEdit())
        [<a href="$pageHelper.getEntryEditUrl($entry)">Edit</a>] 
        [<a href="$ctxPath/comment.do?method=delete&entryid=$entry.Id">Delete Comments</a>]
    #end

To be thorough, here is the contents of the showEntryPermaLink macro:

    <a href="$baseURL/page/$userName/#formatDate($plainFormat $entry.PubTime )#$entry.Anchor"
        title="Permanent link to this weblog entry"
        class="entrypermalink">Permalink</a>
    #if ($pageHelper.isUserAuthorizedToEdit())
        [<a href="$pageHelper.getEntryEditUrl($entry)">Edit</a>]
    #end

Posted in Roller at Dec 30 2003, 03:46:22 PM MST 2 Comments

[ANNOUNCE] Ant 1.6 Released!

Big news baby - the best Java tool in the world has a new release. I don't know that I'll use any of the new features (such as antlib, macrodef, presetdef, ssh tasks), but I do love to upgrade. Downloading now...

Later: It looks like Canoo's WebTest is not compatible with Ant 1.6. Reverting back to 1.5.4.

C:\Source\appfuse\test\web\web-tests.xml:29: Task must be of type "Step": invoke at 
C:\Source\appfuse\test\web\login.xml:1:  is of type org.apache.tools.ant.UnknownElement

Line 29 is: <canoo name="login">. I've notified the webtest mailing list, hopefully there will be a resolution shortly.

Posted in Java at Dec 18 2003, 08:17:01 PM MST 3 Comments

Interested in Java ISP Options

I'm not exactly looking for a new ISP, but I am interested in exploring my options. I'm currently averaging about 10 GB of bandwidth usage per month, and it's unlikely to go down. I only pay around $50/month, so it's not bad, but I wouldn't mind some more RAM. I don't want to administer the server per say - I'd like backups and e-mail setup/config done for me. I don't think I want my own server b/c I don't want to be a sysadmin - I only want to worry about the Java server setup. Below is my ideal setup - please let me know if you think there's other things I should be looking for.

  • Linux
  • 512 MB RAM
  • 1 GB disk space
  • A Fat Pipe (100 MB+)
  • 25-50 GB traffic
  • Tomcat or Resin (Servlet 2.3 and JSP 1.2 at a minimum)
  • MySQL databases (2-5)

Posted in Java at Dec 18 2003, 02:09:30 PM MST 12 Comments

Hibernate's AdminApp - a demo of WW2 and Hibernate

After looking at Hibernate's AdminApp, as well as other WW2 apps - I've noticed something. WW2 developers don't seem to give a rats ass about referencing their POJOs in their Actions, or using Hibernate directly in their actions. At first glance, I think to myself, "boy that sure makes things easier." But then again - doesn't that tightly couple your web layer to your persistence layer?

I can understand the POJO reference in Actions - I'm about to give up on doing a parent/child relationship with Hibernate where the children are converted to ActionForms and then converted back (Hibernate loves to tell me "a different object with the same identifier value was already associated with the session: 1").

It would be SO much easier (with this particular problem) if I could just toss up POJOs to my view. The thought of importing "persistence.User" into my Action makes me cringe though. I don't know why, it just does. I need to get out of this patterns mindset I've been in for the last couple of years and get back to what really matters - simple, easy to learn, and fast to develop. I'm tired of banging my head against the wall with Struts and Hibernate.... I've been doing it for two days. It's not Hibernate, and it's not Struts, it's me... (thud, thud, thud).

Posted in Java at Dec 17 2003, 02:35:09 PM MST 15 Comments

RE: About having babies

I was going to leave a comment on Chris's site about his About having babies post, but I'm afraid I'll probably ramble on about this, so I might as well put it here.

I am a proud father of Abbie Loo, now 13 months old. I should probably preface this post with the fact that I've always wanted kids since I was one myself. I always had a knack for entertaining them and being their friend. Even in high school and college if there was a kid (under 5) at a party, I ended up playing with them over any adults. So when I met Julie, it was definitely something we discussed in the first few weeks of dating (we knew we would get married w/in two weeks of meeting). We both knew we wanted them, so it was just a matter of time after we got married.

Let's get to Chris's questions and my answers:

Would my spare time be so drastically reduced that I would no longer be able to work on open source?

I think it depends. Before Abbie was born, the earliest I ever got up was 6 a.m. Now I get up at 4 a.m. and sometimes stay up until 6 a.m. When I do this, it's always to code and it's about 50/50 open source vs. paid stuff. So, you'll still be able to work on open source, but you will have to sacrifice sleeping hours. In the first month that Abbie was born, I worked from home and got the Wrox deal - so I really had no concept of night or day. That's what got me on the 4 a.m. kick - and now I've found it works awesome for productivity-addiction.

Julie does yell at me a lot to "get off the computer" and "take care of your daughter!" She definitely does most of the work, and I feel my computer time is justified because I'm improving my skills to bring home more bacon. I'm not allowed to ever say I'm the one who pays for everything though, so I've never explained my justification. I guess I feel like Abbie won't remember this part of her life, so I can get away with it, but I'd better quit working so much in the next couple of years - it's not healthy.

Would we be able to travel?

This depends on you and your wife. Are you willing and ready to travel with a small child? Julie and I take Abbie everywhere and I think she's better behaved because of it. During the first year, Julie took her on an airplane every month and now she's an angel on the plane. If you're willing to put up with a crabby kid every once in a while on a plane, of course you can travel. They're not like dogs. ;-)

Do we really need any more babies?

No, but we do need more smart babies. Wouldn't you rather have your genes around to shape tomorrow rather than someone else's? Kids are the most rewarding thing in the world - some folks are addicted to it, which probably takes the coolness out of it. Two is good, if you have older friends without kids - they're the ones helping the problem. I know LOTS of folks without kids.

But then again there's the whole area of taking care of children with disabilities.

You sound like a chick - do you fear getting in your car because you might get in a car accident? ;-) I think depends a lot on your family history. If you have a history of disabled kids, you might want to think twice. Adopting is an excellent option - I've thought about doing it simply because I feel sorry for kids w/o parents.

Kids rock, no matter what anyone says. I've never laughed or smiled so much in my entire life before Abbie. We certainly don't have the night (drunk) life like we used to, but we certainly feel better about ourselves and the world. The coolest part is how close it brings your family together (husband/wife, parents, siblings).

And then you have Julie's Aunt and Uncle's opinion - party like a rock start until your late 30s, and then have kids. I prefer to party with my kids and I'd like to retire at 50, shortly after they leave. ;-D

Posted in General at Dec 17 2003, 12:00:32 PM MST 8 Comments

Denver JUG: XSLT and New EJB 2.0 Certification

Tonight I attented the Denver Java User Group meeting. Tom McQueeney did a nice basic concepts meeting on XSLT. Tom's presentation was a nice refresher on XSL and I learned a few things I hope I can remember the next time I use it. I've used XSL a couple of times in the last few years, and for those applications that I still maintain - I'm very glad I did. The e-learning app I developed last year uses JSTL's XML Transformation tags to render assets with different HTML (i.e. Flash, QuickTime, Image). It's worked great, and has always been very easy to add a new asset type to the XSL stylesheet.

The main speaker tonight was Kathy Sierra, the founder of JavaRanch. Her presentation was supposed to be on the new EJB 2.0 Certification, but it turned out to be a explanation of how EJBs work. Only about 1/3 of the room (approx. 40 attendees) had used EJBs, so I guess that's why she went that route. She didn't ask if we weren't using them by choice. ;-).

She started off her presentation talking about how the brain works and how it fights all day long to forget stuff. Your brain has a built-in crap filter. It only remembers those things that it needs to survive. It will only automatically remember those events that spark high emotions - fear, humor, arousal - because the chemicals caused by the emotions help you remember better. So when you're studying for your Java Certification (or any certification), the brain is going "screw this shit, I can survive without it." Repetition is a way to convince your brain that it is important. Another way is to get involved with your learning - be the EJB. Kathy did a captivating one-hour presentation with a number of audience members who acted out how EJBs work.

It was a very humorous presentation and great fun. An EJB presentation that was fun - WTF?! At one point, I looked around the room and almost everyone was learning forward and smiling. This lady is a captivating speaker, one of the best I've ever seen. I was very impressed with her teaching/learning techniques and I might just have to buy her book, Head First Java. Another highlight of the evening was that I actually won a free book.

Later: I forgot to mention what Kathy said about upcoming Sun Certifications. A couple new ones are coming: Mobile Application Developer, Web Services and an update to the Web Component Developer exam. She mentioned that the EJB 2.0 exam would probably remain at 2.0 for at least another year - until all the vendors caught up and support EJB 2.1. She said the Web Services one is going to be hard as will the next Web Component Developer Exam. The Web Component Developer exam will cover JSP 2.0 and Servlet 2.4. She also mentioned that she was reading Pro JSP to help create the WCD exam. How's that for an endorsement?!

Posted in Java at Dec 11 2003, 12:17:08 AM MST 5 Comments

DB2 with Hibernate and Tomcat

At my current project, we're using AppFuse for our baseline and (currently) Tomcat and MySQL for our databases. Soon we'll be migrating to DB2 for our database. I'm assuming everything will work smoothly with Hibernate, but there's probably some Ant things I will need to modify. For instance, with MySQL, I currently create a new database with the following script:

create database if not exists appfuse;
grant all privileges on appfuse.* to test@"%" identified by "test";
grant all privileges on appfuse.* to test@localhost identified by "test";

Is this possible with DB2? It's no biggie if it isn't - at my Comcast gig earlier in the year, we tied AppFuse/Hibernate into Oracle and simply didn't use the db-create nor db-init (creates tables) tasks. I use Hibernate's <schemaexport> task to create the tables - hopefully this will work in DB2. As for Tomcat, has anyone successfully configured DB2 with Tomcat's DBCP? We'll eventually be migrating to Websphere 5, hopefully it's not a big leap from Tomcat 4.1.27.

I haven't done any research on this yet, just wanted to put out some feelers and get any helpful advice before I start banging my head against the wall (hopefully I won't have to).

Posted in Java at Dec 08 2003, 10:01:55 AM MST 6 Comments

J2EE Patterns Catalog

J2EE is simple to learn, simple to develop - especially when Sun recommends you follow a mere handful of patterns. Heh.

Posted in Java at Dec 04 2003, 08:53:25 PM MST 9 Comments

Users and Groups on Linux

Now that I've rebuilt my Red Hat 9 box with Fedora, and installed Out-of-the-Box - I really should get my user and group permissions setup properly. If I ever decide to host CVS, shell access or bug tracking for clients, it'd be nice to know my server is secure. Out-of-the-box installs everything as root (save CVS), so I'm constantly doing "chown -R matt $CATALINA_HOME" or "su" to simply deploy files to Tomcat.

How are these open source servers (i.e. SourceForge) setup? If I wanted to setup a SF-clone, I'm assuming I'd need to setup a "developers" or "clientName" group and then create specific cvs repositories for each client. However, I'm not looking to setup a SourceForge-like server right now - I just want to get my permissions right. I'm thinking of creating a "developers" group, and giving it rw rights to Tomcat, Ant, Anthill, etc. Then I'll make myself a user in this group, rather than having to "su" every time I want to do something. What would you do? How would you setup your "dev" box to be more secure with users and groups?

Posted in Java at Dec 03 2003, 05:45:23 AM MST 1 Comment