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.

Livin' it up in NYC

I'll admit, this week has been exhausting. There's nothing like doing consulting 9-6 everyday for a client - especially when you're presenting or talking 90% of the time. My final presentation I delivered to the client was 600 slides. Yikes!

Limo Even while this week was tough, I did manage to have a good time. I have a couple college buddies that live here, so they're always fun to hang out with. Wednesday night, we all met up at one guy's house for dinner and reminisced about the good ol' days. Last night, I hung out with my relatives from Beacon.

After finishing up with my client, I met my Aunt Mary in the lobby of the New Yorker Hotel. We walked outside, and when I started hailing a cab she said "What are you doing? I got a limo!" "WTF?!", I said out loud. I turned around to see Mary had brought my cousins along and they'd rented a limo for the night. Needless to say, we had a great time riding around, eating a fancy dinner and ended the night with champagne and cheesecake in Little Italy. It was truly awesome and definitely made my whole week.

Now I'm at the airport bar in Laguardia, sluggin' down a few before I head back to Denver. The next couple weeks are guaranteed to be hectic - I leave on Wednesday for the Ajax Experience, followed by JavaOne the week after. While traveling to clients isn't the most glamorous job in the world, getting paid to learn about Ajax/Java for two weeks in San Fransisco isn't a bad gig. ;-)

Posted in General at May 05 2006, 02:34:36 PM MDT 1 Comment

Studio7Designs

Andreas Viklund is the original designer of this site's layout. Last night he pointed out a cool new site that showcases another set of open source web design templates.

Aran and Pat, also known as open source template designers Nautica and snop, have launched a new and extremely pretty website: Studio7Designs.com. The site is announced as a "network of professional designers", and it will show off both open source website templates and stock photography. Pat is one of the designers whose work I truly admire (see the Lazy Days template to understand why) and Aran's Nautica-templates are great examples of the simple design style that I like, so the site is well worth a visit.

Like Andreas, I think their Lazy Days template is truly awesome. I wonder how hard it would be to port it to the CSS Framework?

lazy days

Posted in The Web at May 03 2006, 06:33:13 AM MDT 5 Comments

Integrating Google Maps, Mule and ActiveMQ with AppFuse

Stephen Pasco has written a nice tutorial on how to integrate Google Maps, Mule and ActiveMQ with AppFuse.

Here's the scenario: Upon opening a Google map client, within a web browser, the user clicks on the map creating points (Figure 1). With each point created, a message is immediately sent to the ESB containing the point's longitude and latitude. A second, remote client instantly receives the sent longitude and latitude coordinates and displays them on a separate Google map (Figure 2). [Read More »]

Good stuff - thanks for the writeup Stephen!

Posted in Java at May 02 2006, 07:35:13 PM MDT 2 Comments

Wireless in NYC

wireless in nyc What's worse than staying at a high-priced hotel and having to pay for internet access? Staying at an old NYC hotel where the free (wireless) internet access doesn't work. Even worse, there's a plethora of available networks nearby. 2/3 of them are protected, and the rest simply don't work with my Mac. I'm starting to get pretty frustrated with the wireless on this MacBook Pro - especially since it worked nearly *every time* on my old PowerBook. I should probably take it into the Apple Store next week. The strange part is I can get a connection just fine at my client and Starbucks. It's weird staying in a hotel room and not having internet access - especially when traveling for business.

Update: Strangely enough - when I got back to my room tonight, there was a new wireless connection and I got a full/fast connection. Go figure.

Posted in Mac OS X at May 02 2006, 07:11:06 PM MDT 9 Comments

CSS Design Contest: Time to Vote

It's time to vote for the CSS Framework Design Contest! Counting votes and making sure everyone only votes once is always a challenge in these types of contests. I think the best way to ensure honesty is to have people send an e-mail to a mailing list. So here's how to vote:

  • Pick your favorite design from the entries.
  • Post an e-mail to [email protected] with subject of "My CSS Design Contest Vote".
  • Vote for your favorite theme by putting "My favorite theme is XXX" in your e-mail.

Let the voting begin!

Posted in The Web at May 02 2006, 07:15:45 AM MDT 4 Comments

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