Thomas Ballard - Personal Website
How to Contact Thomas Ballard
Resume for Thomas Ballard
References for Thomas Ballard
Samples for Thomas Ballard
Code Samples by Thomas Ballard
Web Design by Thomas Ballard
Music by Thomas Ballard
Laptop Computer



This site uses CSS and JavaScript and requires a version 4.0 browser or higher.
The site is best viewed using Firefox or Internet Explorer.    (more jabber)


Thomas Ballard's - Personal Website

Top
Welcome to my website. My goal is to provide links to examples of design, games, music, code samples, and anything else that moves me enough to spend more time to portfolio-ize. I'd love to see these efforts evoke dialog as well as provide short-cuts to avoid re-inventing the wheel (though sometimes its healthy to re-examine the wheel... consider the internal combustion engine for example.) The material used and referenced from this site represents a fraction of the output from projects and learning interests that have accumulated over years. If you see something missing that you think belongs here, please send me an email.

Last Updated: July 05, 2008

My Links

More Projects and Favorites

WYSIWYG = BAD


My code and markup examples are hand coded. I've never become a fan of WYSIWYG or even IDE for that matter. Even after working with both. My peeve is that as a developer, your efforts go into learning the quirks of the application rather than the craft of coding. (And that's if you can even afford the entry price of the application. Even my college discounted copy of C++ cost a few months food allocation. Dreamweaver?, give me a break! Oh yeah, and that's just the upgrade... try buying it outright! And you thought Windows was overpriced. *end rant*)

HTML particularly has some bizarre intricacies with browser implementation of the W3C recommendations down to the level of white space and where lines break. If you are dependent on a WYSIWYG to write and maintain your HTML then you never get your hands dirty enough to be able to solve the tricky little bugs that plague professional web designers and developers.

I think the same is true of an IDE for programmers. If you are relying on your application to build your property access or method calls, or expose the details of subroutine arguments through some Windows dialog box and drop down menus then you don't really know the language. The best you can hope for is a degree of familiarity with the proverbial Table of Contents for the language. That just seems to avoid the work of getting your hands dirty in the code, and that doesn't push you in the direction of expertise with a language.

That said, try convincing some business minded managers to hire an expert instead of saving a few bucks on a novice they think is an expert, and you'll see their eyes roll back and drool appear at the corner of their mouth. It's really too bad. If you are learning... invest the sweat equity in coding by hand, it's worth your effort.

Work and General Methodology


My professional interests orient around computer science, systems, marketing, analytics, philosophy, and business. I love programming, mainly on the customer facing side, favoring UI and customer experience over that of the more traditional programmer mindset that focuses on technical abstractions and back end optimizations. (Don't get me wrong, I understand the value of optimization and abstraction, it's just that UI and customer experience is my first love.)

My ideal project is one that leverages existing code, and introduces changes only incrementally. This speeds development and yields semi-matured processes inherent to that existing code and all the underlying investment that presumably went into it. Further, there is a greater likelihood of ending up with long-term maintainability in a project that starts from a known commodity. We also get the benefit of a simplified transition to QA since testing the new product extends from a tested base.

On the other side of that coin, an objective observer might suggest that starting from "N" probably translates to a reduced feature set in the real world. From iterations of observation that does appear to be the primary trade-off. That said, my "holy grail" (and probably anyone who views their professional efforts as that of improving their craft) is to find the best balance of incremental code base changes versus carte blanche to introduce new features and radical departures from the product status quo.

Personally, I believe at that point of equilibrium we'll find a quick-to-market, nimble team, that reliably produces solid, and maintainable code. Further, that such a position facilitates vertical expansion into economies of scale instead of getting bogged down in building horizontally. Horizontal efforts seem more often associated with increasing friction and ultimately an inability to sustain forward momentum; while vertical efforts can cause exponential growth. (A pipe dream?, maybe. But that's the hypothesis I'd like to prove to myself through my own projects and through my contributions in team settings.)

Beyond the developmental nuts and bolts in my ideal project is that of verbalizing the goal at the outset, and incorporating proven, predictable analytics mechanisms to prove or disprove the assertions stated in those goals. I prefer true objectivity over the creative accounting that appears to be rotting the foundations of modern business. Diving into the controversy of buoying stock prices with short term levers versus that of taking the long-term view and building sustainability via incremental learnings at the occasional expense of short term corrections, my preference (as an employee and as a stock holder) is the latter.

Nestled amongst the stated goals is that of doing market analysis to understand and profile the target demographic and then to use that information to find and position a brand capable of birthing associations that resonate with that audience and provide both a sufficient up front perception of value and call to action to affect immediate adoption as well as to benefit from a halo effect and ability to live in the mind of the target audience and "fester" until it evokes late adoption for early resistors as well.

Boiling away all of the action, the project should be implementable and sustainable through good business practice and produce sufficient profit to provide an acceptable return on investment.

A project that connects at these levels, spurs team interaction and constructive dialog, evokes humor and intellectual growth and stimulation, and culminates in financial rewards that are shared in a fair, team-wide manner is my "ideal project."

Other related keywords and common misspellings: thomas ballard, thoms, thom, thommer, tom, tommy, computer science, web producer, sandy utah alta high school, self learning