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 "suck". 89 entries found.

You can also try this same search on Google.

23"

23 Incher

I arrived home this afternoon and found that my new 23" monitor had arrived. This thing is fricken' awesome! It's so crisp, clear and BIG!! The only bad part is that I thought it supported Windows out-of-the-box - by having a VGA port. No such luck. It looks like I'll have to buy a DVI male to VGA male adapter - or possible new DVI video cards. New video cards would suck since I'd have to buy 3 for my two Linux boxes (Fedora and Suse) and one for my Windows box.

Regardless, it plugs right into my PowerBook and works great with it.

Posted in Mac OS X at Aug 01 2004, 08:44:03 PM MDT 8 Comments

Get your designs for free

From Niel:

While I'm confident in my web-based application development skills, I really suck at web design. Fortunately there is Open Source Web Design which provides hundreds of web designs to help people like me. Most of the recent entries are CSS-based designs that show-off the power of CSS.

I suck at web design too, so I dig sites like this. The CSS Zen Garden is another great resource. Their designes are free for non-commercial use. If you contact the designers, you might get permission to use them like I did.

Posted in The Web at Jul 27 2004, 04:01:01 AM MDT 2 Comments

Failed Emissions

I haven't driven the bus much ever since I brought it back from San Diego. This is mostly due to the fact that it has Oregon plates (BUS BOY) and they expired last July. Today, I made an attempt to get Colorado plates. Unfortunately, the ol' bus ("Dadda's Bach" is what Abbie calls it) failed the emissions test. I've got 10 days to get it fixed if I want to avoid paying $15 for another test. I'm considering just letting it sit in the driveway until I start restoring it (sometime this fall). VWs are typically summer rigs because their heaters suck in the Winter. Driving around Denver in 100 degrees today makes me question the logic of driving it in the summer. Maybe I can retro-fit a modern-day air conditioner in into it.

Update: I called up the the local bug shop and they told me to come on down. They fixed 'er right up and I passed. It cost me a mere 12-pack - my kinda joint.

Posted in General at Jul 13 2004, 01:21:37 PM MDT 3 Comments

Jetty and WebSphere suck, JRun and Tomcat rule the pack

I've been looking for an app server performance comparison for some time now. Maybe those folks that say Tomcat sucks and Jetty rules will change their tune. Via Lasse Koskela:

Web Performance Inc. has published a very interesting report, which included a couple of surprises. Jetty pretty much sucked, JRun was one of the top guns, and Tomcat wasn't too far behind JRun.

Anyone know of any similar (recent) comparisons?

Posted in Java at Jul 02 2004, 02:59:21 PM MDT 9 Comments

Creator - sucks on the Mac

Bill's got a screenshot of Java Studio Creator on the Mac. I've been playing around with it for the last 1/2 hour and it pretty much sucks on the Mac. It's very slow and seems jerky. Oh well, a lot of apps suck on the Mac. Damn slow-ass PowerBooks. wink

I got a simple list screen working that pulls data from a MySQL table. I thought the "Data Grid" component was supposed to include pagination and list functionality like the display tag. From what I can tell - it's not capable of this functionality. Maybe I'm missing something?

Posted in JavaOne at Jun 28 2004, 05:48:20 PM MDT 3 Comments

We made it!

We made it back around 2:00 yesterday afternoon. There were hardly any issues on the drive and the bus held up great. Today my dad is wiring in a cigarrette lighter so I can plugin in my iPod and then we're going to replace the master cylinder b/c the brakes really suck. I'll try and update this site with pictures and lies from our trip. It's nice to be home.

Posted in General at Jun 08 2004, 11:12:39 AM MDT 1 Comment

My Review of Java Studio Creator (a.k.a. Rave)

I attended a Rave Demo at Sun in Broomfield today. The meeting actually had two parts - the first hour was a marketing schpeel about Sun's Enterprise Java System and the second hour was a demo of Java Studio Creator. The first hour was boring and very marketing esque - they did have an interesting price point though - $100 per employee. This is small business friendly, which is nice to see.

The Rave (a.k.a. Java Studio Creator) Demo was when things got good. Here's my notes from Dan Robert's presentation, followed by my impressions and comments. Dan is the Product Manager for JSC and was seemed to be very in tune with the tools marketing (i.e. all the good stuff from Intellij and Eclipse - and how JBuilder sucks).

What is it?

  • New Java Development Tools initiative
    • For the corporate developers who write code, but don't understand all of the complexity of J2EE and just need to get their job done.
  • A full fledged Java IDE
    • Visual Design Tools, 2-way editing, Editor, Debugger, Repository Management, and Project Management
    • Cool new Look and Feel
  • Complementary to NetBeans and Java Studio
    • Even Enterprise developers can use it for Rapid Prototyping
    • Use Java Studio or any other tool to add persistence layers (heh, this is b/c they think that persistence can only be EJBs ;-))

What does it do?

  • Quickly builds web applications that solve time-critical, real world problems
    • Complete web application creation for departments, workgroups and businesses of all sizes
    • Focus on easy to understand, event driven coding model
    • Simplifies access to existing infrastructure
    • All Java-standards based servers, all databases, all Web services, all desktops
    • Their main goal is to do web applications well, they'll catch up with the rest later

Standards-based solution for all developers

  • A development solution based on 100% Java standards
  • Delivers "Write Once, Run Anywhere"TM benefits: portable apps, portable developer skillsets
  • Quickly solves time-critical app development needs
    • Drag and Drop, rapid visual access to databasess and web services
    • consistent UI look/feel/behavior across all apps

Visual features to speed development

  • Palette for widgets, custom graphics, code clips, etc...
  • Query Editor

Simplified Access to Existing infrastructure

  • Use any JDBC Compliant Database (3.0)
    • Drag in and automatically create DB connections to data-aware components
  • Web Service Consumption
    • Easily pull in existing web services from Enterprise wide solutions or business partners

Java Studio Creator Roadmap

  • Hammerhead:
    • 2-tier dynamic content web applications based on JSP and JSF with Page Flow design tools
    • Releases: Early Access Spring 04 (today!), FCS Summer 04 (at JavaOne)
  • Thresher:
    • Minor Update Release
    • Focuses on Ease of Development and Stability
  • Mako
    • Extended Client Support

Download today from http://www.sun.com/jscreator. OS X version will be available shortly after the release (JavaOne).

After the PowerPoint, Dan started into the Demo. The first thing I saw that was cool was that when he clicked on the "Run" button, it actually deploys the app and opens the browser to run it. What you see in the browser looks very similar to what you see in the IDE. The IDE looks very simple. My current client went with me and he remarked that it "looks a lot like Eclipse."

The IDE has lots of palettes, and the UI essentially looks very clean. The pallets can be docked just like in IDEA - which I like. It looks a lot more like a native Windows application than it does like Swing. Here are the palettes it has:

  • Server Navigator
    • Data Sources
    • Web Services
    • Deployment Servers Palette
  • User Defined
    • JSF Standard Components
    • JSF Validators / Converters
  • Property Sheet
  • Project Navigator

Dan then dragged a drop down component and a table component onto the page. Secondly, he added a stylesheet and it visually changed the background and fonts on the page. I asked him if there was an imbedded browser. He said they took a look at using Mozilla, but it was too much and apparently one of the "real smart" engineers wrote the embedded browser component from scratch. Dan said it was the same guy who wrote the demo from scratch in 2 minutes at JavaOne last year. The thing I found very cool was that the HTML that is written into the JSP is XHTML - none of this Netscape 4.x support. Fuck Netscape 4.x - I'm glad Sun had the foresight to drop support for it.

After adding the stylesheet, Dan used the Data Sources navigator to grab a table and drag it to the drop-down. Then he did the same for another table and the data grid. Using the Visual SQL Query Builder (which looks a lot like M$ Access) he linked two tables and added a new column from a 2nd table to the grid. He then showed us that JSC has pretty good support for 2-way editing. Edit the code, the visual representation changes. Edit the visual, the code changes. This seems to be a big problem with WYSIWIG editors, especially when it comes to dynamic webapps. It appears that they've done a pretty good job to solve this.

Next he showed us some cool features of the components. For the table, there is an "enable paging" checkbox - and for the drop-down, you can right-click and select "auto-submit on change." He then set a couple of converter types on the drop-down and had to hand-code the event handler for the drop-down. Two lines of very simple code and he was done. The code was simple enough that you could have guessed the syntax. Code completion popped up nicely as well. Apparently the JSF coding style is that each page (JSP) is backed by a Bean that contains different event handlers. The code looked pretty simple and all the data was retrieved via RowSets.

Bill Dudney was there and asked about testing tools (i.e. Cactus or JUnit). Dan's response was that these are usually used by more advanced Java developers and there's talk of it, but nothing has been done yet. Now he pulls up a very cool page navigation creator which he uses to drag and drop buttons and links to point to different pages. Then someone asked about cost - and here's what makes it great. Under $300. They also hope to have lots of add on components for JSF by JavaOne. Unfortunately, there's no tooling for building JSF components in Java Studio Creator. For more information checkout http://developers.sun.com/jscreator.

The main reason I really like Java Studio Creator was that you literally never had to see any JSF code - and you get all of the features I like to use in webapps. Furthermore, I've been training a couple of guys all week on JSPs and using JSTL's SQL tags to do CRUD on a database table. While it's simple stuff, since they've never done web development before, it's a bit advanced. I'm sure their eyes will glaze over tomorrow when I start showing them how to write JUnit Tests, DAOs and how to use Hibernate to CRUD an object. They'll probably fall asleep by the time I show them how to wire the DAOs to Hibernate using Spring. When they saw this demo today - there eyes lit up and they got inspired to do their projects again. It looks easy for them now. All they need is a JDBC 3.0 driver for DB2 and they should be able to rapidly develop webapps with Java Studio Creator. I don't blame them for wanting to use this tool - it greatly simplifies things.

After the meeting, I asked Dan about transactions and if it was possible to use Hibernate instead of the RowSet stuff. He said that since JSC is based on NetBeans, you could probably write a plugin to use Hibernate instead of RowSets. As far as I know, the main reason you'd use Hibernate is for caching - but rowsets probably have that too. I know that the spec lead for JSF is talking to the Spring developers about JSF-Spring integration, so maybe that will be a future option as well.

Another thing that's not currently supported is the use of great technologies like Tiles or Sitemesh. Sitemesh integration would likely be pretty easy - you'd just never see your decorated UI in the IDE. Tiles is definitely something on the roadmap, but they don't have a solution yet. Dan indicated that using "includes" in your JSPs should work just fine - rendering in the IDE as they would in your browser. Good stuff - I hope we start using it at my current project - I think it'll do wonders for productivity. Since it's based on standards (JSF and RowSets) - the generated code looked pretty clean too.

Posted in Java at Apr 08 2004, 10:12:34 PM MDT 20 Comments

Snowing...

Just when I got my office and network all setup and I was getting ready to start hauling the last bits over - it starts snowing. This is typical in Denver. One day it's 80 degrees, the next it snows. I've seen it happen in the same day. In college, I once went to a movie when it was 75 degrees out, and when I left there was 2 inches of snow on the ground.

My new office is about 1/3 of the size of my old one - so it's kinda cramped in here - but I do have a window seat. Now I can watch it snow - which is huge compared to the dungeon/basement I used to be in. It'll suck when it's a beautiful day and I'm stuck working - but that's what getting up at 4 a.m. is for - done by noon!

Unfortunately, we get to do this all over again in 6-9 months. Next time it'll be a lot worse since we'll be +1 family member. Oh well, at least it's only next door. It's kinda cool moving from a small house (675 sq. ft.) to a bigger one (900 sq. ft.) and then to an even bigger one (1700 sq. ft.).

Posted in General at Mar 28 2004, 12:39:52 PM MST Add a Comment

Write your Java apps in Visual Studio.NET?

Apparently Visual MainWin allows you to write your webapps in C# and .NET and then deploy them to a J2EE server.

Visual MainWin for J2EE enables these organizations to deploy .NET and J2EE applications on a single J2EE infrastructure, eliminating the need to maintain two separate application servers or implement complex interoperability solutions between the .NET and J2EE platforms.

This product certainly won't do anything for me. I've heard that Visual Studio is a great IDE, but if I can't write Java in it - what's the point?

how it works

Then again, I'm biased. I have a friend who is a long-time Java developer. Lately, he's been developing in C# because that was the only gig he could get (in Nevada). He says that C# is a piece of sh*t compared to Java.

Update: My friend contacted me to set the record straight. To quote him, "C# is OK, its the .NET framework that sucks ass. The C# syntax is a total ripoff of Java anyways."

Posted in Java at Feb 17 2004, 12:20:00 PM MST 21 Comments

Hibernate and iBatis co-existing

AppFuse is in an interesting state right now. In order for me to easily switch to using iBatis for the DAO layer, I left all the Hibernate stuff intact and just added iBatis classes and JARs. The next step is to extract the iBatis stuff into a separate CVS module and write a build.xml file to replace the Hibernate implementation with iBatis.

The one thing that will suck, in the iBatis version, is that the database can't be dynamically created from POJOs. However, if you're going to use the iBatis implementation, its likely that the database (or SQL) already exists. The reason I'm writing this post is because right now, in CVS, you can change the dao.type property to "ibatis" or "hibernate" when building and Voila! - that's the implementation you'll get. I see no reason why any project would ever want to have both implementations (maintenance would be a nightmare), so that's why I'm extracting the iBatis stuff in the next few days.

Posted in Java at Feb 10 2004, 04:20:47 PM MST 4 Comments