<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Line by Line...</title>
	<atom:link href="http://www.chadjewsbury.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.chadjewsbury.com</link>
	<description>... thoughts on apprenticeship and web development.</description>
	<lastBuildDate>Wed, 08 Feb 2012 02:04:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>BART Project</title>
		<link>http://www.chadjewsbury.com/bart-project/</link>
		<comments>http://www.chadjewsbury.com/bart-project/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 04:27:24 +0000</pubDate>
		<dc:creator>Chad</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[BART]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[OOP]]></category>

		<guid isPermaLink="false">http://www.chadjewsbury.com/?p=3648</guid>
		<description><![CDATA[Andrew and I finished (for now) the bank example and he gave me a new project to build an application based on the BART in San Francisco. I&#8217;ll be creating object classes for Stations, Turnstyles, and Cards to begin with. We set up a Git repository for our work and I&#8217;ll be building my first [...]]]></description>
			<content:encoded><![CDATA[<p>Andrew and I finished (for now) the bank example and he gave me a new project to build an application based on the BART in San Francisco. I&#8217;ll be creating object classes for Stations, Turnstyles, and Cards to begin with. We set up a Git repository for our work and I&#8217;ll be building my first draft of the objects this week.</p>
<p>Some notes from today&#8230;</p>
<p><span id="more-3648"></span></p>
<p>Git Commands:</p>
<p>git add .  = Add all files in directory to the repository</p>
<p>git add [file name]    = Add just that file to the directory, OR stage the most current version for the commit. (to be used if you&#8217;d like a momentary save, but are not sure if it&#8217;s the final commit version).</p>
<p>git commit   = will commit the changes within the file to the repository. (only locally though).</p>
<p>git push  = pushes the commits you&#8217;ve made since the last pull to the server.</p>
<p>git pull  = pulls the most recent version from the server.</p>
<p>&nbsp;</p>
<p>Things are speeding up quickly, but I think I&#8217;m keeping up OK. It&#8217;s been a hard transition to get back into the habit of studying and actively learning. I haven&#8217;t been in a situation that challenged me intellectually for a while, so it is an adjustment. I&#8217;m making progress though, and Andrew is really patient with me.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chadjewsbury.com/bart-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Week 2</title>
		<link>http://www.chadjewsbury.com/week-2/</link>
		<comments>http://www.chadjewsbury.com/week-2/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 02:15:39 +0000</pubDate>
		<dc:creator>Chad</dc:creator>
				<category><![CDATA[Weekly Updates]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.chadjewsbury.com/?p=3378</guid>
		<description><![CDATA[January 23-27 Topics of the Week: Object Oriented Programming We started with an overview of OOP and then dove into an example project of a fake Bank. Procedural code vs Object Orientation Procedural is read from top to bottom and uses functions to repeat code: Func Name (ARGUMENTS…){ Does something Return;     } Objects [...]]]></description>
			<content:encoded><![CDATA[<h2 style="text-align: center;">January 23-27</h2>
<p>Topics of the Week:</p>
<ul>
<li>Object Oriented Programming</li>
</ul>
<p>We started with an overview of OOP and then dove into an example project of a fake Bank.</p>
<p><span id="more-3378"></span></p>
<p><strong>Procedural code vs Object Orientation</strong></p>
<p>Procedural is read from top to bottom and uses functions to repeat code:</p>
<p>Func Name (ARGUMENTS…){</p>
<ul>
<li>Does something</li>
<li>Return;     }</li>
</ul>
<p><strong>Objects</strong></p>
<p>Each object is one instance of that &#8220;Class&#8221; of objects and is one little program within the bigger program.</p>
<p>A &#8220;Class&#8221; is a definition or blueprint for objects to be created from. It includes all the descriptions (parameters) and actions that object can perform (methods)</p>
<p>Basic parts of an Object:</p>
<p>Name:</p>
<p>Parameters – like arguments</p>
<p>Methods – like functions</p>
<p>&nbsp;</p>
<p>Parameters or methods can be public, protected, or private. Public variables can be defined or used anywhere within the program (even outside the object). Private can only be used within this object. Protected can be used by all child objects (but we&#8217;ll go into this more next week).</p>
<p><em>Modifiers / accessors</em> – typically public methods used to define or access private variables</p>
<p>When classes are made,  the call a constructor which is basically just a function that does stuff when you create a new object (like define variables, perform validations, etc).</p>
<p>Example of basic class:</p>
<pre>class MyClass
{
     public $id;
     protected $pro;
     private $_priv;

     public function My Class ($id)
     {
         $this-&gt;id = $id;
     }

     private function validateID ()
     {
         return($this-&gt;id &gt; 0);
     }
}</pre>
<p>We built a basic Bank application with 3 object classes: <a href="http://dl.dropbox.com/u/833766/Transaction.php">Transaction</a>, <a href="http://dl.dropbox.com/u/833766/Account.php">Account</a>, &amp; <a href="http://dl.dropbox.com/u/833766/Customer.php">Customer</a>. (Click the links to download the php files)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chadjewsbury.com/week-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OOP in PHP Tutorials</title>
		<link>http://www.chadjewsbury.com/oop-in-php-tutorial/</link>
		<comments>http://www.chadjewsbury.com/oop-in-php-tutorial/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 03:37:25 +0000</pubDate>
		<dc:creator>Chad</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.chadjewsbury.com/?p=749</guid>
		<description><![CDATA[PHP Tutorials Examples Object Oriented Programming with PHP. This is a great tutorial about working with OOP in PHP. Killer PHP Another PHP Video tutorial site. &#8211; Very popular OOP tutorial series, but a little slow. Good descriptions of separation of code between Model View Controller, or business logic, database connections, validation etc. &#160;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.phpro.org/tutorials/Object-Oriented-Programming-with-PHP.html#1">PHP Tutorials Examples Object Oriented Programming with PHP</a>.</p>
<p>This is a great tutorial about working with OOP in PHP.</p>
<p><a title="Killer PHP" href="http://www.killerphp.com/">Killer PHP</a></p>
<p>Another PHP Video tutorial site. &#8211; Very popular OOP tutorial series, but a little slow.</p>
<p>Good descriptions of separation of code between Model View Controller, or business logic, database connections, validation etc.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chadjewsbury.com/oop-in-php-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Week 1</title>
		<link>http://www.chadjewsbury.com/week-1/</link>
		<comments>http://www.chadjewsbury.com/week-1/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 01:34:24 +0000</pubDate>
		<dc:creator>Chad</dc:creator>
				<category><![CDATA[Weekly Updates]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Datatypes]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Protocols]]></category>
		<category><![CDATA[Setup]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.chadjewsbury.com/?p=3172</guid>
		<description><![CDATA[January 16-20 Each week, I&#8217;ll post the topics that I have covered. I plan to do this at the end of the week, so it will hopefully reflect the random links and posts I make throughout the week. The topics for week 1 are: Introduction to the Agile Development Process Introduction to the Application Stack [...]]]></description>
			<content:encoded><![CDATA[<h2 style="text-align: center;">January 16-20</h2>
<p>Each week, I&#8217;ll post the topics that I have covered. I plan to do this at the end of the week, so it will hopefully reflect the random links and posts I make throughout the week.</p>
<p>The topics for week 1 are:</p>
<ul>
<li>Introduction to the Agile Development Process</li>
<li>Introduction to the Application Stack and MVC</li>
<li>Introduction to Web Protocols and Services (DNS, HTTP, FTP, etc)</li>
<li>Environment Setup</li>
<li>Basic Server Administration (Linux)</li>
<li>Datatypes and their Uses</li>
<li>Stacks, Queues, and other Data Structures</li>
<li>Object Oriented Programming</li>
</ul>
<p><span id="more-3172"></span></p>
<p>On my first day of the apprenticeship we spent most of the time setting up my computer and development environment. We also talked briefly about the first few topics on the list above. During the week I read more in-depth about Agile, Web Protocols, and Datatypes. On Thursday, we discussed the topics, went over Stacks, Queues, and other data Structures, then started the basics of Object Oriented Programming (the topic of the next 2 weeks).</p>
<p>Here are my (mostly raw) notes:</p>
<p><strong>Agile Development</strong><br />
Waterfall &#8211; older development model where the project is handed off to each group in succesion. So if anything changes in the middle, it requires a restart, or changes are very difficult. IE: project manager &#8211; &gt; designer &#8211; &gt; front end &#8211; &gt; back end -&gt; QA</p>
<p>Great Resource for Agile and Extreme Programming: <a href="http://www.extremeprogramming.org/">http://www.extremeprogramming.org/</a></p>
<p>MVP &#8211; Minimum viable project</p>
<p><strong>Test Driven Development -</strong><br />
Unit Test &#8211; Tests one part of code (one unit)<br />
1 test per function<br />
IE: user can create a company<br />
pass fail to see if user can create the company<br />
100% code coverage &#8211; all of it is covered by tests, once 100% of the tests pass (theoretically) you’re finished coding.<br />
TDD &#8211; write tests first.</p>
<p><strong>Application Stack</strong><br />
Database → Data<br />
Backend / services → Application<br />
Front end → Presentation<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
DATA &#8211; data sources and storage or the &#8220;Model&#8221;<br />
mysql<br />
Reddis &#8211; document searching<br />
Lucene &#8211; Apache<br />
Data feeds &#8211; twitter info coming in. etc.. from an api or something like that.</p>
<p>APPLICATION -<br />
Controller<br />
Feeds</p>
<p>PRESENTATION -<br />
HTML / CSS / JS<br />
Views<br />
Templates</p>
<p><strong>Data Types:</strong></p>
<p><a href="http://php.net/manual/en/language.types.php"> http://php.net/manual/en/language.types.php</a><br />
Strongly Types Language - every variable has a defined data type</p>
<p>Loosely Typed language &#8211; (like PHP)<br />
will guess the type for you based on context. Type doesn’t always have to be defined. Loosely typed is easier, but not always correct and can cause problems. IE: an if statement that returns an integer 0 to a true/false statement, PHP calls it false, even though the integer 0 is a value that is true.</p>
<pre>Typecasting
$A=(INT) _MYVAR . 1;</pre>
<p><strong>TCP/IP &#8211; Internet protocol.</strong><br />
Protocol by which all computers connect to the internet and transfer data.</p>
<p>Goofy video: <a href="http://www.youtube.com/watch?v=HOaIqQAeaik">http://www.youtube.com/watch?v=HOaIqQAeaik</a></p>
<div><em>Inside TCP/IP:</em></div>
<p>Inside the TCP/IP standard there are several protocols for handling data communication:<br />
TCP (Transmission Control Protocol) communication between applications<br />
UDP (User Datagram Protocol) simple communication between applications (similar to TCP, but simpler and less reliable)<br />
IP (Internet Protocol) communication between computers<br />
ICMP (Internet Control Message Protocol) for errors and statistics<br />
DHCP (Dynamic Host Configuration Protocol) for dynamic addressing<br />
TCP uses a fixed connection. occupies the connection with a “full-duplex” communication.<br />
IP is Connectionless.<br />
Multiple communications can happen over on physical connection because information is broken up into packets and sent in pieces.<br />
IP (the protocol) then routes the packets to the correct destination with IP addresses.</p>
<p><em>Another Definition of TCP/IP:</em></p>
<p>TCP/IP is TCP and IP working together.<br />
TCP takes care of the communication between your application software (i.e. your browser) and your network software.<br />
IP takes care of the communication with other computers.<br />
TCP is responsible for breaking data down into IP packets before they are sent, and for assembling the packets when they arrive.<br />
IP is responsible for sending the packets to the correct destination.</p>
<p><strong>Definitions and Links</strong></p>
<p><strong>IP</strong> &#8211; Internet protocol (suite) communication between computers.<br />
<strong></strong></p>
<p><strong>TCP</strong> &#8211; Transmission Control Protocol &#8211; Communication between applications (constant connection)<br />
<a href="http://en.wikipedia.org/wiki/Internet_Protocol_Suite">http://en.wikipedia.org/wiki/Internet_Protocol_Suite</a></p>
<p><a href="http://www.w3schools.com/tcpip/tcpip_intro.asp">http://www.w3schools.com/tcpip/tcpip_intro.asp</a></p>
<p><a href="http://en.wikipedia.org/wiki/Transmission_Control_Protocol">http://en.wikipedia.org/wiki/Transmission_Control_Protocol</a></p>
<p><a href="http://en.wikipedia.org/wiki/Internet_Protocol_Suite">http://en.wikipedia.org/wiki/Internet_Protocol_Suite</a></p>
<p>&nbsp;</p>
<p><strong>DNS</strong> (Name Servers), &#8211; Name servers to translate IP addresses into memorable URLS<br />
Domains. www.sitename.com (.com being the broadest, then working left).<br />
Request works through Name servers to end up at the correct connection.<br />
<a href="http://en.wikipedia.org/wiki/Domain_Name_Syste"> http://en.wikipedia.org/wiki/Domain_Name_Syste</a>m<br />
<strong></strong></p>
<p><strong>HTTP + Error Codes,</strong><br />
HTTP is how the content, or requests is broken up or encoded for transfer. Header files<br />
in the packets and transfers display information.</p>
<p dir="ltr"><a href="http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol">http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol</a></p>
<p dir="ltr"><a href="http://en.wikipedia.org/wiki/List_of_HTTP_status_codes">http://en.wikipedia.org/wiki/List_of_HTTP_status_codes</a></p>
<p dir="ltr"><a href="http://www.smartlabsoftware.com/ref/http-status-codes.htm">http://www.smartlabsoftware.com/ref/http-status-codes.htm</a></p>
<p dir="ltr"><a href="http://www.w3schools.com/tags/ref_httpmessages.asp">http://www.w3schools.com/tags/ref_httpmessages.asp</a></p>
<p><strong>Headers</strong> -<br />
First part of a packet or request that tells the server information about the request or the user about the reply.<br />
<a href="http://en.wikipedia.org/wiki/HTTP_header">http://en.wikipedia.org/wiki/HTTP_header</a></p>
<p><strong>SSL</strong> &#8211; Secure Socket Layer -<br />
Used for encryption and security. Connection is made, a handshake is done to verify identity. if the browser trusts the certificate that the server sends a secure encrypted connection is set up &#8211; used for financial transactions, email, etc.<br />
<a href="http://www.verisign.com/ssl/ssl-information-center/how-ssl-security-works/index.html">http://www.verisign.com/ssl/ssl-information-center/how-ssl-security-works/index.html</a><br />
<a href="http://en.wikipedia.org/wiki/Secure_Sockets_Layer">http://en.wikipedia.org/wiki/Secure_Sockets_Layer</a></p>
<p><strong>CGI</strong> &#8211; way to run executable files over internet connection. PHP can be run as a CGI module.<br />
Java can be run as a CGI module. Pearl.. etc.<br />
<a href="http://en.wikipedia.org/wiki/Common_Gateway_Interface"> http://en.wikipedia.org/wiki/Common_Gateway_Interface</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.chadjewsbury.com/week-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unix Reference PDF</title>
		<link>http://www.chadjewsbury.com/unix-references/</link>
		<comments>http://www.chadjewsbury.com/unix-references/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 04:12:55 +0000</pubDate>
		<dc:creator>Chad</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[Setup]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.chadjewsbury.com/?p=854</guid>
		<description><![CDATA[Unix reference (click to download) &#8211; A great Printout Unix Reference &#8211; found on Fosswire.com. Terminal/Unix tutorials http://smokingapples.com/software/tutorials/mac-terminal-tips/ http://guides.macrumors.com/Terminal http://www.lynda.com/Mac-OS-X-10-6-tutorials/Unix-for-Mac-OS-X-Users/78546-2.html Some Handy Terminal Unix Commands: TERMINAL cmd+k = clear scrollback Man = manual man ls = will give definition of ls &#8211; add your keyword afterwards. man = man will give manual on man man -k [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Unix Reference PDF" href="http://www.chadjewsbury.com/wp-content/uploads/UNIX_REF.pdf">Unix reference</a> (click to download) &#8211; A great Printout Unix Reference &#8211; found on<a title="Unix Reference" href="http://files.fosswire.com/2007/08/fwunixref.pdf"> Fosswire.com</a>.</p>
<p><em>Terminal/Unix tutorials</em><br />
<a href="http://smokingapples.com/software/tutorials/mac-terminal-tips/">http://smokingapples.com/software/tutorials/mac-terminal-tips/</a><br />
<a href="http://guides.macrumors.com/Terminal">http://guides.macrumors.com/Terminal</a><br />
<a href="http://www.lynda.com/Mac-OS-X-10-6-tutorials/Unix-for-Mac-OS-X-Users/78546-2.html">http://www.lynda.com/Mac-OS-X-10-6-tutorials/Unix-for-Mac-OS-X-Users/78546-2.html</a></p>
<p><em><span id="more-854"></span>Some Handy Terminal Unix Commands:</em></p>
<p>TERMINAL<br />
cmd+k = clear scrollback<br />
Man = manual<br />
man ls = will give definition of ls &#8211; add your keyword afterwards.<br />
man = man will give manual on man<br />
man -k = will search for a keyword<br />
man apropo =  same as above</p>
<p>ls = lists files<br />
ls -l = vertical list with details<br />
ls -la = vertical with full details and shows hidden config files as well as the current and parent directory.<br />
ls -lah = same as above with “human” sizes &#8211; in bytes</p>
<p>drwx-xr-x+</p>
<p>D = Directory<br />
PWD = current working directory<br />
cd .. &#8211; up one directory<br />
cd ../.. up two directories<br />
Tab &#8211; to autocomplete. tab tab will show options if it’s not finding what you want.<br />
cd / = root of hard drive<br />
cd ~ = user directory<br />
cd &#8211; = switch to last directory (toggles between two places.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chadjewsbury.com/unix-references/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A brief history&#8230;</title>
		<link>http://www.chadjewsbury.com/a-brief-history/</link>
		<comments>http://www.chadjewsbury.com/a-brief-history/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 00:09:03 +0000</pubDate>
		<dc:creator>Chad</dc:creator>
				<category><![CDATA[Apprenticeship]]></category>

		<guid isPermaLink="false">http://www.chadjewsbury.com/?p=2885</guid>
		<description><![CDATA[Web design and development have always been hobbies of mine. In high school I created a website with my friends by reading the source code of popular sites and emulating what we saw. We created a site for other students at Signature School in the Pre-IB program to share news and organize, as we were in the middle of a battle with the school board over funding and the future of the program. Well, that was the goal at least....]]></description>
			<content:encoded><![CDATA[<p>Web design and development have always been hobbies of mine. In high school I created a website with my friends by reading the source code of popular sites and emulating what we saw. We created a site for other students at Signature School in the Pre-IB program to share news and organize, as we were in the middle of a battle with the school board over funding and the future of the program. Well, that was the goal at least.</p>
<p><span id="more-2885"></span></p>
<p>It ended up being a terrible site that no one used much and we didn&#8217;t maintain. To give you an idea of the caliber of this site &#8211; the prominent font was Comic Sans, it used html frames (which when our free hosting decided to add ads to their service each frame got a big ugly banner), it had a Jokes section where we added gifs and sound files, mostly from monty python. It was pretty awful, but a vallient effort considering none of us knew how to do anything and the internet had just started to take off.</p>
<p>Fast forward to college when I built my first personal site. I kept playing with web design through the end of high school but mostly just small tests and projects (trying to learn flash and dreamweaver). When I moved to Bloomington to attend IU, I decided to start a blog to stay in touch with friends from home. Always making things more difficult for myself, I wasn&#8217;t satisfied starting a Blogger, or Livetype blog, so I built my own. Now, when I say blog, I mean a series of static html files divided by month that I would update with new &#8220;posts&#8221; periodically. It looked like a blog, but had no dynamic functionality what-so-ever. I posted photos, music, ramblings, and updates for people to read and know how I was doing at college. Most of this was designed and coded using Dreamweaver and text edit.</p>
<p>After my freshman and sophomore years I found myself using that site less and less. As Facebook and other social media were starting to take off, there was less of a need for the blog. I had also started using Blogger and other simpler platforms for my blogging needs. However, because I was a music student and knew that one day I&#8217;d need  a portfolio site, I started the quest of designing the perfect personal portfolio website. Very few of these designs actually got coded and put up anywhere, but they were good exercises in photoshop and dreamweaver none-the-less. As I neared the end of college, I needed to finalize my portfolio site, so I picked a design and decided to code it completely from scratch. I didn&#8217;t use Dreamweaver or any other what-you-see-is-what-you-get program. It turned out&#8230; ok, and it worked for the time, helping me land some great internships and work. I lived with that site for a few years but rarely updated it due to the difficulty of the static pages (much like my earlier blog).</p>
<p>During that time, I started exploring WordPress for developing Blogs. I built a few test sites and a blog for my girlfriend. Then, we decided to move to South Korea to teach English for a year. I set up a hosting account, bought a domain, <a title="Spicy Fishy" href="http://www.spicyfishy.com">Spicyfishy.com</a>, and launched our travel blog! This was the first site I really felt good about and updated regularly for the time we were overseas. It&#8217;s still up and hosts hundreds of photos, movies, posts, and anecdotes from our time in South Korea. I spent hours tweaking the theme and playing with new plugins over the course of our time there, but didn&#8217;t dive into PHP (the language WordPress is written in) very much.</p>
<p>Kate and I got engaged while we were in Korea, and I built a <a title="Jewsroch" href="http://www.jewsroch.com">site for our wedding</a>. Back to my HTML hand-coding days, I created this site from scratch and explored different javascript frameworks to give it the illusion of dynamic content. I loved building this site and was really happy with how it turned out. Everyone seemed to love it.</p>
<p>When we came home, I built a number of other sites for friend&#8217;s, my wife, and freelance projects that I could pick up. All of these were either basic wordpress or raw html hand-coding.</p>
<p>Which brings us to 2011. In the late summer, Kate and I had one of those &#8220;state of the universe&#8221; conversations and the common theme of &#8220;me not knowing what I want to do when I grow up&#8221; came up. But, instead of just pontificating about the problem, Kate challenged me to do something about it. After a few emails and weekly goals, I had a meeting set up with Alan, a developer at Groupon. I had been working at Groupon for a year at this point, and I knew some of the developers but had never sat down to ask them about what they do. I was curious &#8211; do all software developers have computer science degrees? &#8211; how hard is it to learn? &#8211; what should I do first if I&#8217;m interested? Alan gave me a lot of ideas and told me that no, you don&#8217;t need a degree, in fact some of their best developers had degrees in completely unrelated fields (like music!). So, I started reading more about PHP and learning the basics of programming.</p>
<p>Later in the fall, Groupon Posted a new position called Development Apprenticeship. This 6 month program was for people who knew some programming basics, but were not up to the level of being a junior developer yet. Over 6 months, the apprentice would train and work directly with the development team at Groupon &#8211; with the intention of being at the necessary level to be hired as a full-time developer at the end. I was intrigued. So, I emailed Alan to see if he knew if there was an internal version of this new program. He passed my email on to the Apprenticeship coordinator, Dave Hoover and he was also intrigued by the idea. I set up a meeting with Dave and and another manager, Shinji, and we discussed the options. The next week, I started learning PHP with a Andrew Vaughan, a communications developer!</p>
<p>The plan, as of right now, is to spend the first half of my apprenticeship learning the basics of programming and PHP. We&#8217;ll meet for one half day a week, with an hour and a half check up later each week. Once I&#8217;m comfortable with PHP, I&#8217;ll start working with a different team to learn Ruby on Rails, the primary language in which Groupon is written. This will hopefully all take between 6 and 12 months. The goal being that I&#8217;ll move to the development department at that time.</p>
<p>I&#8217;m excited about the possibilities that this will hopefully open up for me. I&#8217;m fulfilling a long-time goal of learning to program, and finally feel like I&#8217;m on a path to a viable career.</p>
<p>This site will chronicle my progress and hopefully provide a guide to any others who are interested in development, but don&#8217;t know where to start.</p>
<p>-Chad</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chadjewsbury.com/a-brief-history/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

