All Articles
XKCD on Period English

For more amusing content, check out the XKCD web site.
Evolving Web Projects Into Online Products
There's a difference between a software project and a product. I've been helping clients create innovative projects on the web for a long time. Lately, I've been responsible for evolving, or planning to evolve, several projects into online products. It's harder than you might think. Discover some tactics for accomplishing this difficult transition.
Organizing and Running a Conference
For the last three years, I've been fortunate enough to work with a great team of people to run a successful and profitable technical conference called RubyNation. This conference is an annual event, part education and part entertainment, that promotes the Ruby programming language. As you might expect, I've learned a few things about how to organize and run a conference over the last three years. I'm going to share some practical tips and suggestions about how to organize and run a relatively large-scale public event like a conference.
KeenerTech.com, the SEO Powerhouse
My company, MetroStar Systems, just launched Votridea, an Online Contest Platform. Of course, the various search engines take a little time to properly rank such a new site. I'm tickled pink that I've been able to tease MetroStar's management with the fact that my Votridea-related blog entries on KeenerTech.com have been more effective at "getting the news out" than Facebook, Twitter and even MetroStar Systems' web site. In fact, the only site that beat KeenerTech, according to Google, was PrNewsWire.

Votridea Search Using Google
Votridea Contest Platform Launches
Votridea is an easy-to-use online Contest Platform that fosters innovation by building communities around ideas and challenges. Votridea is an all-in-one, customizable suite of contest and community management tools that makes the complex process of building online multimedia contests simple. It's also the project that I've been working on for many months now, so I'm very pleased that we've just launched this dynamic product.

The Votridea Online Contest Platform Launches!
In Baltimore Inner Harbor
I was just in Baltimore engaging in business development activities for Votridea, our new online contest platform. Afterwards, we hung out in Inner Harbor, where there's plenty of nice restaurants, bars and shops. Hey, did I mention the bars? This is a picture of me, with Johnny Nguyen, Vice President of MetroStar's New Media Group, and Winifred Tse, our illustrious project coordinator.

Baltimore Inner Harbor: Johnny Nguyen, David Keener, Winifred Tse
Photo Credit: Dave McVicar
At the Crossroads
It came to me a while ago that I had come to a crossroads in my career. This isn't the first time that this has happened. Like everybody else, sometimes you reach a point in your career where you need to decide what direction you want to go next. Read further, and gain some perspectives on what you might do when you next find yourself ... at the crossroads.
Recipe: Accessing Your Subversion Revision in Rails
Have you ever looked at a Rails web site and wanted to know precisely which code revisions were deployed? If you know that a certain fix was implemented in Revision 436, how can you verify whether that fix has been deployed to production? This recipe shows how to quickly and easily solve this problem.
Our First RubyNation Video is Live
Our first RubyNation video is now live. It features Jim Wierich and his well received "SOLID Ruby" talk. It's been a lot of work getting the RubyNation video production effort off the ground, so it's nice to finally see our first polished video (only 28 more conference sessions to go).

How to Get Your Conference Proposal Accepted
I've been part of a team running a technical conference called RubyNation for the past three years. It's been a successful conference all three years, both in terms of profitability and its reception by conference attendees. This wasn't entirely an accident. We worked hard to make sure we had high-quality speakers with the kind of content that would be attractive to our intended audience, as well as making sure other conference aspects were addressed - e.g. - venue, food, equipment, etc.

This experience has given me some insight into what it takes for an individual to secure a speaking engagement at a conference. I'll provide tips on how you can making your speaking proposal more attractive to conference planners, thereby increasing your odds of getting accepted as a speaker.
Filming at RubyNation 2010 External Link
It's been crazy lately, first with the run-up to RubyNation 2010, and then getting the video production effort in full swing after the conference was over. We finally managed to get some of the photos from the conference online.

Filming at RubyNation 2010
Multi-Shots: The Web's Newest Craze
My friend, Don Anderson, is a talented graphic artist and photographer. He recently started a side business called Clonimation doing custom photo shoots to produce what's generally referred to as a "multi-shot." An example multi-shot featuring my 135-pound Lab-Rottweiler, Bentley, is shown below:

A Multi-Shot of Bentley Keener
RubyNation Tape Inventory
I finished the inventory of tapes for RubyNation. We have 34 DVCAM tapes, which are the large tapes from the professional-caliber cameras that we borrowed from Arlington Independent Media (AIM). They'll have to be ingested into digital form IN REAL TIME at AIM's ingestion facility. We have 32 MiniDV tapes, which are the tapes from the small consumer video cameras.

Of these, 32 DVCAM tapes and 24 MiniDV tapes are from the conference sessions (56 tapes total). The remaining 10 tapes are extra footage, including conference interviews, footage at the RuBy-B-Q, footage of org meetings, the pre-production walk-through at the hotel, footage from the cherry blossoms festival, the Jeremy McAnally interview, etc.

All in all, I'm estimating it at about 45 hours of footage.
Anatomy of an April Fools Joke
I'm one of the founders of the RubyNation conference, which is scheduled for April 9 - 10 this year. Since the conference date was so close to April 1st, and since so many people were actively viewing the site during the run-up to the conference, well, we couldn't resist throwing in an April Fools joke. Surprisingly, it worked extremely well.

RubyNation Web Stats

We got a major traffic spike when Matz, the creator of the Ruby programming language, re-tweeted about our April Fool's joke. Find out more about our online joke on the the Ruby community.
Shooting the Cherry Blossom Festival
Where was I at a ridiculous time in the morning on April 1st? I was at the tidal basin in Washington DC with Don Anderson shooting pictures and video for the RubyNation documentary that we're doing for Arlington Independent Media. I've lived in this area since 1987, but in all that time, I'd never been to see the cherry blossoms. I have to say that the cherry blossoms were a pretty impressive sight and that I can see why they've become a tourist attraction.

David Keener at the Cherry Blossom Festival
Video Production Volunteers Needed
RubyNation 2010 is just around the corner. The conference is April 9 - 10. We've just released a "Volunteers Needed" flyer for experienced video production volunteers in the Washington DC area. We have video production activities that will be taking place on April 8 - 11. See the flyer for further details.

Video Production Volunteers Needed for RubyNation 2010
Chad Fowler at RubyNation 2010
Just saw this tweet from Chad Fowler, who was last year's keynote speaker for RubyNation. He'll be at the conference this year as an attendee. How cool is that?

Chad Fowler Attending RubyNation 2010
Oracle and the Future of Java
Oracle purchased Sun, the company behind the widely-used Java programming language. Naturally, developers have been worried about what this means for the future of Java, and rumors have been swirling. So, Oracle has created a series of video advertisements to address these rumors....

Puzzle Solving and Corporate Culture
There's a new tradition at MetroStar Systems. It started when someone left a 1000-piece Christmas puzzle in the lunch room at MetroStar's headquarters in Reston, VA. It quickly became a collaborative effort with many employees participating in solving the puzzle. Now, it's simply become expected that when one puzzle is solved, a new one will soon magically appear in the lunch room.

Collaborative Puzzle Solving
New Version of RubyNation Site Released
A new version of the RubyNation web site was just released today. The new graphics were created by Don Anderson, while the new look-and-feel, including CSS, was assembled by me. The new look highlights the fact that RubyNation 2010 is being held April 9 - 10, which overlaps with Washington's Cherry Blossom Festival. This is the first major change to the site's design since its initial launch in mid-2008.

RubyNation - The Nation's Ruby Conference
Nine Days
Find out what a Java guru can do in 9 days if he's really pressed.
Quick Start: ActiveScaffold
Quick Start: ActiveScaffoldActiveScaffold is more than just a replacement for the default scaffold functionality built into the Rails framework. The ActiveScaffold plugin provides a simple way for developers to quickly and easily add sophisticated data maintenance and data display features to web sites. Find out more about ActiveScaffold from my ActiveScaffold presentation, which is finally available online in PDF form.
Playing With Microsoft Surface
Microsoft Surface is a new, horizontally-positioned multi-touch computer first introduced in 2007. Through a combination of software and hardware, it features gesture recognition capabilities that allow multiple people to use it at the same time. I had a chance to play with a Microsoft Surface at work, and I have to admit that it was pretty cool.

Microsoft Surface
RubyNation 2010 Graphic Preview
Here's a preview of the new graphic "theme" for RubyNation 2010. The design was created by Don Anderson, graphic artist extraordinaire. Since this year's conference, scheduled for April 9 - 10, will overlap Washington's annual Cherry Blossom Festival, we decided to incorporate cherry blossoms into the theme. Interestingly enough, the cherry blossoms were originally a gift from Japan; likewise, the Ruby programming language was created in Japan.

Come to RubyNation 2010

MetroStar Systems Sponsors RubyNation



MetroStar Systems, a 10-year-old Information Technology Provider and one of Inc's "America's Fastest Growing Companies," has agreed to be a Diamond sponsor for RubyNation 2010, which will be held April 9 - 10. MetroStar is headquartered in Reston, Virginia, and specializes in systems and software integration for government clients. It provides clients with agile, collaborative solutions designed to integrate people, processes, technology and learning across an organization.
Is Hulu Just a Glorified Tivo?
There's a paradigm shift that's impacting the entertainment industry, and it's already changing how, when and where we watch television shows and movies. For example, I watch most of my movies and television shows on my Mac laptop, either via a download from my Tivo, a show on Hulu.com, a DVD or a downloaded video. Despite this, I don't think the entertainment industry is evolving fast enough, and I think they run the risk of alienating customers (me being one of them, of course).
New Version of MudDawg.com Released
Just released a new version of MudDawg.com. This is a major release for this blog about motorcycle racing that I created years ago for my brother, Steve Keener. This release jettisons .NET in favor of a WordPress, i.e. - the site was created using the open source WordPress blogging software, with a custom theme. The new platform has a few other advantages — it can be hosted more cheaply on Linux rather than on a Windows server, and it also uses MySQL, an open source database server (as opposed to Microsoft SQL Server).

MudDawg.com - Motorcycle Racing ...with attitude
Creating a Breadcrumb Trail in Rails, Part 2
In Part 1, we built the basic functionality for generating a breadcrumb trail for a Rails application, but we didn't worry about packaging the code for maximum reusability. Well, "cut-and-paste" is not a sustainable reusability paradigm. In this article, we'll further streamline the breadcrumbs code and also show how to package it up to enhance reusability.
Social Networking With Jive's Social Business Software
Jive's Social Business SoftwareJive's Social Business Software (SBS) platform provides an integrated suite of social networking tools that can be applied effectively within a business environment. Learn more about this highly functional software platform.
RubyNation 2010 Interviews
I was in the studio at Arlington Independent Media a few weeks ago taping some interviews for the upcoming documentary, "The Road to RubyNation: The Making of a Conference." Here's a teaser picture of me interviewing Gray Herter, Chief Organizer of the RubyNation Conference. The shot was taken from the studio control room, so Camera #1 (of 3) can be seen in the background on the left.

RubyNation 2010 Interview With Gray Herter
ExchangesConnect Online Video Contest Site
The ExchangesConnect Online Video Contest site was launched on November 17, 2009. Here's a sceenshot of the web site, which looks pretty cool now that the community has uploaded a bunch of videos.

ExchangesConnect Online Video Contest

The purpose of the contest is to help drive up the membership for the Department of State's ExchangesConnect social network, which is focused on promoting cross-cultural understanding around the world. The social network and the contest have been done for the Bureau of Educational and Cultural Affairs.

Check out the contest now! There's plenty of room for more participants.

Secretary Hillary Clinton on My Online Video Contest
Secretary Hillary Clinton speaks about the impending launch of my new web project, the ExchangesConnect Online Video Contest:


The ExchangesConnect Video Contest launches on November 17, 2009. This is a project I've worked on with fellow Rubyists David McVicar and Kelly Gifford, so we're all pretty pleased.

Videotaping RubyNation 2010
I'm one of the founders of the annual RubyNation technical conference, which will be held for the third time on April 8 - 10, 2010. Each year that we've held the conference, we've tried to up the ante in producing a bigger, better conference.

One of the exciting developments for RubyNation 2010 is that we're planning to videotape the conference sessions this year. More than that, we're going to produce a documentary about what it takes to organize and run a conference. I will be functioning as the producer for this documentary, which currently has a working title of "The Road to RubyNation: The Making of a Conference". When completed, this documentary will be shown on public television and will be streamed online.
Pre-Launch Animated Montage
Johnny Nguyen put together another animated photo montage (with the help of Animoto.com) to illustrate my development team's run-up to the launch of our new contest site for the Department of State.

Online Video Contest Launches in Two Weeks
Since mid-August, I've been working as part of a team to create an online video contest for the Department of State's Bureau of Educational and Cultural Affairs. They operate an online social network called ExchangesConnect that promotes cross-cultural understanding across the world. This is the second year that my company, MetroStar Systems, has implemented and managed an online contest for this client.

Second Annual Exchanges Connect Video Contest
A Costly Calculation
I find myself singularly unimpressed by the technical competence of the world's financial market. I recently purchased plane tickets for an international flight and was surprised to see a $50 "transaction fee" on my bill from British Airways. Admittedly, I live in the United States and I was buying tickets from a British carrier, but still, a $50 charge for an automated electronic calculation that converts dollars to pounds? I understand that credit card companies are now doing the same thing. The problem that I have with this is that there's no intrinsic cost associated with the transaction — no time involved, no physical goods changing hands, no people involved. It's just plain and simple digital robbery.
ExchangesConnect Introductory Video
Here's the introductory video about the 2nd Annual ExchangesConnect Video Contest. This is the contest site that I've been working on with Dave McVicar and Kelly Gifford. Our awesome marketing specialist, Jenny Hubacher, took the lead in producing this video.


A Little Inspiration
I'm always designing things, mostly software programs in one of a couple different languages. When you spend a lot of time doing the same things, it's easy to slip into a rut without realizing it. Something that I find useful to combat this is to look at interesting designs in other totally unrelated fields.

House on the Ocean, a unique design
The Online Office
My team at MetroStar systems is trying to do something a little different. We're trying to do everything digital. Everything that the team does should be sharable online. Find out more about our experiment in team collaboration.
Ruby Magic, Compliments of Animoto.com External Link
Here's a short video called "Ruby Magic" that Johnny Nguyen put together to highlight the Ruby development team (me, Dave McVicar and Kelly Gifford) for MetroStar System's New Media Group.


Built using Animoto.com, a new site that focuses on automatically creating killer videos from uploaded image sets.
Maven Introductory Presentation Available Online
My presentation, Maven: Managing Software Projects for Repeatable Results, is now available online. Find out how to leverage this sophisticated build tool to automate key tasks for your next Java project.
How To Create an Atom Feed in Rails
You've got a great web site with great content. Now you'd like to make it easy for people to discover your content. You also need help generating traffic for your site. One of the best ways to do publicize your web site is to add a feed to your site. This article illustrates how to add an Atom feed to a web site using Ruby on Rails.
Web Site Survey Released as Open Source
Web Site SurveyOver the years, numerous people have approached me to do small to medium-sized web sites. I've always used a Web Site Survey to help these people refine the requirements for their web sites. Since it's been so beneficial to me, I thought I'd release the Web Site Survey via a Creative Commons license. It's available online in both PDF and Microsoft Word formats from the Downloads page.
Happy July 4th, 2009!
Somebody sent me an email with this picture. I thought it summed up the meaning of July 4th by juxtaposing celebratory fireworks with the graves of the many soldiers who made our freedoms and way of life possible.

July 4th, 2009 - Fireworks over Arlington National Cemetery
Radical Career Success in a Down Economy
Authors Chad Fowler and Andy Lester just had a free webcast sponsored online by O'Reilly. The topic was "Radical Career Success in a Down Economy." It was a pretty good talk. O'Reilly says the recording of the talk will be online soon, so I'll post a link when it becomes available. In the meantime, here are some of my thoughts on the talk.
David Keener at RubyNation 2009
Many thanks to Dave Bock and Don Anderson, who snapped some excellent photos of me speaking at the RubyNation 2009 Conference on June 12th. Click here to see the full set of photos from my talk.

David Keener at RubyNation 2009
Using the Subversion Revision Number in Your Application
Many applications incorporate the latest revision number into a release when it's built. One common example is showing the revision number in the About window of a Java application. This article shows how to do this very effectively for a Java application being built by an Ant script.
New Version of KeenerTech is Now Live
A new version of KeenerTech.com, designated as Version 3, is now live! KeenerTech.com is now a Rails 2.2.2 site, replacing the previous version which was an ASP.NET site. Additionally, the site is now hosted with WebFaction on a Linux system instead of being hosted on a Windows-based system. Most of the differences are internal, where the web site functions much more smoothly than before, with content management facilities far in advance of what the old version had. Visually, the biggest difference is that the web pages are wider, allowing more scope for the content.

It's all functioning pretty well, although I'll probably still be working out a few kinks for the next few days.

Creating a RESTful Web Services API
API ArchitectureI just gave a presentation, Creating a World-Class RESTful Web Services API, at RubyNation 2009. The presentation is now available online in PDF form. It's about my practical experiences creating a RESTful API for Grab Networks, a major supplier of news videos to the online world. It covers what I think is a pretty interesting architecture, almost a mini-framework, for creating web services in Rails.
RubyNation 2009 Design Preview
RubyNation 2009 is just around the corner, and I've been working diligently with Don Anderson, graphic artist extraordinaire, to come up with a suitable design for this year's conference hand-outs, such as the T-shirts and badges. So here's a preview of the design we came up with.


About the Site Meter Widget
Site Meter is a company that provides a web site widget that tracks visitors and page views for web sites. I've used their widget on KeenerTech.com and a few other web sites now. I think I've used it enough to provide a solid review of their widget.
Site Meter: A widget for tracking web site traffic

Kabob Kwest 2009
A number of the folks on the Ruby and Flash technical teams at Grab Networks have a passion for kabobs. Out of this passion was born the idea of a quest to find the best kabob restaurant in our kingdom, er, area. After all, King Arthur and his knights had their quest for the Holy Grail. Why can't we have our own "kwest" for the ultimate kabob? Naturally, this inspired Don Anderson, our resident graphic artist, to come up with a suitable emblem for our great and noble cause.


Kabob Kwest 2009 - The Search for the Ultimate Kabob
Pop Quiz: Why Does Verizon Suck?
The graphic below shows my download and upload speeds in megabytes per second from Verizon FIOS. Can anybody guess why I think Verizon's FIOS service sucks? At least for me, anyway. Hint: I'm paying for the 20/5 plan, which means I should get 20 Mbps download speed and 5 Mbps for the upload speed.

My personal Verizon download speeds
Traffic Report 2008
One of the topics I've been blogging about on this site concerns my efforts to increase the traffic numbers for the web site. In this article, I discuss the traffic numbers for 2008, and I include a chart, generated with Google Charts, that illustrates the traffic numbers.
Some HTML IS All Right External Link
User-entered HTML is always problematic for web projects. You'd like your site to have social features that allow users to enter content that will eventually appear online in a nice format, and HTML is a natural fit for formatting. On the other hand, the full complement of HTML tags puts a little too much power in the hands of certain users who might not have your best interests at heart. This external article that I found provides a simple solution for allowing users to enter a limited subset of tags within their content.
Managing Database Dumps Using MySQL
On every project, I find myself creating a development version of the project database. The easiest way to get a database with real data in it for testing purposes is to make a dump of an existing database and load it wherever it's needed. Here's some simple instructions on how to create a database dump of a MySQL database and how to subsequently load that database dump.
A Primer on RESTful Web Services
Everyone is talking about the RESTful (Representational State Transfer) approach for building web services, and how this approach is better than traditional SOAP-oriented web service architectures. Even Amazon, which supported both SOAP and REST for its AWS service (which provides access to product-related information), recently shut down its SOAP interface in favor of the RESTful one. This article provides a simple primer about RESTful web services, highlighting some of the key differences between RESTful architectures and more traditional, SOAP-oriented architectures.
David Keener at RubyNation 2008
Many thanks to Gray Herter, who snapped some nice photos of me speaking at the RubyNation 2008 Conference in August. Click here to see the full set of photos from my talk.

David Keener at RubyNation 2008
VMWare Fusion
VMWare Fusion: Making life easier with virtual machines.I've become a fan of VMWare, particularly VMWare Fusion for the Mac. I was a little skeptical of the idea of virtual machines at first, but not anymore. Let me show you how virtual machines have made my life easier.
Removing Browser Default CSS Styles
There's too many browsers to count nowadays and each browser subjects web pages to its own default CSS styles. These defaults make it painful to implement web pages that look consistent across the numerous available browsers. Wouldn't it be nice if you could just sweep away those default CSS styles and start with a clean slate?
Introduction to RubyGems
RubyGems is a package manager for Ruby code, where each package is referred to as a "gem." All of the Ruby books show users how to install gems, but almost nobody explains how to use the many other features of RubyGems.
Practical Tips for Rails Migrations
Migrations are one of the neatest features provided by the Rails framework. The thing to remember, though, is that migrations are still code. Even migrations can get out-of-control after a while, unless you follow some practical tips for keeping them useful and relevant.
Creating a Breadcrumb Trail in Rails, Part 1
Lots of web sites have breadcrumb trails to show users the hierarchy of pages through which a user has navigated to reach their current page. In this article, I provide a simple set of generic methods that can be used to easily add a breadcrumb trail to a Rails web site.
If You Can't Find the Oracle
The Matrix is everywhere.So, my friend, Jake Vanus, was trying to get Oracle running on a Windows laptop. After several installation/configuration cycles, he had to drop the task for a while. When he came back to it, he couldn't remember whether Oracle was still installed or not, so he asked me where to find the Oracle startup scripts. To which I responded gravely, "If you can't find the Oracle, you will have to seek out the Merovingean."

It's always helpful to slip in a Matrix joke when a buddy is having technical issues.
Mac Office 2008 Product Key Issue Solved
There have been numerous reports on the web of installation issues with Office 2008 for the Mac. Most of the issues seemed to center around Office 2008 not recognizing the proper product key during a re-installation. As far as I can tell from my Internet research, nobody had come up with a solution for the problem. However, I was able to solve the problem when I encountered it.
NovaJUG: Creating Dynamic Charts With JFreeChart
On April 9th, 2008, I presented on the topic of JFreeChart to the Northern Virginia Ruby Users Group (NovaJUG). JFreeChart is an open source charting library implemented in Java. It provides the capability to dynamically create sophisticated charts and incorporate them into Java applications. This in-depth presentation illustrates how to effectively use JFreeChart to enhance your web sites.
NovaRUG: Implementing OpenID for Your Social Networking Site
On March 19, 2008, I presented on OpenID and Rails to the NovaRUG. There are thousands of social networking sites, each with their own unique sign-on systems. How many user names and passwords do you really want to remember? Wouldn't it be nice if you could have a single sign-on that you could use on all of the sites that you frequent? OpenID is an open-source, decentralized sign-on technology that promises this and more. My PDF presentation on OpenID is available online.
Graphic Designs for a Regional Ruby Conference
The Northern Virginia Ruby Users Group is planning to organize a new regional Ruby conference. They've asked for some ideas on graphic designs to promote this new conference. So here are some promotional concepts that I've come up with.
Survival Tips for Technical Job Seekers
Looking for a new job is always a lot of work. Here are some survival tips to help technical professionals find a new job in today's volatile job market.
Dilbert on Agile Programming
"Agile Programming" has become one those popular buzzwords. Fortunately, we have Dilbert cartoons to put things like this into their proper prespective.
Embedding a Jelly Scripting Capability in Your Java Application
Jelly is an XML-based scripting language that was created under the umbrella of the Apache Commons initiative. Jelly has been successfully integrated into entreprise applications in order to make scripting capabilities available to users. Find out how to embed a Jelly scripting capability into your next Java application.
Tips for Web Services
Working with web services is often more painful than it needs to be. Here are some tips for crafting high-quality web services, based on real-life experiences. These tips are useful regardless of whether the web services are being developed using Java, .NET, Ruby on Rails or some other technology.
Traffic Report 2007
In this blog entry, I publish and then analyze real traffic statistics for KeenerTech.com. I look at traffic trends to determine how well my strategies for promoting the site have worked, and then use the information to fine-tune my future strategies for raising the profile of the site.
Principles of OpenID
OpenID is an open-source digital identity technology that allows web users to use a single sign-in for all OpenID-enabled web sites. Find out about the underlying principles behind this up-and-coming technology.
XKCD Web Comics
XKCD Web ComicsOnce in a while, a friend sends me a link to a site that's so funny I just have to share it with others. XKCD is a web comic that comes with its own inimitable warning label: "Warning: this comic occasionally contains strong language (which may be unsuitable for children), unusual humor (which may be unsuitable for adults), and advanced mathematics (which may be unsuitable for liberal-arts majors)." My favorite is a comic that actually manages to include some SQL. Dilbert, watch out!.
Reading a Resource From a Jar File
The easiest way to ensure that a Java class has the static resources that it needs is to bundle them within the same jar file as the compiled class. Once you've embedded your resources in a jar file, though, how can you access them from your code? Find out how easy it is to access embedded resources.
Santa Clause Traditions
Santa Rumored to prefer Scottish Traditions....My wife, Sally, is Scottish. I mentioned to her in passing one day that, when I was a kid, my parents would leave milk and cookies out on the kitchen table so Santa could have a snack when he showed up. She looked at me with a horrified expression, then exclaimed, "Milk and cookies! That's terrible!" She shuddered. "Santa's a man, not a boy! In Scotland, we leave whiskey out for the poor fellow 'cause he needs something to warm him up on his journey."
Implementing OpenID for Your Social Networking Site
There are thousands of social networking sites, each with their own unique sign-on systems. How many user names and passwords do you really want to remember? Wouldn't it be nice if you could have a single sign-on that you could use on all of the sites that you frequent? OpenID is an open-source, decentralized sign-on technology that promises this and more. My PDF presentation on OpenID is now available online.
Java Developers Notice Rails
Ruby on Rails, as featured in the latest issue of the Java Developers JournalThe latest issue of the Java Developers Journal features an in-depth primer on Ruby on Rails. It's a nice article by Ryan Garver, and a solid introduction to Rails. I think the Java community is beginning to notice this new, upstart technology.



JRuby Speed Test
JRuby is an implementation of Ruby in Java. It's come a long way in the last two years, going from pipe dream to viable platform. In the latest speed tests, JRuby has proven to be even faster than the C-based Ruby implementation.
Quick Start: What Is Rails?
Here's a brief but useful presentation that I've successfully used to introduce the Ruby on Rails technology to folks with absolutely no knowledge of it. Suitable for non-technical manager types, as well.
Speaking On: Implementing OpenID for Your Social Networking Web Site
I will be presenting at the Washington DC Ruby on Rails User Group on December 13th, from 7:00 PM to 8:30 PM. The meeting will be held at George Washington University.
Microsoft Screen Cleaner
Have you ever noticed how your screen somehow seems less clear after several years of use? Find out how to fix your screen and protect your vision using an innovative new product from Microsoft.
Creating Self-Documenting Java Code Using Javadocs
Javadocs is great tool for generating useful documentation for Java code from embedded comment blocks. Find out out how to use this tool to make your Java source code more maintainable. You'll find that Javadocs is so easy to use that it's almost unprofessional not to use it.
Improvised Public Comedy External Link
Improv Everywhere, a group that stages comic events for the unsuspecting public.The Improv Everywhere group is known for staging comical events for the unsuspecting public. Some of the events are hilarious, including one of my favorites, in which some 60 volunteers dressed like Best Buy employees showed up at a Best Buy location in New York. Check out their site if you're looking for a good laugh.
Evolution of a Graphic Design Concept
This is a case study of the iterative development of the graphic design for CareerBank.com, a highly successful niche career site focused on the accounting field. This case study lifts the veil on an important element of web design that isn't usually shown to outsiders. Come take a look!
2007 Web Design Survey
The prominent web design site, A List Apart just published their 2007 survey of web design professionals. Find out more about their results.
October 2007 Presentation
David Keener will be presenting for the Washington DC Ruby on Rails User Group. The topic will be: "Using Rails to Create an Enterprise App: A Real-Life Case Study." Find out more about this upcoming presentation, which will be given on Thursday, October 18th, at George Washington University.
Debugging Cross-Database Issues in Rails Migrations
It's pretty common in the Rails community to use migrations with multiple types of databases, e.g. - developers might use MySQL in their development environments while creating code targeted to run in production against an Oracle database. Learn about some of the pitfalls, and solutions, associated with using migrations in a cross-database manner.
Conditional Logic in Rails Migrations
Migrations are an awesome feature of Rails. Since they're implemented in Ruby, you can add conditional logic to perform database actions only if needed. Find out how!
The Importance of External Input on Site Design
One of the best ways to "tune" a site is to ask a knowledgable person what they think of the web site. Here's an annotated discussion of KeenerTech.com and its various features.
Traffic Generation Progress Report, 2006 - 2007
In this article, we do some analysis of the web logs to figure out how well traffic has been building for KeenerTech.com. More importantly, we''re going to use this information to develop strategies for improving traffic in the future.
Content As a Prerequisite for Traffic-Building
People visit web sites for the content, whether the content consists of articles, blogs, catalogs, etc. Content is what will bring them back again and again, if you can provide what they're looking for. So, let's analyze the content of the KeenerTech.com web site.
Downloads With Tivo
Find out how to download shows from your Tivo box so you can watch them when ... and where ... you want.
Rails Date Manipulation
Date manipulation is the bane of existence for enterprise developers. It seems like manipulating dates should be so easy, but yet it's generally tedious, painful and basically not fun. However, in Rails, it's not so bad. Find out why.
Glasgow Airport SUV Crash
It's eerie watching TV and seeing today's terrorist SUV crash at Glasgow Airport. I've spent a lot of time at Glasgow Airport, and the scene was instantly recognizable to me. In fact I was there just a little over a month ago.
DOM Popup Kit
The DOM Popup Kit is a nice JavaScript utility for adding in-page popup elements to your web pages. Find out more about this simple, but useful, JavaScript utility, including how to use it in a Ruby on Rails application.
Quick Start: Rails LiveTree
This short presentation from my brother, Steve Keener, provides a step-by-step roadmap for creating a dynamic tree feature for a web site using the LiveTree JavaScript code and the Rails "acts_as_tree" mechanism.
My Presentation for the DC Ruby on Rails Users Group
I gave a presentation on Ruby Vector Graphics (RVG) at the Washington DC Ruby on Rails Users Group on May 3rd. Find out how it went.
JFreeChart Presentation
JFreeChart is an open source charting library implemented in Java. It provides the capability to dynamically create sophisticated charts and incorporate them into Java applications. This in-depth presentation illustrates how to effectively use JFreeChart to enhance your web sites.
Multiple Form Buttons in Rails
Simple forms may be sufficient for most web solutions, but not all of them. Find out how to create forms in Ruby on Rails that contain multiple buttons.
Speaking at DC Ruby Users Group in May
I was asked by Dave Naffis, one of the founders of the Washington DC Ruby User Group, to give a talk at one of the upcoming meetings (the May 3rd meeting, as it turns out). Find out more about my upcoming talk.
Secrets of the Great Pyramid Revealed
An architect reveals his theories regarding the construction of the Great Pyramid of Khufu via a 3-D animated presentation on the web. Very cool stuff!
Tivo and Your Home Network
Connecting your Tivo box to your home network opens up a raft of new capabilities that can change how, and where, you experience your television programs.
A Random Element for Your Web Pages
Nobody likes a boring web page. Find out how to add interesting random elements to your web pages.
What Is an Expert?
What does it mean to be an expert in a technological field such as web development?
Creating a Pull-Quote Effect With CSS
From a page-layout perspective, online articles are boring compared to their printed counterparts. Discover a simple technique to make online content more effective.
KeenerTech Submitted to Numerous Search Engines
KeenerTech.com has now been submitted to a whole bunch of search engines using the promotional services provided by AccuWebHosting, the hosting company for the web site.
Creating Dynamic Charts With JFreeChart
JFreeChart is a Java-based, open source charting library. Find out how to use JFreeChart to dynamically generate sophisticated charts and seamlessly embed them within web pages.
Using the Yahoo Site Explorer Tool
Discover how to use Yahoo's Site Explorer feature to find out how well your web site has been indexed. Then use their online tools to improve the indexing of your site.
Reverse Searches with Google
Find out which sites are linking to your web site by using Google''s reverse search feature. Even better, use this technique to discover who''s linking to your competitors, so you can get them to link to your site.
Bringing Mathematical Journals to the Web
This in-depth article describes the creation of the sophisticated and highly successful E-Resources publishing initiative for the National Council of Teachers of Mathematics. This project involved the creation of a searchable, access-controlled online repository of PDF and HTML journal articles, with significant ecommerce features.
Why I Launched This Web Site
In this blog entry, I share some of the reasons that I created KeenerTech.com. I also include some stats on how traffic has been building for the site.
Dog in AOL T-Shirt
Yes, that IS a dog ... and he's wearing the famous "You've Got Mail" T-shirt from AOL.
How to Have a Web Site Outage
Sometimes, no matter what kind of backup plans and recovery plans you come up with, you still end up with an unexpected outage. Here's one lovely scenario that I recently encountered.
URL Rewriting in ASP.NET
URL rewriting is a technique in which a request for a web resource is intercepted and an alternate resource is substituted for the response. This is sometimes done, particularly in content management systems, to create simple, easy-to-remember URLs for web-accessible content. Find out how this technique can be accomplished in ASP.NET.
Getting the Most Out of Tivo
Tivo is the gold standard when it comes to personal Digital Video Recorders (DVRs). It also offers some interesting features for the technically-oriented.
Introduction to Java Servlets
The Java Servlet API (Application Programming Interface) allows developers to create Java classes that dynamically construct and return web pages. Discover how to create highly functional servlets.

On Being a Rails Expert
There's been a lot of hype lately about a new technology called Ruby on Rails. What does it really take to be a Rails expert?
Getting Started With Ruby on Rails
This article describes a few tools, such as InstantRails and RadRails, that will help new developers get started with Ruby on Rails.
Banner Display in the ASP.NET Ad Rotator Control
The enhanced Ad Rotator control provided by ASP.NET provides numerous advantages over the Ad Rotator component provided in so-called Classic ASP. Find out how easily banners can be handled in ASP.NET.

Generating Dynamic Graphics in ASP.NET Applications
Find out how GDI+, ASP.Net's wrapper for Microsoft's Graphics Device Interface, can be used to dynamically create images such as charts and graphs within the context of a web application.
Harnessing the Power of XML For Your Business
There's a lot of hype about the usefulness of XML. This article cuts through the hype and explains some of the major advantages that XML offers for businesses.
Simulating IDENTITY Columns in Oracle
Microsoft SQL Server supports IDENTITY columns that can be used to generate unqiue primary key values. Unfortunately, Oracle does not support this useful feature. Find out how this feature can be simulated in Oracle.
Understanding How Oracle Triggers are Executed
Oracle's triggers provide a powerful way to implement complex business rules within the database itself. Take a whirlwind tour of the features that make Oracle triggers so powerful. Find out about a useful convention for naming triggers that provides better support future maintenance activities.
Overly Secure?
Security is a good thing...usually. But sometimes you can take security too far.
Software Testing: A Forgotten Art
Solid testing is one of the hidden ingredients of successful web sites. This article on software testing as it applies to web sites and web-based applications was created for a small web consulting company.
My Favorite ASP.NET Conversion Error
Find out about an easy solution for one of ASP.NET's most common errors.
Web 2.0 Hype Generator
Inspired by Wired Magazine, the Web 2.0 Hype Generator helps aspiring entrepreneurs figure out how to advertise their new Web 2.0 ventures. Check it out today!
Let's Go Orbital
Learn about a new class of web site that's sure to change our understanding of real estate, satellite imagery and privacy.
Extreme Short Stories
The November 2006 issue of Wired Magazine includes an interesting feature on extremely short stories. Specifically, they asked a bunch of writers to come up with striking "stories" in only 6 words. Well, this sounded like a fun exercise, so I decided to try my hand at it.
The Horatio Factor
A different perspective on the controversy surrounding the Horatio Alger Street Fair in Marlborough, Massachusetts. Horatio Alger Jr. was the prolific 19th-century author whose "rags to riches" stories helped popularize the American Dream.
Handling Credit Card Transactions Using CyberCash
Implementing a solution for handling credit card payments is one of the defining hurdles that has to be overcome by many online businesses. Find out how credit card processing works in the online world, plus learn how this task can easily be accomplished using the ColdFusion language. Originally published in the ColdFusion Developer''s Journal.
Simple Banner Rotation Using Active Server Pages
Using the ASP programming language (now generally referred to as Classic ASP), Microsoft's widely available Ad Rotator component can easily be used to manage banners for a web site.
Tracking Software Issues
The almost universal accessibility of the web makes it an ideal platform for fielding collaborative applications. In this article, originally published in the ColdFusion Developer''s Journal, a simple web-based system for tracking and managing software issues is described.
Using Cron to Schedule UNIX Activities
The freely available cron program is an extremely useful utility for scheduling the automatic execution of tasks. Find out how to use this useful UNIX utility.
Generating Traffic for Your Web Site
All online businesses face the struggle to get visitors to come to their web site. Here are some inexpensive but highly effective ways to generate traffic for your web site.
Top 10 Best Practices for Creating Web Sites
Designing effective commercial web sites is a difficult task, with numerous potential pitfalls. Discover some best practices that will help you make your web site dvelopment effort a successful one.
Competing With the Monster
This article describes how niche career sites can compete effectively with large career sites like Monster.com, HotJobs.com and others.
Taxonomy of Career Sites
There are literally thousands of career-related web sites. This article provides a useful guide for categorizing them, with an emphasis on then using the categories to determine which web sites might be most effective for a job search.
Privacy and the Online Job Hunt
Privacy is one of the major concerns for job seekers when it comes to using online career sites. This article discusses the various privacy features offered by the major career sites.
The Most Glamorous Job in Accounting
Every year, a team of accountants is responsible for tabulating the votes for the Oscars. These accountants have the most glamorous job in the accounting field. — Originally published by CareerBank.com.