Home » Featured » Recent Articles:

Geek Fitness

July 31, 2010 Featured, Games, Life, Work No Comments
Geek Fitness

Over the course of 5 and a half years of playing WoW, I managed to pack on a few pounds…and by few I mean somewhere in the range of 80-90 pounds. It was a gradual gain over the years, compacted by my lifestyle decisions, namely:
1. Job as a sys admin where I sat majority of day
2. Second job as a WoW raider where I spent my nights sitting in a chair killing dragons
3. Sponsorship* by Papa Johns wherein I would plow through a pizza most raid nights

*Unfortunately, Papa Johns wasn’t aware they were sponsoring me, and I’m pretty sure I kept that local Papa Johns afloat during the economic downtimes. … Continue Reading

Seam Recipes [Part 1]: s:decorate

September 21, 2009 Development, Featured No Comments
Seam Recipes [Part 1]: s:decorate

Introduction

As a developer, forms are one of my biggest grievances whenever I am building a Web application. Why? Well, for one, there is nothing pretty about creating a form. Even the best Web designers, with all of their fancy CSS wizardy, struggle to build clean, consistent, and reusable form layers that can be used anywhere within an application. To complicate matters, nothing in the HTML 4 spec (though, this will change with HTML 5) provide any sort of functionality around form elements.

Enter Seam, or, more specifically, Seam’s extended decorate component. As I will show you in this first Seam recipe, Java Server Faces (JSF) and Seam Decorate can be used to provide a small, reusable, and extremely versatile component that makes building complicated Web forms a snap. Now, I won’t go into details about how to build a new Seam project. But I will show you how I have leveraged Seam’s functionality to suit my needs. Let’s begin.

Part 1 – Creating a Simple s:decorate Facelet

Out of the box, s:decorate provides JSF form validation and formatting for messages. It also creates a targetable area for reRenders, which are especially helpful when creating AJAX applications using RichFaces. Through EL, Seam Decorate also understands the “required” attribute on your input components and can render both a visual element to your form in addition to automatic binding to your “messages” component.

Here is an example of a simple s:decorate, as often used within Seam’s own documentation.
exit.xhtml


	
		*









myEditForm.xhtml


	Last Name:
	

Easy, right?

Part 2 – Extending the Facelet with Additional Layouts

As forms go, there is not just one mode to handle all situations. Some forms are mixtures of editable fields, disabled fields, and even just outputted text. To handle this problem, I created four distinct layouts (facelets) to handle different situations:

  • edit.xhtml, as previously seen
  • view.xhtml
  • simpleEdit.xhtml
  • simpleView.xhtml

Now, I can create a form quickly and easily for both modes. When I want to output text in the familiar form layout, I just use the “vew” layout versus the “edit” layout. The “view” layout removes the s:label component and remove messages for error validation.

“simpleView” differs from “view.xhtml” only in the layout of the form element; it suits my needs particularly well for textareas or other large components, where I want the label to appear above the input area.

view.xhtml


            
        
        
            	
        

myViewForm.xhtml


	Last Name:
	

Part 3 – Adding Custom Functionality

Something a lot of users like to have, and clients like talk about, are tool tips. Let’s add tool tip support our s:decorate components using the wz_tooltip Javascript library. You can choose any tool tip library that you would like; the s:decorate example below will support just about anything you throw at it. Because not all form elements will need a tool tip, we will control its presentation based on UI parameters. For the tool tip, we will simply print a [?] next to the input label. But I’ve also used this layout to print images and use more advanced tool tip engines, like Prototip2.

edit.xhtml


	
		*



[?]










We’ll apply the tool tip, when needed, by specifying the “id” of the tool tip, the title, and body of the text, as below. Here I also use our application’s resource bundle to grab the title and body of the tool tip.

myForm.xhtml


SSN:
	
	
	
	

Step 4 – Further Enhancements

At this point, I hope you have gotten some good ideas for how you can use the Seam Decorate component to easily reuse a flexible form component. It is easy to see how one would extend the component by adding such parameters as “reRender”, or “disabled”, to further control the appearance and functionality of the elements on your form.

A Trip Down LucasArts Memory Lane; or, the Game That Started It All

September 11, 2009 Featured, Games No Comments
A Trip Down LucasArts Memory Lane; or, the Game That Started It All

Today I consider myself a computer techie; I’m a developer by trade, a “technologist” in my free time, and a gamer at heart.

All of that had to start somewhere, right?  Well, for me, it did when, at the age of 13, my father came home talking about a PC game he saw at our local EggHead store.  He kept talking about how the game included Darth Vader and that it sounded, and looked, just like the movie.  At this age, I had only really dabbled on my dad’s IBM Tandy 286 and was hardly a gamer.  I didn’t own any PC games and only rarely played my Super Nintendo.  I was, of course, interested in Star Wars, but was by no means the nutcase that I would later become.  This was all soon to change…

… Continue Reading

First Impressions: PS3 Slim

September 10, 2009 Featured, First Impressions No Comments
First Impressions: PS3 Slim

Sony recently announced the long rumored Playstation 3 Slim at the GamesCom conference in Germany, as well as a (much needed) price drop to $299. The new PS3 Slim has gotten rid of the shiny, fingerprint laden exterior and replaced it with a matte black casing, removed the Spiderman 3 font, changed the power button, and reduced the size in comparison to the PS3 Fat (though it is still a behemoth compared to the PSOne and PS2 Slim). Besides the aesthetic changes, the PS3 Slim comes with a 120GB hard drive, a new cooling system, a 45nm Cell processor (down from that fatty 65nm Cell processor), and uses less power. … Continue Reading

WoW: The B Squad

September 10, 2009 Featured, Games No Comments
WoW: The B Squad

I recently came across an article on Elder Game regarding World of Warcraft and how many of Blizzard’s employees had shifted onto new projects (Starcraft 2, Diablo 3, Unannounced MMO), while a newer and less experienced team was handling the current live content for WoW (dubbed the B Squad). Being a longtime (and current) player of WoW, I found a lot of the insight in the article to be spot on, and felt it could be extrapolated even further with both the latest additions to the game and the recently announced expansion, Cataclysm. … Continue Reading

Seam Framework – Top Resources for Developers

September 8, 2009 Development, Featured No Comments
Seam Framework – Top Resources for Developers

At my company, we have been using the Seam Framework for over two years to develop large-scale Java EE applications for our customers. It has been a rough ride at times but I firmly believe Seam requires every Java developer’s close look; even if you must ultimately choose one of the other numerous Java frameworks (Spring, Struts, Stripes, et. Al.), I think you will have gained a greater appreciation for Seam and Java enterprise development in general by evaluating Seam’s contributions to the JEE space. And no, I do not work for JBoss. I will be following this post with a series of Seam recipes showcasing how I have used Seam to solve common Web development challenges.

Here are some of the top Seam resources which I have found to be indispensable. Please feel free to recommend your favorites.

Seam Framework: Experience the Evolution of Java EE (2nd Edition)

This very recent release contains information and recipes on a number of the changes and improvements to the Seam Framework since the 2.0 release. It is authored by a Michael Yuan who is regarded as a Seam expert and a contributor to the project.

Seam in Action

While not quite as recent, Dan Allen – also an expert in the Seam space – gives the reader an opportunity to read more about how to apply Seam rather than a regurgitation of Seam documentation.

Java Persistence with Hibernate

A must have for working with Hibernate/JPA; although it doesn’t directly apply to Seam, you’ll find ways to apply your new knowledge of this powerful ORM framework within your Seam applications. Some of the topics covered include performance tuning your HQL/EJB-QL, indexing, Hibernate criteria, and composite keys.

Pro EJB 3: Java Persistence API

Great for beginning to learn building, testing, and persisting EJBs.

Practical RichFaces

One of the advantages of Seam is its nature of working directly “out of the box” with JSF, and in particular, the RichFaces JSF component suite. I’ve been using RichFaces for over two years and have been seen it mature immensely. The members of the RichFaces team are truly driven in their efforts to provide a world-class (and free) JSF library for developers.

Notable Web resources

  • RichFaces Live Demo
  • in.relation.to
  • Seam Framework
  • JBossWiki: RichFaces Cookbook
  • Quick Take: ‘The Hurt Locker’

    August 18, 2009 Featured, Movies No Comments
    Quick Take: ‘The Hurt Locker’

    The Hurt Locker takes a visceral look at the role of an Army Explosive Ordnance Disposal (EOD) team in Iraq at the height of the insurgency. As an avid movie-goer with a special favoritism towards military-themed movies, I must admit that a movie about disarming bombs would not – on the surface – be my first choice for two-hours of air-conditioned movie goodness. Fortunately, the director (Kathryn Bigelow) delivers such an suspenseful look into the life of an EOD technician that this is a movie that simply cannot be missed. From the opening minutes of the movie to its thoughtful conclusion, the directory strings you along (literally) through moments of quiet introspection of base life to heart-thumping, palm-sweating sequences full of excellent acting and impressive ultra-slow motion video capture.

    The movie includes several cameo appearances from well-known actors (”You’re a wild man!”) and strong leading roles by Jeremy Renner, Anthony Mackie, and Brian Geraghty. Did I mention that I love military movies? Well, if you’re like me, you will certainly appreciate the attention to detail throughout the movie. Military units move and communicate realistically; the lead technician is always accompanied by support and cover units who must constantly survey the landscape, watching for potential threats. The bomb disarming (and more) scenarios are exactly in-line with what you would expect. In watching this movie it is hard not to gain appreciation for what the men and women of the U.S. Army Forces have had to overcome in Iraq and Afghanistan.

    I highly recommend this movie; do be warned, as it contains scenes of intense suspense and violence. It’s unfortunate that the movie appears to have come and gone quietly, but I have no doubt many viewers will hear about The Hurt Locker again as the Oscar season draws to a close.

    Read more reviews about this fantastic movie at Metacritic.com.

    WoW – Server Maintenance

    June 4, 2009 Featured, Games No Comments
    WoW – Server Maintenance

    I got home Tuesday, excited by the prospects of rushing through the beginning bosses of Ulduar so we could add some more hard modes to our repertoire, when I was greeted by the message that there was some extended maintenance going on and that there wouldn’t be an update until 5:30PST. I am East Coast, and was bummed to see that I would have to wait until 8:30

    my time minimum to get to play, especially since this already cut into our scheduled raid time. At 5:30PST another message went up that they were still working the issue, and that the next update wouldn’t be until 7:30PST. By then we felt there was no need to make everyone wait, so we canceled the raid and a few of us went and played Left 4 Dead instead. The servers didn’t end up coming up until 8:30PST on Tuesday, and there was little information for those seeking answers or comfort from the WoW forums, except for this one post which was taken down hastily:

    We were scheduled to perform raid controller card upgrades as we prepare for the implementation of new hard drives that run at higher rpms. The older drives are about 1 year old at current and are not operating at the capacity that our benchmark tests have recommended. Many of the servers have already undergone this exact same upgrade, however the existing architecture on the other servers was older and different than these of the realms experiencing issues. The actual engine servers responsible for processing game input have been imaged and during the process of image restores following the hardware replacement there were driver incompatibilities that were caused by a recent bios update to the motherboards.

    At this point the plan is to put in stand-by equipment replacements for the raid controllers and work off of semi new equipment. The problem is that we can’t just roll back to the previous bios settings as other serious problems were resolved by the new drivers. At this point we have hardware on order that was to be delivered from a dedicated supplier within 4 hours after we noticed the first issues. The hardware has arrived and now without time to thoroughly test the new hardware we must put it into production. Many of the tests that we can run, are being ran to ensure that when we do come online, we do not have rolling restarts. We would rather have consistency and assurance rather than hope and wait.

    Blizzard has never given out this kind of information before, so I have to assume it was one of their system administrators explaining the situation in earnest, and not fully realizing the companies stance on giving as little information as needed. For me personally, reading the above post made me more sympathetic to the delay, and allowed me to go about my business not feeling like Blizzard was just keeping the servers down to be vindictive or to screw with everyone’s raid schedules. To me, this was the perfect post, but I expect that a company memo went out after this and we’ll never see something of this sort again.

    ATL – 5, My Luggage – 0

    February 20, 2009 Featured, Games No Comments
    ATL – 5, My Luggage – 0

    luggage.jpg Over the last few years, my job has shifted from the more functional systems analyst role to the more technical system administrator role. With this shift also came a large upswing in the amount of travel as I began to visit more of the remote sites with systems I was responsible for. This brings me to locales such as Atlanta, GA and Rome, NY 4 times a year. With the uptick in travel, I figured it would be best if I got myself a luggage set, and therefore used up my Christmas 07 Wishlist to ask solely for luggage. … Continue Reading

    Dead Space – Electronic Arts [XBox 360]

    November 8, 2008 Featured, Games No Comments
    Dead Space – Electronic Arts [XBox 360] dead-space_360_us_esrbboxart_160w.jpg

    Summary

    Dead Space will likely remind you of a combination of Event Horizon, BioShock, and Resident Evil all rolled into one horror-surival action fest.  We can describe only so much of the story without giving away too much.  But let’s just say you find yourself aboard a very mysterious mining ship (USG Ishimura) in the depths of space as you investigate an S.O.S. sent by the ship’s crew.

    … Continue Reading

    Featured Geek Stuff

    Geek Fitness

    July 31, 2010

    Geek Fitness

    Over the course of 5 and a half years of playing WoW, I managed to pack on a few pounds…and by few I mean somewhere in the range of 80-90 pounds. It was a gradual gain over the years, compacted by my lifestyle decisions, namely:
    1. Job as a sys admin where I sat majority of [...]

    Seam Recipes [Part 1]: s:decorate

    September 21, 2009

    Seam Recipes [Part 1]: s:decorate

    As a developer, forms are one of my biggest grievances whenever I am building a Web application. Why? Well, for one, there is nothing pretty about creating a form. Even the best Web designers, with all of their fancy CSS wizardy, struggle to build clean, consistent, and reusable form layers that can be used anywhere within an application. To complicate matters, nothing in the HTML 4 spec (though, this will change with HTML 5) provide any sort of functionality around form elements.

    A Trip Down LucasArts Memory Lane; or, the Game That Started It All

    September 11, 2009

    A Trip Down LucasArts Memory Lane; or, the Game That Started It All

    Today I consider myself a computer techie; I’m a developer by trade, a “technologist” in my free time, and a gamer at heart.
    All of that had to start somewhere, right?  Well, for me, it did when, at the age of 13, my father came home talking about a PC game he saw at our [...]

    First Impressions: PS3 Slim

    September 10, 2009

    First Impressions: PS3 Slim

    Sony recently announced the long rumored Playstation 3 Slim at the GamesCom conference in Germany, as well as a (much needed) price drop to $299. The new PS3 Slim has gotten rid of the shiny, fingerprint laden exterior and replaced it with a matte black casing, removed the Spiderman 3 font, changed the power button, [...]

    WoW: The B Squad

    September 10, 2009

    WoW: The B Squad

    I recently came across an article on Elder Game regarding World of Warcraft and how many of Blizzard’s employees had shifted onto new projects (Starcraft 2, Diablo 3, Unannounced MMO), while a newer and less experienced team was handling the current live content for WoW (dubbed the B Squad). Being a longtime (and current) player [...]

    RSS Twitter: geeklisted

    Look Who\'s Talking

    • vin: i agree they are not responding to me either. first time i h...
    • admin: @Steve: Absolutely; I'd be prepared to give the beta a whirl...
    • steve: Noticed the point about transactional not working with ehcac...
    • admin: Thanks for your post and you make a very good point; I need ...
    • steve: Great blog though I'm somewhat curious why you used such an ...