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 "free sex movies for men non blog". 1,226 entries found.

You can also try this same search on Google.

WebORB: Have you ever heard of it?

A colleague sent me an e-mail today and asked me if I'd ever heard of WebORB today. Since I hadn't, I figured I'd write this post and see if any of you have heard of it? If so, what is it and what does it do? It it similar to Appcelerator, but server-side only? Or is it more like Granite DS?

[Read More]

Posted in The Web at Feb 13 2008, 01:42:38 PM MST 12 Comments

Leasons learned from using Seam

Yesterday, I noticed the Seam Developers released a new seamframework.org site. It's great to see a web framework team eating their own dog food. Of course, if all open source framework developers were paid full-time to work on their respective project, we'd likely see more of this.

My favorite part of the new site is the Forums, which has an Atom Feed you can use to monitor topics posted. This morning, I noticed a topic from Daniel Hinojosa titled ANN: amazinggates.com is alive with Seam & lessons learned. In this topic, Daniel lists a number of lessons he learned from working with Seam.

We deployed our web site at amazinggates using JBoss Seam. I would lie if I said it was it easy, but the reason I had some issues is that I didn't believe a lot of documentation.

  • I had refused to use Facelets, instead I used JSP. All I can say to newbies is don't do it. You owe to yourself to drop JSP like a bad habit.
  • I had refused to use Seam Managed Persistence and ended with LIES.
  • I had refused to use Seam-Gen, and used my own folder structure. I still use my folder structure, but only after I used Seam-Gen and learned what I had to do to make my integration tests work.
  • I had used 2.0 when it was still in CR and Beta releases. Although that is neither my fault or the Seam's fault, the greatest result was that I learned tremendously what Seam had to offer, and I was able to provide JBoss with some bugs, and help users in the forum.
  • It took 8 hours to learn that Seam's AJAX4JSF solution was the best solution on the planet.
  • I used faces-config for page navigation. Ok, and that was just stupid.
  • I didn't know what components.xml was for the longest time. I'm really going to take part of the blame on this one. I read the documentation and even after reading it I still had no idea what components.xml was for. I realized that if the documentation said that components.xml maps components to names the way it does in Spring XML configuration. I wouldn't have spent that much time.
  • I had refused to use Renderer.render for email, because I didn't believe that the view should be the place for the rendering. So I was going to use a StringTemplate solution. That was dumb, it took a while for me to realize that generating emails in the view was the BEST place to do so.
  • Integration testing was a bitch. That wasn't my fault, or Seam's fault. It really was the Microcontainer's fault, and I hope that that ends up better in the long run. I heard through the grapevine that really no one is working on the EJB Microcontainer and it is still stuck in Alpha. Redhat needs to invest some people into it. It really is THAT important.

So, all in all, I love the new website, and I love what JBoss Seam has to offer. I am excited with what it has to offer, and I will still continue to build my business around it. Good work to the team that made JBoss Seam possible.

The one thing I noticed about Daniel's "Amazing Gates" site is it seems extremely fast. Do you think this is because of Seam or did he follow the rules for high performance websites?

Posted in Java at Feb 13 2008, 12:19:27 PM MST 3 Comments

The New Javalobby Sucks?

I didn't say it, Jesse Sightler did. Even though he didn't say "it sucks" explicitly, that's what I read in his post:

Is it just me, or has the new Javalobby proven to be a significant step backwards? The old site was a Slashdot style discussion system with a pace very appropriate to the pace of news flowing from the Java community. The light emphasis on announcements was welcome, and useful while at the same time not being overstated.

The new site feels a lot like TheServerSide.Com from a few years ago. They've gone to a system where the frontpage is updated frequently (many times per day) and the content there is seldom interesting enough to attract any significant discussion. Unfortunately, this means that the overwhelming number of articles on the frontpage appear dry and uninteresting. I don't think I've really read anything there since the switch to the new format.

For the sake of the site, I do hope they figure out their mistake here. There is no shame in turning this into worsethanfailurethedailywtf all over again (hopefully you get that reference).

I like the new site because I visit it more than the old one. Of course, that could be a direct result of me posting there. If I could change one thing, I'd like to see a java.blogs-style aggregator of all zones (then I'd turn off the .NET and Kids Code Zones).

Do you agree with Jesse? Should Javalobby change back to the old-way of using forums?

I believe the reason for the change was because DZone has become so much more popular than Javalobby. I think they're hoping to capitalize on that brand name and extend it to other communities. Look at the following graph from Alexa for proof. More traffic = more $$ from advertisers.

Posted in Java at Feb 12 2008, 11:26:50 AM MST 18 Comments

Building a Better Maven with Ant

It looks like the Ant folks are thinking of building a better Maven.

I see many developers adopt Maven because they want a build system able to provide common features with no effort. Most of them don't want to spend much time writing an Ant script, or have seen or heard that maintaining Ant build scripts is troublesome. So they choose to use Maven only because it's easy to use for common use cases: install, write a simple pom of a few lines or generate it using an archetype, and you're ready to compile, test and package your new project following the Maven standard structure. They also get dependency management for free, and with only a few more effort they have multi module builds, and some nice features like code analysis, coverage, and a set of report gathered in a web site. That's really nice and that's what I like about Maven.

But Maven suffers from a lack of flexibility and robustness IMHO. And later the same people who first adopted Maven because of its perceived ease of use become frustrated when they need to tweek the system to their own needs or don't understand how the release plugin work. Then some of them go back to Ant, first having to go through a sometimes painful road to describe their whole build system in xml, especially if they aren't Ant experts. Others try to use new build tools like raven, buildr or others.

I really like Ant, and think it is a very good basis for robust and flexible build systems. People with enough knowledge of Ant can write very good build systems, testable, maintainable and adaptable. But you need to get your hands dirty, and you need to get a good knowledge of some of the mechanisms which can make an Ant based build system manageable: import, scripts and scriptdef, macrodef, presetdef, and so on. [Read More]

What do you think - is this a good idea?

I agree that Maven has its warts, but I don't think it's that bad. I've also heard that Maven has been successfully implemented at large companyies like eBay, Intuit and E*Trade[1]. Is the "Maven sucks" meme largely something that exists in the blogosphere, but not in the real world?

I think the biggest benefit of Maven is dependency management. I think it makes your code more modular and easier to build. Rather than having a monolithic source-code tree that depends on itself being built in a certain order, you can have individual modules that pull dependencies from a central location. This can be done with Maven's Ant Tasks as well. I don't see a problem with building a better Maven with Ant, but to try and build a better Central Repository sounds like a nightmare to me. The current repository has been improved for years and is much better than it was a couple years ago. That being said, I would love to see somebody build a more accurate Central Repository. Ideally, it'd be done sometime next week. ;-)

[1] I could be wrong about these companies. If you're a developer at one of these companies, please confirm or deny. Any comments on Maven's success at these companies would be great as well.

Update: Speaking of Maven, there's an interesting comment on a Javalobby post I wrote:

With all the critical remarks the Maven project is receiving, wouldn't it be time for some Maven project lead to step up and explain the team's position? Or is it completely deaf to the sentiments? How many builds have to fail, how much more headaches are needed before others start their own version of Maven and do it the right way (like Don [Brown])?

Seems like an excellent question to me. Guys?

Posted in Java at Feb 11 2008, 02:07:12 PM MST 18 Comments

YUI Grid CSS and Rails Performance

From Stephen O'Grady, I learned a couple interesting tidbits yesterday.

The first is Jeremy Zawodny talking about Yahoo's new Grid Builder in YUI Grid CSS and Grid Builder Kick Ass! The last time I looked at YUI Grid CSS (that's a mouthful) was almost 2 years ago, when it first came out. It's obvious that this library is better supported than Mike Stenhouse's CSS Framework. Maybe it's time to switch in AppFuse? Anyone know of themes available for Grid CSS?

The second item is Charlie Savage's entry titled Must Read Rails Performance Article:

Using a patched version of ruby and ruby-prof, Alex was able to more than double performance (with hints of more to come) and reduced memory consumption by 75%, or 750MB (yes - that is Megabytes). Alex does a wonderful job of documenting his approach with a series of blog posts here and here.

This reminds me of Don Brown's recent work on Maven. This is how open source is supposed to work - instead of complaining about the problems, fix them. In both Rails' and Maven 2's cases - it's somewhat surprising these issues weren't fixed earlier. Kudos to Alex Dymo and Don Brown for stepping up to the plate. Well done gents.

Posted in The Web at Feb 09 2008, 08:14:18 AM MST 2 Comments

There is no "best" web framework

From Mike Clark's blog, I learned about a number of TED Talks. As a fan of Malcom Gladwell, I was drawn to What we can learn from spaghetti sauce. In this talk, he talks about the research that Howard Moskowitz did for spaghetti sauce and how it changed the food industry forever. Here's a couple of quotes I wrote down:

"When we pursue universal principles in food, we aren't just making an error, we are actually doing ourselves a massive disservice."
...
"The difference between coffee at 60 (% satisfied) and coffee at 78 is the difference between coffee that makes you wince and coffee that makes you deliriously happy."
...
In embracing the diversity of human beings, we will find a sure way to true happiness.

Can this thinking be applied to web frameworks as well? What if it's not about choosing the best framework for your type of application? What if it's all personality related?

» Read more and comment on Javalobby.

Posted in Java at Feb 06 2008, 03:04:24 PM MST

How many years of experience do you really need?

DHH in Years of irrelevance:

Programming platform experience is like knowing your way around the kitchen. Where are the knives, what size plates do we have, and what spices are available. It's very useful for getting things done without having to search high and low for every little thing. But it's also an asset with a cut-off point of diminished returns. Once you have a reasonably good idea where things are, it's no longer the bottleneck in your culinary performance.

Like chefs, like programmers. Peopleware quotes a study that six months seemed to be the cut-off point for programmers. Once they had six months under their belt, the platform knowledge was no longer the bottleneck in their abilities.

That sounds about right to me.

I have to agree. I also think that total years of experience in the software industry plays a huge part in an engineer's knowledge.

The World is your Oyster However, that's not always true either.

I interviewed a PhD this week that had an incredible amount of experience and knowledge, but all his platform knowledge was dated.

Years of Experience in Software + up-to-date platform knowledge = the world is your oyster.

Posted in General at Feb 06 2008, 10:20:45 AM MST 2 Comments

Grails 1.0 and JRuby on Rails on WebSphere

A couple of interesting things happened today that relate to my Grails vs. Rails quest for knowledge.

The first is that Grails 1.0 was released. This was apparently a huge event as it swamped Codehaus' servers for a couple hours. This morning, it was pretty cool to shake Graeme's hand and congratulate him on the release. I also got to meet Jeff Brown for the first time. Who needs to go to a conference when you get to talk to these guys at work? ;-)

Secondly, I found an article by Ryan Shillington that shows how to deploy a Rails application to WebSphere. To me Rails + WebSphere seems like the last thing a Rails advocate would want - but who knows. In my experience, most developers that use WebSphere don't do it by choice.

For companies that have invested a lot of time and money into the JVM as a platform, it seems like Grails is the clear winner over Rails. However, the line gets blurry when you start talking about JRuby. I think JRuby will get there, but I don't believe it's there yet. If you look at the two major JRuby on Rails success stories (from Oracle and Sun), they've had to fix performance issues as part of their projects. With big companies investing in the platform, it's highly likely performance will be fixed in the near future. I believe both the Groovy and JRuby teams have said performance enhancements are their top priority for their next releases.

I think the biggest news related to performance of dynamic languages on the JVM is the new Da Vinci Machine project.

This project will prototype a number of extensions to the JVM, so that it can run non-Java languages efficiently, with a performance level comparable to that of Java itself.

Dynamic languages on the JVM seem to have a very bright future.

I got involved with Struts and Spring just before their 1.0 releases. Is it simply a coincidence that I happened to start looking into Grails right before its 1.0 release?

Posted in Java at Feb 05 2008, 11:32:12 PM MST 1 Comment

Groovy, Rails needs Components, RIA Frameworks compared and faster WebTests

Here's some interesting snippets I found while reading blogs today:

  • Stop writing plain old Java code. Groovy obsoletes plain old Java. We ought to just say "Java 7 = Groovy" and move on. -- Stuart Halloway
  • So far my experience is that I love the Ruby language and don't want to go back to doing Java except when/if I need to to pay the bills. But Rails I'm not as sold on. Mind you I'm not here to bash on Rails, there are some great things there and other people have done a fine job of praising them. But there are some things I definitely miss from Tapestry, and the most significant one is components. -- MysteryCoder
  • If you're looking for maximum control over presentation and the best possible appearance for the finished product, I would say Flex is probably the way to go. If you're a Java developer using Java on the server side, or you just can't stand the thought of having your app run in the Flash player and would prefer JavaScript, GWT is probably going to work out very well for you. Open Laszlo is going to offer a great deal of platform versatility, but at the expense of some polish and features available in the other two frameworks. - Kevin Whinnery in Three RIA Platforms Compared: Adobe Flex, Google Web Toolkit, and OpenLaszlo
  • A new experimental feature of WebTest allows to specify the number of threads that should be used for the tests what can bring enormous speed improvements without modification of the tests. -- Marc Guillemot

To summarize: use Groovy over Java, Rails needs components, Flex is the best RIA framework and WebTest keeps getting better. These aren't my words, but I don't see much fault in them either.

Posted in Java at Feb 05 2008, 12:30:34 AM MST 6 Comments

How do you get up to speed on Rails and Grails quickly?

What's the best way to learn Rails and Grails and satisfy one of my New Year's Resolutions (read more) at the same time? Books:

Thanks to connections with publishers, I was able to get PDFs of most of these for free. The only ones I paid for were the beta books (Groovy Recipes and Programming Groovy) from the Pragmatic Programmers. I doubt I'll read them all, but I've had fun so far.

I polished off Getting Started with Grails in a few hours. I expect to finish Rails for Java Developers this week. I used to hate reading PDFs, but I've enjoyed reading these books. A 30" monitor might have something to do with it.

After honing my Grails and Rails knowledge, I hope to become a GWT and Flex Ninja. For those GWT and Flex experts out there, what are the best books for those technologies? By "best", I mean the most advanced and up-to-date.

Posted in Java at Jan 31 2008, 11:29:19 AM MST 10 Comments