<?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>theootz dot com &#187; theootz</title> <atom:link href="http://www.hardeep.me/tag/theootz/feed/" rel="self" type="application/rss+xml" /><link>http://www.hardeep.me</link> <description>tech, programming, rants and randomonium!</description> <lastBuildDate>Thu, 20 Jan 2011 02:32:35 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0.1</generator> <image><link>http://www.hardeep.me</link> <url>http://theootz.com/wp-content/cbnet-favicon/favicon.gif</url><title>theootz dot com</title> </image> <atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/> <item><title>Going Ons</title><link>http://www.hardeep.me/2010/05/going-ons/</link> <comments>http://www.hardeep.me/2010/05/going-ons/#comments</comments> <pubDate>Wed, 12 May 2010 00:14:11 +0000</pubDate> <dc:creator>theootz</dc:creator> <category><![CDATA[Blog]]></category> <category><![CDATA[programming]]></category> <category><![CDATA[.NET]]></category> <category><![CDATA[amd]]></category> <category><![CDATA[ASP]]></category> <category><![CDATA[first]]></category> <category><![CDATA[group project]]></category> <category><![CDATA[internship]]></category> <category><![CDATA[isdc 2010]]></category> <category><![CDATA[microsoft]]></category> <category><![CDATA[mssql]]></category> <category><![CDATA[projects]]></category> <category><![CDATA[student design competition]]></category> <category><![CDATA[test]]></category> <category><![CDATA[test project]]></category> <category><![CDATA[theootz]]></category><guid isPermaLink="false">http://www.theootz.com/?p=251</guid> <description><![CDATA[<p>Whew, busy last little while &#8211; been a while since my last post!</p><p>Since then, I&#8217;ve applied to positions for an internship at school and finished my semester. Went through a bunch of interviews and finally accepted a position at ATI (i.e. AMD) which is awesome! I&#8217;m not really sure yet if I&#8217;m allowed to blog about the things I&#8217;ll be working on there but I&#8217;ll find out. Would be cool to keep track of the progress I make while there for the next 16 months. Along with that, I&#8217;ve bought myself a car to get to and from work[&#8230;] <a href="http://www.hardeep.me/2010/05/going-ons/" class="read_more">read more</a></p>No related posts.]]></description> <content:encoded><![CDATA[<p>Whew, busy last little while &#8211; been a while since my last post!</p><p>Since then, I&#8217;ve applied to positions for an internship at school and finished my semester. Went through a bunch of interviews and finally accepted a position at ATI (i.e. AMD) which is awesome! I&#8217;m not really sure yet if I&#8217;m allowed to blog about the things I&#8217;ll be working on there but I&#8217;ll find out. Would be cool to keep track of the progress I make while there for the next 16 months. Along with that, I&#8217;ve bought myself a car to get to and from work &#8211; FREEDOM! <img src='http://www.hardeep.me/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>Elsewhere in my tech-space, I&#8217;ve begun familiarizing myself with the ASP.NET framework (in C#) and MsSQL as the project I&#8217;m working on at AMD seems to require such. I actually ended up coding a test project for an interview for another company using the framework/database and <a href="http://www.theootz.com/projects/?show=10">posted the project</a> (more info below). It&#8217;s my first dive into ASP and far from the proper way of doing things, but I&#8217;ve already learned quite a bit since then so I think I&#8217;m on a good course.</p><p>I also won 2nd place in the <a href="http://www.upassoc.org/conference/2010/students/">International Student Design Competition (iSDC 2010)</a> for my <a href="http://www.theootz.com/projects/?show=9">group project in CSC318</a>! The conference is being held in Germany and our projects will be presented there soon <img src='http://www.hardeep.me/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Unfortunately, no one in our group will be able to attend but we&#8217;re going to try to get our poster printed out for display there. We&#8217;ll probably be listed on the <a href="http://www.usabilityprofessionals.org/conference/2010/students/awards/">iSDC website</a> too once that&#8217;s done. Look for the Grocery Garden project by The Crew <img src='http://www.hardeep.me/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>Finally, I also got myself <a href="http://www.hardeepsingh.ca">hardeepsingh.ca</a> because well, why not? It just points to the same host as <a href="http://www.theootz.com">theootz.com</a> though.</p><p><a href='http://www.hardeep.me/2010/05/going-ons/'>Back to list</a></p><fieldset class='dataset'><legend>Details of ASP.NET Test Website</legend><dl><dt>Date Started</dt><dd>April 12, 2010</dd><dt>Description</dt><dd><p>A website made in ASP.NET and using a local MsSQL server to manage a simple set of companies and edit their data. Used as a quick primer to learning how to use ASP.NET and because a job application I had applied for wanted me to make it - two birds one stone and all that :) Took about 4 hours to make I think.</p></dd><dt>Main Link</dt><dd><a class='projectmanager_url' href='http://http://www.theootz.com/downloads/ASP.NET+test+website' target='_blank' title='http://www.theootz.com/downloads/ASP.NET+test+website'>http://www.theootz.com/downloads/ASP.NET+test+website</a></dd><dl class='uri '></dl></dl></fieldset><p>No related posts.</p>]]></content:encoded> <wfw:commentRss>http://www.hardeep.me/2010/05/going-ons/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Your site, saved and backed up on the S3 cloud!</title><link>http://www.hardeep.me/2010/03/your-site-saved-and-back-up-on-the-s3-cloud/</link> <comments>http://www.hardeep.me/2010/03/your-site-saved-and-back-up-on-the-s3-cloud/#comments</comments> <pubDate>Sat, 20 Mar 2010 18:56:02 +0000</pubDate> <dc:creator>theootz</dc:creator> <category><![CDATA[Random]]></category> <category><![CDATA[programming]]></category> <category><![CDATA[Amazon]]></category> <category><![CDATA[amazon s3]]></category> <category><![CDATA[backup scripts]]></category> <category><![CDATA[bash]]></category> <category><![CDATA[online backup]]></category> <category><![CDATA[online sync]]></category> <category><![CDATA[projects]]></category> <category><![CDATA[script]]></category> <category><![CDATA[server backups]]></category> <category><![CDATA[theootz]]></category><guid isPermaLink="false">http://www.theootz.com/?p=226</guid> <description><![CDATA[<p>I got sick of having to do backups manually and then manually saving them somewhere&#8230;then I wondered if it&#8217;d be possible to use my S3 service to back up my website? I mean, I&#8217;m already using it as a content distribution system but having a full backup of all files + databases would be nice too!</p><h2>What You Need</h2><p>You&#8217;ll need PHP, bash, CRON access and python to get this working. And given the bash/cron requirements, that also means it assumes you&#8217;re running a *nix based server. It&#8217;s probably possible to get the requirements down, but I just wanted to[&#8230;] <a href="http://www.hardeep.me/2010/03/your-site-saved-and-back-up-on-the-s3-cloud/" class="read_more">read more</a></p>No related posts.]]></description> <content:encoded><![CDATA[<p>I got sick of having to do backups manually and then manually saving them somewhere&#8230;then I wondered if it&#8217;d be possible to use my S3 service to back up my website? I mean, I&#8217;m already using it as a content distribution system but having a full backup of all files + databases would be nice too!</p><h2>What You Need</h2><p>You&#8217;ll need PHP, bash, CRON access and python to get this working. And given the bash/cron requirements, that also means it assumes you&#8217;re running a *nix based server. It&#8217;s probably possible to get the requirements down, but I just wanted to get something done quick and it&#8217;s what I came up with.</p><h2>The Files</h2><h4>backup.sh</h4><p>First up is the bash script (based on <a href="http://www.howtogeek.com/wiki/Tweaking_a_Dedicated_Virtual_Web_Server#Backups">this one</a>) that does most of the work. It will tar+gzip all your site files, export your database(s), and remove old backup files (+5 days old) when necessary. You should only really have to edit the top part of the script. Make sure you remember what you set your <span style="text-decoration: underline;">BACKUP_DIR</span> and <span style="text-decoration: underline;">FILES_DIR</span> to &#8211; you&#8217;ll need them in other scripts later on.</p><pre class="brush: bash; title: ;">
#!/bin/sh

# EDIT THIS PART ------------------
# where all these backup scripts are stored
BACKUP_DIR=/home/theootz/backups

# where you want to keep all the actual backup folders
FILES_DIR=/home/theootz/backups/files

# where all your html files reside
HTML_DIR=/home/theootz/public_html

# your MySQL database name, username and password
SQL_USER1=myusername1
SQL_PASS1=mypass1
SQL_DB1=mydb1

# a second database
# Uncomment these lines if you want to back up a second database.
# Also uncomment the line specified below!
# You can also add more databases and follow the same format.
#SQL_USER2=myusername2
#SQL_PASS2=mypass2
#SQL_DB2=mydb2
# STOP EDITING ------------------

THEDATE=`date +%Y-%m-%d_%H-%M-%S`

mkdir -p $BACKUP_DIR/files

mysqldump -u${SQL_USER1} -p${SQL_PASS1} ${SQL_DB1} &gt; ${FILES_DIR}/${THEDATE}_db1backup.sql

# Uncomment the line below if have a second database to back up
#mysqldump -u${SQL_USER2} -p${SQL_PASS2} ${SQL_DB2} &gt; ${FILES_DIR}/${THEDATE}_db2backup.sql

tar -cf ${FILES_DIR}/${THEDATE}_site.tar ${HTML_DIR}
gzip ${FILES_DIR}/${THEDATE}_site.tar

find ${FILES_DIR}/*site* -mtime +5 -exec rm {} \;
find ${FILES_DIR}/*db* -mtime +5 -exec rm {} \;
</pre><h4>backup_upload.py</h4><p>Next is the Python script to upload the files. It uses a PHP library that I&#8217;ll give more information on below.</p><pre class="brush: python; title: ;">
import sys
import os

########## Make sure these values match the ones you set in your shell script!
BACKUP_DIR = &quot;/home/theootz/backups&quot;
FILES_DIR = &quot;/home/theootz/backups/files&quot;

# this needs to be changed to reflect your settings on your s3 account
S3_BUCKET = &quot;theootz&quot;
S3_FOLDER = &quot;mysite/backups&quot;
##########

j = os.path.join
fname = os.path.basename(sys.argv[1])
cmdstr = j(BACKUP_DIR, &quot;s3.php&quot;) + &quot; put &quot; + \
    j(FILES_DIR, fname) + &quot; &quot; + \
    j(S3_BUCKET, j(S3_FOLDER, fname.split(&quot;_&quot;)[-1]))

os.system(cmdstr)
</pre><h4>PHP S3</h4><p>The python script uses a PHP library to do all the S3 uploading work. The original is available <a href="http://edoceo.com/creo/phps3tk">here</a>.</p><p>I had to edit a few paths in the php library to get it to work, so if you want to download my version it&#8217;s available here:</p> <a href="http://www.hardeep.me/downloads/PHP+Amazon+S3+Library" title="Downloaded 124 times">PHP Amazon S3 Library</a> - Based on http://edoceo.com/creo/phps3tkA PHP library to access and work with Amazon S3<p>Regardless of which one you pick, make sure you open and edit the s3.php file! You&#8217;ll need to put your S3 keys in there (near the top of the file). It will look something like this:</p><pre class="brush: php; title: ;">
// S3_CONF file
$aws_key = null;
$aws_secret = null;
</pre><p>You&#8217;ll want to put your access and secret keys there as strings, as follows:</p><pre class="brush: php; title: ;">
// S3_CONF file
$aws_key = &quot;my access key here&quot;;
$aws_secret = &quot;my secret key here&quot;;
</pre><h2>How To Get It All Working?</h2><p>Ok, so you&#8217;ve got the files. Now upload them to your web server to your <span style="text-decoration: underline;">BACKUP_DIR</span> folder (whatever you choose it as, I picked /home/theootz/backups). Finally, take the files from the the PHP S3 library and put them in your <span style="text-decoration: underline;">BACKUP_DIR</span> as well. This should leave you with the following files in a single folder:</p><ul><li>backup.sh</li><li>backup_upload.py</li><li>s3sync.php</li><li>s3.php</li><li>libs3.php</li><li>libaws.php</li></ul><p>I&#8217;m pretty sure most of the files from the S3 library aren&#8217;t needed but once again not something I bothered to check.</p><p>Now you&#8217;ll want to enable execution for all our scripts. You can do this by running the following commands while in your <span style="text-decoration: underline;">BACKUP_DIR</span> folder:</p><pre class="brush: bash; title: ;">
chmod u+x backup.sh
chmod u+x backup_upload.py
chmod u+x s3.php
</pre><p>At this point, you can go ahead and run backup.sh and see if everything worked. If it did, then we can set up the cron jobs to have this all work automatically for us <img src='http://www.hardeep.me/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>You&#8217;ll want to add two entries to cron. The first entry will run our backup.sh on a daily basis for us. This will give us 5 days worth of backups at any one point. The second script will upload our latest backup to the S3 service, replacing whatever is already there.</p><pre class="brush: plain; title: ;">
1       1       *       *       *       /path/to/BACKUP_DIR/backup.sh
1       1       *       *       *       find /path/to/FILES_DIR/* -mtime 0 -exec python /path/to/BACKUP_DIR/backup_upload.py '{}' \;
</pre><p>Make sure you edit the paths to reflect the way you have it configured for your system! For example, my cron jobs look like this:</p><pre class="brush: plain; title: ;">
0       0       *       *       *       /home/theootz/backups/backup.sh
0       0       *       *       0       find /home/theootz/backups/files/* -mtime 0 -exec python /home/theootz/backups/backup_upload.py '{}' \;
</pre><h2>Done!</h2><p>And that&#8217;s it <img src='http://www.hardeep.me/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Your website along with databases and other content will now be backed up daily to the server itself, and uploaded to your S3 account weekly. If you wanna be super extra paranoid you can download the backups from the <span style="text-decoration: underline;">FILES_DIR</span> yourself or <a href="http://www.howtogeek.com/wiki/Tweaking_a_Dedicated_Virtual_Web_Server#Sync_Backups_Off-Site_With_Rsync">use rsync</a> or something similar to automate that as well. One idea is perhaps sending it to your e-mail &#8211; use that g-mail space for something right? <img src='http://www.hardeep.me/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /></p><p>Hope that&#8217;s some help to someone <img src='http://www.hardeep.me/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>No related posts.</p>]]></content:encoded> <wfw:commentRss>http://www.hardeep.me/2010/03/your-site-saved-and-back-up-on-the-s3-cloud/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Speed, projects and features &#8211; oh my!</title><link>http://www.hardeep.me/2010/03/speed-projects-and-features-oh-my/</link> <comments>http://www.hardeep.me/2010/03/speed-projects-and-features-oh-my/#comments</comments> <pubDate>Tue, 16 Mar 2010 17:47:47 +0000</pubDate> <dc:creator>theootz</dc:creator> <category><![CDATA[Blog]]></category> <category><![CDATA[Amazon]]></category> <category><![CDATA[amazon cloud front]]></category> <category><![CDATA[amazon s3]]></category> <category><![CDATA[caching system]]></category> <category><![CDATA[lifestream]]></category> <category><![CDATA[OpenID]]></category> <category><![CDATA[projects]]></category> <category><![CDATA[speed improvement]]></category> <category><![CDATA[theootz]]></category> <category><![CDATA[verisign]]></category><guid isPermaLink="false">http://www.theootz.com/?p=207</guid> <description><![CDATA[<p>Added a whole bunch of new features to the blog, mostly back end changes but a few new pages too.</p><p>There&#8217;s the new &#8220;<a title="Projects" href="http://www.theootz.com/projects">Projects</a>&#8221; section which is powered by a nice little back-end script to let me easily manage links and data to all the projects I&#8217;m working on, or have worked on.</p><p>I added a &#8220;<a title="Life Stream" href="http://www.theootz.com/lifestream">LifeStream</a>&#8221; &#8211; based on the same <a href="http://en.wikipedia.org/wiki/Lifestreaming">concept</a> that facebook uses to aggregate many social sites into one &#8216;stream&#8217;. Ironically, I disabled facebook from showing up on the stream because it was posting way too much. Though the upside[&#8230;] <a href="http://www.hardeep.me/2010/03/speed-projects-and-features-oh-my/" class="read_more">read more</a></p>Related posts:<ol><li><a href='http://www.hardeep.me/2010/03/videocross-post-test-second-attempt/' rel='bookmark' title='Permanent Link: video+cross post test, second attempt'>video+cross post test, second attempt</a></li><li><a href='http://www.hardeep.me/2010/02/da-stank-bank-uploader/' rel='bookmark' title='Permanent Link: Da Stank Bank &#8220;Uploader&#8221;'>Da Stank Bank &#8220;Uploader&#8221;</a></li></ol>]]></description> <content:encoded><![CDATA[<p>Added a whole bunch of new features to the blog, mostly back end changes but a few new pages too.</p><p>There&#8217;s the new &#8220;<a title="Projects" href="http://www.theootz.com/projects">Projects</a>&#8221; section which is powered by a nice little back-end script to let me easily manage links and data to all the projects I&#8217;m working on, or have worked on.</p><p>I added a &#8220;<a title="Life Stream" href="http://www.theootz.com/lifestream">LifeStream</a>&#8221; &#8211; based on the same <a href="http://en.wikipedia.org/wiki/Lifestreaming">concept</a> that facebook uses to aggregate many social sites into one &#8216;stream&#8217;. Ironically, I disabled facebook from showing up on the stream because it was posting way too much. Though the upside is, it gave me an idea for getting my whole cross-posting idea to work that I&#8217;m going to explore later. Originally I was trying to use my blog to push data to all the other services I use, but I figured I could also use facebook to push to my blog and from my blog to the rest of the services. I&#8217;d have to work out how I could make my blog still push unique posts to facebook and not push those specific posts but I haven&#8217;t really looked at any code yet so I&#8217;ll figure it out then.</p><p>Next, I finally figured out how to set up my blog as an <a href="http://en.wikipedia.org/wiki/Open_id">OpenID</a> provider <img src='http://www.hardeep.me/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> So instead of remembering that convoluted verisign address that I *ALWAYS* forget, I can just use my blog address. Nice and simple.</p><p>I&#8217;ve added a massive caching system and found another use for my <a href="https://s3.amazonaws.com/">Amazon S3</a> account! I decided to create a new s3 bucket and linked it to <a href="http://aws.amazon.com/cloudfront/">Amazon&#8217;s Cloud Front</a>. All media, most javascript, css, etc&#8230; is now served from local amazon end points (@ cloud.theootz.com) instead of my hosting provider <img src='http://www.hardeep.me/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> I haven&#8217;t tested to see if this has resulted in any real speed improvement, but at least at a glance it seems to help a lot.</p><p>And to end it off, I found a wordpress plug-in for managing resume&#8217;s that I&#8217;m looking at using for posting my CV up on the site. Haven&#8217;t fiddled with it much yet but it seems to hold promise. Also another plug-in to find and display &#8216;related posts&#8217; at the bottom of each post I make. Gotta love wordpress plug-ins <img src='http://www.hardeep.me/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>Related posts:<ol><li><a href='http://www.hardeep.me/2010/03/videocross-post-test-second-attempt/' rel='bookmark' title='Permanent Link: video+cross post test, second attempt'>video+cross post test, second attempt</a></li><li><a href='http://www.hardeep.me/2010/02/da-stank-bank-uploader/' rel='bookmark' title='Permanent Link: Da Stank Bank &#8220;Uploader&#8221;'>Da Stank Bank &#8220;Uploader&#8221;</a></li></ol></p>]]></content:encoded> <wfw:commentRss>http://www.hardeep.me/2010/03/speed-projects-and-features-oh-my/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Da Stank Bank</title><link>http://www.dastankbank.com</link> <comments>http://www.dastankbank.com#comments</comments> <pubDate>Sun, 24 Jan 2010 03:45:19 +0000</pubDate> <dc:creator>theootz</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[da stank bank]]></category> <category><![CDATA[music]]></category> <category><![CDATA[theootz]]></category><guid isPermaLink="false">http://www.theootz.com/?page_id=66</guid> <description><![CDATA[<p>The stank bank is a music blog run by my cousins, definitely worth a look!</p><p>http://theootz.com/dastankbank/</p><p>No related posts.</p>No related posts.]]></description> <content:encoded><![CDATA[<p>The stank bank is a music blog run by my cousins, definitely worth a look!</p><p>http://theootz.com/dastankbank/</p><p>No related posts.</p>]]></content:encoded> <wfw:commentRss>http://www.dastankbank.com/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced) (user agent is rejected)
Database Caching 52/139 queries in 0.075 seconds using disk
Object Caching 1394/1536 objects using disk
Content Delivery Network via Amazon Web Services: CloudFront: Amazon Web Services: S3: cloud.theootz.com

Served from: www.theootz.com @ 2012-02-04 12:59:37 -->
