At thirteen years of age I discovered what I wanted to be.
Finally trading in my astronaut dreams, I discovered computer programming...
Over the years I've focused on learning more about the "business of it".
In 1997 I forayed into web development excited by the Web as a distribution mechanism with an unrivaled potential for economies of scale.
Finding an opportunity in helping my brother to learn the "C" programming language, we chose to rewrite a lunar lander game I had developed while in middle-school using an Apple II and a Franklin Ace 1000.
Over the years it had been a pet project to port it to the PC during Microsoft's transition from 16-bit DOS to 16/32-bit Windows
(after Apple succeeded in alienating me demographically by pricing me out of the "Mac" market).
The initial "port" of the game used the CGA graphics mode. I also traded-in Applesoft Basic for MS QuickBasic--which compiled into an executable rather than being interpreted at run-time.
(Between that and trading an 6502 with 64K, for an 80286 with 640K and an internal disk the game ran considerably faster!)
We were determined to finally do it "right", updating the graphics to use VGA (256 colors were a smorgasbord by comparison to the 4 available in CGA mode).
And, trading in the programmer-scorned BASIC language for C, which was a more popular flavor of the day as it turned out, and considerably faster as C is compiled as opposed to interpreted! (Another serious speed improvement is to use inline Assembly to do graphics calls instead of the native language constructs, BTW.)
Once the game was built, it was time to market it.
While researching, I "discovered" America Online, and volunteered as a "community leader" in an AOL software channel helping to evaluate and review member contributed software for America Online.
It was a great experience and taught me some basics about hosting and web development. Flash forward and you've got the back story that stemmed many of the examples, and spawned the evolution of my interests toward the specialized genre of programming that is web development.
Of late my focus has been trying to teach others some of the rapid development techniques I've honed over the years.
I've cautiously been leaning more toward open source, I say cautiously because at the end of shiney happy feelings and doing good in the world,
the landlord still bangs on the door for rent, and uncle sam wants his share from food, property, etc. Someday I hope to embrace
philanthropy with reckless abandon, but until then fiscal responsibility will have to suffice. And a part of fiscal responsibility
is that projects need to make sense, generate interest, and make money. If retaining rights, if only on a limited basis aids that
objective then that's how it has to be.
In 1999 I started with a privately held web hosting company in the process of being acquired by About.com, a top-ten public Internet company at the time.
As part of the web services division located in Orem, Utah, I supported Freeservers, BizHosting, and a white-label web hosting brand named Community Architect
which grew to support approximately 3000 individual brands during it's life cycle.
About.com was later acquired by Primedia, and then later by the New York Times.
In 2004, United Online acquired the web services division from About/Primedia, and created the MySite hosting brand.
During my involvement with the web hosting business, I implemented design and UI, and built software applications (CGI) which could scale.
Our team worked with PERL in a LAMP environment.
In addition, I coordinated between the technology, marketing, and business groups to build, track, and analyze user facing products and services.
In 2007 I took on a role with the Internet access business headquartered in Woodland Hills, California to support the NetZero and Juno brands
and migrate applications running on an older Java framework over to Spring/MVC framework. My focus was on the front end using JSP primarily.
We interfaced with a servlet team to implement designs and conventions provided by product and marketing groups.
We worked with Tomcat, Eclipse, and CVS in this environment. Interestingly, supporting dial-up users necessitated creating code that could
cache locally, and run fast with a small a footprint as possible. This was a great learning experience.
Over the decade I've been involved, my role has been focused on the technical process of realizing user facing products and services.
I've been responsible for interfacing between the marketing and business teams in order to fully realize design requirements, test, track, and analyze performance.
I've learned to implement quickly and efficiently, coordinate between cross-functional groups, conduct split testing and track marketing objectives specifically,
and help our business to learn iteratively for profitability.
This site was created as part of a software business I created in the early 1990's.
It was designed to offer games and web development information.
It's primary traffic source is search engine visitors on various topics.
This property also plays host to a centralized ad serving system based on
some community architect technology called "ISML".
Some examples of technical subject matter buried on other sections of ESQSoft.com...
(most of this material is accessible to folks searching through their own favored search engine)
While learning HTML, JavaScript, Flash, ActionScript, etc. for the purpose of tackling common and uncommon technical challenges,
I've tried to share my approach. I've generated some examples
and used projects to teach others similar techniques for tackling some of the common and uncommon technical
challenges that crop up during web projects. I've been working through the process of organizing a set of "How To"
resources which aggregate this information.
A design using CSS opacity and a JS library for variable backgrounds (refresh a few times to see some variations).
This site was created as a place to feature links to visitors sites.
I did some of the template design and built a proof of concept using a proprietary server-side markup language called WRAP.
It lives on a free web hosting provider (including the subdomain name).
This site was created for the Jefferson Place Home Owners Association in Sandy, Utah.
It features some exploding DIV html which uses cookies to remember a returning visitors
preferences.
This site was created for a charter school in American Fork, Utah.
I was engaged initially to provide a quick design and front end coding (HTML, JavaScript, CSS).
Over the years the design and coding has changed as additional resources have been brought in to maintain the site.
This site was created for a telecommunications company in Provo, Utah.
I created the design and implemented it as a client side template.
Once the initial phase was complete, ongoing development and maintenance was handed off to an in-house webmaster.
This site was the result of a collaboration by a few friends of mine.
My contribution was implementation. A challenging feature of the implementation
was a dynamic set of drop down inputs which populated children inputs based
on the parent's value. I wrote the client side script, and coordinated
with the programmer to get datasets based on the locale of the search.
Special thanks to Rob, Randy Stuart, Earl Cahill, and Erik Vorkink who
were co-conspirators on this project.
Other Samples and Miscellanea
(Expand to view the collection)
100 Hundreds Table Math Exercises for Grade School Kids
- An interactive client-side application demonstrating skip counting with the hundreds table.
This collaboration with my son also helped illustrate JavaScript programming, and HTML/CSS presentation.
http://hangman.bappy.com
- Otherwise known as JHangman (JavaScript Hangman).
I built this JavaScript puzzle engine around 2001 and have extended it as the W3C standardized DOM has become better supported by popular browsers. (For example switching from document.all to document.getElementById, etc.)
The engine uses a pre-AJAX late-binding technique to bring in custom word lists and picture packs.
If you are using Internet Explorer, the game also supports sound effects (which degrade without errors in other browsers).
Here are some examples:
Slide Show CGI - Perl, CGI Programming, Project created for About.com Web Services
(CGI), (Perl Module)
Assisted with creating educational resources websites. I assisted to provide early design work and HTML to help get the project rolling.
Additionally, I helped set up the initial database design (MySQL) and data driven UI (implemented using PHP).
This work was handed off to a full-time team to build out and maintain the resources day-to-day.
Examples:
Math Teacher Life,
Reading Teacher Life,
Special Ed Teacher Life,
School Administrator Life