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.

Blogging like a madman

I was looking up some old pictures last week and I stumbled upon the June 2003 Archives for this site. Holy crap Batman - I was blogging like a madman! I had many days where I blogged 5+ times - that's just nuts. Looking back, I also noticed these other months where I was a blogging fanatic:

As Jeff said the other day, "We can tell you really like this job?" I asked, "Why?" He responded, "Because you hardly ever blog anymore!" It appears he's right. ;-)

Posted in Roller at Jan 22 2005, 08:07:30 PM MST Add a Comment

Upgraded to Roller 1.0

Dave released Roller 1.0 yesterday, so I decided to spend 20 minutes and upgrade today. I have customized a few pieces in Roller and added a bunch of my own files, so I always build from CVS for this site. I did find a bug with twisty comments (fixed in CVS) when testing locally, but everything else appears to be working OK. Let me know if you see any issues and feel free to play with my test user if you like. Username is "test", password is "roller". Well done Dave!

Update: Remember Me seems to be broken. I thought I fixed it last week. I'll investigate further tomorrow.

Update 2: Strange... it works when I test it locally, but not on this site.

Solved: It turned out to be related to installing Roller as the root app, and only seems to affect Firefox. Fixed in CVS.

Posted in Roller at Jan 15 2005, 04:27:18 PM MST Add a Comment

XmlHttpRequest

Dave quotes it, Charles writes it. XmlHttpRequest is the topic at hand and how it will help us build the next generation of web UIs. I've used Brent Ashley's JSRS Library to do some fancy UI work (one drop-down populates another) last year. It worked well in combination with Erik Hatcher's articles: Remote scripting using a servlet and Sending rich messages between client and server using asynchronous messaging. The project was AppFuse based, so I have the code if someone really wants it.

An example of XmlHttpRequest is in Roller itself - in the twisty comments you see on this site. For those who have used them, you probably know they're somewhat buggy. With all this talk of XmlHttpRequest, maybe it's high-time to revisit Roller's implemenentation and see if the technology has gotten any better. In reality, I know it hasn't - it's the browsers that are the problem and there hasn't been an update to IE in quite some time. My code could probably use some work though. If you want to dig in and check it out, here's the xmlextras.js that does the heavy lifting and comment-specific JavaScript.

After looking at this code this morning, it looks like there's different methods being used for the different browsers.

/////////////////////////////////////////////////////////////////////
//// XML Document loading

function loadXMLDocument(aURL, aCallback)
{ 
  gMediaCallback = aCallback;
  
  if (window.ActiveXObject) {
    // Internet Explorer XML loading syntax
    gMediaDoc = new ActiveXObject(getControlPrefix() + ".XmlDom");
    gMediaDoc.onreadystatechange = onMediaReadyStateChange;
    gMediaDoc.async = true;
    gMediaDoc.load(aURL);
  } else {
    // Mozilla XML loading syntax
    gMediaDoc = document.implementation.createDocument("", "", null);
	var xmlHttp = new XMLHttpRequest();
    xmlHttp.overrideMimeType("text/xml");
	xmlHttp.open("GET", aURL, false);
	xmlHttp.send(null);
    gMediaDoc.loadXML(xmlHttp.responseXML.xml);
    onMediaLoaded();
  }
}

I wonder if there's a common way that can be used for both browsers? BTW, 99% of the code for these comments was borrowed from Joe Hewitt.

Later: Another article covering this technology: Using the XML HTTP Request object. Hat tip to Carl.

Posted in Roller at Dec 11 2004, 09:29:09 AM MST 13 Comments

Fix CSS max-width in IE

Anthony has a good post on using this minmax script to fix a CSS bug in IE. If you're using the Sunsets theme (like I am) with Roller - you might want to add this to your page templates. I've patched this site - thanks Anthony!

To patch your theme, create a page with name "_minmax.js" and link "minmax.js", populate it with the script contents and then add the following in your theme's <head>:

    <script type="text/javascript" src="$ctxPath/page/$userName/minmax.js"></script>

You can also create CSS pages for your site using a similar technique. While we're talking about IE bugs, you might want to know that <script/> doesn't work in IE, that's why you always have to add the closing </script> element.

Posted in Roller at Nov 30 2004, 08:23:31 AM MST 6 Comments

Upgraded to Roller 1.0 RC1

This site has been upgraded to Roller 1.0 RC1. If you see any issues (besides all my feed showing up as unread), please let me know. Some navel-gazing stats for you:

  • Total Number of Posts: 1970
  • Total Number of Comments: 4800

This blog was started on August 1, 2002.

Posted in Roller at Nov 01 2004, 11:22:23 AM MST

Got RSS Bandwidth Issues?

I got an interesting e-mail the other day from my.rsscache.com. It appears to be a caching service for your RSS feeds. I definitely have bandwidth issues, but I'm not too concerned because Google Ads pay for my hosting costs. This looks like a valuable service, and it's cool they have a cached version of my RSS feed, but I'm wondering what the catch is? There has to be some sort of catch. Are they just trying to get weblogs to signup, and advertise their service - and then hope to get big corporate players that will pay?

Posted in Roller at Oct 19 2004, 09:10:26 AM MDT 2 Comments

Roller goes Professional!

OK, so Roller hasn't gone professional, but Dave will be getting paid to work on it.

It's official. Roller is now my full time job. I just accepted a job with Sun Microsystems to "design, develop, and deploy the primary blogging system for Sun in conjunction with other engineers" and to evangelize blogging both inside and outside of Sun. Needless to say, I'm thrilled.
...
What does this mean to Roller? Only good things. Sun wants many of the same things for Roller that other Roller users want including high performance, high availability, great user interface, support for standards, and better support for large communities of bloggers. Thanks to Sun I'll be working full time to help make these things happen.

Congratulations Dave! You're living the open-source developer's dream.

Posted in Roller at Aug 30 2004, 12:45:38 PM MDT Add a Comment

MyEclipse VP is blogging

Wayne Parrott, the VP of Product Management at Genuitec (makers of MyEclipse) has started a blog.

For the past 3 years I have been involved with a great team at Genuitec (www.genuitec.com) of which I am a founder. While my title at Genuitec is VP, Product Management, I think of myself more as an Eclipse technologist and product delivery specialist. These days I spend most of my professional time working on Genuitec's MyEclipse Enterprise Workbench product. A quick fly by of my resume looks something like this: several startup failures, numerous consulting engagements, and some really cool work on the Human Genome Project and NASA's AI Section that dates back to the '80s.

Very cool! I love it when companies get closer to their customers via weblogs. Now we just need to get Wayne to start blogging some tips and tricks.

Posted in Roller at Aug 27 2004, 04:22:52 AM MDT 3 Comments

Tom McQueeney's Blog

What happen's when you're a Java Developer and your wife is a kick-ass designer? You end up with a rockin' Roller theme. Tom McQueeney is DJUG's President and his wife, Renee, is an awesome designer. Not only that, she's a Sun Certified Enterprise Architect. Tom and Renee, this site looks incredible - I especially like how the "blog" part of it is just another page and it looks so seemless. Tom's personal site looks a lot better than many corporate sites I've seen.

Posted in Roller at Aug 13 2004, 12:52:50 PM MDT 1 Comment

Roller Templates - could we use SiteMesh?

One of the problems with Roller's "themes" is that you have to re-create the entire HTML structure of the page when you add new pages. While this can be simplified using includes, there's got to be a a better way. An ideal solution would be to allow each user to specify a "decorator" and then use SiteMesh to pull this decorator from the database and decorate a user's pages. This seems simple enough, but is it possible?

Posted in Roller at Jul 08 2004, 12:39:31 PM MDT 4 Comments