<?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>Donavon Yelton</title>
	<atom:link href="http://www.donavonyelton.com/wp/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.donavonyelton.com/wp</link>
	<description></description>
	<lastBuildDate>Mon, 07 May 2012 14:32:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>A warning for all Drobo users</title>
		<link>http://www.donavonyelton.com/wp/?p=169</link>
		<comments>http://www.donavonyelton.com/wp/?p=169#comments</comments>
		<pubDate>Mon, 07 May 2012 14:32:11 +0000</pubDate>
		<dc:creator>Donavon</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.donavonyelton.com/wp/?p=169</guid>
		<description><![CDATA[I have a 2nd generation Drobo at home with approximately 1.2TB of data stored across all four drives that are installed. I&#8217;ve been using this setup for a couple of years now and it has worked out great! I have the drive connected via Firewire to my Mac Pro and while it doesn&#8217;t break any [...]]]></description>
			<content:encoded><![CDATA[<p>I have a 2nd generation Drobo at home with approximately 1.2TB of data stored across all four drives that are installed. I&#8217;ve been using this setup for a couple of years now and it has worked out great! I have the drive connected via Firewire to my Mac Pro and while it doesn&#8217;t break any speed records for data transfer, it is sufficient for offloading storage and keeping it safe. FWIW, I also backup all of my data off-site via CrashPlan, but given that I have a 30/5 Internet connection, the speed of backing up and restoring large amounts of data is a horrible experience.</p>
<p>Last week I had one of my drives go bad and thus received the red light on that drive&#8217;s bay and a notice on my Mac to replace the drive. I replaced it with a known good drive of equal size, but one that had previously been used in another Drobo. Immediately after I replaced the drive the Drobo started rebuilding, or at least that&#8217;s what I thought. The &#8220;rebuild&#8221; turned to all of my drive bays flashing red along with my Mac Pro no longer being able to access any data on my Drobo.</p>
<p>I posted this to Twitter and Drobo was kind enough to respond and asked me to submit a support ticket even though my Drobo was well outside the warranty period. After submitting the logs from my Drobo Dashboard I was told that since the replacement drive that I inserted into the failed drive bay had previously been used in another Drobo unit that I would either have to get a new drive that hadn&#8217;t been used in a Drobo before or completely wipe my Drobo unit and start over. According to Drobo support, there is no way to wipe a Drobo &#8220;pack ID&#8221; from a drive, not even by doing a complete format on the drive. Removing the new drive from the Drobo reverted the three remaining drive bays to green so the Drobo is usable again, but the 4th bay is currently useless.</p>
<p>This is absurd! I&#8217;m not about to wipe my Drobo and have to restore the stuff from a backup (I don&#8217;t have enough local storage on my Mac Pro to handle this since I only have a 240GB SSD in that system). I&#8217;m also not about to buy a new drive when I have one that works perfectly fine.</p>
<p>I&#8217;ve always been one to advocate the use of Drobo&#8217;s products under most circumstances (they&#8217;re still horrible for things like ESXi IMO) but this event will certainly change the way I recommend their product line in the future.</p>
<div></div>
 <p><a href="http://www.donavonyelton.com/wp/?flattrss_redirect&amp;id=169&amp;md5=2cb95633ab7c9fa9559e320d70a4d7ca" title="Flattr" target="_blank"><img src="http://www.donavonyelton.com/wp/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.donavonyelton.com/wp/?feed=rss2&#038;p=169</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=dyelton&amp;popout=1&amp;url=http%3A%2F%2Fwww.donavonyelton.com%2Fwp%2F%3Fp%3D169&amp;language=en_GB&amp;category=text&amp;title=A+warning+for+all+Drobo+users&amp;description=I+have+a+2nd+generation+Drobo+at+home+with+approximately+1.2TB+of+data+stored+across+all+four+drives+that+are+installed.+I%26%238217%3Bve+been+using+this+setup+for+a+couple+of...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Going cable free</title>
		<link>http://www.donavonyelton.com/wp/?p=148</link>
		<comments>http://www.donavonyelton.com/wp/?p=148#comments</comments>
		<pubDate>Thu, 08 Mar 2012 14:45:03 +0000</pubDate>
		<dc:creator>Donavon</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.donavonyelton.com/wp/?p=148</guid>
		<description><![CDATA[A month ago I made the decision to begin the process of dropping our services from Time Warner Cable and replace them with modern alternatives. Our overall TWC bill for phone, television and Internet was a approximately $204 each month. Yes, this is higher than most cable bills but here is what we got for [...]]]></description>
			<content:encoded><![CDATA[<p>A month ago I made the decision to begin the process of dropping our services from Time Warner Cable and replace them with modern alternatives. Our overall TWC bill for phone, television and Internet was a approximately $204 each month. Yes, this is higher than most cable bills but here is what we got for that price:</p>
<ul>
<li>Unlimited national phone service with extended features like voicemail to email</li>
<li>50/5 Internet connection (50Mbit down and 5Mbit up) with no monthly cap</li>
<li>The extended digital tv service with all channels except for paid networks (e.g. HBO, Showtime, Cinemax, and the special sports channels)</li>
<li>2 DVR&#8217;s that networked together so you can record up to 4 shows simultaneously and watch them from either DVR</li>
</ul>
<p>The package above is the Signature Home service which also comes with your own special customer service number to call with no call queue and in most cases same day in-home tech service (from my experience). Prior to having Signature Home I was paying approximately $130/month and that only included 1 DVR, 15/1 Internet connection and no home phone service. When you look at it this way, $204/month isn&#8217;t such a bad deal after all for what you receive in return. Well, it isn&#8217;t a bad deal compared to other offerings from TWC.</p>
<p>Total yearly costs end up being roughly $2500 for TWC services. We don&#8217;t watch the news, almost never watch live TV or have the TV on just to have it on and almost never use our home phone. 50Mbit down from the Interwebs is also particularly hard to achieve. TWC offers a 30/5 package which suited my needs a little better. We use power line ethernet in our home and end up getting an average of ~30Mbit between the switches I have setup. The extra 20Mbit down was getting lost except for devices connected directly to our router. 30Mbit down is plenty fast to stream full HD over the net so that was the obvious choice to downgrade.</p>
<p>TWC phone service ends up being approximately $40 when purchased independently from TWC. We were paying $40 for maybe an hour a month of phone talk time? Cell phone coverage stinks in our neighborhood and the AT&amp;T Microcell is also a poor product and unreliable so we had to keep some sort of home line around. Hello Ooma! I bought the Ooma device for $200 and we&#8217;ll pay $120/year for Ooma Premium so we can have services like voicemail to email. I can even do things TWC couldn&#8217;t, like assign custom caller ID names to numbers, make my own telemarketer blacklist, use a community telemarketer blacklist and even have a text message sent to my phone if 911 is dialed from our home number. Ooma ends up being 25% of what TWC&#8217;s phone service is&#8230;and I get more features.</p>
<p>The hardest part is dropping cable TV. We don&#8217;t watch live TV, local news or sports, so this was much easier for us to accomplish than the regular Joe. I compiled all of our shows with their costs and what services we would get them from in a spreadsheet.</p>
<p>Here is a link to that spreadsheet: <a href="http://bit.ly/AcAGn5" target="_blank">http://bit.ly/AcAGn5</a></p>
<p>Since I had a package deal with TWC, it is hard to isolate precise costs for each package, but the savings ends up being approximately $1800/year the best I can figure. This being all of the above changes. I also get the added benefit of owning the shows that I purchase from iTunes. I could save a few more bucks in some cases by opting for Amazon Video but I&#8217;m pretty committed to Apple as a provider of hardware, software and media as a package deal and don&#8217;t want to deviate from that too much.</p>
 <p><a href="http://www.donavonyelton.com/wp/?flattrss_redirect&amp;id=148&amp;md5=ab1887cc3943339b8d059881309485a3" title="Flattr" target="_blank"><img src="http://www.donavonyelton.com/wp/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.donavonyelton.com/wp/?feed=rss2&#038;p=148</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=dyelton&amp;popout=1&amp;url=http%3A%2F%2Fwww.donavonyelton.com%2Fwp%2F%3Fp%3D148&amp;language=en_GB&amp;category=text&amp;title=Going+cable+free&amp;description=A+month+ago+I+made+the+decision+to+begin+the+process+of+dropping+our+services+from+Time+Warner+Cable+and+replace+them+with+modern+alternatives.+Our+overall+TWC+bill+for...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>A follow-up to my in-house ERP integrated web app…</title>
		<link>http://www.donavonyelton.com/wp/?p=126</link>
		<comments>http://www.donavonyelton.com/wp/?p=126#comments</comments>
		<pubDate>Thu, 02 Feb 2012 17:24:23 +0000</pubDate>
		<dc:creator>Donavon</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.donavonyelton.com/wp/?p=126</guid>
		<description><![CDATA[I had mentioned in my previous post that I was using a third-party app from the iTunes App Store to interface between my web application and the Linea Pro 4 scanner. A couple of days ago IPCMobile gave me access to the SDK and yesterday I spent the day writing a simple iOS application using [...]]]></description>
			<content:encoded><![CDATA[<p>I had mentioned in my previous post that I was using a third-party app from the iTunes App Store to interface between my web application and the Linea Pro 4 scanner. A couple of days ago IPCMobile gave me access to the SDK and yesterday I spent the day writing a simple iOS application using that SDK.</p>
<p>What I created was something much like the SwipeTrack application that was being used previously but I took out some features we didn’t need and even added a couple of my own that I thought would be useful. The application is basically a UIWebView with a UIToolbar. I have a Settings.Bundle that gives the Linea’s firmware version, serial number, etc. and a place to put the default URL that UIWebView uses when loading the app (obviously this would point to the aforementioned web app).</p>
<p>I added an activity monitor for web traffic so that the user knows that the server is still gathering the required info and displaying it on the screen. This is helpful for large orders where lots of SQL queries are made for example. I also streamlined things by only including what we needed and thus the application loads very fast.</p>
<p>The best part of this is that I no longer have to purchase the app for each device at $50/each. We’re still waiting on IPCMobile to get backorders of their industrial rubber case for the scanners so we still only have two Linea Pro 4’s…one actively used all day every day for pulling orders and the one I use for development.</p>
<p>I’ve definitely had a lot of fun making these apps and they have most certainly enriched my abilities and creativity. Even with having applications in the iTunes App Store and in an ad-hoc environment, I’m not sure that I could dub myself a real programmer. I still have to do research on things in all of the languages used (PHP, Javascript, Objective-C), but it’s a nice thought to know that something that was created from scratch is now being used to increase the productivity and accuracy of a medium-sized company.</p>
 <p><a href="http://www.donavonyelton.com/wp/?flattrss_redirect&amp;id=126&amp;md5=f07f87f3204866ab007e8a048da6aeba" title="Flattr" target="_blank"><img src="http://www.donavonyelton.com/wp/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.donavonyelton.com/wp/?feed=rss2&#038;p=126</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=dyelton&amp;popout=1&amp;url=http%3A%2F%2Fwww.donavonyelton.com%2Fwp%2F%3Fp%3D126&amp;language=en_GB&amp;category=text&amp;title=A+follow-up+to+my+in-house+ERP+integrated+web+app%E2%80%A6&amp;description=I+had+mentioned+in+my+previous+post+that+I+was+using+a+third-party+app+from+the+iTunes+App+Store+to+interface+between+my+web+application+and+the+Linea+Pro+4...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>In-house programming insights…</title>
		<link>http://www.donavonyelton.com/wp/?p=122</link>
		<comments>http://www.donavonyelton.com/wp/?p=122#comments</comments>
		<pubDate>Wed, 18 Jan 2012 17:20:12 +0000</pubDate>
		<dc:creator>Donavon</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.donavonyelton.com/wp/?p=122</guid>
		<description><![CDATA[When I was 12 I began flipping through my first real programming book (BASIC doesn’t count): Teach Yourself C in 21 Days. Without a doubt I can say that I did not learn C in 21 days. I wouldn’t really pick up programming again until I was 28 and I couldn’t expect myself to remember [...]]]></description>
			<content:encoded><![CDATA[<p>When I was 12 I began flipping through my first real programming book (BASIC doesn’t count): Teach Yourself C in 21 Days. Without a doubt I can say that I did not learn C in 21 days. I wouldn’t really pick up programming again until I was 28 and I couldn’t expect myself to remember anything that I had read regarding C when I was 12.</p>
<p>When I came back to programming at 28 I went for the platform that I love, iOS. I released two apps in the Apple app store in 2011. One a nightstand/weather app that I developed after a couple of years of not being able to find what I wanted from another developer (imagine that considering all of the apps in the app store these days!) and the other a tipping calculator that was really just something to keep my mind challenged.</p>
<p>I’ve sold several hundred copies of my nightstand app since it was introduced in mid-2011 and while that hasn’t made me rich or an acquisition target for Google, it does pay for my $99/annual Apple developer’s fee and part of my Starbucks habit.</p>
<p>Before I went on Christmas vacation for my day job I decided to start on a new project that took some of my newly found knowledge and apply it to something that could help the company be more efficient and ultimately help reduce errors and keep costs down.</p>
<p>I looked into doing this with Objective-C, but the database that we use doesn’t have a driver with any SDK available for iOS that I could find. It does support ODBC though, which made making this a web app the best solution.</p>
<p>The first step was giving me a connection to the database to work with of course. This ended up being a Windows 7 virtual machine (I converted our physical servers and lots of desktops over to vSphere in 2011) running IIS, PHP and the client for our database engine with the ODBC connections in place.</p>
<p>My place of work manufactures thousands of automotive parts and we just moved to a ODBC/SQL based ERP solution in 2011 to help increase our efficiency and enhance our processes going forward. In 2011 I deployed location-wide wifi by way of ~20 access points. That’s another feat in and of itself since you have to deal with channel interference between the AP’s and contend with other interferences around. This gives us the framework to move around between office/manufacturing/warehouse locations without so much as a hiccup in connectivity to our back-end resources.</p>
<p>I looked into a third-party solution with Motorola handheld computer/scanners that integrated directly with our ERP system, but because I’m so adamant about iOS and web based technologies driving the future of computing (even in the workplace), I decided that it would be a waste of money and resources to implement such a solution. The cost was astronomical and I set myself on a path to see if I could come up with a self-programmed alternative solution.</p>
<p>My first solution was the simpler of the two that I had on my plate. Inventory look-up. Since we have so many parts and locations, it becomes an issue in locating where a certain item is and more so checking the quantity that is on hand at any given time during the day. Traditionally we have workstations placed throughout to do these lookups which require a constant back and forth when looking up items. We could use laptops, but it adds heft and bulk that is over the top IMO.</p>
<p>Using a combination of PHP, HTML and Javascript, I was able to create a simple web app to do this lookup. It makes sure the part number entered or scanned exists in our system and if it does it displays the locations where that item exist and the total quantity on hand:</p>
<p><a href="http://www.donavonyelton.com/wp/wp-content/uploads/2012/02/carind_inv_lookup.jpeg"><img class="alignnone size-full wp-image-123" title="carind_inv_lookup" src="http://www.donavonyelton.com/wp/wp-content/uploads/2012/02/carind_inv_lookup.jpeg" alt="" width="478" height="640" /></a></p>
<p>My next ask would bring a level of complexity that required me to really learn some more advanced PHP skills while I made the program. This is really my first real dealings with PHP to create a complete application, so my knowledge was fairly minimal when I started the project. To create my next application which would create an order picking system would test my endurance.</p>
<p>Several things were needed for order pullers using the application. For the above inventory lookup solution and this one I chose to go with the latest 4th generation iPod Touch. This would be coupled the Linea Pro 4 2D scanner from <a href="http://ipclineapro.com/" target="_blank">Infinite Peripherals</a>. This is the same barcode scanning case that Apple uses in their stores. I also needed a way for my web app to talk to the Linea Pro 4. <a href="http://www.swipetrack.com/webapp.php" target="_blank">SwipeTrack Solutions</a> has a program that does this so that’s what I ended up going with.</p>
<p>The application itself had a host of its own requirements. The order number, order date, salesperson, item # to be pulled, quantity to be pulled, quantity currently available in our warehouse(s) and where the item is located in our warehouse(s).</p>
<p>In addition, the puller would need to know that an item had already been pulled and have it automatically crossed off of the list so to speak. To do this part of the application I had to decide if I wanted to go with a flat file or a database. In the end I chose that a flat file was the easiest method to implement and has the easiest upkeep for what I’m using it for.</p>
<p>When a puller scans the barcode of the order’s picking ticket or enters it manually, the order is brought up on the device and lists all of the items and their quantity with location(s) in order of location to make their pulling as efficient as possible. The puller scans a barcode (2D Data Matrix type is what I went with) at the item’s location or on the item itself and physically pulls the item and places it into his or her cart. If the wrong item is scanned the puller is presented with an error and must manually continue the pulling process. This eliminates errors of the wrong item being pulled for the customer.</p>
<p>If the right item is scanned then the item number is appended to a file that has the order number as the file name. If the order doesn’t exist and the first item from the order was scanned, the order file is created and thus tells the program that the order is in the process of being pulled and places a notification at the top of the web app of that.</p>
<p>On each refresh of the page (happens each time an item is scanned, right or wrong) the application checks to see if an item in the order exists in the order file that was created. If it exists then that of course means that the item was pulled (because it was scanned) and I have it turn a different color and place a *P* (for pulled) beside of the item number. On each refresh the puller is taken back to the same spot on the order that he was at previously…this way he or she doesn’t have to scroll down the page to find where they left off. This is helpful on very large orders.</p>
<p>Here is what the end result looks like for an example order:</p>
<p><a href="http://www.donavonyelton.com/wp/wp-content/uploads/2012/02/carind_ord_pull.jpeg"><img class="alignnone size-full wp-image-124" title="carind_ord_pull" src="http://www.donavonyelton.com/wp/wp-content/uploads/2012/02/carind_ord_pull.jpeg" alt="" width="478" height="640" /></a></p>
<p>It’s simple on the surface, but I ran into several issues that I had to overcome. There are arrays within arrays which confused me to no end, but eventually I came up with a solution. I’m pulling from fairly complex SQL queries with joins, ordering, etc which also baffled me in the beginning. I’ve learned a lot about writing SQL queries over the last couple of weeks which I’ll no doubt reap benefits from for years to come.</p>
<p>We’re in the testing stages and have one puller using the app full-time now. It dazzles me to no end that something that I created, from scratch, has been worthwhile enough for the company to request a dozen or so of these things eventually after the test phase is over. At the same time, it is a scary thought to know that something that was created in spare time will end up being an essential part of doing business and will no doubt add another level of stress to my already growing levels.</p>
<p>Being the lone IT person for a medium sized company is daunting. I’m given freedom to do projects like this one, implement things like virtual machines and thin clients and other goodies, but in the end I have to support those technologies and it is forever becoming more challenging to keep up with.</p>
<p>I am always up for a good challenge however. Stuff like this makes me want to come back day after day, especially when others pronounce their appreciation for such hard work.</p>
 <p><a href="http://www.donavonyelton.com/wp/?flattrss_redirect&amp;id=122&amp;md5=fb0354951bc5327c9d0cc0c7b1a8e210" title="Flattr" target="_blank"><img src="http://www.donavonyelton.com/wp/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.donavonyelton.com/wp/?feed=rss2&#038;p=122</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=dyelton&amp;popout=1&amp;url=http%3A%2F%2Fwww.donavonyelton.com%2Fwp%2F%3Fp%3D122&amp;language=en_GB&amp;category=text&amp;title=In-house+programming+insights%E2%80%A6&amp;description=When+I+was+12+I+began+flipping+through+my+first+real+programming+book+%28BASIC+doesn%E2%80%99t+count%29%3A+Teach+Yourself+C+in+21+Days.+Without+a+doubt+I+can+say+that+I...&amp;tags=blog" type="text/html" />
	</item>
	</channel>
</rss>

