<?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>bytesizecreations &#187; ssh</title>
	<atom:link href="http://www.bytesizecreations.com/category/ssh/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bytesizecreations.com</link>
	<description>Musings from a busy mind</description>
	<lastBuildDate>Sun, 14 Jun 2009 17:44:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Working Remotely &#8211; A Programmer&#8217;s Guide</title>
		<link>http://www.bytesizecreations.com/2008/09/working-remotely-programmers-guide/</link>
		<comments>http://www.bytesizecreations.com/2008/09/working-remotely-programmers-guide/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 12:16:00 +0000</pubDate>
		<dc:creator>Michael Gaylord</dc:creator>
				<category><![CDATA[amazon s3]]></category>
		<category><![CDATA[fourhourworkweek]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[scp]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[working remotely]]></category>

		<guid isPermaLink="false">http://www.42restaurants.com/byte/?p=39</guid>
		<description><![CDATA[Being confined to working in an office is not ideal. Especially if you want to be more creative and have more freedom to spread your time out during the day. I have been working away from the office on Thursdays and Fridays. By &#8220;away from the office&#8221;, I mean I have been working from home.
The [...]]]></description>
			<content:encoded><![CDATA[<p>Being confined to working in an office is not ideal. Especially if you want to be more creative and have more freedom to spread your time out during the day. I have been working away from the office on Thursdays and Fridays. By &#8220;away from the office&#8221;, I mean I have been working from home.</p>
<p>The reasons for working from home or remotely are pretty obvious. Firstly, you don&#8217;t have to commute to work. This saves me around 1 hour of driving in the car not too mention a whole bunch of money every month in fuel costs. The other cool thing about working from home is that you never feel rushed to finish something, you can sit back relax and get it done. Don&#8217;t get me wrong though &#8211; its not about shirking your work or being lazy. It just means you don&#8217;t feel as though you have to finish whatever you are doing so that you can hop in your car and rush home at the end of the day.</p>
<p>There are other good things that come from being away from the office. I have found new energy and creativity in my work because I feel more relaxed. I can also go for a run/cycle during the day if I feel I need to clear the cobwebs or if I am stuck on a problem. I also get to spend more time with my girlfriend &#8211; who works from home as well.</p>
<p>Today I decided to go one step further and got on a plane to Johannesburg to visit my parents for my dad&#8217;s birthday. After convincing the boss that my work would not be affected, I had to make sure I had the right tools and environment so that I was not left stranded without an Internet connection &#8211; the most dreaded of scenarios in my line of work. Here are some of tips for working remotely &#8211; especially if you have a job where you rely on the Internet to get your work done.</p>
<p><strong>1. Travelling</strong></p>
<p>If you are travelling somewhere, try to make sure you waste as little of the middle of the day as possible. I flew at 6:15am which meant I arrived in Johannesburg at 8:10am. I could then have a shower when I got to my mom and dad&#8217;s place and start working. If you are travelling further, try to fly in the evenings.</p>
<p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eTNQ8DJPMbw/SNJ5f0Ld_GI/AAAAAAAAABw/bp-6_OMnL1E/s1600-h/IMG_0016.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_eTNQ8DJPMbw/SNJ5f0Ld_GI/AAAAAAAAABw/bp-6_OMnL1E/s320/IMG_0016.JPG" alt="" border="0" name="BLOGGER_PHOTO_ID_5247390103329700962" id="BLOGGER_PHOTO_ID_5247390103329700962" /></a></p>
<p><strong>2. Equipment</strong></p>
<p>Equipment is important. If you are not prepared you are asking for trouble. I use a Mac &#8211; but I also recommend using Linux. Why not Microsoft Windows you ask? Well, I do a lot of work on remote servers, uploading and downloading files, copying between remote servers and zipping and unzipping files. This is a real pain if you don&#8217;t have a bash terminal. You can use a combination of <a href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/download.html">Putty</a> and <a href="http://winscp.net/eng/index.php"><span class="blsp-spelling-error" id="SPELLING_ERROR_0"><span class="blsp-spelling-error" id="SPELLING_ERROR_0">WinSCP</span></span></a> on Windows. If you take the time to learn bash commands you will save time in the long run. More on this later.</p>
<p>The other really essential device is a 3G equipped cellphone with a medium-sized data plan. (This obviously depends on how long you are going away for and how much data you expect to use.) Don&#8217;t be fooled, if you are going somewhere that has Internet connectivity, you may find that its either too slow to be usable or just downright unreliable. <a href="http://en.wikipedia.org/wiki/HSDPA"><span class="blsp-spelling-error" id="SPELLING_ERROR_1"><span class="blsp-spelling-error" id="SPELLING_ERROR_1">HSDPA</span></span></a> cellphones are preferable as they have faster connection speeds.</p>
<p>Other things I like to take with me are a good set of earphones and a mouse. The earphones are a good idea in case you have to work in a noisy environment &#8211; airports, hotel lobbies etc. I take a mouse because I tend to get neck pain if I have to use the <span class="blsp-spelling-error" id="SPELLING_ERROR_2"><span class="blsp-spelling-error" id="SPELLING_ERROR_2">touchpad</span></span> on my Mac for prolonged periods. I like the <a href="http://www.amazon.com/Logitech-Revolution-Cordless-Laser-Notebooks/dp/B000HCRVUS/ref=pd_bbs_sr_1?ie=UTF8&amp;s=electronics&amp;qid=1221752958&amp;sr=8-1"><span class="blsp-spelling-error" id="SPELLING_ERROR_3"><span class="blsp-spelling-error" id="SPELLING_ERROR_3">Logitech</span></span> <span class="blsp-spelling-error" id="SPELLING_ERROR_4"><span class="blsp-spelling-error" id="SPELLING_ERROR_4">VX</span></span> Revolution</a> mouse. It has a little compartment that you can store the cordless receiver inside and is very comfortable.</p>
<p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eTNQ8DJPMbw/SNJ5zD4dzOI/AAAAAAAAAB4/YOQ4Uj8AhBo/s1600-h/IMG_0028.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_eTNQ8DJPMbw/SNJ5zD4dzOI/AAAAAAAAAB4/YOQ4Uj8AhBo/s320/IMG_0028.JPG" alt="" border="0" name="BLOGGER_PHOTO_ID_5247390433962478818" id="BLOGGER_PHOTO_ID_5247390433962478818" /></a><br />
<strong><br />
3. Software, Tools &amp; Tips</strong></p>
<p>Obviously the software everyone uses is different depending on your job. I am a programmer so I have to be able to get updates to the <span class="blsp-spelling-error" id="SPELLING_ERROR_5">codebase</span> from my teammates and be able to update them with my changes. We use <a href="http://en.wikipedia.org/wiki/Subversion_%28software%29">Subversion</a> for this and there is a nifty little feature in the <a href="http://subclipse.tigris.org/"><span class="blsp-spelling-error" id="SPELLING_ERROR_5"><span class="blsp-spelling-error" id="SPELLING_ERROR_6">Subclipse</span></span></a> <span class="blsp-spelling-error" id="SPELLING_ERROR_6"><span class="blsp-spelling-error" id="SPELLING_ERROR_7">plugin</span></span> for <a href="http://www.adobe.com/products/flex/">Flex Builder</a> and <a href="http://www.eclipse.org/">Eclipse</a> whereby you can <em>relocate</em> your repository. This means that I can use the external subversion <span class="blsp-spelling-corrected" id="SPELLING_ERROR_7">URL</span> when I am away from the office and the internal subversion <span class="blsp-spelling-corrected" id="SPELLING_ERROR_8">URL</span> when I am in the office.</p>
<p>I also have to be able to move files around e.g. copying new <span class="blsp-spelling-error" id="SPELLING_ERROR_9"><span class="blsp-spelling-error" id="SPELLING_ERROR_8">plugins</span></span> of our server software to our test server. To copy files I use the <a href="http://en.wikipedia.org/wiki/Secure_copy"><span class="blsp-spelling-error" id="SPELLING_ERROR_10"><span class="blsp-spelling-error" id="SPELLING_ERROR_9">scp</span></span></a> command in terminal. So if I want to copy a file to our German server I type something like:</p>
<div style="text-align: center;">
  <span style="font-family:courier new;"><span class="blsp-spelling-error" id="SPELLING_ERROR_11"><span class="blsp-spelling-error" id="SPELLING_ERROR_10">scp</span></span> <em><span class="blsp-spelling-error" id="SPELLING_ERROR_12"><span class="blsp-spelling-error" id="SPELLING_ERROR_11">filename</span></span>.<span class="blsp-spelling-error" id="SPELLING_ERROR_13"><span class="blsp-spelling-error" id="SPELLING_ERROR_12">txt</span></span></em> root@germanserver.chesscube.com:</span></p>
<div style="text-align: left;">
<div style="text-align: left;">
      Copying large files repetitively with scp can be onerous however, not to mention expensive, so I use another command called <a href="http://en.wikipedia.org/wiki/Rsync"><span class="blsp-spelling-error" id="SPELLING_ERROR_15"><span class="blsp-spelling-error" id="SPELLING_ERROR_14">rsync</span></span></a>. <span class="blsp-spelling-error" id="SPELLING_ERROR_16"><span class="blsp-spelling-error" id="SPELLING_ERROR_15">Rsync</span></span> works much the same way as <span class="blsp-spelling-error" id="SPELLING_ERROR_17"><span class="blsp-spelling-error" id="SPELLING_ERROR_16">scp</span></span>:
    </div>
<p></p>
<div style="text-align: center;">
      <span style="font-family:courier new;"><span class="blsp-spelling-error" id="SPELLING_ERROR_18"><span class="blsp-spelling-error" id="SPELLING_ERROR_17">rsync</span></span> <em><span class="blsp-spelling-error" id="SPELLING_ERROR_19"><span class="blsp-spelling-error" id="SPELLING_ERROR_18">filename</span></span>.<span class="blsp-spelling-error" id="SPELLING_ERROR_20"><span class="blsp-spelling-error" id="SPELLING_ERROR_19">txt</span></span></em> root@germanserver.chesscube.com:</span></p>
<div style="text-align: left;">
        The cool thing about rsync is that it synchronizes the files or directories you are overwriting on the remote machine and therefore only copies the differences between the two files making the transfer time faster and the transfer size smaller.</p>
<p>        These are obviously very simple examples. If you check out the links you can learn how to do more complicated tasks. Like copy a file to a specific directory or get more detailed information while copying.</p>
<p>        <a href="http://www.cyberciti.biz/tips/linux-use-rsync-transfer-mirror-files-directories.html">How to use <span class="blsp-spelling-error" id="SPELLING_ERROR_20">rsync</span></a>.<br />
        <a href="http://kb.iu.edu/data/agye.html">How to use <span class="blsp-spelling-error" id="SPELLING_ERROR_21">scp</span></a>.</p>
<p>        Another cool tip if you need to get a large file to your boss or a client or whoever, is to use <a href="http://www.amazon.com/S3-AWS-home-page-Money/b/ref=sc_fe_l_2?ie=UTF8&amp;node=16427261&amp;no=3435361&amp;me=A36L942TSJ2AJA">Amazon&#8217;s S3 Service</a>. If you have an Amazon account, this is very simple. Visit <a href="http://aws.amazon.com/">http://aws.amazon.com</a> and sign up for their S3 service. S3 stands for Simple Storage Service and its a very easy way to upload and store files online, as well as make them accessible from the Internet. Here is a whirlwind guide on how to get going:</p>
<ol>
<li>Sign up for the <a href="http://www.amazon.com/S3-AWS-home-page-Money/b/ref=sc_fe_l_2?ie=UTF8&amp;node=16427261&amp;no=3435361&amp;me=A36L942TSJ2AJA">Amazon S3 Service</a></li>
<li>Install a <span class="blsp-spelling-error" id="SPELLING_ERROR_22">Firefox</span> <span class="blsp-spelling-error" id="SPELLING_ERROR_23">plugin</span> called <a href="https://addons.mozilla.org/en-US/firefox/addon/3247">S3 Organizer</a> &#8211; if you don&#8217;t have <span class="blsp-spelling-error" id="SPELLING_ERROR_24">Firefox</span> you can get it <a href="http://www.getfirefox.com">here</a></li>
<li>Open S3 Organizer from the Tools menu in <span class="blsp-spelling-error" id="SPELLING_ERROR_25">Firefox</span> and click on Manage Accounts</li>
<li>Take the access key and secret key you received from Amazon after registration and put it in the corresponding fields in S3 Organizer</li>
<li>On the right-hand-side of S3 Organizer click on the Create Directory button &#8211; the directory name must be unique for the whole of Amazon S3, not just for you. So use something obscure if you need to.</li>
<li>Select the directory you have just created and click Edit <span class="blsp-spelling-error" id="SPELLING_ERROR_26">ACL</span>. You can then share the directory you have just created based on the options provided. Sharing by e-mail address is the easiest.</li>
<li>Now you can copy files from the left hand window &#8211; which is your local computer to the directory you just created in Amazon S3.</li>
<li>Finally, for your boss, client, colleague to access the file you just uploaded &#8211; right click the file in the right hand window and select Copy URL to Clipboard. You can then paste the URL into an e-mail and they will be able to download it from their web browser.</li>
</ol>
<p>Bear in mind that Amazon does charge you for the amount of data you upload and download from S3, but its minimal. Around US$0.12 per gigabyte.</p>
<p>        <strong>4. Instant Messenger Advice</strong></p>
<p>        Using an Instant Messenger is great if you need to interact with your colleagues. The are however, downsides. It takes a lot longer to explain a concept or ask a complicated question if you have to type it out. I try to minimize the amount of questions I ask and really try to solve the problem myself before asking a colleague.</p>
<p>        Another downside, is that it can be distracting if you are grappling with a difficult problem and your Instant Messenger starts going berserk with incoming messages and pinging noises. A simple fix for this is not to stay logged in all the time and only log in at specific periods during the day.</p>
<p>        All in all, working remotely seems to be working out well. It is taking some getting used to, but I think the benefits are worth it in the end. I have managed to find time to start this blog and also have a more regular exercise regimen. I also don&#8217;t feel stressed after spending time in traffic. If you are having trouble working out a strategy to get your boss to allow you work from home, I highly recommend reading the chapter on it in the book <a href="http://www.fourhourworkweek.com">The Four Hour Work</a>.</p></div>
</p></div>
</p></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bytesizecreations.com/2008/09/working-remotely-programmers-guide/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Downloading</title>
		<link>http://www.bytesizecreations.com/2008/09/downloading/</link>
		<comments>http://www.bytesizecreations.com/2008/09/downloading/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 14:22:00 +0000</pubDate>
		<dc:creator>Michael Gaylord</dc:creator>
				<category><![CDATA[Telkom]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.42restaurants.com/byte/?p=38</guid>
		<description><![CDATA[Downloading the iPhone SDK is the simple part in getting started with creating applications for the iPhone. Accessing the iPhone Developer Centre is the complicated part. Especially if you are from South Africa. You can log into the centre but from there you are unable to access any of the documentation. Every time I clicked [...]]]></description>
			<content:encoded><![CDATA[<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eTNQ8DJPMbw/SM0qriPPWaI/AAAAAAAAABg/-th9yz17yqI/s1600-h/46455_losing_my_head.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_eTNQ8DJPMbw/SM0qriPPWaI/AAAAAAAAABg/-th9yz17yqI/s400/46455_losing_my_head.jpg" alt="" id="BLOGGER_PHOTO_ID_5245896068369963426" border="0" /></a>Downloading the iPhone SDK is the simple part in getting started with creating applications for the iPhone. Accessing the <a href="http://developer.apple.com/iphone">iPhone Developer Centre</a> is the complicated part. Especially if you are from South Africa. You can log into the centre but from there you are unable to access any of the documentation. Every time I clicked on a URL I would be <a href="http://forums.whirlpool.net.au/forum-replies-archive.cfm/1022884.html">redirected to a log in screen</a> which would never let me in. No errors. Nothing. After some digging around, it turns out that the way Apple authenticates access to web pages doesn&#8217;t play nicely with the <a href="http://en.wikipedia.org/wiki/SAIX">SAIX proxy</a>. Thanks very much <a href="http://en.wikipedia.org/wiki/Telkom_%28South_Africa%29">Telkom</a>! I finally managed to get in using a combination of clearing my browser cache completely and using an <a href="http://xanana.ucsc.edu/%7Ewgscott/xtal/wiki/index.php/SSH_and_Tunneling#Example_One:_Tunneling_to_a_proxy_server_for_web_browsing">SSH Tunnel</a> through my company&#8217;s Verizon server. Happiness is&#8230;</p>
<p>That&#8217;s only half the story though. I didn&#8217;t really want to go through this whole rigmarole every time I wanted to get some information about a framework or a class. So I needed to find a way to access the developer documentation offline. In comes XCode&#8217;s documentation manager to the rescue. Err. Well sort of. It is possible to subscribe to the iPhone Developer Documentation in <a href="http://developer.apple.com/tools/xcode/">XCode</a>, and it will download the documentation to your local machine for you, but its slow and it doesn&#8217;t resume.</p>
<p>So after 3 attempts and much wastage of precious bandwidth I turned back to Google search terms and in an &#8220;eureka moment&#8221;, I found a post on a blog, on how to use <a href="http://www.newsgator.com/Individuals/NetNewsWire/">NetNewsWire</a> to download the darn documentation and subsequently install it. I just hope Apple doesn&#8217;t release a new version of the documentation tomorrow. Good things come to those who bash their heads on the keyboard at consistent times during the day.</p>
<p>Oh and by the way, don&#8217;t bother trying to contact Apple for help. Their auto-responder works really well but their support staff obviously haven&#8217;t been outsourced to India yet. I have been waiting a week for a reply to all my e-mails, concerning the issues I have been having accessing their website. Maybe there is a trick to it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bytesizecreations.com/2008/09/downloading/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
