<?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>Technolo Blog</title>
	<atom:link href="http://www.technoloblog.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.technoloblog.com</link>
	<description>Technology for Small Business Technologists</description>
	<lastBuildDate>Mon, 07 Nov 2011 01:56:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Identifying your Linux version</title>
		<link>http://www.technoloblog.com/unix/identifying-your-linux-version/</link>
		<comments>http://www.technoloblog.com/unix/identifying-your-linux-version/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 01:35:39 +0000</pubDate>
		<dc:creator>Owen</dc:creator>
				<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://www.technoloblog.com/?p=39</guid>
		<description><![CDATA[To identify the linux installation that your hosting service is using try &#8220;uname -o&#8221;. If you need more details try: uname -a cat /proc/version cat /etc/issue uname -r cat /etc/*version cat /etc/*release cat /etc/*config To understand if it is a 64bit or 32bit system look for a 32 or 64 in the result. The following [...]]]></description>
			<content:encoded><![CDATA[<p>To identify the linux installation that your hosting service is using try &#8220;uname -o&#8221;. If you need more details try:</p>
<ul>
<li>uname -a</li>
<li>cat /proc/version</li>
<li>cat /etc/issue</li>
<li>uname -r</li>
<li>cat /etc/*version</li>
<li>cat /etc/*release</li>
<li>cat /etc/*config</li>
</ul>
<p>To understand if it is a 64bit or 32bit system look for a 32 or 64 in the result.</p>
<p>The following strings indicate 64bit:</p>
<ul>
<li>x86_64</li>
<li>ia64</li>
</ul>
<p>The following strings indicate 32bit:</p>
<ul>
<li>i386</li>
<li>i486</li>
<li>i686</li>
</ul>
<p>The command &#8220;uname -m&#8221; should also indicate the machine type.</p>
<p>If in doubt another indicator is to look at an executable such as &#8220;file /sbin/init&#8221; where the result may indicate something like &#8220;ELF 32-bit LSB executable&#8221;.</p>
<p>The performance difference between the two is typically 4% to 10% but can be as high as a modest 20% so stability and availability of drivers is probably a more important consideration.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.technoloblog.com/unix/identifying-your-linux-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing the s3cmd to Access Amazon S3 cloud file storage</title>
		<link>http://www.technoloblog.com/cloud/installing-the-s3cmd-to-access-amazon-s3-cloud-file-storage/</link>
		<comments>http://www.technoloblog.com/cloud/installing-the-s3cmd-to-access-amazon-s3-cloud-file-storage/#comments</comments>
		<pubDate>Mon, 30 May 2011 14:13:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cloud]]></category>

		<guid isPermaLink="false">http://www.technoloblog.com/?p=32</guid>
		<description><![CDATA[A convenient way to access amazon S3 storage is with the s3cmd. It is similar to an ftp command and rsync combined so as to allow you to script and automate copying of files into S3 storage. You might do this to mirror your static files in S3 from where you are using them for [...]]]></description>
			<content:encoded><![CDATA[<p>A convenient way to access amazon S3 storage is with the s3cmd. It is similar to an ftp command and rsync combined so as to allow you to script and automate copying of files into S3 storage. You might do this to mirror your static files in S3 from where you are using them for CloudFront as a CDN for faster web access or it might be a method of backing up or distributing software for S3.</p>
<p>To install the command you need to be on a UNIX machine. It can be a dedicated host, virtual host, in the cloud or simply your MacBook.</p>
<p>Check to see the latest version at http://sourceforge.net/projects/s3tools/files/<br />
<code><br />
cd<br />
mkdir Downloads<br />
cd Downloads<br />
wget http://sourceforge.net/projects/s3tools/files/s3cmd/1.0.0/s3cmd-1.0.0.zip<br />
unzip s3*zip</p>
<p>cd s3*</p>
<p>python setup.py install<br />
</code></p>
<p>This will give an error if it is not able to place the resulting command into some root owned system directories however if this is the case the command still generates a local copy which you can further copy into a personal bin directory under your account allowing you to use the command. Instructions to copy the command to a personal bin directory:<br />
<code><br />
mkdir ~/bin<br />
cp s3cmd ~/bin<br />
cp -R S3 ~/bin<br />
</code><br />
You should now have access the command and need to configure it to have access to your Amazon S3 account. Get the keys from https://aws-portal.amazon.com/gp/aws/developer/account/index.html<br />
<code><br />
cd<br />
s3cmd –configure (That is two hyphens)<br />
</code><br />
If the s3cmd isn&#8217;t found add the following to your ~/.profile so that your PATH is searching ~/bin for commands.<br />
<code><br />
# set PATH so it includes user's private bin if it exists<br />
if [ -d "$HOME/bin" ] ; then<br />
    PATH="$HOME/bin:$PATH"<br />
fi<br />
then type:<br />
	. ~/profile<br />
	s3cmd –configure (That is two hyphens)<br />
</code><br />
If you run into problems with prerequisites (Software that needs to be on your machine before you run the process above) then please leave a comment. For example you may need to install Xcode (The developer package in the AppStore) on the Mac if you find that you do not have python or wget installed.</p>
<p>The command can be used for example to copy a file or synchronize a directory. In these examples the list of buckets defined (Either from a command line or in the Amazon AWS console) is listed and a set of javaScript files are placed in a S3 bucket.<br />
<code><br />
s3cmd ls</p>
<p>s3cmd put --acl-public --guess-mime-type mymasterdirectory/*js s3://somebucket<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.technoloblog.com/cloud/installing-the-s3cmd-to-access-amazon-s3-cloud-file-storage/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using Amazon Web Services</title>
		<link>http://www.technoloblog.com/cloud/using-amazon-web-services/</link>
		<comments>http://www.technoloblog.com/cloud/using-amazon-web-services/#comments</comments>
		<pubDate>Mon, 30 May 2011 10:09:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cloud]]></category>

		<guid isPermaLink="false">http://www.technoloblog.com/?p=25</guid>
		<description><![CDATA[I am writing a series of posts related to different aspects of Amazon Web Services (AWS) as I increasingly use AWS for new projects. Different projects will need different levels of scalability so different services make sense. In particular the use of geo location to retrive access to the dynamic elements of a website from [...]]]></description>
			<content:encoded><![CDATA[<p>I am writing a series of posts related to different aspects of Amazon Web Services (AWS) as I increasingly use AWS for new projects. Different projects will need different levels of scalability so different services make sense. In particular the use of geo location to retrive access to the dynamic elements of a website from the nearest datacenter is not important for a local business. While load time is important for most websites and the use a content deliver network (CDN) to host static files such as images near the user of the site the additional effort of a couple of hours may not even be justified for a site with minimal content and little use of the site.</p>
<p>Some serious complexity arrises for sites which have authentication in the form of a login and which need to operate across multiple regions but this in many cases can be handled in a less than perfect manner to reduce the complexity and cost of the implementation. The final stages of segmenting data from different users so as to reduce the volume of data being synchronized across databases is necessary only in situations where the frequently required user related data is greater than 5 GB causing data not to be cacheable in memory. Once over 100GB of database data is needed by the system as a whole it may also be necessary to segment data over multiple databases in order to improve the manageability of the databases.</p>
<p>The series of posts will include:</p>
<ul>
<li>Use of online storage (S3)</li>
<li>Relational Databases (RDS)</li>
<li>Authentication</li>
<li>Database Synchronization</li>
<li>Geo Location by DNS</li>
<li>Geo Location with Edge Servers</li>
<li>Data Segmentation with Edge Servers</li>
<li>Workflow management with SQS</li>
</ul>
<p>There will also be some pre-requisites such as the installation and configuration of tool sets which also warrant separate posts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.technoloblog.com/cloud/using-amazon-web-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Network services v Cloud Services</title>
		<link>http://www.technoloblog.com/microsoft/network-service-v-cloud-services/</link>
		<comments>http://www.technoloblog.com/microsoft/network-service-v-cloud-services/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 20:13:08 +0000</pubDate>
		<dc:creator>Owen</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.technoloblog.com/?p=20</guid>
		<description><![CDATA[Having spent a good part of yesterday trying to get a file share working from a new server to a variety of Mac and PC machines around the home office I can&#8217;t help reflecting on what a complete waste of time it was. The elusive goal was the same functionality that is offered by Dropbox. [...]]]></description>
			<content:encoded><![CDATA[<p>Having spent a good part of yesterday trying to get a file share working from a new server to a variety of Mac and PC machines around the home office I can&#8217;t help reflecting on what a complete waste of time it was. The elusive goal was the same functionality that is offered by Dropbox.</p>
<p>Instead of using this I had to format a drive. Plug it into different machines to do this. Deal with fact that OS X file systems were not supported and that OS X 10.5 can read but not write to NTFS. At the end of the process I was left with stubborn permisioning errors from the Mac which need resonlution through changes to the SMB server which had a hard wired smb.conf.</p>
<p>Another elusive goal was media server services being able to operate from the device. This is of course of no use for any equipment in a primarily Mac based home. The services which failed to materialize after about ten hours of research and s significant hard cost on equipment were no more functional than with dropbox and youtube. In fact the throughput of the local server at 3MB / second was less than the FIOS line to online services.</p>
<p>Once again one is reminded why the changes to the cloud are happening. It saves time and money and actually works better than integrating solutions ones self.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.technoloblog.com/microsoft/network-service-v-cloud-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Chrome Browser as an OS</title>
		<link>http://www.technoloblog.com/uncategorized/the-chrome-browser-as-an-os/</link>
		<comments>http://www.technoloblog.com/uncategorized/the-chrome-browser-as-an-os/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 20:27:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.technoloblog.com/?p=18</guid>
		<description><![CDATA[Having spent several days using chrome 8.0 (Available for both Windows and Mac) it is clear how the new Chrome application store and Chrome apps could replace the overlapping window environment that we have been playing with sine the 8O&#8217;s. The applications appear as windows which are tabs within the browsers. For the technically sophisticated [...]]]></description>
			<content:encoded><![CDATA[<p>Having spent several days using chrome 8.0 (Available for both Windows and Mac) it is clear how the new Chrome application store and Chrome apps could replace the overlapping window environment that we have been playing with sine the 8O&#8217;s.</p>
<p>The applications appear as windows which are tabs within the browsers. For the technically sophisticated we know that different technologies are being used as compared to native applications but for the end user it is the user experience that is so improved. They now have tabs. Tabs which don&#8217;t obscure each other and which can be managed and grouped. If you want to see a natural extension of how this can work use the new Beta of Firefox 4.0 which allows you to group tabs into a desktop like layout.</p>
<p>The user experience is so much improved that even users who are unaware of where there files actually are stored and where they are cached will prefer the experience and people will choose to shift towards the environment. The new CR-48 which demos the Chrome Operating System (OS), is going to be just the beginning of the first of many tools using Chrome OS which assumes that the Chrome browser is the sole user interface and which supports the use of cloud based tools and a client which is again a thin client with cached data from the cloud.</p>
<p>Maybe this time around the thin client will succeed as the setup of the server end is a one time process within the cloud. I think on the tablet type environments this outcome will appear natural and there will be users flocking towards low cost tablet solutions providing a Chrome/Chrome OS environment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.technoloblog.com/uncategorized/the-chrome-browser-as-an-os/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a Bash Shell Progress Indicator</title>
		<link>http://www.technoloblog.com/unix/creating-a-bash-shell-progress-indicator/</link>
		<comments>http://www.technoloblog.com/unix/creating-a-bash-shell-progress-indicator/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 22:10:35 +0000</pubDate>
		<dc:creator>Owen</dc:creator>
				<category><![CDATA[bash Shell Scripts]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[percentage]]></category>
		<category><![CDATA[progress]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.technoloblog.com/?p=13</guid>
		<description><![CDATA[In writing a script which iterated over a matrix taking over a minute for each &#8216;column&#8217; of the matrix I decided it would be much more meaningful to see the progress as a percentage. The following snipped of code does this for you. The line: echo -n "$((${NUMBER}*100/${MAXPROG})) %     " calculates the percentage of NUMBER/MAXPROG [...]]]></description>
			<content:encoded><![CDATA[<p>In writing a script which iterated over a matrix taking over a minute for each &#8216;column&#8217; of the matrix I decided it would be much more meaningful to see the progress as a percentage. The following snipped of code does this for you.</p>
<p>The line:</p>
<pre style="padding-left: 30px">echo -n "$((${NUMBER}*100/${MAXPROG})) %     "</pre>
<p>calculates the percentage of NUMBER/MAXPROG which in this case was a number that indicated the progress across an ordered and evenly spaced set of numbers. Your application will of course vary but NUMBER should be something that indicates how far along the process is as a percent where as MAXPROG is some value that indicates the maximum amount of progress. How you calculate NUMBER will depend on your application and the accuracy and ease of calculating the progress is of course your real task.</p>
<p>The echo -n means that the percentage is printed without moving the cursor to the next line. The series of spaces after the percentage symbol and the double quotes which cause these spaces to be printed. Are there to cope with a situation where you are resetting the percentage or where NUMBER doesn&#8217;t always follow a strict numerical sequence. i.e. having shown 15% progress you suddenly estimate that it was actually only 5%. In this case it may be that you increased MAXPROG.</p>
<p>In the script below I calculated MAXPROG as the number of items in the list. Your mechanism will vary. Using a number as the value from the list will only result in a true percentage of progress in a situation where the list is a list of incrementing integers from 1. i.e. counting. You will have to calculate NUMBER in a way that is appropriate for your application as well and operate the loop in whatever way makes sense for your situation.</p>
<p>The echo -n R | tr &#8216;R&#8217; &#8216;\r&#8217; is really not elegant. It is just a way of me printing a carriage return which is portable. A carriage return code was used on early electrical printers as a instruction to move the print head back to the left and start again at the first column. It moves the cursor to the left and again due to the -n flag does not move the cursor to a new line. As a result the next time you go around your loop the percentage will be printed over the top of the first percentage.</p>
<p>The final echo statement moves the cursor to a new line so that your prompt is not printed over the top of the final 100%.</p>
<pre style="padding-left: 30px">#!/bin/bash

LIST="1 2 3 4 5"

MAXPROG=$(echo ${LIST} | wc -w)

for NUMBER in ${LIST};
do
 echo -n "$((${NUMBER}*100/${MAXPROG})) %     "
 echo -n R | tr 'R' '\r'
 sleep 2
done

echo</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.technoloblog.com/unix/creating-a-bash-shell-progress-indicator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

