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.

Rebooted

As you can hopefully see, I've rebooted the HTML version of this site. I apologize to anyone using IE - I haven't even looked at the site using IE. Everytime I startup Parallels on my MacBook Pro, it locks up the system and I have to reboot. Installing this new theme was pretty painful, mostly because I had to do it with a 20K connection through my cell phone. I'm staying at The New Yorker Hotel in NYC, and even though they advertise "free wireless", it doesn't work for me.

I hope you like the new theme - clicking on the different categories will give you different variations of it. Clicking the "Roller" category will allow you to see version I'll be contributing back to the Roller project. If you see any issues at all, please let me know. Most of them should be fixable with a bit of CSS. The only thing I still need to do is figure out how to get Roller to use the last entry's title in the <title> tag. Google loves good titles.

Update: OK, so most people don't like the reboot - including folks on the CSS Reboot site. Personally, I like the new layout, but agree that the default colors need work. I do like some of the alternative colors, like The Web category's. I'm open to suggestions - what would you like this site to look like?

Silktide SiteScore for this website Update 2: The colors might suck, but my Sitescore results have gone up significantly. The funny thing is the main thing I'm lacking is different titles on each page.

Update 3: I solved the title problem. You can do this in your Roller templates too if you like.

#set( $xmap = $pageModel.getRecentWeblogEntries(1,'nil') )
#foreach( $day in $xmap.keySet() )
   #set( $recentEntries = $xmap.get($day) )
   #foreach ($var in $recentEntries)
       #set ($title = $var.title)
   #end
#end
    <title>#showWebsiteTitle() | #if ($page.Name == "Weblog") $title #else $page.Name #end</title>

Posted in The Web at Apr 30 2006, 11:15:14 PM MDT 17 Comments

Upgraded to Roller 2.2

I spent some time this afternoon and upgraded this site to the soon-to-be-released Roller 2.2 (release notes). Please let me know if you see any issues.

Upgrading Roller is the first step in preparing for tomorrow's CSS Reboot. I don't know if I'll have time to create a new theme and use it on this site, but I hope to give it a try. I'm on the plane for 4 hours tomorrow, so I should be get something done.

As part of the upgrade, I fixed search for this site. The problem was caused by using $dateFormatter when viewing search results. My guess is that variable is not in Velocity's context after searching.

Posted in Roller at Apr 29 2006, 06:26:02 PM MDT 4 Comments

JavaMail goes Open Source

JavaMail is now open source as part of the GlassFish project. Can we get those JARs on ibiblio now and make Maven more usable?

April 19, 2006
JavaMail is now open source! The source code for the JavaMail API Reference Implementation is now available under the CDDL open source license, as a part of Project GlassFish See the mail module page at GlassFish for more details.

Posted in Java at Apr 29 2006, 12:40:44 PM MDT 1 Comment

Heading to the Big Apple

May is shaping up to be quite the travel month. Next week I'm heading to New York City to put on a 5-day seminar for a client. Topics include: Web Frameworks, JSF, Ajax, Spring, Spring Web Flow, Hibernate, Caching and Performance, Deploying to Production, Comparing CMS Applications, eCommerce in Web Applications, Sharing with RSS and Atom, Acegi Security, Storing User Preferences, Source Control with Subversion and Coding Standards/Project Management. Yeah, a whole slew of stuff. There's nothing like doing a customized seminar when the client gets to pick whatever topics they like. ;-)

The only things I'm a little light on are Comparing CMS Applications, eCommerce and Storing User Preferences. For Comparing CMS Applications, I'm going to talk about Alfresco, Drupal, Joomla, Magnolia, OpenCMS and Plone. I'll be talking about ease of installation, ease of use, community and support, extensibility and performance. One thing I plan to do is zing CMS providers about eating their own dogood. As far as I can tell, neither Alfresco nor Magnolia use their own CMS for their websites. Of course, they might not be developing a "CMS for the web", but that's what most folks tend to use CMS's for IMO. It should be interesting to see if the Java solutions have decreased their installation times. Drupal, Joomla and Plone all took under a minute to install (on OS X) the last time I tried. If you happen to work on one of these applications and want to point out a kick-ass site developed with your software, please leave a comment.

As far as eCommerce solutions, most of the applications I've worked on recently just hook in with PayPal. This seems like the best solution because you eliminate the headache of credit card processing and in-house security/fraud preventation. If you've recently developed an e-commerce enabled application, what solution did you use? Did it work well for you? I'm also interested in solutions that were utter failures or a pain in the ass to use.

Lastly, as far as storing user preferences - I can only think of 3 ways to do it: cookies, database tables, and using the Java Preferences API. I'm sure I'm missing something. What solutions have worked well for you?

After returning from NYC, I'll be in Denver for 5 days before flying out to San Francisco for The Ajax Experience and JavaOne. In the midst of all the travel, I hope to finish up the CSS Design Contest, release Equinox 1.7/AppFuse 1.9.2 and do some performance tests with the T2000.

Posted in Java at Apr 27 2006, 12:17:39 PM MDT 12 Comments

Exporting an outline from Keynote

Last night, I started thinking it would be pretty cool if I could take a Keynote presentation and export an outline from it. After a bit of Googling, I discovered that OmniOutliner can open Keynote files. I was tickled pink when I read this, only to be disappointed a minute later when I found it didn't work. It imported the file OK, but most of the bullet points are blank, and the ones with text only contain notes.

I'm using Keynote 3.0.1 and OmniOutliner 3.5. Has anyone had success using this feature in OmniOutliner? Of course, if you know of a way to export a Keynote (or PowerPoint) outline, I'm all ears.

2 Minutes Later: Looks like there's a beta that supports Keynote 3.0. Sorry for the noise.

Update: Same result with the beta. Damn.

Posted in Mac OS X at Apr 27 2006, 09:20:00 AM MDT 1 Comment

Good Parties at JavaOne

Are you going to JavaOne in a few weeks? If you are, you'll want to know all about the good parties. So far, I've heard the SolarMetric/Tangosol Party is Tuesday night, but don't know if it's been renamed to the BEA/Tangosol Party. I've heard same time, same place.

On Wednesday night, there's a GlassFish BOF at 5:00, a Struts BOF at 5:30 (in the pavilions) and our Geronimo Live Party from 6-9. You'll need to pre-register to get into the Geronimo Party. Luckily, you can easily do that by clicking on the image below.

Geronimo Live

The party is at the swanky W Hotel, which is right across the street from Moscone. It's sponsored by the following Geronimo Supporters:

Geronimo Live Sponsors

Any other good parties you know of at JavaOne?

Posted in Java at Apr 25 2006, 05:36:54 PM MDT 10 Comments

CSS Framework Design Contest - only one week left!

It's time for another CSS Framework Design Contest Update. The contest will officially end this weekend (Sunday night), but hopefully people will continue to contribute designs after that. After the initial deadline passes, I'll send out a vote to the AppFuse CSS Mailing List. If you have a better idea of how to handle voting, I'm all ears. Maybe we should use JIRA?

I spent a few late nights last week converting some of Andreas Viklund's Templates to use the CSS Framework. All the ones I converted, along with many other contest entries, can be seen at http://css.appfuse.org/themes. For many of these, I've replaced the default forms.css with one that has CSS from Wufoo.com. If you'd like to include a similar form in your entry, just copy the <form>s from form.html into your own page.

I've also looked at incorporating the CSS Table Gallery, but found many of the designs to be pretty ugly. Nevertheless, most of them work with the displaytag, so I might include some of them in the future. In the meantime, if you want to see what they look like, go to css.appfuse.org/users.html (user/pass: mraible/tomcat). Change the "css" parameter in the URL to match a table's stylesheet, and you should see what it looks like.

To answer a few questions I received earlier today:

Does an entry have to contain all possibilities/layouts?

No. I've come to realize that it's easier to only accomodate one layout. If users really like your design, hopefully they'll morph it to a different layout sometime in the future. If you look at the Andreas themes I converted, they only have a main page and a form. They'll likely be enhanced in the future for form elements, calendars, tables, etc. - but that should be pretty easy (and I'm willing to do that work).

Am I "allowed" to overwrite some settings in the different layout CSS for different settings, depending on which layout css is used beside the layout according stuff? For example settings (appearance, design) for the main navigation and so on?

Yes. You can change any of the CSS files you like. The only thing that needs to remain constant is the HTML - and then only the ids and order of <div>s, etc. needs to be the same. The general idea we're hoping for is to put your "theme" in a directory and then refer to it dynamically as part of the showcase. We're in the process of enhancing the showcase site to use the same HTML pages for all themes.

Don't forget about the prizes: an iPod (60GB), an iPod (30GB) and a 2GB Nano. In addition, you could use your cool new design for the CSS Reboot.

Posted in The Web at Apr 25 2006, 05:18:18 PM MDT 3 Comments

Gig in Seattle

I don't normally post gigs on this site, but I do when they're good rates, and the person hiring is a friend of mine. Here's one in the Pacific Northwest (Seattle):

  • 5+ years of experience with Java and J2EE required including EJB, JMS, and JSP/Servlet, required.
  • 3+ years of experience with UML, SOAP, XML/XSL, SQL, Struts.
  • 1+ years experience working with external client on projects.
  • Experience applying design patterns and OO best practices required.
  • Experiencing writing use cases and producing design documentation required.
  • Experience developing on Unix platforms required, preferably RedHat Linux.
  • Required application experience: BEA Weblogic, Tomcat, Apache.
  • Desirable application experience: Maven, Struts, Spring, MySQL, Oracle.
  • Desirable methodology experience: Refactoring, Agile, Scrum.
  • Desirable additional skills: WML, WAP, XHTML, XSL, XML Schema, SSL, HTTP, Perl.

Let me know if you're interested and I'll forward you the full job description and contact person's information.

Posted in Java at Apr 25 2006, 03:21:07 PM MDT Add a Comment

Gas Prices

Denver Apparently gas prices are way up. I wouldn't have known this, but the lady cutting my hair the other night mentioned it. I think I've filled up my car 5 times this year. The only thing I use it for now is Ski Trips and Airport Runs. Ahhhh, the joys of a bicycle commute and living in the center of town. Of course, on days like today (when it's starting to snow), it's nice to be able to work from home.

Posted in General at Apr 24 2006, 06:22:50 PM MDT 11 Comments

6 Years

April 22, 2000 Today is Julie and I's anniversary. It's hard to believe we got married 6 years ago. Actually, looking at Abbie and Jack, it's easy to believe it's been that long - they grow up awful quick. The fun part about this day is reflecting back on our wedding day. We got married in West Palm Beach, Florida - and had quite the turnout. It was a "destination wedding" as they call it, and we had friends and family fly in from all over the country. We made everyone fly down early (Wednesday) and had a golf tournament, went fishing on Julie's step-dad's boat, and lost money on a gambling cruise before our Saturday wedding. It was so much fun that we've been trying to think of an excuse to do it again.

Posted in General at Apr 22 2006, 03:56:21 PM MDT 7 Comments