
<?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>Bryce McDonnell &#124;&#124; Freelance Web Application Developer &#187; Deployment</title>
	<atom:link href="http://www.brycemcdonnell.com/skills-and-expert-groups/deployment/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brycemcdonnell.com</link>
	<description>bryce mcdonnell is a freelance web application developer specializing in PHP, Ruby on Rails and MySQL</description>
	<lastBuildDate>Fri, 26 Feb 2010 18:18:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Precision Text</title>
		<link>http://www.brycemcdonnell.com/2009/07/ruby-on-rails-precision-text/</link>
		<comments>http://www.brycemcdonnell.com/2009/07/ruby-on-rails-precision-text/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 15:20:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[portfolio]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[sms]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[text messaging]]></category>
		<category><![CDATA[web service consumption]]></category>

		<guid isPermaLink="false">http://blog.thedevranch.net/?p=157</guid>
		<description><![CDATA[<a href=http://www.brycemcdonnell.com/2009/07/ruby-on-rails-precision-text/><img src=http://blog.thedevranch.net/wp-content/uploads/2009/07/precisiontext.png class=imgtfe hspace=5 align=left width=100  border=0></a>Precision Text, a brand new company with only an idea, needed to hire a solid web developer to bring their new business idea to life.  After a few conversations, we both agreed that the best way to bring this idea to the marketplace would be to use the Ruby on Rails framework and a solid text messaging API.

The application allows for business owners to gather a list of their customer's cell phone numbers. The business can then send out a message to these customers alerting them of new deals or special offers. The response rate has been high and the utility to the business has been huge.]]></description>
			<content:encoded><![CDATA[<p><strong>For Precision Text &#8211; Lead Developer/Architect &#8211; 2009</strong></p>
<p><a href="http://www.precisiontext.com" target="_blank">www.precisiontext.com</a></p>
<p><img class="aligncenter size-full wp-image-158" title="precisiontext" src="http://blog.thedevranch.net/wp-content/uploads/2009/07/precisiontext.png" alt="precisiontext" width="402" height="128" /></p>
<p>Precision Text, a brand new company with only an idea, needed to hire a solid web developer to bring their new business idea to life.  After a few conversations, we both agreed that the best way to bring this idea to the marketplace would be to use the Ruby on Rails framework and a solid text messaging API.</p>
<p>The application allows for business owners to gather a list of their customer&#8217;s cell phone numbers. The business can then send out a message to these customers alerting them of new deals or special offers. The response rate has been high and the utility to the business has been huge.</p>
<p>I built the application from scratch and within a month was comfortable with a deployment in a beta stage. Using this beta deployment, the founders put the application through some of their own testing and determined they were comfortable selling the product as it was. Within a month of deployment, they had already secured 10 contracts!</p>
<h2>TDD</h2>
<p>This was the first app that I built in a completely test driven development (TDD) coding style. I have had some experience with unit and functional testing, but I have never actually built an application from scratch using TDD. Even though the processes was new, I still found the coding process to be much more efficient. I will be building apps using only TDD from now on.</p>
<h2>Daemonized Processes / Time Zones</h2>
<p>Sometimes businesses need to send messages later than when they&#8217;re at the computer. Rather than set up a complicated cron job or some other solution, I created a daemon within the application that actively listens for queued messages and sends them according to the time the end user requested.</p>
<p>Implicit in the scheduling is getting their time zone right. From a usability perspective, it is much easier not to do time math when queueing a job. A restaurant owner in Colorado shouldn&#8217;t have to compute the difference of her time zone to where the server is located. Neither would she want a message to accidently go out an hour early.</p>
<p>For usability and business rapport reasons, I implemented automatic adjustments for the time zone the user is in. To the user, it is seamless and easy to manage.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brycemcdonnell.com/2009/07/ruby-on-rails-precision-text/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Samba Server Integration</title>
		<link>http://www.brycemcdonnell.com/2009/07/samba-server-integration/</link>
		<comments>http://www.brycemcdonnell.com/2009/07/samba-server-integration/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 23:46:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Stuff I'm Working On]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[charity]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MS]]></category>
		<category><![CDATA[samba]]></category>

		<guid isPermaLink="false">http://blog.thedevranch.net/?p=142</guid>
		<description><![CDATA[I recently returned from a trip to Beirut, Lebanon where I had been doing some humanitarian and mission work. One of my responsibilities was to create a file sharing server for a humanitarian organization.
Given the budget of next to nothing and the relatively small size of the office, I decided it was best to proceed [...]]]></description>
			<content:encoded><![CDATA[<p>I recently returned from a trip to <a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=Beirut,+Lebanon&amp;sll=45.517682,-122.90135&amp;sspn=0.009683,0.017445&amp;ie=UTF8&amp;ll=33.870416,35.507813&amp;spn=23.406692,35.727539&amp;t=h&amp;z=5&amp;iwloc=A" target="_blank">Beirut, Lebanon</a> where I had been doing some humanitarian and mission work. One of my responsibilities was to create a file sharing server for a humanitarian organization.</p>
<p>Given the budget of next to nothing and the relatively small size of the office, I decided it was best to proceed with a Linux based Samba server. Although their office is 100% Microsoft (a mix of XP and Vista machines), Linux would be a great light weight solution. The added benefit was we re-purposed an ancient workstation (circa 1996) to run the Samba server so no new hardware was purchased and we prevented another machine from polluting a land fill.</p>
<p><span id="more-142"></span></p>
<p>We created three shared drives for the business.</p>
<ol>
<li>A share <strong>everyone</strong> in the office could access</li>
<li>A share <strong>o</strong><strong>nly the executive</strong> could access</li>
<li>A share for the exclusive purpose of <strong>backing up</strong> everyone&#8217;s workstation</li>
</ol>
<p>I simply installed <a href="http://www.centos.org/" target="_blank">Centos 5.2</a> distribution on the old workstation, created three distinct user accounts and group permissions, enabled the samba service, and locked down access through <strong>iptables </strong>firewall.</p>
<p>Creating a secure, readable, smb.conf file was really important to me. Not only for readability but also because I won&#8217;t be supporting this server after installation. Any other administrator should be able to walk into the office and quickly &amp; clearly see how to make edits for upgrades or changes.</p>
<p>The smb.conf file:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">#smb.conf
&nbsp;
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>global<span style="">&#93;</span></span>
	#set up what the end user would see on their desktop
	<span style="color: #000099;">workgroup</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> H4LSharedFiles</span>
	server string <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> common files for H4L</span>
&nbsp;
	#general user perms
	<span style="color: #000099;">security</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> user</span>
	passdb backend <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> tdbsam</span>
&nbsp;
	#printing support
	load printers <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> no</span>
        <span style="color: #000099;">printing</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> bsd</span>
        printcap name <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> /dev/null</span>
        show add printer wizard <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> no</span>
        disable spools <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
&nbsp;
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>AllSharedFiles<span style="">&#93;</span></span>
	<span style="color: #000099;">comment</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> Files for everyone to share</span>
	<span style="color: #000099;">path</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> /sambashares/allAccess</span>
	<span style="color: #000099;">writeable</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
	<span style="color: #000099;">browseable</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
	guest ok <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
	write list <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> +allemployees</span>
&nbsp;
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>Backup<span style="">&#93;</span></span>
	<span style="color: #000099;">comment</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> Files to back up everyone's computer</span>
	<span style="color: #000099;">path</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> /sambashares/backups</span>
	<span style="color: #000099;">writeable</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
	<span style="color: #000099;">browseable</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
	guest ok <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
	write list <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> +allemployees</span>
&nbsp;
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>AdminOnly<span style="">&#93;</span></span>
	<span style="color: #000099;">comment</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> Access for sensitive files</span>
	<span style="color: #000099;">path</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> /sambashares/admins</span>
	<span style="color: #000099;">writeable</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
	<span style="color: #000099;">browseable</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> yes</span>
	guest ok <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> no</span>
	write list <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> +administrators</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.brycemcdonnell.com/2009/07/samba-server-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>College Guide Post</title>
		<link>http://www.brycemcdonnell.com/2008/07/college-guide-post/</link>
		<comments>http://www.brycemcdonnell.com/2008/07/college-guide-post/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 23:04:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[portfolio]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PayPal Integration]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Shopping Cart]]></category>
		<category><![CDATA[social networking]]></category>

		<guid isPermaLink="false">http://blog.thedevranch.net/?p=122</guid>
		<description><![CDATA[<a href=http://www.brycemcdonnell.com/2008/07/college-guide-post/><img src=http://blog.thedevranch.net/wp-content/uploads/2009/07/cgp.png class=imgtfe hspace=5 align=left width=100  border=0></a>For Old Green Pickup (Creative Marketing), Co-Developer &#8211; 2008
A creative design company called Old Green Pickup began its transition to using Ruby on Rails as its primary development platform. Since this was one of only a few projects Old Green Pickup had used Ruby on Rails with, the President of Old Green Pickup hired Bryce [...]]]></description>
			<content:encoded><![CDATA[<h4>For Old Green Pickup (Creative Marketing), Co-Developer &#8211; 2008</h4>
<p>A creative design company called Old Green Pickup began its transition to using Ruby on Rails as its primary development platform. Since this was one of only a few projects Old Green Pickup had used Ruby on Rails with, the President of Old Green Pickup hired Bryce to take over the production and make sure everything was running smoothly. This is the first project in a new relationship we wish to cultivate.</p>
<p><span id="more-122"></span></p>
<p><img class="alignleft size-full wp-image-123" title="cgp" src="http://blog.thedevranch.net/wp-content/uploads/2009/07/cgp.png" alt="cgp" width="590" height="688" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brycemcdonnell.com/2008/07/college-guide-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AAA Ohio</title>
		<link>http://www.brycemcdonnell.com/2008/04/aaa-ohio/</link>
		<comments>http://www.brycemcdonnell.com/2008/04/aaa-ohio/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 23:08:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[portfolio]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[data analysis]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Scriptaculous]]></category>
		<category><![CDATA[Shopping Cart]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[web service consumption]]></category>
		<category><![CDATA[web service creation]]></category>

		<guid isPermaLink="false">http://blog.thedevranch.net/?p=129</guid>
		<description><![CDATA[<a href=http://www.brycemcdonnell.com/2008/04/aaa-ohio/><img src=http://blog.thedevranch.net/wp-content/uploads/2009/07/aaa.png class=imgtfe hspace=5 align=left width=100  border=0></a>For David K. Burnap Advertising Agency, Co-Developer &#8211; 2008
I was brought in as an associate developer to the AAA project to make sure it was completed on time with high quality. I resided in Ohio for a period of three weeks to develop alongside the lead developer.
During that time, I helped with formalizing the architectural [...]]]></description>
			<content:encoded><![CDATA[<h4>For David K. Burnap Advertising Agency, Co-Developer &#8211; 2008</h4>
<p>I was brought in as an associate developer to the AAA project to make sure it was completed on time with high quality. I resided in Ohio for a period of three weeks to develop alongside the lead developer.</p>
<p>During that time, I helped with formalizing the architectural plan of the application, offered assistance in deployment and led development projects for several areas of the application.</p>
<p><span id="more-129"></span></p>
<p>One fundamental role in the project was to create an online market place and integrate it with an existing SQL Server database. I also created a robust shopping cart and checkout procedure. I also built a web service to manage users in the shopping cart.</p>
<p>The main application was build using a Flash frontend and required data called from the Rails backend. I built a background RESTful interface and helped the lead designer integrate it with Flash.</p>
<p>Integration with other AAA services was also required. I built the front end code to a GIS service, a system for sending emails, and a mechanism to create, store and display unique travel products.</p>
<p>I returned home and continued working on the project through their successful launch in early May of 2008.</p>
<p><img class="alignleft size-full wp-image-131" title="aaa" src="http://blog.thedevranch.net/wp-content/uploads/2009/07/aaa.png" alt="aaa" width="576" height="296" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brycemcdonnell.com/2008/04/aaa-ohio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ClinicSnapshot</title>
		<link>http://www.brycemcdonnell.com/2007/07/clinicsnapshot/</link>
		<comments>http://www.brycemcdonnell.com/2007/07/clinicsnapshot/#comments</comments>
		<pubDate>Sat, 14 Jul 2007 22:25:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[portfolio]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[data analysis]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PayPal Integration]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[web service consumption]]></category>
		<category><![CDATA[web service creation]]></category>

		<guid isPermaLink="false">http://blog.thedevranch.net/?p=116</guid>
		<description><![CDATA[<a href=http://www.brycemcdonnell.com/2007/07/clinicsnapshot/><img src=http://blog.thedevranch.net/wp-content/uploads/2009/07/cs.png class=imgtfe hspace=5 align=left width=100  border=0></a>ClinicSnaphot is an application similar to ClinicResearch, yet their code is distinct.
Its programming includes an interface to build medical surveys and host a variety of physician specific questionnaires. It resembles a SurveyMonkey like solution specifically tailored to the security and confidentiality concerns of the medical profession.

I developed all the code including user management and payment [...]]]></description>
			<content:encoded><![CDATA[<p>ClinicSnaphot is an application similar to ClinicResearch, yet their code is distinct.</p>
<p>Its programming includes an interface to build medical surveys and host a variety of physician specific questionnaires. It resembles a SurveyMonkey like solution specifically tailored to the security and confidentiality concerns of the medical profession.</p>
<p><span id="more-116"></span></p>
<p>I developed all the code including user management and payment processing.</p>
<p><img class="alignleft size-full wp-image-117" title="cs" src="http://blog.thedevranch.net/wp-content/uploads/2009/07/cs.png" alt="cs" width="536" height="536" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brycemcdonnell.com/2007/07/clinicsnapshot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clinic Research</title>
		<link>http://www.brycemcdonnell.com/2007/07/clinic-research/</link>
		<comments>http://www.brycemcdonnell.com/2007/07/clinic-research/#comments</comments>
		<pubDate>Sat, 14 Jul 2007 22:17:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[portfolio]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[data analysis]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PayPal Integration]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[web service consumption]]></category>
		<category><![CDATA[web service creation]]></category>

		<guid isPermaLink="false">http://blog.thedevranch.net/?p=109</guid>
		<description><![CDATA[<a href=http://www.brycemcdonnell.com/2007/07/clinic-research/><img src=http://blog.thedevranch.net/wp-content/uploads/2009/07/cr.png class=imgtfe hspace=5 align=left width=100  border=0></a>For LabCoat Innovations, LLC  - Lead Developer 2007 &#8211; 2008
A &#8220;Web 2.0&#8243; application designed as an all in one solution for medical research.
Physicians can design studies, write surveys and collaborate with peers. A unique challenge with this project was patient confidentiality. I built a secure system focused on patient anonymity.
The project also required a regular, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>For LabCoat Innovations, LLC  - Lead Developer 2007 &#8211; 2008</strong></p>
<p>A &#8220;Web 2.0&#8243; application designed as an all in one solution for medical research.</p>
<p>Physicians can design studies, write surveys and collaborate with peers. A unique challenge with this project was patient confidentiality. I built a secure system focused on patient anonymity.</p>
<p>The project also required a regular, non-intrusive, payment processing mechanism which I implemented.</p>
<p><span id="more-109"></span></p>
<p>A community area allows physicians to discuss emerging research and develop new studies. Includes a regularly updated blog.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-110" title="cr" src="http://blog.thedevranch.net/wp-content/uploads/2009/07/cr.png" alt="cr" width="612" height="492" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brycemcdonnell.com/2007/07/clinic-research/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
