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 "css". 327 entries found.

You can also try this same search on Google.

DJUG Tonight: Google Maps and Struts 2

If you're in the Denver area, tonight's DJUG should be a good one. Scott Davis is presenting on how to Roll your own Google Maps and I'm talking about Migrating from Struts 1 to Struts 2. I've seen Scott's presentation and it's very good. He explains the basics of CSS and JavaScript so even if you're new to web stuff, you won't be lost.

The nice thing about being the main speaker is I can almost guarantee that the talk will finish on time, pending questions and answers of course. With any luck, we'll be at the Rock Bottom by 8:30. Here's the current agenda:

5:30-6 p.m. Food and Networking
6-7 p.m. Basic Concepts
7-7:15 p.m. Break and Announcements
7:15-8:15 p.m. Main Meeting
8:15-8:30 p.m. Questions and Answers
8:30 p.m. Door Prizes

Update: Download Migrating from Struts 1 to Struts 2 (PDF, 4.7 MB).

Posted in Java at Nov 08 2006, 07:37:46 AM MST Add a Comment

Upcoming Speaking Engagements

If you're interested in learning about Struts 2 or AppFuse, I'm doing a number of speaking engagements in the next month:

How's that for getting some mileage out of my CSS presentations? ;-)

I don't know who will be doing the Basic Concepts talk at DJUG, but I'm pretty sure Chris Maki will be presenting on JPA at the JBoss User Group meeting.

In addition to these local talks, I'll also be talking at The Spring Experience on What's new in AppFuse 2.0. Since my talk is at 9:30 p.m. on Saturday night, I'm looking into getting some free beer to bribe people into showing up.

Posted in Java at Nov 01 2006, 09:56:18 PM MST 4 Comments

[CSS 2006] Mike Milinkovich's Keynote

I'm sitting in Mike Milinkovich's Keynote at the Colorado Software Summit in Keystone, Colorado. Mike is the Executive Director of the Eclipse Foundation - his picture can be seen on his IT Conversations page. Mike had fun getting up here - driving through the snow - and waiting on the freeway for a couple hours while the "rock slide" was cleared.

Mike's presentation is titled "All About Platforms, Lessons learned from Eclipse". Mike used to work for Oracle, and he's been at the Eclipse Foundation for 2 years. Before that, he was at WebGain. The company that "would not believe that Visual Cafe sucked". He's been in the Tools Business for a long time, and has never bothered to learn Java. He used to do a lot in SmallTalk and that's they last time he programmed. The "repository thingy" in Visual Age for Java was his fault.[Read More]

Posted in Java at Oct 26 2006, 10:39:24 PM MDT

[CSS 2006] Snow in Keystone

Looks like a good day for skiing...

Snow in Keystone

Posted in Java at Oct 26 2006, 07:57:06 AM MDT Add a Comment

[CSS 2006] Day 3

This morning, I gave both my talks back-to-back and was done by noon. After lunch, I attended Scott Blum's Taming AJAX with GWT. It was a good talk with some impressive demos. I definitely need to dig into GWT more - it looks like very cool technology. I can't help but think it's the "widget framework" that JSF was supposed to be.

I was planning on heading back to Denver tonight, but it started snowing and Julie said they expect 10" in East Denver. Who knows if it'll actually snow that much (the weatherfolks are often wrong), but I don't want to be on the roads.[Read More]

Posted in Java at Oct 25 2006, 06:04:47 PM MDT

[CSS 2006] To ESB or not to ESB?

Do you have to have an ESB to have a SOA?

I'm sitting in Denise Hatzidakis's talk titled "To ESB or not to ESB" as requested by Mick Huisking. Dinese is the Chief Technologist at Perficient, Inc.. It's interesting, on her opening slide she has a @perficient.com e-mail address, as well as an @us.ibm.com address.

"SOA stands for Same Old Architecture"

This talk focuses on using an ESB and how to build it. There's a lot of ESB products out there. An ESB is not about a product - it's about what kind of connectivity you need between your systems.[Read More]

Posted in Java at Oct 24 2006, 06:08:48 PM MDT 1 Comment

[CSS 2006] Using Maven 2 to get control over your Development Process

This afternoon I attended Hermod Opstvedt's talk on Using Maven 2 to get control over your Development Process. Most of it was review for me, but I took some notes anyway. About halfway through, I quit taking notes and just listened. The most interesting part for me was seeing how the Maven Embedder works. Since Maven doesn't currently allow you to create archetypes from existing projects the embedder seems like a good workaround. I'd rather code in Java rather than XML any day. [Read More]

Posted in Java at Oct 24 2006, 03:53:43 PM MDT 2 Comments

[CSS 2006] Day 1

Today, I woke up early and made it to the conference in time for breakfast and John Soyring's Keynote. While I didn't stay tuned in the whole time, it looked like he had some good slides and he was definitely an eloquent speaker. It did turn into an IBM sales pitch at times, but overall it was pretty good. One thing I didn't know is apparently Wayne Kovsky (the conference organizer) , used to have John's job at IBM. John "provides global business leadership for a multi-billion dollar annual revenue portion of the IBM software business" - so apparently he's doing pretty well.

After Soyring's talk, I attended Bill Dudney's Introducing Cayenne presentation. I didn't listen as good I should have (notice the timestamp on the AppFuse 1.9.4 Release), but I did learn that the Demo Gods were having a case of the Mondays. After lunch, my Seven Simple Reasons to use AppFuse talk started at 1:00. It was the first time I'd presented the talk, so I didn't know how long it'd go. The first demo worked, the second one bombed. I shoulda typed @spring.validator type="required" instead of @spring.validator required="true". Oh well.

This afternoon, I went to Mike Bowler's Ruby for Java Programmers talk. I was a bit late, but it was an excellent presentation. I'd recommend it to anyone. That raps up Day 1, tomorrow I hope to hit Event Driven Architecture with Apache ActiveMQ and POJOs and To ESB or Not to ESB.

Posted in Java at Oct 23 2006, 06:30:59 PM MDT 1 Comment

New weather.com site built using AppFuse

From Jeff C (a Sr Developer for forgetaway.com, a new unit of weather.com) in Lightweight Java Development with Webwork, Spring, and iBatis:

Our new site, ForGetaway.com, launched 2 weeks ago, and its built on WebWork, Spring, and iBatis. Using those 3 frameworks as the backbone of the site was a great experience. I think that combination of frameworks can be considered lightweight, especially from a development standpoint.
...
Even the development/testing process is quick. Thanks to Matt Raible's AppFuse (which was used to get this app started), we have a sweet build.xml file that allows us (on our dev machines) to reload our app by having the build script talk to tomcat. So, even when a properties file or java class or static field changes, its just a matter of running the reload task in the build.xml file and tomcat reloads the app with all changes in under 5 seconds. Yeah, rails is probably quicker, but i can spare 5 seconds of my time to let my changes get reloaded by tomcat.

Reloading your application in Tomcat to see your changes sucks. However, AppFuse 2.0 will allow you to use the Maven 2 Jetty Plugin, which aims to eliminate the whole deploy cycle. This plugin is powered by Jetty 6, which has been rewritten for Continuations, NIO, Servlet 2.5. Hopefully we'll start to see more appserver plugins written for Maven 2.

I love hearing success stories like Jeff's. That's why I (and many others) work on AppFuse - to simplify Java web development. We know that it's more painful to develop web applications in Java than in scripting languages, but we continue to do it because tools like AppFuse make it enjoyable. Even though tools and languages are important for simplification, I believe that most project's success is determined by people. If you have good people, effective processes and a lack of politics - a project should have no problem being successful, regardless of the tools.

Did you know the new SourceBeat site is also powered by AppFuse? We chose the WebWork+Spring+Hibernate combination and were quite pleased at how easy it was to develop everything. We had 90% of the site done in the first two weeks of development.

In other AppFuse-related news, the demos have been running solid for 70 days straight. I'll admit that's not a very log time, but it does prove there's no memory or connection leaks in the software. ;-) The number of currently active sessions is as follows:

The default session timeout is set to 10 minutes in AppFuse.

Posted in Java at Sep 28 2006, 11:40:55 AM MDT 6 Comments

Label placement in web forms

From Swapnonil Mukherjee:

Matteo Penzo has published an excellent article about the placement and alignment of labels in data entry forms. His research, though much more scientific and thorough, confirms what I had said earlier, about the importance of right aligning form labels.

Screenshot of User Profile In AppFuse 1.9.2, we added support for the CSS Framework and Wufoo-style forms. The new form layout appears to satisfy many of Matteo's suggestions. The only things we aren't doing are: 1) we're using bold labels instead of plain text and 2) we're using labels for drop-downs, instead of making the first element the label. I suppose the bold labels isn't much of an issue b/c we're not using heavy input borders. As for labels and <select> elements, I think the way we're doing things is good enough. If it works for Wufoo, it works for us!

Posted in The Web at Aug 22 2006, 12:43:01 PM MDT 7 Comments