{"id":13,"date":"2014-01-26T22:03:04","date_gmt":"2014-01-26T22:03:04","guid":{"rendered":"http:\/\/oracle-internals.com\/blog\/?page_id=13"},"modified":"2020-05-06T17:04:38","modified_gmt":"2020-05-06T17:04:38","slug":"about","status":"publish","type":"page","link":"https:\/\/oracle-internals.com\/blog\/about\/","title":{"rendered":"About Me"},"content":{"rendered":"<p><strong>My First Computer<br \/>\n<\/strong>In my\u00a0<a href=\"http:\/\/ore.aps4kids.org\/\">early school years<\/a>\u00a0(second or third grade), I was introduced to the\u00a0<a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/oracle-internals.com\/images\/vic20.jpg\">Commodore VIC-20<\/a>. My grandmother had one that my sister and I would often play games on. One day, by accident, I hit a couple of keys together which caused the game to stop and print out some odd-looking text. At first, I thought I had broken the thing &#8211; so I turned it off. A couple of days later it happened again. This time I went to the closet, retrieved the Commodore books, and looked through them.<\/p>\n<p>When I came across two, &#8220;Introduction to BASIC&#8221; books, I had hit the jackpot. After playing around with some of the examples for a while, I wondered if I could break out of the game again and, this time, change it. Sure enough, I was able to change all kinds of things about the game. It became more fun changing the game than playing it. It was at that moment I knew there was power in programming!<\/p>\n<p>Several years later, after becoming proficient with BASIC, I was in our school library and asked the librarian why there was a computer in the corner that just sat unused. It was an\u00a0<a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/oracle-internals.com\/images\/ibm8525.jpg\">IBM PS\/2 Model 25<\/a> that she told me never had worked since the school bought it. I asked her if I could try it and she, assuming there was nothing to lose, allowed me to do so. I booted it up and didn\u2019t see any errors, just that it booted into the BASIC interpreter. With my VIC-20 knowledge, this didn\u2019t seem too bad. But, I knew it had DOS on it (which I hadn\u2019t used yet), so I got the book and read up on the boot process. After getting a DOS boot disk, I restarted the system and got my first A:\\&gt; prompt.<\/p>\n<p>At home, we finally purchased an\u00a0<a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/oracle-internals.com\/images\/ibmps1.jpg\">IBM PS\/1 486SX\/25<\/a>\u00a0with DOS 5.0. Above all else, I no longer had to skip class to use the library computer.<\/p>\n<p><strong>Other Programming Languages<br \/>\n<\/strong>In addition to working with GCC on FreeBSD, I learned several other languages. My grandfather, also a computer hobbyist, helped foster my interest in computers by supplying me with software (<a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/www.mixsoftware.com\/product\/powerc.htm\">PowerC<\/a>, <a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/en.wikipedia.org\/wiki\/Turbo_C\">Turbo C<\/a>,\u00a0<a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/en.wikipedia.org\/wiki\/Turbo_C++\">Turbo C++<\/a>,\u00a0<a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/en.wikipedia.org\/wiki\/Turbo_Pascal\">Turbo Pascal<\/a>,\u00a0<a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/oracle-internals.com\/images\/lay4dos.jpg\">Layout for DOS<\/a>,\u00a0<a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/oracle-internals.com\/images\/lay4win.jpg\">Layout for Windows<\/a>) and books such as\u00a0<a href=\"https:\/\/www.google.com\/search?q=assembly+language+step+by+step+book+dunteman\">Assembly Language Step-By-Step<\/a>. He also introduced me to Linux (Slackware 2.3\/kernel 1.2.8) with\u00a0<a href=\"https:\/\/www.linuxjournal.com\/article\/84\">Linux: Configuration and Installation<\/a>.<\/p>\n<p><strong>Introduction to Databases<br \/>\n<\/strong>My love of databases began with the simplest version of them all,\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/DBM_(computing)\">DBM<\/a>. Though, I can\u2019t seem to recall whether it was NDBM or GDBM on FreeBSD (2.0 I think).<\/p>\n<p>Nevertheless, shortly thereafter I began playing with\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Berkeley_DB\">Berkeley DB 1.85<\/a>; I was in sixth grade. I\u2019m not quite sure why, but databases just became a personal hobby of mine. Every database package I could find, I learned inside-and-out. From\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Btrieve\">Btrieve<\/a>\u00a0to\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/DBase\">dBase<\/a>\u00a0to\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Raima_Database_Manager\">RaimaDB<\/a>, I loved every minute of it.<\/p>\n<p><strong>It\u2019s All Relational<br \/>\n<\/strong>Outside the realm of the key-value, network, and hierarchical database models was my first relational database experience: <a href=\"https:\/\/en.wikipedia.org\/wiki\/Ingres_(database)\">INGRES<\/a>. Ahh yes, good old\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/QUEL_query_languages\">QUEL<\/a>. My interest in INGRES actually begat my introduction to Oracle. Oracle was quite different. At first, I didn\u2019t really like it. But something about it just seemed to interest me. Ever since then I\u2019ve tried to learn as much as possible about it.<\/p>\n<p>While there are still many similarities between Oracle 11g and Oracle7, it was quite a bit easier to research back then; there just wasn\u2019t as much to it.<\/p>\n<p><strong>From Hobby to Profession<br \/>\n<\/strong>When I was fifteen, I started doing custom software and web development for local businesses. When performing custom software development, I called my creations, \u201cHarrisworks Software\u201d. At the time, I wished I was eighteen so I could incorporate and rename it, \u201cHarrisworks Software, Inc.\u201d; alas, I was far too busy at that point and it was not to be.<\/p>\n<p>Regardless, my first professional software project requiring a database was a billing and parts management system for a local industrial equipment service and repair shop. Due to the customer\u2019s time and financial constraints, I decided to quickly write their application in\u00a0<a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/oracle-internals.com\/images\/textvbdos.png\">Visual Basic for DOS<\/a>\u00a0using the <a href=\"https:\/\/web.archive.org\/web\/20010828005358\/http:\/\/40th.com\/blt1\/bullet127.html\">BULLET Database Engine<\/a>. After three months, the application worked well and I had learned several valuable lessons in project management which followed on into my later business ventures.<\/p>\n<p>One of those other ventures was web development. I (as the developer) had teamed up with a friend of mine (an awesome graphic designer) to design and develop several web sites under the name of <a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/oracle-internals.com\/images\/vortex1.jpg\">Vortex Web Development<\/a>. All of the initial sites were static HTML (that\u2019s just how it was in those days), but then one day I had an epiphany; plug-in databases to fill-in template pages thereby eliminating the need to write up hundreds of static pages. Obviously others had thought of this too, but somehow it just hit me and wow, what an advantage we had over the five or so other web developers in our city.<\/p>\n<p>The first customer to make use of my newfound technology was a\u00a0<a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/www.erasimmons.com\/\">real estate broker<\/a>. I met with him one day and explained to him how we could create a site that was able to show and search for his properties. He didn\u2019t really see a difference between us and his current developer (one of our competitors who would soon be out of business). So, I explained how static pages worked and why he paid his current developer an hour or so for every new listing (as well as time to remove listings). Then, to differentiate us, I explained how dynamic pages worked and how he could manage his own listings. I think he thought I was crazy. But, he did give us a chance and decided to go with it. In fact, so did several other businesses; a <a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/profile.myspace.com\/index.cfm?fuseaction=user.viewprofile&amp;friendid=264634022\">radio station<\/a>, a supermarket, and another\u00a0<a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/www.cbsn.com\/\">realtor<\/a>.<\/p>\n<p><strong>From Development to Administration<br \/>\n<\/strong>After <a href=\"http:\/\/ahs.aps4kids.org\/\">high school<\/a>\u00a0ended in 1999, I got a job as the\u00a0<a href=\"https:\/\/web.archive.org\/web\/20000618191513\/http:\/\/www.vanwinkles.com\/640contacts.htm\">IT Director<\/a> and Webmaster at one of my previous clients, a large independent supermarket chain named Van Winkle\u2019s IGA. As part of that job, I had to administer an Oracle system in addition to several remote RaimaDB databases.<\/p>\n<p>As our supermarket chain\u00a0<a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/oracle-internals.com\/images\/asset6.png\">relied<\/a> on the now-defunct\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Fleming_Companies,_Inc\">Fleming Companies, Inc.<\/a> as its primary vendor, we were somewhat forced into using Fleming\u2019s back-office Automated Systems for Supermarket Evaluation &amp; Tracking (<a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/oracle-internals.com\/images\/asset5.png\" target=\"_blank\" rel=\"noopener noreferrer\">ASSET<\/a>) software which relied heavily on RaimaDB. Over the course of my tenure at Van WInkle\u2019s, we had decided to upgrade from the old Netware network systems onto Windows. What we didn\u2019t find out until months later was that Microsoft\u2019s implementation of the NetBIOS protocol was not up to snuff, resulting in the RaimaDB lock manager allowing multiple users to\u00a0<a href=\"https:\/\/web.archive.org\/web\/20131219031250\/http:\/\/oracle-internals.com\/images\/asset3.png\">corrupt<\/a> the database.<\/p>\n<p><strong>From Hobby to Profession<br \/>\n<\/strong>Databases are my hobby and my profession. While some people claim to understand Oracle simply by researching algorithms and data structures, they can\u2019t be sure that they truly understand it. Being a developer at heart, I take a different approach.<\/p>\n<p>I generally pick a component of Oracle I\u2019m interested in and, after thoroughly researching it, I\u2019ll implement my own proof-of-concept (POC) to verify that my understanding of the concepts, algorithms, and data structures is truly accurate.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My First Computer In my\u00a0early school years\u00a0(second or third grade), I was introduced to the\u00a0Commodore VIC-20. My grandmother had one that my sister and I would often play games on. One day, by accident, I hit a couple of keys together which caused the game to stop and print out some odd-looking text. At first, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>About Me - Oracle Internals<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/oracle-internals.com\/blog\/about\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"About Me - Oracle Internals\" \/>\n<meta property=\"og:description\" content=\"My First Computer In my\u00a0early school years\u00a0(second or third grade), I was introduced to the\u00a0Commodore VIC-20. My grandmother had one that my sister and I would often play games on. One day, by accident, I hit a couple of keys together which caused the game to stop and print out some odd-looking text. At first, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/oracle-internals.com\/blog\/about\/\" \/>\n<meta property=\"og:site_name\" content=\"Oracle Internals\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-06T17:04:38+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@jonahharris\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/oracle-internals.com\/blog\/about\/\",\"url\":\"https:\/\/oracle-internals.com\/blog\/about\/\",\"name\":\"About Me - Oracle Internals\",\"isPartOf\":{\"@id\":\"https:\/\/oracle-internals.com\/blog\/#website\"},\"datePublished\":\"2014-01-26T22:03:04+00:00\",\"dateModified\":\"2020-05-06T17:04:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/oracle-internals.com\/blog\/about\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/oracle-internals.com\/blog\/about\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/oracle-internals.com\/blog\/about\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/oracle-internals.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"About Me\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/oracle-internals.com\/blog\/#website\",\"url\":\"https:\/\/oracle-internals.com\/blog\/\",\"name\":\"Oracle Internals\",\"description\":\"Researching the Inner Workings of the World&#039;s Most Powerful Database\",\"publisher\":{\"@id\":\"https:\/\/oracle-internals.com\/blog\/#\/schema\/person\/549d9c522c3960b062618b600bb762a4\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/oracle-internals.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/oracle-internals.com\/blog\/#\/schema\/person\/549d9c522c3960b062618b600bb762a4\",\"name\":\"Jonah Harris\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/oracle-internals.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a6d16ed0f510e8de0929f129471dc1e5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a6d16ed0f510e8de0929f129471dc1e5?s=96&d=mm&r=g\",\"caption\":\"Jonah Harris\"},\"logo\":{\"@id\":\"https:\/\/oracle-internals.com\/blog\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jonahharris\/\",\"https:\/\/x.com\/jonahharris\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"About Me - Oracle Internals","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/oracle-internals.com\/blog\/about\/","og_locale":"en_US","og_type":"article","og_title":"About Me - Oracle Internals","og_description":"My First Computer In my\u00a0early school years\u00a0(second or third grade), I was introduced to the\u00a0Commodore VIC-20. My grandmother had one that my sister and I would often play games on. One day, by accident, I hit a couple of keys together which caused the game to stop and print out some odd-looking text. At first, [&hellip;]","og_url":"https:\/\/oracle-internals.com\/blog\/about\/","og_site_name":"Oracle Internals","article_modified_time":"2020-05-06T17:04:38+00:00","twitter_card":"summary_large_image","twitter_site":"@jonahharris","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/oracle-internals.com\/blog\/about\/","url":"https:\/\/oracle-internals.com\/blog\/about\/","name":"About Me - Oracle Internals","isPartOf":{"@id":"https:\/\/oracle-internals.com\/blog\/#website"},"datePublished":"2014-01-26T22:03:04+00:00","dateModified":"2020-05-06T17:04:38+00:00","breadcrumb":{"@id":"https:\/\/oracle-internals.com\/blog\/about\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/oracle-internals.com\/blog\/about\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/oracle-internals.com\/blog\/about\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/oracle-internals.com\/blog\/"},{"@type":"ListItem","position":2,"name":"About Me"}]},{"@type":"WebSite","@id":"https:\/\/oracle-internals.com\/blog\/#website","url":"https:\/\/oracle-internals.com\/blog\/","name":"Oracle Internals","description":"Researching the Inner Workings of the World&#039;s Most Powerful Database","publisher":{"@id":"https:\/\/oracle-internals.com\/blog\/#\/schema\/person\/549d9c522c3960b062618b600bb762a4"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/oracle-internals.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/oracle-internals.com\/blog\/#\/schema\/person\/549d9c522c3960b062618b600bb762a4","name":"Jonah Harris","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/oracle-internals.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a6d16ed0f510e8de0929f129471dc1e5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a6d16ed0f510e8de0929f129471dc1e5?s=96&d=mm&r=g","caption":"Jonah Harris"},"logo":{"@id":"https:\/\/oracle-internals.com\/blog\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/in\/jonahharris\/","https:\/\/x.com\/jonahharris"]}]}},"_links":{"self":[{"href":"https:\/\/oracle-internals.com\/blog\/wp-json\/wp\/v2\/pages\/13"}],"collection":[{"href":"https:\/\/oracle-internals.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/oracle-internals.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/oracle-internals.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oracle-internals.com\/blog\/wp-json\/wp\/v2\/comments?post=13"}],"version-history":[{"count":9,"href":"https:\/\/oracle-internals.com\/blog\/wp-json\/wp\/v2\/pages\/13\/revisions"}],"predecessor-version":[{"id":302,"href":"https:\/\/oracle-internals.com\/blog\/wp-json\/wp\/v2\/pages\/13\/revisions\/302"}],"wp:attachment":[{"href":"https:\/\/oracle-internals.com\/blog\/wp-json\/wp\/v2\/media?parent=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}