{"id":193,"date":"2009-11-04T07:02:21","date_gmt":"2009-11-04T15:02:21","guid":{"rendered":"http:\/\/35.225.155.113\/blog\/index.php\/2009\/11\/04\/my_first_exposure_to_apache_a_personal_reflection\/"},"modified":"2019-10-13T13:16:58","modified_gmt":"2019-10-13T20:16:58","slug":"my-first-exposure-to-apache-a-personal-reflection","status":"publish","type":"post","link":"https:\/\/www.weinstein.org\/blog\/index.php\/2009\/11\/my-first-exposure-to-apache-a-personal-reflection.html","title":{"rendered":"My First Exposure to Apache, A Personal Reflection"},"content":{"rendered":"<p style=\"margin-bottom: 0in;\">\n<meta http-equiv=\"CONTENT-TYPE\" content=\"text\/html; charset=utf-8\"><br \/>\n<title><\/title><br \/>\n<meta name=\"GENERATOR\" content=\"OpenOffice.org 3.1  (Linux)\"><\/p>\n<style type=\"text\/css\">\n<!--\n@page { margin: 0.79in }\nP { margin-bottom: 0.08in }\n--><br \/>\n<\/style>\n<p style=\"margin-bottom: 0in;\"><a href=\"http:\/\/www.technorati.com\/\">Technorati<\/a> just published <a href=\"http:\/\/technorati.com\/technology\/it\/article\/happy-birthday-apache-software-foundation\/\">an article of<br \/>\nmine<\/a> on this week&#8217;s 10<sup>th<br \/>\n<\/sup>Anniversary celebration of the Apache Software Foundation. Alas, given current commitments &#8211; consulting gigs and an upcoming<br \/>\nfamily getaway &#8211; I couldn&#8217;t bring myself to justify a trip out to<br \/>\nthe Bay Area this week to participate. So instead, I present this<br \/>\npersonal reflection of my first real exposure to Apache <a href=\"http:\/\/www.us.apachecon.com\/c\/acus2009\/schedule\/bfbb\">in<br \/>\ncelebration<\/a> of the foundation&#8217;s 10-year milestone.<\/p>\n<p><b>C2Net Software<\/b><\/p>\n<p><span style=\"font-weight: normal;\">In<br \/>\n1998, with a freshly minted Computer Science degree in hand, I<br \/>\nreceived my first real exposure to the Apache community with my first<br \/>\nfull-time job offer from <a class=\"zem_slink\" href=\"http:\/\/en.wikipedia.org\/wiki\/C2Net\" title=\"C2Net\" rel=\"ctag:means wikipedia\">C2Net Software<\/a> in Oakland, CA. I had an<br \/>\noffer sheet, a signing bonus and a opportunity to move to the<br \/>\ntechnological epicenter that is the San Francisco Bay Area. I had no<br \/>\nidea what I was in for.<\/span><\/p>\n<p><span style=\"font-weight: normal;\"><img decoding=\"async\" loading=\"lazy\" alt=\"C2Net Software Logo\" src=\"http:\/\/pdw.weinstein.org\/files\/c2net_100x105.jpeg\" class=\"mt-image-left\" style=\"margin: 20px 20px 0pt 0pt; float: left;\" height=\"105\" width=\"100\">By<br \/>\n1998 the Apache Group &#8211; forerunner to the Apache Software<br \/>\nFoundation &#8211; had already coalesced around a patched up <a href=\"http:\/\/hoohoo.ncsa.illinois.edu\/\">HTTPd Web<br \/>\nServer<\/a> from the University of Illinois&#8217;  <a href=\"http:\/\/en.wikipedia.org\/wiki\/National_Center_for_Supercomputing_Applications\">National Center for<br \/>\nSupercomputing Applications<\/a> which had come into its own as the most<br \/>\npopular software for running websites. Companies such as C2Net and<br \/>\nCovalent started building business on packaging the Apache Web Server<br \/>\nwith pre-compiled modules such as mod_php and mod_ssl for any<br \/>\ncomputing platform imaginable, even Windows. But by far the most<br \/>\npopular systems of the day were Sun &#8211; We put the dot in dot-com &#8211;<br \/>\nSolaris and <a property=\"ctag:label\" resource=\"http:\/\/rdf.freebase.com\/ns\/guid\/9202a8c04000641f800000000001759c\" typeof=\"ctag:Tag\" xmlns:ctag=\"http:\/\/commontag.org\/ns#\" class=\"zem_slink rdfa\" href=\"http:\/\/www.freebsd.org\/\" title=\"FreeBSD\" rel=\"ctag:means homepage\">FreeBSD<\/a>.<\/span><\/p>\n<p style=\"margin-bottom: 0in;\">\n<p style=\"margin-bottom: 0in;\">The Internet boom  was in full swing.<\/p>\n<p style=\"margin-bottom: 0in;\">\n<p style=\"margin-bottom: 0in;\">Being a recent college graduate I had<br \/>\nall of the theory and knowledge and none of the &#8220;real-world&#8221;<br \/>\nexperience. I was hired by C2Net as a Database Engineer. I had recent<br \/>\nexposure to a various Unix-based systems, including one variation<br \/>\nwhile working for a small business in a Chicago suburb writing Perl<br \/>\nscripts for text processing of information bound for a database and<br \/>\nlater computation. I had experience with HTML layout and programming<br \/>\nfor the <a property=\"ctag:label\" resource=\"http:\/\/rdf.freebase.com\/ns\/guid\/9202a8c04000641f800000000001068d\" typeof=\"ctag:Tag\" xmlns:ctag=\"http:\/\/commontag.org\/ns#\" class=\"zem_slink rdfa\" href=\"http:\/\/en.wikipedia.org\/wiki\/Common_Gateway_Interface\" title=\"Common Gateway Interface\" rel=\"ctag:means wikipedia\">Common Gateway Interface<\/a> from working part-time at a small<br \/>\ncomputer bookstore in another suburb. I had even tried to organize an<br \/>\nonline resume matching service as a whole-class project in a Software<br \/>\nEngineering course.<\/p>\n<p style=\"margin-bottom: 0in;\">\n<p style=\"margin-bottom: 0in;\">However, I was missing two important<br \/>\npieces; knowledge of a web server software and how to use the server<br \/>\nto bring everything together.<\/p>\n<p style=\"margin-bottom: 0in;\">\n<p style=\"margin-bottom: 0in;\">That would soon change. C2Net had been<br \/>\ngrowing. What had started, in part, in a Berkeley dorm as a Bay Area<br \/>\nISP that had adopted the open Apache Web Server to combat security<br \/>\nflaws discovered within Netscape&#8217;s Web Server had evolved into a<br \/>\nbooming business selling a security-minded version of Apache packaged<br \/>\nas the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Stronghold_%28software%29\">Stronghold Web Server<\/a> worldwide. Alas, their one-table<br \/>\nincident tracking system that had been hacked together one evening<br \/>\nwas in serious need of replacement.<\/p>\n<p style=\"margin-bottom: 0in;\">\n<p style=\"margin-bottom: 0in;\">That is where I came in, working with<br \/>\nthree other individuals I help developing what is now a days referred<br \/>\nto as a <a property=\"ctag:label\" resource=\"http:\/\/rdf.freebase.com\/ns\/guid\/9202a8c04000641f8000000000010026\" typeof=\"ctag:Tag\" xmlns:ctag=\"http:\/\/commontag.org\/ns#\" class=\"zem_slink rdfa\" href=\"http:\/\/en.wikipedia.org\/wiki\/Customer_relationship_management\" title=\"Customer relationship management\" rel=\"ctag:means wikipedia\">Customer Relationship Management<\/a> (CRM) System, but at the<br \/>\ntime we just called the &#8220;All-Singing-All-Dancing Sales and Support<br \/>\nDatabase&#8221; &#8211; complete with <a href=\"http:\/\/en.wikipedia.org\/wiki\/Michigan_J._Frog\">Michigan J. Frog<\/a> as mascot &#8211; since it<br \/>\nwould ingrate sales and support contacts and interactions into a<br \/>\nsingle database with web-based work queues for pending sales and<br \/>\nsupport email inquiries.<\/p>\n<p style=\"margin-bottom: 0in;\">\n<p style=\"margin-bottom: 0in;\"><b>ASAD: The All-Singing, All-Dancing<br \/>\nDatabase<\/b><\/p>\n<p style=\"margin-bottom: 0in; font-weight: normal;\">Our in-house<br \/>\ne-mail and web-based CRM system started by replicating the basic<br \/>\nfunctions of the existing incident tracking system, an inbound email<br \/>\nwould be parsed and processed based on basic information. If an<br \/>\nincident id in the subject was located the email body was &#8220;appended&#8221;<br \/>\nto the corresponding incident and the status of the incident was<br \/>\nupdated for attention. If the email had no incident number, a new<br \/>\nincident was created, the email was appended and the incident was<br \/>\nassigned to a level-one support tech based on the number of open<br \/>\nincidents then awaiting any one tech to answer.<\/p>\n<p style=\"margin-bottom: 0in; font-weight: normal;\">\n<p style=\"margin-bottom: 0in; font-weight: normal;\">Staff members<br \/>\nlogged into the system using a digital client certificate generated<br \/>\nby an internal, <a href=\"http:\/\/www.weinstein.org\/redhat\/presenttions\/oscon01\/intro_to_private_ca\/index.html\">private certificate authority<\/a>. Stronghold would verify the<br \/>\ncertificate against the root certificate of our certificate authority<br \/>\nand then provide the certificate information for the web application.<br \/>\nThe application would then use the email address as presented in the<br \/>\ncertificate to query the database and generate the user&#8217;s work queue.<br \/>\nSince using digital certificates begets encryption all information<br \/>\ntransmitted between the server and the client was confined from the<br \/>\nvery begging to the very end.<\/p>\n<p style=\"margin-bottom: 0in; font-weight: normal;\">\n<p style=\"margin-bottom: 0in; font-weight: normal;\">Granted the system<br \/>\nhad its flaws too. Today there are any number of robust templating<br \/>\nsystems for abstracting the application logic from the display logic.<br \/>\nMany of the program files became filled with dead weight, print<br \/>\nstatements repeating over and over the same HTML code for formatting<br \/>\nand display.<\/p>\n<p style=\"margin-bottom: 0in; font-weight: normal;\">\n<p style=\"margin-bottom: 0in; font-weight: normal;\">But it worked. It<br \/>\nwas something more than a collecting of CGI scripts and static HTML<br \/>\npages on some remote system. It was an application. An application<br \/>\ncapable of complex user interactions. An application on a system that<br \/>\nI had direct access to, could review error logs in real-time, could<br \/>\ntweak the performance and before long a system that would be<br \/>\nimplement to get important business done.<\/p>\n<p style=\"margin-bottom: 0in; font-weight: normal;\">\n<p style=\"margin-bottom: 0in; font-weight: normal;\">All of which came<br \/>\nabout in great deal because of the Apache Web Server and its growing<br \/>\ncommunity.<\/p>\n<div style=\"margin-top: 10px; height: 15px;\" class=\"zemanta-pixie\"><img decoding=\"async\" style=\"border: medium none ; float: right;\" class=\"zemanta-pixie-img\" alt=\"\" src=\"http:\/\/img.zemanta.com\/pixy.gif?x-id=00cebadf-c873-4e14-942c-e3e6b1580594\"><span class=\"zem-script more-related pretty-attribution\"><script type=\"text\/javascript\" src=\"http:\/\/static.zemanta.com\/readside\/loader.js\" defer=\"defer\"><\/script><\/span><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Technorati just published an article of mine on this week&#8217;s 10th Anniversary celebration of the Apache Software Foundation. Alas, given current commitments &#8211; consulting gigs and an upcoming family getaway &#8211; I couldn&#8217;t bring myself to justify a trip out to the Bay Area this week to participate. So instead, I present this personal reflection of my first real exposure to Apache in celebration of the foundation&#8217;s 10-year milestone.<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,92,82],"tags":[12,242,14,7,43,106,228],"_links":{"self":[{"href":"https:\/\/www.weinstein.org\/blog\/index.php\/wp-json\/wp\/v2\/posts\/193"}],"collection":[{"href":"https:\/\/www.weinstein.org\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.weinstein.org\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.weinstein.org\/blog\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.weinstein.org\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=193"}],"version-history":[{"count":3,"href":"https:\/\/www.weinstein.org\/blog\/index.php\/wp-json\/wp\/v2\/posts\/193\/revisions"}],"predecessor-version":[{"id":753,"href":"https:\/\/www.weinstein.org\/blog\/index.php\/wp-json\/wp\/v2\/posts\/193\/revisions\/753"}],"wp:attachment":[{"href":"https:\/\/www.weinstein.org\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=193"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.weinstein.org\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=193"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.weinstein.org\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=193"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}