<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6991642647631426552</id><updated>2012-01-25T08:32:25.476-05:00</updated><category term='Workopolis'/><category term='R Statistical Computing Environment'/><category term='Python'/><category term='Wireless'/><category term='Email'/><category term='External Hard Drive'/><category term='Synch'/><category term='Lucid Lynx'/><category term='Matlab'/><category term='Calendar'/><category term='Samba'/><category term='ISO'/><category term='Google Docs'/><category term='Lightning'/><category term='Permissions'/><category term='Job Search'/><category term='Windows'/><category term='Alpine'/><category term='Remote Desktop'/><category term='Suspend'/><category term='Simpletech'/><category term='Advertisements'/><category term='WICD'/><category term='Programming'/><category term='Virtual CD'/><category term='File Synchronization'/><category term='Shell'/><category term='File Sharing'/><category term='Printer Sharing'/><category term='Downloading'/><category term='Backup'/><category term='xvnc4viewer'/><category term='Mozilla'/><category term='SimplyMEPIS'/><category term='GIMP'/><category term='Networking'/><category term='dpkg'/><category term='HTC Dream'/><category term='Gwenview'/><category term='Terminal'/><category term='Western Digital'/><category term='Android'/><category term='fstab'/><category term='File Indexing'/><category term='File Splitting'/><category term='Shutdown'/><category term='Command Line'/><category term='Bootdisk'/><category term='Parted'/><category term='Network Manager'/><category term='tricks'/><category term='File Search'/><category term='Internet'/><category term='MS Exchange'/><category term='PyQt'/><category term='Thunderbird'/><category term='Partitioning'/><category term='Gmail'/><category term='OpenOffice'/><category term='Acer'/><category term='Science'/><category term='Resizing'/><category term='Blogger'/><category term='bash'/><category term='Plotting'/><category term='Gnome'/><category term='Octave'/><category term='Blogging'/><category term='Toshiba Satellite'/><category term='Ubuntu Rescue Remix'/><category term='split'/><category term='Nautilus'/><category term='Pylab'/><category term='Firefox'/><category term='Upgrade'/><category term='PostgreSQL'/><category term='Red-eye'/><category term='GParted'/><category term='Google Desktop'/><category term='LiveUSB'/><category term='QtiPlot'/><category term='Powersave'/><category term='HTML'/><category term='Posting'/><category term='Virtual Console'/><category term='openSSH'/><category term='Collaboration'/><category term='Netbook'/><category term='VNC'/><category term='Flashblock'/><category term='Databases'/><category term='cat'/><category term='Bandwidth'/><category term='TightVNC'/><category term='Xubuntu'/><category term='Rogers'/><title type='text'>Linux Living</title><subtitle type='html'>A place where I can write down my thoughts, tips, and tricks that help me live without windows on my computer. Sometimes with things to say about programming and cool software that I use.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-1239747789549047071</id><published>2010-05-03T18:24:00.002-04:00</published><updated>2010-05-03T18:26:01.895-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Powersave'/><category scheme='http://www.blogger.com/atom/ns#' term='Suspend'/><category scheme='http://www.blogger.com/atom/ns#' term='Lucid Lynx'/><title type='text'>acpitool as an Alternative Suspend Method for Ubuntu 10.04 (Lucid Lynx)</title><content type='html'>I've noticed that people still seem to be having difficulties suspending their laptops after upgrading to Ubuntu 10.04 LTS (Lucid Lynx).  I had mentioned &lt;a href="http://nixliving.blogspot.com/2010/03/workaround-for-broken-ubuntu-suspend.html"&gt;previously&lt;/a&gt; that there is a command-line tool called &lt;b&gt;powersaved&lt;/b&gt; that allowed me to put my Toshiba Satellite A200 laptop in suspend mode when the main suspend function in Ubuntu 9.10 could not.  The good news, after upgrading to Lucid Lynx, is that the main suspend function (accessed through the session management menu in Gnome-Panel) actually suspends my laptop!  The bad news is that, for those of you who are still having suspend issues after upgrading to Lucid, &lt;b&gt;powersaved&lt;/b&gt; is no longer available.&lt;br /&gt;&lt;br /&gt;To help, I set my mind to searching &lt;b&gt;Synaptic Package Manager&lt;/b&gt; for a command-line program that works like &lt;b&gt;powersaved&lt;/b&gt; but is actually available to Lucid Lynx users.  I have thus far found a very helpful little command-line program called &lt;b&gt;acpitool&lt;/b&gt;.  It's so simple to use!  Once you install it, just type &lt;span style="color: green;"&gt;sudo acpitool -s&lt;/span&gt; and your computer will go into suspend!  If you follow my directions on how to make a launcher script from my previous post regarding &lt;a href="http://nixliving.blogspot.com/2010/03/workaround-for-broken-ubuntu-suspend.html"&gt;powersaved&lt;/a&gt; then you'll also have a button to make it even easier to use this command-line tool.&lt;br /&gt;&lt;br /&gt;Hope this helps people!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-1239747789549047071?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/1239747789549047071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/05/acpitool-as-alternative-suspend-method.html#comment-form' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/1239747789549047071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/1239747789549047071'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/05/acpitool-as-alternative-suspend-method.html' title='acpitool as an Alternative Suspend Method for Ubuntu 10.04 (Lucid Lynx)'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-2982736152847129731</id><published>2010-05-02T12:30:00.003-04:00</published><updated>2010-05-02T13:23:42.206-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lucid Lynx'/><category scheme='http://www.blogger.com/atom/ns#' term='Upgrade'/><title type='text'>My Experience Upgrading to Ubuntu 10.04 LTS (Lucid Lynx)</title><content type='html'>I recently upgraded my Ubuntu 9.10 installation to Ubuntu 10.04 LTS.  At the outset of the process I was really hoping that I could just start the upgrade, leave my computer running over night, and come back to find that the upgrade all finished.  Unfortunately, I was wrong.  Throughout the upgrade process there were several points where I needed to decide whether I wanted to keep some old configuration file or overwrite it with something completely new.  Seeing as how I kept leaving my computer as it was upgrading (in the hope that it would finish automatically) only to come back and find that it wanted me to tell it what to do at these decision points, the whole process took about a day!  &lt;br /&gt;&lt;br /&gt;While it was certainly annoying to get through the upgrade, I'm very happy to report that absolutely nothing cataclysmic or annoying happened to the programs I had installed in my 9.10 installation or the data that I had accumulated.  Everything's running very smoothly: My OpenSSH server, Alpine, PostgreSQL, R, Python, Firefox and Thunderbird, and so forth.&lt;br /&gt;&lt;br /&gt;The one thing that kind of annoyed me was the messaging menu.  It's a little envelope icon that sits next to the volume icon in the Indicator Applet.  I'm not really that into microblogging, so I don't have a use for a panel applet that facilitates such functionality.  Thankfully, I learned a way of getting rid of it.  Just go into your terminal and type in &lt;span style="color: green;"&gt;sudo apt-get remove indicator-messages&lt;/span&gt;.  Once the process completes, you right click on the indicator applet (the volume icon and the envelope icon together), click on "Remove From Panel", then right click where the two icons previously were, click on "Add to Panel...", highlight the Indicator Applet and then click on "Add".  Voila!  The messaging menu is gone :)&lt;br /&gt;&lt;br /&gt;I've read numerous times of people having problems upgrading Ubuntu, versus doing a fresh install of a new version.  Thankfully in the case of upgrading to Lucid Lynx from Karmic Koala, I have seen no issues!  So, I heartily reccomend upgrading to the latest and greatest version of Ubuntu.&lt;br /&gt;&lt;br /&gt;----------------- Addendum:&lt;br /&gt;&lt;br /&gt;I mentioned &lt;a href="http://nixliving.blogspot.com/2010/03/workaround-for-broken-ubuntu-suspend.html"&gt;previously &lt;/a&gt;that Ubuntu 9.10 tended to have problems trying to suspend my Toshiba Satellite A200 laptop.&amp;nbsp; I'm happy to report that Ubuntu 10.04 does not have such problems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-2982736152847129731?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/2982736152847129731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/05/my-experience-upgrading-to-ubuntu-1004.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/2982736152847129731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/2982736152847129731'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/05/my-experience-upgrading-to-ubuntu-1004.html' title='My Experience Upgrading to Ubuntu 10.04 LTS (Lucid Lynx)'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-228436716642577624</id><published>2010-04-26T20:14:00.002-04:00</published><updated>2010-04-26T20:17:33.924-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='SimplyMEPIS'/><title type='text'>My Review of SimplyMEPIS 8.5 and Xubuntu 10.04 RC</title><content type='html'>I am soon going to be getting a perfectly functional laptop from my older brother that has a broken screen.  I want to use this laptop strictly as an easy-to-use home server computer, and so I will mostly be using it by logging into it from other computers (hence why I don't care that the screen is broken).  After the laptop was promised to me, I began looking for a debian-based distribution that would perhaps be a bit lighter on resources (and still easy to use) than Ubuntu.  I've so far tried out &lt;a href="http://distrowatch.com/table.php?distribution=mepis"&gt;SimplyMEPIS 8.5&lt;/a&gt; and &lt;a href="http://distrowatch.com/table.php?distribution=xubuntu"&gt;Xubuntu 10.04 RC&lt;/a&gt;.  In both cases I downloaded the ISO archive containing the setup files and mounted each on my USB stick as a live usb using the wonderful &lt;a href="http://unetbootin.sourceforge.net/"&gt;UNetbootin&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;SimplyMEPIS was pretty easy/harmless to install.  Once installed, I set about the task of learning the basics of getting around in its KDE 4.3.4 interface.  Having used Ubuntu for almost a year now, I am very familiar with where things are when GNOME is the main graphical interface.  Needless to say, KDE was very different for me.  One thing that really impressed me was how &lt;b&gt;very&lt;/b&gt; easy it was to set up samba network shares between my computer and my wife's computer.  This was a difficult issue for me to get around in the past using Ubuntu, which I wrote about &lt;a href="http://nixliving.blogspot.com/2009/12/permissions-samba-sharing-external-ntfs.html"&gt;earlier&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;A few things that bothered me about SimplyMEPIS: 1) I don't know why but try as I might I could not get my HP Laserjet P1505 printer to work properly!!  Whenever I tried to print something from any application, my printer would feed the paper through and not print anything on it.  It was very weird; almost like my computer had established a connection to the printer but was not sending any print data to it.  2) The distro repositories that I was using weren't so fast.  I looked for faster repos to use, but didn't find anything that impressed me like what I get in Ubuntu.  In Ubuntu you always have the option in the &lt;b&gt;Software Sources&lt;/b&gt; menu applet to select the best repository so that you get maximum download speed.  Couple with the fact that there are many repositories that offer Ubuntu updates and you get a powerful combination.  3) Okay this is a very superficial reason, but KDE makes linux too Windows-y!  No more comments on this point, hehe.&lt;br /&gt;&lt;br /&gt;Like SimplyMEPIS, Xubuntu was pretty easy/harmless to install.  Once installed, I noticed that the Xfce interface is laid out very similarly to the GNOME interface.  It's definitely a biasing factor, as it means there is less to learn.  Once I set up my &lt;b&gt;/etc/fstab&lt;/b&gt; and my &lt;b&gt;/etc/samba/smb.conf&lt;/b&gt; files to be the equivalent of the same file on my Ubuntu installation, I learned that all I had to do to set up shares from my wife's computer on my own is a quick terminal command, &lt;span style="color: green;"&gt;smbmount //servername/sharename /mountdirectory&lt;/span&gt;.  When using Ubuntu, this would normally be done through GNOME's Nautilus file browser.&lt;br /&gt;&lt;br /&gt;In Xfce, there doesn't seem to be native network share browsing, necessitating a move to the command line for setting up your desired network share mounts.  According to a post in &lt;a href="http://ubuntuforums.org/showthread.php?t=255872"&gt;Ubuntu Forums&lt;/a&gt;, you can modify your &lt;b&gt;/etc/fstab&lt;/b&gt; file so that the network share you want access to is automatically initialized when your computer starts up.  Just type in the following line (making the appropriate replacements for your situation): &lt;span style="color: green;"&gt;//servername/sharename /mountdirectory smbfs username=windowsuserename,password=windowspassword 0 0&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Finding out that Xubuntu doesn't allow easy GUI driven network browsing was a bit of a disappointment, but there are still a few things that make me believe it's the best choice of the two: 1) The Xfce interface is &lt;b&gt;really&lt;/b&gt; nice, clean, and simple looking.  Navigating through GUI elements was remarkably simple.  2) It comes with the ease of updating using the fast, expansive Ubuntu repositories.  3) Functionality in general using Xubuntu was indeed pretty fast and lightweight.&lt;br /&gt;&lt;br /&gt;So, it looks like I'll be installing Xubuntu on my brother's laptop with the broken screen.  It will be a good use of his laptop, which will as a consequence see more years than my brother ever thought.&lt;br /&gt;&lt;br /&gt;If you think I should try out any other (light-weight and easy-to-use) operating system before I get this new-old laptop, tell me your opinion!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-228436716642577624?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/228436716642577624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/04/my-review-of-simplymepis-85-and-xubuntu.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/228436716642577624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/228436716642577624'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/04/my-review-of-simplymepis-85-and-xubuntu.html' title='My Review of SimplyMEPIS 8.5 and Xubuntu 10.04 RC'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-8082993996158732642</id><published>2010-03-17T21:20:00.002-04:00</published><updated>2010-03-17T21:21:27.445-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MS Exchange'/><category scheme='http://www.blogger.com/atom/ns#' term='Thunderbird'/><category scheme='http://www.blogger.com/atom/ns#' term='Lightning'/><category scheme='http://www.blogger.com/atom/ns#' term='Email'/><category scheme='http://www.blogger.com/atom/ns#' term='Calendar'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Get your Android Phone and Thunderbird in Ubuntu to work with MS Exchange</title><content type='html'>I recently got full time employment in an organization that depends on Microsoft Exchange for all of its email and scheduling needs.  So, something that I investigated as soon as I could was how I could get my Rogers HTC Dream (a.k.a. the T-Mobile G1) and my Ubuntu Linux Laptop to connect to my new employer's MS Exchange server to receive and send emails, and to do my scheduling.&lt;br /&gt;&lt;br /&gt;I was &lt;b&gt;delightfully&lt;/b&gt; impressed with how &lt;b&gt;incredibly&lt;/b&gt; easy it was to set up my new MS Exchange-based email account on my HTC dream.  I just navigated to the &lt;b&gt;Data Synchronization&lt;/b&gt; submenu in my phone's settings menu, clicked on "Microsoft Exchange", entered in my new email address and my password, waited while it communicated with the server, and then &lt;b&gt;voila&lt;/b&gt; it finished!&lt;br /&gt;&lt;br /&gt;Unfortunately it was not that easy on Ubuntu!  It took me a week before I found any answers on the internet, but I finally got my MS Exchange email and calendar account set-up in Thunderbird.  I first tried to use Ubuntu's pre-installed Evolution Mail to connect to MS Exchange, but alas it didn't work.&lt;br /&gt;&lt;br /&gt;The solution came in the form of a &lt;b&gt;Gateway&lt;/b&gt; program called &lt;a href="http://sourceforge.net/projects/davmail/files/davmail/3.6.4/davmail_3.6.4-954-1_all.deb/download"&gt;DavMail&lt;/a&gt;.  The principle of this program is that it mediates a (POP3/IMAP/Caldav) connection between your email client and the MS Exchange server in a way that makes both parties happy.  Although I haven't tried this with a program other than Thunderbird, it should in theory work alright.&lt;br /&gt;&lt;br /&gt;Once you've downloaded and installed DavMail using the link above, make sure that you have Sun Java version 6 installed.  To do so, type in &lt;span style="color: green;"&gt;sudo apt-get install sun-java6-bin&lt;/span&gt;.  After you're finished, start up DavMail by navigating through the following Gnome menu items: &lt;b&gt;Applications &amp;gt; Internet &amp;gt; Davmail&lt;/b&gt;.  A yellow circular icon will appear in the Gnome system tray indicating that DavMail has started up.  Right-click on that icon, then click on settings, and then input your organizations &lt;b&gt;Outlook Web Access&lt;/b&gt; (OWA) address.  It may be something like &lt;i&gt;https://mail.domain.org/owa&lt;/i&gt;.  Take note of the local ports that it's opening up for various services (e.g. POP3/IMAP/Caldav) to see what ports your programs will need to use to access those services.&lt;br /&gt;&lt;br /&gt;The next step for me was enabling IMAP access to my MS Exchange email.  You can choose POP3 if you like, but IMAP will ensure that you have access to all the email folders that you regularly access at work.  The DavMail folks already set up a nice tutorial on how to set-up Thunderbird with IMAP, so go through the steps &lt;a href="http://davmail.sourceforge.net/thunderbirdimapmailsetup.html"&gt;they've already posted&lt;/a&gt; (warning, their screenshots are in French.  This shouldn't be a problem though, as their instructions are in English!).  Once you've completed those steps, go into your Thunderbird Account Settings for your new account and make sure that the port number it uses for accessing your email through IMAP is the same as the DavMail setting (the default is &lt;b&gt;1143&lt;/b&gt;).&lt;br /&gt;&lt;br /&gt;Next item of business is to set up your MS Exchange calendar through Thunderbird's Lightning extension.  Again, the DavMail folks have covered the steps to do these so do &lt;a href="http://davmail.sourceforge.net/thunderbirdcalendarsetup.html"&gt;read what they've posted&lt;/a&gt;.  Now you should have access to your email and calendar from Thunderbird at home!&lt;br /&gt;&lt;br /&gt;The caveat to all of this is that, as a Gateway program, DavMail has to be running for you to communicate with your employer's MS Exchange server.  So, be sure to start up DavMail if you want to check your MS Exchange email/calendar. It would be nice if this functionality was native in Thunderbird, but oh well.  At least these steps allow you to use Thunderbird at all!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-8082993996158732642?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/8082993996158732642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/03/get-your-android-phone-and-thunderbird.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/8082993996158732642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/8082993996158732642'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/03/get-your-android-phone-and-thunderbird.html' title='Get your Android Phone and Thunderbird in Ubuntu to work with MS Exchange'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-1493776653252347389</id><published>2010-03-06T20:03:00.002-05:00</published><updated>2010-03-06T20:06:25.849-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Powersave'/><category scheme='http://www.blogger.com/atom/ns#' term='Toshiba Satellite'/><category scheme='http://www.blogger.com/atom/ns#' term='Suspend'/><title type='text'>Workaround for broken Ubuntu Suspend functionality in your Toshiba Satellite</title><content type='html'>Lately I've been noticing that my Toshiba Satellite A200 Laptop, on which I'm running Ubuntu 9.10, simply won't go into Suspend-mode properly.  I did some googling and found out that there's an alternative program you can download to put your computer in suspend mode called &lt;a href="http://powersave.sourceforge.net/powersave/index.html"&gt;Powersave&lt;/a&gt;.  Its use is remarkably easy and I'm happy to report that it is managing to put my laptop in suspend when the regular suspend in Ubuntu can not manage.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Usage&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Go into your terminal and type in: &lt;span style="color: green;"&gt;powersave -u&lt;/span&gt;.  That's it!!  It is also technically supposed to be able to put your computer in hibernate by typing in &lt;span style="color: green;"&gt;powersave -U&lt;/span&gt;, but it simply doesn't work on my computer for some reason.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Installation&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you are having similar problems as I am and want to install this program, either go to &lt;b&gt;Synaptic Package Manager&lt;/b&gt; and look for and install &lt;b&gt;powersaved&lt;/b&gt;, or go to your terminal and type in &lt;span style="color: green;"&gt;sudo apt-get install powersaved&lt;/span&gt;.  You can make it even easier on yourself by creating a shell script containing the powersave command with the suspend argument.  Simply navigate in Nautilus to the directory where you want to create your shell script, right click on the background of that directory's window, click on &lt;b&gt;Create Document &amp;gt; Empty File&lt;/b&gt;, and then add the following into the empty document:&lt;br /&gt;&lt;div style="color: #38761d;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #38761d;"&gt;#! /bin/bash&lt;/div&gt;&lt;div style="color: #38761d;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #38761d;"&gt;powersave -u&lt;/div&gt;&lt;br /&gt;When you're done, save it with a filename such as &lt;b&gt;suspend.sh&lt;/b&gt;, and then create a launcher that activates your script.  I right-clicked on my upper Gnome-Panel and clicked on &lt;b&gt;Add To Panel... &amp;gt; Custom Application Launcher&lt;/b&gt;, entered in "Suspend" in the name field, &lt;b&gt;sh /home/inkhorn/Scripts/suspend.sh&lt;/b&gt; in the command field, and chose a custom icon to represent the launcher on my panel.  &lt;br /&gt;&lt;br /&gt;Now all I have to do is click on my newly created launcher button on my Gnome-Panel and my computer goes into Suspend mode like it should!  You of course don't need to go through the trouble to make a button for this on your Gnome-Panel like I have, but it certainly saves typing in the long run.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-1493776653252347389?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/1493776653252347389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/03/workaround-for-broken-ubuntu-suspend.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/1493776653252347389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/1493776653252347389'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/03/workaround-for-broken-ubuntu-suspend.html' title='Workaround for broken Ubuntu Suspend functionality in your Toshiba Satellite'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-8461641443474037528</id><published>2010-02-25T22:22:00.003-05:00</published><updated>2010-02-25T22:26:45.981-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flashblock'/><category scheme='http://www.blogger.com/atom/ns#' term='Advertisements'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Block image and flash-based advertisements in Firefox</title><content type='html'>One of my biggest pet peeves about browsing through my daily regimen of websites is the advertisements that I come across.  Usually they are something about "getting ripped" in 3 weeks or whitening your teeth.  I'm not the kind of person who can just ignore things like that so easily, so anything that takes away those annoying advertisements is like candy to me.  Enter in Firefox's native image-blocking abilities, and &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/433"&gt;Flashblock&lt;/a&gt;.  Behold the following screenshot of a web-site and look at all the wonderful, advertisement-free white-space:&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://lh3.ggpht.com/_SLATbuFg4qM/S4c-hvbti5I/AAAAAAAAALA/J4RAZTEPi-Q/screenshot_057.png"&gt;&lt;img align="middle" border="0" src="http://lh3.ggpht.com/_SLATbuFg4qM/S4c-hvbti5I/AAAAAAAAALA/J4RAZTEPi-Q/screenshot_057.png" width="90%" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;The lack of stuff to fill in the white-space may scream out at you, but it's a huge relief to me.  With Firefox and Flashblock, locking image-based or flash-based advertisements is a cinch!  For image-based advertisements, all you have to do is right click on the image, and then click on &lt;b&gt;Block images from ...&lt;/b&gt; and you're set.  For flash-based advertisements, Flashblock basically turns all instances of Flash on websites into buttons that you can click on if the Flash is a functional part of the website.  If you want to get rid of the button altogether, all you have to do is right click on it and then click on &lt;b&gt;Remove Flash&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img align="middle" border="0" height="296" src="http://lh4.ggpht.com/_SLATbuFg4qM/S4c-h0tRdUI/AAAAAAAAALE/2_LKyjAerhU/Remove%20Flash.png" width="222" /&gt;&lt;/center&gt;&lt;br /&gt;That's all!  Enjoy surfing with no advertisements :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-8461641443474037528?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/8461641443474037528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/02/block-image-and-flash-based.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/8461641443474037528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/8461641443474037528'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/02/block-image-and-flash-based.html' title='Block image and flash-based advertisements in Firefox'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_SLATbuFg4qM/S4c-hvbti5I/AAAAAAAAALA/J4RAZTEPi-Q/s72-c/screenshot_057.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-5141613985053481180</id><published>2010-02-23T20:49:00.002-05:00</published><updated>2010-02-23T20:52:26.860-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wireless'/><category scheme='http://www.blogger.com/atom/ns#' term='WICD'/><category scheme='http://www.blogger.com/atom/ns#' term='Network Manager'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Wireless just works better with WICD than Gnome Network Manager</title><content type='html'>As I mentioned in my post about getting Ubuntu to &lt;a href="http://nixliving.blogspot.com/2010/02/start-your-wireless-connection-on-boot.html"&gt;start your wireless connection before login&lt;/a&gt;, &lt;b&gt;Gnome Network Manager&lt;/b&gt; has to be uninstalled so that Ubuntu will rely on your &lt;b&gt;/etc/network/interfaces&lt;/b&gt; file to start up your wireless connection.  This worked great for me and my Ubuntu laptop until I started having to take my laptop away from home and use other wireless networks.  In order to connect to other wireless networks, I would have to set my &lt;b&gt;/etc/network/interfaces&lt;/b&gt; file so that my wlan0 interface relied on dhcp instead of static settings.  I would then have to re-initialize my networking settings and then use the command-line to scan for dhcp requests on my wireless interface.  This was no good!&lt;br /&gt;&lt;br /&gt;To remedy the situation, I discovered another graphical network manager called &lt;a href="http://wicd.sourceforge.net/"&gt;WICD&lt;/a&gt;.  The version in the Ubuntu repositories was actually a bit buggy, so I went directly to the &lt;a href="https://launchpad.net/wicd"&gt;WICD launchpad website&lt;/a&gt; and downloaded the &lt;a href="http://launchpad.net/wicd/1.7/1.7.0/+download/wicd-1.7.0.tar.gz"&gt;latest release&lt;/a&gt; (version 1.7.0).  I've tested it out at home and away and I can now say that it works quite nicely.  WICD allows Ubuntu to start up my wireless connection before the Login screen.  It also allows me to connect to other wireless networks despite the settings in my &lt;b&gt;/etc/network/interfaces&lt;/b&gt; file.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img align="middle" border="0" height="60" src="http://lh5.ggpht.com/_SLATbuFg4qM/S4SFwTo_BZI/AAAAAAAAAK0/8YWsl0jJnj4/screenshot_049.png" width="278" /&gt;&lt;/center&gt;&lt;br /&gt;As you can see above, WICD puts an icon in your system tray with a green indicator bar that tells you how good your signal is.  If you hover your mouse over the icon it tells you what network you're connected to, what percentage signal strength you have, and what your IP address is.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img align="middle" border="0" height="645" src="http://lh5.ggpht.com/_SLATbuFg4qM/S4SFwnYaMQI/AAAAAAAAAK4/wCyKJcPXItk/screenshot_053.png" width="538" /&gt;&lt;/center&gt;&lt;br /&gt;Above is the window that pops up when you left click on the WICD icon in the system tray.  As you can see, the window contains information about all available wireless network SSIDs in your vicinity, how strong the signal is to those networks, and what type of encryption (if any) protects each network.  You can click on the properties button for any network that you want to connect to if you have to put in a wireless encryption key.  The screen that pops up follows&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img align="middle" border="0" height="626" src="http://lh3.ggpht.com/_SLATbuFg4qM/S4SFxJ0mxnI/AAAAAAAAAK8/i1wBy6jQGeQ/screenshot_054.png" width="425" /&gt;&lt;/center&gt;&lt;br /&gt;Once you're ready, you can click on the &lt;b&gt;Connect&lt;/b&gt; button and you're on your way!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Setting Up WICD&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;As I mentioned above, I first installed WICD from the Ubuntu Repositories.  I think this forced my computer to install all the appropriate dependencies so that the newer version could work.  When you download the &lt;a href="http://launchpad.net/wicd/1.7/1.7.0/+download/wicd-1.7.0.tar.gz"&gt;newer version&lt;/a&gt;, extract it to whatever directory you want.  Then, open up your terminal, navigate to the directory with the WICD setup files that you just extracted, and type in &lt;span style="color: green;"&gt;sudo python setup.py install&lt;/span&gt;.  Now, when you restart your computer, you should see WICD in your system tray ready to do your bidding.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-5141613985053481180?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/5141613985053481180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/02/wireless-just-works-better-with-wicd.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/5141613985053481180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/5141613985053481180'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/02/wireless-just-works-better-with-wicd.html' title='Wireless just works better with WICD than Gnome Network Manager'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_SLATbuFg4qM/S4SFwTo_BZI/AAAAAAAAAK0/8YWsl0jJnj4/s72-c/screenshot_049.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-8968198646568264453</id><published>2010-02-11T20:11:00.002-05:00</published><updated>2010-02-11T20:14:21.461-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dpkg'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenOffice'/><title type='text'>Install OpenOffice 3.2 in Ubuntu!</title><content type='html'>Today I checked the &lt;a href="http://www.openoffice.org/"&gt;openoffice.org website&lt;/a&gt; to see if OO 3.2 was released yet.  I discovered it was, and decided to download and try to install it.  I think this is the first time that I've tried to completely remove one installation of OpenOffice in Ubuntu and install another.  If you'd like to do the same and check out the new OpenOffice, here are the steps I used:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Choose a &lt;a href="http://distribution.openoffice.org/mirrors/#mirrors"&gt;mirror site&lt;/a&gt; to download an Archive containing the appropriate OpenOffice.org installation for your system&lt;/li&gt;&lt;li&gt;Once you've downloaded the archive, extract it to your directory of choice&lt;/li&gt;&lt;li&gt;Navigate to that directory in your terminal&lt;/li&gt;&lt;li&gt;Now, remove all packages in your system associated with OpenOffice by typing in &lt;span style="color: green;"&gt;sudo apt-get remove openoffice*&lt;/span&gt;.  For some reason this removed &lt;b&gt;alpine&lt;/b&gt; from my system.  It was easy enough to reinstall alpine and I discovered that none of my settings were lost.  Do take note of what your system removes using the previous command&lt;/li&gt;&lt;li&gt;Now, navigate to the &lt;b&gt;DEBS&lt;/b&gt; subfolder of your openoffice setup directory&lt;/li&gt;&lt;li&gt;Install all openoffice packages by typing in &lt;span style="color: green;"&gt;sudo dpkg -i --force-overwrite *deb&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Finally, navigate to the &lt;b&gt;dekstop-integration&lt;/b&gt; subfolder of the &lt;b&gt;DEBS&lt;/b&gt; directory and type in &lt;span style="color: green;"&gt;sudo dpkg -i --force-overwrite *deb&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;Now you will have the new stable OpenOffice Suite version 3.2 installed on your Ubuntu system!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-8968198646568264453?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/8968198646568264453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/02/install-openoffice-32-in-ubuntu.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/8968198646568264453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/8968198646568264453'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/02/install-openoffice-32-in-ubuntu.html' title='Install OpenOffice 3.2 in Ubuntu!'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-2956254387337928498</id><published>2010-02-09T09:02:00.003-05:00</published><updated>2010-02-11T22:26:33.659-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Command Line'/><category scheme='http://www.blogger.com/atom/ns#' term='Wireless'/><category scheme='http://www.blogger.com/atom/ns#' term='openSSH'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='Network Manager'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Start your wireless connection before Ubuntu login</title><content type='html'>Recently I started asking myself how I could get Ubuntu to forge its wireless connection (with WEP encryption) to my router without having to log-in through the GUI.  I noticed that the default way of logging in through the GUI and then having a wireless connection available was limiting for two reasons: (1) If I wanted to be able to connect to my openSSH server then I needed to be logged in, and (2) If there was something wrong with the GUI and I had to log-in through the command line then I wouldn't have internet access.&lt;br /&gt;&lt;br /&gt;So I started looking around on the net.  Most pages that I found showed messageboard threads suggesting modifications to the &lt;b&gt;/etc/network/interfaces&lt;/b&gt; file.  This is the file that is supposed to tell your Linux system what to do with your network interfaces at boot-up.  I tried to modify it so that my wireless card would start-up with a static IP at boot-up, but no matter how I changed this file, nothing worked.&lt;br /&gt;&lt;br /&gt;Finally, I decided to &lt;a href="http://ubuntuforums.org/showthread.php?t=1401075"&gt;ask a question on ubuntuforums&lt;/a&gt;.  I found out that &lt;b&gt;Gnome Network Manager&lt;/b&gt;, the program in Ubuntu which manages all your wired and wireless network connections, works terribly with the settings in the &lt;b&gt;/etc/network/interfaces&lt;/b&gt; file.  In other words, if you want Ubuntu to start your wireless connection at bootup instead of after login, you have to get rid of Gnome Network Manager!&lt;br /&gt;&lt;br /&gt;So, on the advice of &lt;i&gt;chili555&lt;/i&gt; from ubuntuforums, I got rid of Gnome Network Manager by typing in &lt;span style="color: green;"&gt;sudo apt-get remove --purge network-manager&lt;/span&gt; and modified my &lt;b&gt;/etc/network/interfaces&lt;/b&gt; file to look like the following (SSID and WEP key changed for privacy):&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;auto lo&lt;br /&gt;iface lo inet loopback&lt;br /&gt;&lt;br /&gt;auto wlan0&lt;br /&gt;iface wlan0 inet static&lt;br /&gt;address 192.168.2.11&lt;br /&gt;netmask 255.255.255.0&lt;br /&gt;gateway 192.168.2.1&lt;br /&gt;wireless-essid MYSSID&lt;br /&gt;wireless-key 12345678912345678912345678&lt;br /&gt;&lt;br /&gt;iface eth0 inet dhcp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, every time I start my computer, my wireless connection is available before login so that I can login to my openSSH server or go to the command-line without logging in to the GUI!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-2956254387337928498?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/2956254387337928498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/02/start-your-wireless-connection-on-boot.html#comment-form' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/2956254387337928498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/2956254387337928498'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/02/start-your-wireless-connection-on-boot.html' title='Start your wireless connection before Ubuntu login'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-3995860105557912526</id><published>2010-02-04T11:03:00.003-05:00</published><updated>2010-02-04T11:06:22.754-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='openSSH'/><category scheme='http://www.blogger.com/atom/ns#' term='Email'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Alpine'/><category scheme='http://www.blogger.com/atom/ns#' term='Gmail'/><category scheme='http://www.blogger.com/atom/ns#' term='Shell'/><title type='text'>Alpine, Gmail, and SSH.  How to make your computer send emails when you're not there!</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Out of the many things I've learned in the past half year about using Linux, I find the concept of remote access of my computer through SSH to be the coolest.&amp;nbsp; Periodically I will be away from home, and I'll realize that I need access to some file on my computer so that I can send it to someone.&amp;nbsp; I recently learned how to set up a &lt;span style="font-weight: bold;"&gt;Secure Shell Server&lt;/span&gt; on my Ubuntu Linux laptop that I can access from my Android cell phone using an Android app called &lt;a href="http://code.google.com/p/connectbot/" target="_blank"&gt;ConnectBot&lt;/a&gt;.&amp;nbsp; Once I get into my computer, I can then open up a fantastic text-mode email program called &lt;a href="http://staff.washington.edu/chappa/alpine/alpine-info/" target="_blank"&gt;Alpine&lt;/a&gt; and compose emails with files attached right from my computer's hard drive and then send them through my Gmail account.&amp;nbsp; Nothing makes me feel more like a huge nerd than this!&lt;br /&gt;&lt;br /&gt;Here's how I set up an SSH server and then install Alpine with access to my Gmail account (my Gmail is setup to check and respond from 2 additional email addresses, so the instructions are tailored to that scenario):&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Setting up openSSH&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;First you need to install the openSSH server.&amp;nbsp; Easily enough you just have to type in &lt;span style="color: #33cc00;"&gt;sudo apt-get install openssh-server &lt;span style="color: black;"&gt;into your terminal to get the server.&amp;nbsp; Amazingly, it's ready right away to be used! &amp;nbsp;&lt;/span&gt;&lt;/span&gt; I wanted the SSH server to use a different port than the default (port 22), so I opened up &lt;span style="font-weight: bold;"&gt;/etc/ssh/sshd_config &lt;/span&gt;and changed the port number on the 5th line to something that was wacky enough not to be predictable.&lt;br /&gt;&lt;br /&gt;Next came two considerations: (1) I'm behind a router, and therefore needed to set-up port forwarding so that I'd be able to access my openSSH server remotely.&amp;nbsp; If you have a router and forget this step then prepare for lots of frustration!&amp;nbsp; (2) Even having port-forwarding set-up, who wants to remember and type in an IP address so that you can connect to your server?&amp;nbsp; So I needed to sign up for a free dynamic hosting service that would give me a constant host name regardless of my IP address.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Setting up Dynamic DNS hosting&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;I found a great tutorial on the Ubuntu Help Site for setting up &lt;a href="https://help.ubuntu.com/community/DynamicDNS" target="_blank"&gt;Dynamic DNS hosting&lt;/a&gt; for your computer.&amp;nbsp; Basically, I went to &lt;a href="http://www.dyndns.com/" target="_blank"&gt;DynDNS&lt;/a&gt;, set-up an account for my computer, and then followed the instructions on the above-mentioned &lt;a href="https://help.ubuntu.com/community/DynamicDNS" target="_blank"&gt;Ubuntu Help Site&lt;/a&gt; to install and configure &lt;span style="font-weight: bold;"&gt;ddclient&lt;/span&gt;.&amp;nbsp; ddclient will periodically send updates to DynDNS so that the hostname they provide you with always points to your IP address.&amp;nbsp; When you're done configuring all of this, you will then have a host-name pointing to your computer such as tommy.gotdns.com.&amp;nbsp; That's a lot easier to remember than 40.831.391.33 right?&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Initial installation and set-up of Alpine&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;Next I set-up Alpine.&amp;nbsp; Installing it was easy enough: &lt;span style="color: #33cc00;"&gt;sudo apt-get install alpine&lt;span style="color: black;"&gt;.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;Once it's installed, you have to set it up to work with your Gmail account.&amp;nbsp; Refer to &lt;a href="https://www.cs.virginia.edu/%7Ecsadmin/wiki/index.php/Setting_up_Pine_%28Alpine%29_for_IMAP_Gmail" target="_blank"&gt;this tutorial&lt;/a&gt; from the University of Virginia for a tutorial on how to do that.&amp;nbsp; Be sure that when you're in the &lt;span style="font-weight: bold;"&gt;Config &lt;/span&gt;screen of Alpine, look for the field named &lt;span style="font-weight: bold;"&gt;Inbox Path&lt;/span&gt; and enter in the following: &lt;span style="color: #33cc00;"&gt;imap.gmail.com/ssl/user=username@gmail.com&lt;/span&gt; .&amp;nbsp; Be sure to replace 'username' with your own Gmail account username.&amp;nbsp; This will make sure that when you start-up Alpine and go into your Message Index, you will see the emails in your Gmail Inbox right away, instead of having to navigate to that inbox.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Configuring Alpine to send emails using different 'From' email addresses&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Now, when I reply to emails that I've picked up using my Gmail account, I usually want to reply using different email accounts.&amp;nbsp; When you're only using the web-based Gmail checker, it allows you to respond using the account that the email was downloaded from.&amp;nbsp; I wanted to have that same functionality in Alpine.&amp;nbsp; This is where the Alpine concept of a &lt;span style="font-weight: bold;"&gt;Role &lt;/span&gt;comes in handy.&amp;nbsp; From the main screen of alpine, type the following keys (don't type the triangular brackets): &lt;span style="font-weight: bold;"&gt;S &amp;gt; R &amp;gt; R &amp;gt; A&lt;/span&gt; .&amp;nbsp; This will bring you to a screen that allows you to set-up the conditions under which Alpine will let you send an email using a different &lt;span style="font-weight: bold;"&gt;From &lt;/span&gt;email address.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;First, set a nickname up for your role; maybe the name of your email provider (i.e. Sympatico).&amp;nbsp;&amp;nbsp;&amp;nbsp; Next, under &lt;span style="font-weight: bold;"&gt;Current Message Conditions&lt;/span&gt; and beside &lt;span style="font-weight: bold;"&gt;To Pattern&lt;/span&gt; put one of the (or the only) email address(es) that Gmail is checking for you (e.g. bill@sympatico.ca).&amp;nbsp; This creates an expectation that whenever this email address is in the the &lt;span style="font-weight: bold;"&gt;To &lt;/span&gt;field of an email, Alpine will do whatever you tell it in your role.&lt;br /&gt;&lt;br /&gt;Then, under &lt;span style="font-weight: bold;"&gt;Actions Begin Here&lt;/span&gt; and beside &lt;span style="font-weight: bold;"&gt;Set From&lt;/span&gt; put your name and then email address that Gmail is checking for you (e.g. Bill Nye &amp;lt;bill@sympatico.ca&amp;gt;).&lt;br /&gt;&lt;br /&gt;Finally, under &lt;span style="font-weight: bold;"&gt;Uses Begin Here &lt;/span&gt;you need to make the following changes (if necessary): (1) Under &lt;span style="font-weight: bold;"&gt;Reply Use =&lt;/span&gt; make sure to highlight and press enter on &lt;span style="font-weight: bold;"&gt;Without Confirmation&lt;/span&gt; and (2) Under &lt;span style="font-weight: bold;"&gt;Compose Use =&lt;/span&gt; make sure to highlight and press enter on &lt;span style="font-weight: bold;"&gt;With Confirmation&lt;/span&gt;.&amp;nbsp; This will make it so that if someone emails you at bill@sympatico.ca, when you reply to that email, Alpine will automatically put bill@sypmpatico.ca in the &lt;span style="font-weight: bold;"&gt;From &lt;/span&gt;email address and not bill@gmail.com.&lt;br /&gt;&lt;br /&gt;When you're done, you can press &lt;span style="font-weight: bold;"&gt;E &lt;/span&gt;to exit the Role set-up.&amp;nbsp; If you check two email accounts through Gmail like me, press &lt;span style="font-weight: bold;"&gt;A &lt;/span&gt;once more when you're in the &lt;span style="font-weight: bold;"&gt;Setup Role Rules &lt;/span&gt;screen in alpine and repeat the above instructions to set-up a role for your other email account.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Saving your Gmail password in Alpine so that it doesn't prompt you all the time&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;Finally, you'll probably be annoyed with entering in your Gmail password every time you start up Alpine.&amp;nbsp; Thanks to a helpful user on &lt;a href="http://ubuntuforums.org/showthread.php?t=710101" target="_blank"&gt;Ubuntu Forums&lt;/a&gt;, I found out a simple way of making Alpine save your password.&amp;nbsp; Open up your terminal, change directories to your home directory, &lt;span style="color: #33cc00;"&gt;cd ~/&lt;span style="color: black;"&gt;, and then type in &lt;/span&gt;&lt;span style="color: #33cc00;"&gt;touch .pine-passfile&lt;span style="color: black;"&gt;.&amp;nbsp; After that, run Alpine.&amp;nbsp; It will ask you for your password on start-up, and on sending an email, only to save your password indefinitely so that you no longer have to type in your password all the time.&lt;br /&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #33cc00;"&gt;&lt;span style="color: #33cc00;"&gt;&lt;span style="color: black;"&gt;&lt;b&gt; &lt;/b&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: #33cc00;"&gt;&lt;span style="color: black;"&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #33cc00;"&gt;&lt;span style="color: black;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;div style="color: black;"&gt;Wow, those were a lot of very little steps which, put together, seem mountainous.&amp;nbsp; However, now I can punch in my dynamic DNS hostname into ConnectBot on my Android cell phone, access Alpine and send emails with files attached right from my computer's hard drive!&amp;nbsp; I also like that I can update my databases on the fly with important personal info, manage, and even turn my computer off from afar.&amp;nbsp; It's quite neat and if you're into feeling nerdy, I highly recommend getting your own openssh server configuration.&lt;/div&gt;&lt;span style="color: #33cc00;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="color: #33cc00;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: #33cc00;"&gt;&lt;span style="color: #33cc00;"&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-3995860105557912526?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/3995860105557912526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/02/alpine-gmail-and-ssh-how-to-make-your.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/3995860105557912526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/3995860105557912526'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/02/alpine-gmail-and-ssh-how-to-make-your.html' title='Alpine, Gmail, and SSH.  How to make your computer send emails when you&amp;#39;re not there!'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-9020839012458793733</id><published>2010-01-28T21:43:00.002-05:00</published><updated>2010-01-28T21:47:12.991-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Databases'/><category scheme='http://www.blogger.com/atom/ns#' term='PostgreSQL'/><title type='text'>Making Numeric Row Identifiers in PostgreSQL</title><content type='html'>Around a month ago I started to learn how to use &lt;a href="http://www.postgresql.org/"&gt;PostgreSQL&lt;/a&gt; to create, maintain, and query databases.  It wasn't hard to find things in my personal life that were appropriate for databasing: Job applications, Hydroelectricity usage/charges, usernames and passwords.  Putting data from these aspects of my life into databases has given me some great practice using a query language.  &lt;br /&gt;&lt;br /&gt;The thing about databasing that really trips me up is the concept of indexing.  Depending on how you query (search) your database, any one record (row) in your database could show up in the 11th, 27th, 1st or 99th row of your query results.  Hence, trying to access the record in which you stored your facebook username and password by its absolute row number just won't work.  That's a concept for Python and not PostgreSQL (please correct me if I'm wrong!).  What you can do however is assign each of your database records a unique numerical identifier and so any time you need to modify a single row, you can refer to it by its identifier no matter what the content in the other fields of that record.&lt;br /&gt;&lt;br /&gt;What I wish I knew when I made my database is that it is REALLY easy to create a type of column in your table that automatically assigns unique numerical identifiers to your records when you insert new values into the table.  When you're making the table in your database, declare your id column as type SERIAL.  Then when inserting new values into your table, all you have to do is enter the word &lt;b&gt;DEFAULT&lt;/b&gt; in place of a number that you would come up with yourself.  The number id in the SERIAL column type seems to start at 1 by default, obviously incrementing by 1.  Nice and simple.  Following is an example:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;CREATE TABLE test (&lt;br /&gt;blah SERIAL&lt;br /&gt;yadda varchar(50)&lt;br /&gt;);&lt;br /&gt;INSERT INTO test VALUES(DEFAULT, 'hello');&lt;br /&gt;INSERT INTO test VALUES(DEFAULT, 'goodbye');&lt;br /&gt;&lt;br /&gt;SELECT * FROM test;&lt;br /&gt;blah |  yadda  &lt;br /&gt;------+---------&lt;br /&gt;1 | hello&lt;br /&gt;2 | goodbye&lt;br /&gt;(2 rows)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In my situation, I didn't seem to be able to make a SERIAL column for my existing table, or convert a column I already had.  So, I needed a way of generating unique numerical identifiers after 100 records had already been inputted.  I found two solutions (if there are others, please tell) to work for me.  First the easy solution:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;ALTER TABLE &lt;i&gt;tablename&lt;/i&gt; SET WITH OIDS;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;OIDS stands for &lt;b&gt;Object Identifiers&lt;/b&gt;.  When you use the above statement, PostgreSQL assigns a unique numerical identifier to each row in your table.  This solution didn't look as clean to me as the scenario where the SERIAL type column was made when the table was made.  The raw value that the OIDS in my table start at 16522, which is a little weird.  I think this might be due to data that I have in other databases on my computer, but I can't be sure right now.  The bonus is that the OIDS seem to have been assigned roughly according to the order in which I inputted these records into the table in my database.  Thus it's a simple solution and allows me to refer to any one record by a simple unique identifier.  I've read that the raw value of these OIDS will wrap around to something very small after you reach about 4 billion records.  I don't feel in danger of that using PostgreSQL for personal matters though!&lt;br /&gt;&lt;br /&gt;The next solution was more difficult, but gave me nicer results.  First you need to figure out how you want to order the records in your database.  I wanted to order them by date, so let's call my record dating column &lt;b&gt;rdate&lt;/b&gt;.  Unfortunately, many records were inputted on the same date, which means if I only relied on the date for ordering, I would get many records having the same numerical index.  So, you have to take advantage of as many additional fields in your table that will make your record unique, and ensure that the following process results in as many different numerical identifiers as there are records.  Let's say that in addition to specifying &lt;b&gt;rdate&lt;/b&gt; as your ordering column, you also specify columns &lt;b&gt;yadda,&lt;/b&gt; and &lt;b&gt; blah&lt;/b&gt;.  Also, your id variable is simply named &lt;b&gt;id&lt;/b&gt;.  You would then define the following function in PostgreSQL (my reference for this function comes from a &lt;a href="http://archives.postgresql.org/pgsql-sql/2005-04/msg00379.php"&gt;pgsql mailing list posting&lt;/a&gt;):&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;CREATE OR REPLACE FUNCTION reorder_table() RETURNS INTEGER AS '&lt;br /&gt;&lt;br /&gt;DECLARE&lt;br /&gt;newcode INTEGER ;&lt;br /&gt;table_record RECORD ;&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;newcode := 1 ;&lt;br /&gt;&lt;br /&gt;FOR tablerecord IN SELECT * FROM tablename ORDER BY rdate LOOP&lt;br /&gt;&lt;br /&gt;UPDATE tablename SET id = newcode&lt;br /&gt;WHERE rdate = table_record.rdate AND yadda = table_record.yadda AND blah = table_record.blah;&lt;br /&gt;&lt;br /&gt;newcode := newcode + 1 ;&lt;br /&gt;&lt;br /&gt;END LOOP ;&lt;br /&gt;&lt;br /&gt;RETURN 1;&lt;br /&gt;END;&lt;br /&gt;' LANGUAGE plpgsql;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once you've entered this in, all you have to do is call your function through a simple statement: &lt;span style="color: green;"&gt;SELECT reorder_table();&lt;/span&gt;.  If your inclusion of &lt;b&gt;yadda&lt;/b&gt; and &lt;b&gt;blah&lt;/b&gt; made each record in your table unique enough, then you will now have numerical identifiers ranging from 1 to the total number of records in your table!  Of course if you want your numerical identifiers to be assigned according to the order of a different column in your table, replace &lt;b&gt;rdate&lt;/b&gt; in the &lt;b&gt;SELECT&lt;/b&gt; statement in the above function with the column name that you want as your ordering column.  &lt;br /&gt;&lt;br /&gt;What I like about using the OIDS in my situation is that the identifers are automatically generated, whereas I would need to run the above function every time I update the table in my database in order that every record has an identifier.  Suffice it to say that in the future, I will create a SERIAL type column next time I need identifiers like this!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-9020839012458793733?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/9020839012458793733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/01/making-numeric-row-identifiers-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/9020839012458793733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/9020839012458793733'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/01/making-numeric-row-identifiers-in.html' title='Making Numeric Row Identifiers in PostgreSQL'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-4890717502479777008</id><published>2010-01-27T09:56:00.002-05:00</published><updated>2010-01-27T09:58:12.984-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rogers'/><category scheme='http://www.blogger.com/atom/ns#' term='HTC Dream'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Update your Rogers HTC Dream from Ubuntu</title><content type='html'>As with everybody else who owns an HTC dream/magic from Rogers, I recently started to get pestered to apply a software update to my phone so that I could safely call 911 and still be able to use my data plan.  Most times I'm a pretty lazy person, and so I only got around to doing this AFTER Rogers took my data connection away from my phone.  When I looked into it at first, it looked like the phone update could only be done using Windows software.  Well that's a big problem for me because, as you know, I only use Ubuntu Linux on my computer!&lt;br /&gt;&lt;br /&gt;I ended up speaking with a Rogers representative on the phone and asked her what Mac users are doing about this software update, thinking that the solution for them might be good for me too.  It turns out it was, and now my phone is updated and back to full functionality.  Of course all the programs I previously downloaded to the phone from the Market are gone, but I don't care much.  Here is what you need to do to update your phone without HTC's annoying Windows software:&lt;br /&gt;&lt;br /&gt;1. First you have to download a zip file containing the update (just a single file really, &lt;a href="http://downloads.rogers.com/wireless/hardware/andy/stuff/HTC_Dream_Update.zip"&gt;click here for the file&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;2. Connect the HTC dream to your linux machine via USB, pull down the notification area, press your finger on the &lt;b&gt;USB connected&lt;/b&gt; notification, and press &lt;b&gt;Mount&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;3. Now you'll see a notification that you've connected a media device on Ubuntu (or whatever other graphical form of linux you use).  Tell your computer to open up the folder of the connected device.&lt;br /&gt;&lt;br /&gt;4. Extract the contents of the zip file you downloaded in step 1 to the root of your HTC dream's microSD card.&lt;br /&gt;&lt;br /&gt;5. Now turn off your HTC dream.&lt;br /&gt;&lt;br /&gt;6. Once your HTC dream is off, press and hold 2 buttons together: the Camera button and the Power button.&lt;br /&gt;&lt;br /&gt;7. After a few moments your HTC dream's screen should show something similar to the picture below.  When you see that on your screen, press the trackball (Action) button.&lt;br /&gt;&lt;br /&gt;&lt;img align="middle" border="0" height="500" src="http://lh6.ggpht.com/_SLATbuFg4qM/S2BUG47GYII/AAAAAAAAAJ4/cp5aRrAJOB4/hboot.jpg" width="375" /&gt;&lt;br /&gt;&lt;br /&gt;8. When the HTC dream tells you that it's finished, it will ask you to press the Action button to reboot.  Press the trackball when that happens and you're done!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-4890717502479777008?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/4890717502479777008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/01/update-your-rogers-htc-dream-from_27.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/4890717502479777008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/4890717502479777008'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/01/update-your-rogers-htc-dream-from_27.html' title='Update your Rogers HTC Dream from Ubuntu'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_SLATbuFg4qM/S2BUG47GYII/AAAAAAAAAJ4/cp5aRrAJOB4/s72-c/hboot.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-1899403524798809892</id><published>2010-01-24T19:15:00.009-05:00</published><updated>2010-01-28T21:48:21.487-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Plotting'/><category scheme='http://www.blogger.com/atom/ns#' term='Pylab'/><category scheme='http://www.blogger.com/atom/ns#' term='QtiPlot'/><category scheme='http://www.blogger.com/atom/ns#' term='R Statistical Computing Environment'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Pylab, R, and QtiPlot Plotting Compared</title><content type='html'>Today I want to compare and contrast the plotting of statistical graphics in three very neat software packages freely available: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://matplotlib.sourceforge.net/"&gt;Pylab&lt;/a&gt; via &lt;a href="http://ipython.scipy.org/moin/"&gt;Ipython&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The &lt;a href="http://cran.r-project.org/"&gt;R Statistical Computing Environment&lt;/a&gt; and&lt;/li&gt;&lt;li&gt;&lt;a href="http://soft.proindependent.com/qtiplot.html"&gt;QtiPlot&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;First we'll take a look at the raw table of numbers to be plotted, I'll show you the resultant plots, and finally I'll show you the code or steps necessary to get to those plots.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img align="middle" border="0" height="159" src="http://lh5.ggpht.com/_SLATbuFg4qM/S1ziYhbe_gI/AAAAAAAAAJI/uVV-0_og_us/data.png" width="307" /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;In the sample dataset above, I've included an "X Axis" column composed of 7 integers simply called X.  I've also included two Y columns of means and two columns containing the &lt;a href="http://en.wikipedia.org/wiki/Standard_error_%28statistics%29"&gt;Standard Errors&lt;/a&gt; of the datasets from which those means came.  My plotting aim was to create a plot containing two lines describing the two Y columns and error bars matching the values from the two Standard Error columns.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://lh5.ggpht.com/_SLATbuFg4qM/S1ziY95l4OI/AAAAAAAAAJM/L5MhdYpe-Zk/pylab_plot.png"&gt;&lt;img align="middle" border="0" src="http://lh5.ggpht.com/_SLATbuFg4qM/S1ziY95l4OI/AAAAAAAAAJM/L5MhdYpe-Zk/pylab_plot.png" width="90%" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;center&gt;&lt;i&gt;Pylab plot&lt;/i&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://lh6.ggpht.com/_SLATbuFg4qM/S1ziZaVA8sI/AAAAAAAAAJQ/XDmT3RslCAw/r_plot.png"&gt;&lt;img align="middle" border="0" src="http://lh6.ggpht.com/_SLATbuFg4qM/S1ziZaVA8sI/AAAAAAAAAJQ/XDmT3RslCAw/r_plot.png" width="90%" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;center&gt;&lt;i&gt;R plot&lt;/i&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://lh5.ggpht.com/_SLATbuFg4qM/S1zig6bJK3I/AAAAAAAAAJU/btP9CLqjEL4/qti_plot.png"&gt;&lt;img align="middle" border="0" src="http://lh5.ggpht.com/_SLATbuFg4qM/S1zig6bJK3I/AAAAAAAAAJU/btP9CLqjEL4/qti_plot.png" width="90%" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;center&gt;&lt;i&gt;QtiPlot&lt;/i&gt;&lt;/center&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;As you can see from the above plots, no one of these three software packages produces a bad looking plot.  Some of the graphical parameters (such as font size, type of major axis ticks, whether or not a full box is drawn around the plotting area, and how far the plot title is from the top of the plotting area) are different from program to program, but that's more a matter of my unwillingness to get the programs to output exactly similar graphs than an inability in the programs themselves.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;b&gt;How I got the plots using Pylab and R&lt;/b&gt;&lt;/center&gt;&lt;center&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/center&gt;&lt;br /&gt;First and foremost is the fact that Pylab and R require you to type in some &lt;b&gt;code&lt;/b&gt; to do your plotting whereas QtiPlot gives you a point-and-click &lt;b&gt;GUI interface&lt;/b&gt; to complete the task.  Pylab and R have their own idiosyncratic syntax for plotting, but thankfully neither requires much more code than the other.  If you didn't know already, Pylab is a module of python and therefore allows you to seamlessly weave plotting commands into pure python code.  It will therefore be advantageous for anyone who already has a Python background to use Pylab.  Below I will show you the code I used to make the plots.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Pylab via IPython&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;infile = open('/home/inkhorn/Documents/data.csv','rb')&lt;/li&gt;&lt;li&gt;data = loadtxt(infile, delimiter=',')&lt;/li&gt;&lt;li&gt;errorbar(data[:,0], data[:,1], yerr=data[:,2],color='b',ecolor='k',elinewidth=1,linewidth=3);&lt;/li&gt;&lt;li&gt;errorbar(data[:,0], data[:,3], yerr=data[:,4],color='r',ecolor='k',elinewidth=1,linewidth=3);&lt;/li&gt;&lt;li&gt;axis([-0.2, 6.2, .3, 1.0]);&lt;/li&gt;&lt;li&gt;xlabel('X Axis Label', fontsize=14);&lt;/li&gt;&lt;li&gt;ylabel('Y Axis Label',fontsize=14);&lt;/li&gt;&lt;li&gt;title('Line Plot with Error Bars',fontsize=16);&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;R&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;error.bar &amp;lt;- function(x, y, upper, lower=upper, length=0.1,...){ if(length(x) != length(y) | length(y) !=length(lower) | length(lower) != length(upper)) { stop("vectors are not the same length")} else { arrows(x,y+upper, x, y-lower, angle=90, code=3, length=length, ...)} }&lt;/li&gt;&lt;li&gt;&amp;nbsp;data = read.csv('/home/inkhorn/Documents/data.csv')&lt;br /&gt;&lt;/li&gt;&lt;li&gt;png('/home/inkhorn/Desktop/test.png', height=1033, width=813, type=c("cairo"))&lt;br /&gt;&lt;/li&gt;&lt;li&gt;plot(data$y2 ~ data$x, type="l",col='red',lwd=4,ylim=c(.3,1),main='Line Plot with Error Bars', xlab="X Axis Label", ylab="Y Axis Label")&lt;br /&gt;&lt;/li&gt;&lt;li&gt;par(new=TRUE)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;plot(data$y1 ~ data$x, type='l', col='blue', lwd=4, axes=FALSE,ylim=c(.3,1),ann=FALSE)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;error.bar(data$x, data$y1, data$y1err)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;error.bar(data$x, data$y2, data$y2err)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;dev.off()&lt;/li&gt;&lt;/ol&gt;R doesn't seem to come with installed with readymade functions that allow you to easily plot error bars in your statistical graphics, which is the reason for the function definition in the entry under the R code column above.  Thanks for the coding of the R error bar function goes to the maintainer of a blog called &lt;a href="http://monkeysuncle.stanford.edu/?p=485"&gt;monkey's uncle&lt;/a&gt;.  Some people complain about the strange syntax required when using R, but you can see that you really don't need that much more typing in R than you do when you're using Pylab via Ipython.  Still, Pylab gets extra points for coming installed with a readymade errorbar function!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;b&gt;How I got the plot in QtiPlot&lt;/b&gt;&lt;/center&gt;&lt;center&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/center&gt; QtiPlot follows a &lt;b&gt;very&lt;/b&gt; similar concept as Excel.  Namely, it provides table-space to enter in your data, allows you to make plots from your table data, gives you easy point-and-click access to manipulate each component of your graph, and lets you save data and plots together in one project file.  To get to the plotting, first you have to click &lt;b&gt;File &amp;gt; Import ASCII ...&lt;/b&gt;, which brings you to the screen shown below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://lh5.ggpht.com/_SLATbuFg4qM/S1zih29FImI/AAAAAAAAAJY/SbAG_WSB9e4/Screenshot-QtiPlot%20-%20Import%20ASCII%20File%28s%29.png"&gt;&lt;img align="middle" border="0" src="http://lh5.ggpht.com/_SLATbuFg4qM/S1zih29FImI/AAAAAAAAAJY/SbAG_WSB9e4/Screenshot-QtiPlot%20-%20Import%20ASCII%20File%28s%29.png" width="90%" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;You then choose your data to import, specify the &lt;b&gt;separator&lt;/b&gt;, whether or not you want to ignore lines at the top, then press &lt;b&gt;OK&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://lh3.ggpht.com/_SLATbuFg4qM/S1ziiYPhY1I/AAAAAAAAAJc/yhCa-52szMw/Column%20Roles.png"&gt;&lt;img align="middle" border="0" src="http://lh3.ggpht.com/_SLATbuFg4qM/S1ziiYPhY1I/AAAAAAAAAJc/yhCa-52szMw/Column%20Roles.png" width="90%" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;You are then shown your data in a &lt;b&gt;Table view&lt;/b&gt; and must now right click on the columns and set their &lt;b&gt;roles&lt;/b&gt; as shown above.  As you can see, your columns can represent X variables, Y variables, Y error variables, even 3rd dimension, or Z variables.  When you're done setting your column roles, navigate to the &lt;b&gt;Plot&lt;/b&gt; menu and click on &lt;b&gt;Line&lt;/b&gt;, as shown below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://lh3.ggpht.com/_SLATbuFg4qM/S1zijLUOCkI/AAAAAAAAAJg/1ziXJaW8sas/Make%20Line%20Plot.png"&gt;&lt;img align="middle" border="0" src="http://lh3.ggpht.com/_SLATbuFg4qM/S1zijLUOCkI/AAAAAAAAAJg/1ziXJaW8sas/Make%20Line%20Plot.png" width="90%" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;A line plot will then be generated, using default values that you can change to your heart's content.  The plot title and axis titles are &lt;b&gt;very&lt;/b&gt; easy to change; all you have to do is double click on them and edit the default text that is already there.  If you want to change any other aspect of the graph, it suffices to right-click on that part of the graph, and then click on &lt;b&gt;Properties&lt;/b&gt;, such as what I did below with one of the lines on the graph.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://lh4.ggpht.com/_SLATbuFg4qM/S1zij00Y3sI/AAAAAAAAAJk/daoyvBisETQ/Plot%20details.png"&gt;&lt;img align="middle" border="0" src="http://lh4.ggpht.com/_SLATbuFg4qM/S1zij00Y3sI/AAAAAAAAAJk/daoyvBisETQ/Plot%20details.png" width="90%" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;You can also modify how you want each of your axes to look by right clicking on the numbers of that axis and again clicking &lt;b&gt;Properties&lt;/b&gt;.  You can then change some general graphical properties of each axis, or change the way that the axis is scaled.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://lh5.ggpht.com/_SLATbuFg4qM/S1zikq8SAQI/AAAAAAAAAJo/d7rYwwXxQCs/Screenshot-QtiPlot%20-%20General%20Plot%20Options-%20Axis.png"&gt;&lt;img align="middle" border="0" src="http://lh5.ggpht.com/_SLATbuFg4qM/S1zikq8SAQI/AAAAAAAAAJo/d7rYwwXxQCs/Screenshot-QtiPlot%20-%20General%20Plot%20Options-%20Axis.png" width="90%" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;center&gt;&lt;i&gt;Axis options&lt;/i&gt;&lt;/center&gt;&lt;center&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/center&gt; &lt;center&gt;&lt;a href="http://lh3.ggpht.com/_SLATbuFg4qM/S1zik66fl9I/AAAAAAAAAJs/bxz_xi_2WLI/Screenshot-QtiPlot%20-%20General%20Plot%20Options%20-%20scale.png"&gt;&lt;img align="middle" border="0" src="http://lh3.ggpht.com/_SLATbuFg4qM/S1zik66fl9I/AAAAAAAAAJs/bxz_xi_2WLI/Screenshot-QtiPlot%20-%20General%20Plot%20Options%20-%20scale.png" width="90%" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;center&gt;&lt;i&gt;Scale options&lt;/i&gt;&lt;/center&gt;&lt;center&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/center&gt; Once you're finished specifying your graph's visual parameters, it's then easy as pie to save it.  Click &lt;b&gt;File &amp;gt; Export Graph &amp;gt; Current&lt;/b&gt;, then choose a folder to save your graph in, name it, then press &lt;b&gt;Save&lt;/b&gt; and you're done!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;/center&gt;&lt;center&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/center&gt; The truth of the matter is that you need to choose the right tool for the right job.  I have often found that it was necessary for me to load data to be plotted into Ipython that I wouldn't have been able to read into R.  IPython provides the opportunity for easy interactive plotting for simple one-graph projects, but can scale up to more complex programmatic plotting in larger projects.  It hasn't been often that I've had to do larger scale projects where many plots are outputted programmatically, but IPython would certainly be the environment of choice for me.&lt;br /&gt;&lt;br /&gt;R has amazingly expansive plotting capabilities and certainly does not lose points on graphical quality.  As you can see however, its syntax can be difficult to manage.  I've used R for making summary plots of data that I also had to statistically analyze.  Therein lies the ultimate use of R; it provides a single integrated environment for the plotting and analyzing of many different types of data.&lt;br /&gt;&lt;br /&gt;When it comes down to it, however, I am quite lazy.  I only recently discovered QtiPlot, and I think it's great!  According to the &lt;a href="http://soft.proindependent.com/qtiplot.html"&gt;QtiPlot website&lt;/a&gt;, it even provides an interface that allows you to script QtiPlot operations using Python.  I don't know anything about that interface just yet, but it makes me very impressed with the program overall.  Given my laziness, the quality of the plots that come out of QtiPlot, and the ease with which you can manipulate them, QtiPlot rates &lt;b&gt;very&lt;/b&gt; highly in my books.  I will surely be using it more in the future for plotting where the data is easily accessible and will highly recommend it to others.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-1899403524798809892?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/1899403524798809892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/01/pylab-r-and-qtiplot-plotting-compared_1747.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/1899403524798809892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/1899403524798809892'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/01/pylab-r-and-qtiplot-plotting-compared_1747.html' title='Pylab, R, and QtiPlot Plotting Compared'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_SLATbuFg4qM/S1ziYhbe_gI/AAAAAAAAAJI/uVV-0_og_us/s72-c/data.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-5019013759885205</id><published>2010-01-19T17:46:00.002-05:00</published><updated>2010-01-19T17:48:47.265-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Command Line'/><category scheme='http://www.blogger.com/atom/ns#' term='Gnome'/><category scheme='http://www.blogger.com/atom/ns#' term='ISO'/><category scheme='http://www.blogger.com/atom/ns#' term='Nautilus'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Console'/><title type='text'>How to screw up then fix Gnome in Ubuntu!</title><content type='html'>Yesterday I read about a supposedly nice-looking &lt;a href="http://www.omgubuntu.co.uk/2010/01/nautilus-simple-install-ppa-streamlined.html"&gt;patched version of Nautilus&lt;/A&gt; and decided to try it out.  I installed it, used it for a few hours before bed, and realized that I really hadn't gained anything special by installing it.  &lt;br /&gt;&lt;br /&gt;When I uninstalled it this morning, I really screwed up my installation of gnome.  So much so that I simply couldn't log into ubuntu using the Gnome Display Manager (the meat and bones of the Ubuntu Grahpical User Interface).  Thankfully, I still had access to the Virtual Console by pressing &lt;strong&gt;Control+Alt+F2&lt;/strong&gt; at the login screen.&lt;br /&gt;&lt;br /&gt;One thing I learned is that I still don't know how to initialize an ethernet connection to my router/DSL modem to give me an internet connection from the command line.  I know that you can set your ethernet interface's IP address by typing in &lt;font color="green"&gt;sudo ifconfig eth0 address&lt;/font&gt; and you can substitute &lt;font color='green'&gt;address&lt;/font&gt; with &lt;font color='green'&gt;netmask address&lt;/font&gt; to change the netmask (I think it's usually 255.255.255.0 on most consumer routers).  That didn't work for me however.  I also tried toying with the &lt;strong&gt;route&lt;/strong&gt; command, but I really didn't understand how to work with that.&lt;br /&gt;&lt;br /&gt;What ended up saving me was a &lt;a href="http://ubuntuforums.org/showthread.php?t=1091881"&gt;suggestion that I read on ubuntuforums.org&lt;/A&gt;, in response to someone in a similar situation, that they should download an &lt;a href="http://www.ubuntu.com/getubuntu/downloadmirrors#alternate"&gt;alternative ubuntu installation iso&lt;/A&gt;, burn it to CD and use it as a source for package updates.  I didn't end up burning it to CD.  Rather, I did the following: &lt;ol&gt;&lt;li&gt;downloaded it to my USB stick&lt;/li&gt;&lt;li&gt;mounted the ISO in a newly made separate directory directory (using the command &lt;font color='green'&gt;sudo mount -o loop ubuntu-9.10-alternate-i386.iso /media/testing&lt;/font&gt;)&lt;/li&gt;&lt;li&gt;navigated to that directory (&lt;font color='green'&gt;cd /media/testing&lt;/font&gt;)&lt;/li&gt;&lt;li&gt;switched bash into root mode (&lt;font color='green'&gt;sudo bash -i&lt;/font&gt;)&lt;/li&gt;&lt;li&gt;Finally I initialized an upgrade from the mounted Alternative Install ISO (&lt;font color='green'&gt;./cdromupgrade&lt;/font&gt;)&lt;/li&gt;&lt;/ol&gt;The alternative install ISO fixed my broken GNOME/Nautilus packages, restarted my computer and .... VOILA!  Everything was back to normal!  Nothing was lost and I'm now a happy camper.&lt;br /&gt;&lt;br /&gt;I'm definitely going to keep an alternative install ISO on me and probably also a regular install ISO too.  After-all, they are free tools that &lt;a href="http://www.pendrivelinux.com/create-a-ubuntu-9-10-live-usb-in-windows/"&gt;don't even need to be burned to CD&lt;/A&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-5019013759885205?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/5019013759885205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/01/how-to-screw-up-then-fix-gnome-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/5019013759885205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/5019013759885205'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/01/how-to-screw-up-then-fix-gnome-in.html' title='How to screw up then fix Gnome in Ubuntu!'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-1898289917609545965</id><published>2010-01-18T10:09:00.003-05:00</published><updated>2010-01-18T10:15:40.566-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PyQt'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>pyBloggerU now has a GUI</title><content type='html'>Yesterday I sat myself in front of both Qt 4 Designer and Wing IDE and didn't tear myself away from my computer until I finished a GUI for &lt;a href="http://nixliving.blogspot.com/2010/01/blog-from-your-html-editor-and-python_01.html"&gt;pyBloggerU&lt;/A&gt;.  &lt;br /&gt;&lt;br /&gt;For those who didn't read my original post on the matter, pyBloggerU is a script I made that will upload an html file containing your Blogger post and images to your Blogger account for online publication.  The script deals with the weirdnesses inherent in how Blogger mangles the HTML code so that what you see in your HTML editor is not what you get on Blogger.  &lt;br /&gt;&lt;br /&gt;Unfortunately it still is not programmed to handle HTML files generated from WYSIWYG editors, as they create too many complications for me to be able to handle with this script.  But I've found that creating blog posts in an HTML editor called &lt;a href="http://quanta.kdewebdev.org/"&gt;Quanta Plus&lt;/A&gt; to be easy enough.  Quanta Plus has lots of buttons that shoot out HTML code for you, code and tag completion, and even a Visual preview mode if you're interested.&lt;br /&gt;&lt;br /&gt;Once you've created your blog post in an HTML editor, like Quanta Plus, you just double click on the &lt;strong&gt;pyBloggerU_GUI.py&lt;/strong&gt; file, press &lt;strong&gt;Run&lt;/strong&gt; at the next window and enter in all the details shown in the picture below:&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://lh3.ggpht.com/_SLATbuFg4qM/S1R5sJfeG8I/AAAAAAAAAFM/CHWui-TANao/Running%20pyBloggerU.png" width="90%" align="middle" border="0"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://lh5.ggpht.com/_SLATbuFg4qM/S1R5uiyOPiI/AAAAAAAAAFQ/DeSVerbGxL0/pyBloggerU.png" width="90%" align="middle" border="0"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Be sure that any images referred to in the HTML contain their full file paths (the one above is &lt;strong&gt;"/home/inkhorn/Pictures/pyBloggerU.png"&lt;/strong&gt;) so that pyBloggerU will be able to upload them from your computer to your Blog's picasa web album.  When everything is set, you can press the &lt;strong&gt;Upload&lt;/strong&gt; button and your HTML file will become your blog post!  When pyBloggerU succeeds at sending a blog post, you'll see a "Success" information window pop up a few moments after pressing the &lt;strong&gt;Upload&lt;/strong&gt; button.  Also, you'll be able to save your Blogger account info by pressing &lt;strong&gt;Save&lt;/strong&gt; after filling out all the fields.  When you have a new post to upload to blogger, you can then double click on the entry in the list to the left and your email, password, and blog title will appear in the fields to the right.&lt;br /&gt;&lt;br /&gt;If you would like to download pyBloggerU, it's easily acccessible as a Bazaar branch on Launchpad.  Even if you don't know what a Bazaar branch on Launchpad is, go to your terminal, and type in &lt;font color="green"&gt;bzr branch lp:pybloggeru&lt;/font&gt;.  This will create a directory called &lt;font color="purple"&gt;pybloggeru&lt;/font&gt; in your home directory and will store the python files for the program and all of its dependencies therein.&lt;br /&gt;&lt;br /&gt;Of course if you would like to report a bug, ask a question, or contribute to the program, use the web utilities on the official &lt;a href="https://launchpad.net/pybloggeru"&gt;pyBloggerU launchpad page&lt;/A&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-1898289917609545965?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/1898289917609545965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/01/pybloggeru-now-has-gui.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/1898289917609545965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/1898289917609545965'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/01/pybloggeru-now-has-gui.html' title='pyBloggerU now has a GUI'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_SLATbuFg4qM/S1R5sJfeG8I/AAAAAAAAAFM/CHWui-TANao/s72-c/Running%20pyBloggerU.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-7306643902083289746</id><published>2010-01-14T21:14:00.002-05:00</published><updated>2010-01-14T21:21:35.352-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fstab'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual CD'/><category scheme='http://www.blogger.com/atom/ns#' term='External Hard Drive'/><category scheme='http://www.blogger.com/atom/ns#' term='Western Digital'/><title type='text'>Enjoy your WD My Book 1TB Drive: No more WD SmartWare icon in Ubuntu!</title><content type='html'>As I mentioned in my &lt;a href="http://nixliving.blogspot.com/2010/01/bye-bye-simpletech-and-windows-hello.html"&gt;last post&lt;/A&gt;, I recently picked up a Western Digital My Book Essential 1 TB external hard drive.  Although it doesn't as yet display the same problems that my Simpletech hard drive was having, it does come with an annoying &lt;strong&gt;Virtual CD&lt;/strong&gt; installed, literally in the unit's firmware, that contains Western Digital's SmartWare backup software.  Of course the software is not linux compatible and wouldn't be something I would want to use anyway.  The big question I had was: how do I get rid of it?&lt;br /&gt;&lt;br /&gt;Well the problem has been well documented on the internet, with &lt;strong&gt;many&lt;/strong&gt; people complaining about it.  I found a helpful comment on a &lt;a href="http://acletras.com/2009/09/28/wd-smartware/"&gt;blog maintained by a mac admin&lt;/A&gt;.  User 'yakkoj' suggests in his comment to make an entry in the &lt;strong&gt;/etc/fstab&lt;/strong&gt; file on your mac that basically tells Mac OSX to ignore the Virtual CD so that it doesn't load and show up on your desktop.  As Mac OSX is a relative of Linux, his comment was easily adaptable as a solution for my Ubuntu system too!  Following is the line that I put in my &lt;strong&gt;/etc/fstab&lt;/strong&gt; file and I can vouch that I now no longer see an icon for the &lt;strong&gt;WD Smartware&lt;/strong&gt; Virtual CD on my desktop:&lt;br /&gt;&lt;br /&gt;&lt;font color='green'&gt;/dev/sr1 none udf rw,noauto 0 0&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;The Virtual CD always shows up as /dev/sr1, and I don't think there's any danger of other devices taking up that partition label.  So, put the above line into your &lt;strong&gt;/etc/fstab&lt;/strong&gt; file, and it will basically tell Linux that any time a device pops up and wants to inhabit the /dev/sr1 partition then it &lt;strong&gt;shouldn't&lt;/strong&gt; be mounted at all.  Then you will no longer have to stare at the dumb WD SmartWare icon on your linux desktop again!  However, please note that this does not in fact rid the hard drive of the software, it just tells your computer to ignore it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-7306643902083289746?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/7306643902083289746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/01/enjoy-your-wd-my-book-1tb-drive-no-more.html#comment-form' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/7306643902083289746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/7306643902083289746'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/01/enjoy-your-wd-my-book-1tb-drive-no-more.html' title='Enjoy your WD My Book 1TB Drive: No more WD SmartWare icon in Ubuntu!'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-4110701315544523934</id><published>2010-01-13T22:28:00.002-05:00</published><updated>2010-01-13T22:30:57.209-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Resizing'/><category scheme='http://www.blogger.com/atom/ns#' term='Partitioning'/><category scheme='http://www.blogger.com/atom/ns#' term='External Hard Drive'/><category scheme='http://www.blogger.com/atom/ns#' term='Simpletech'/><category scheme='http://www.blogger.com/atom/ns#' term='Western Digital'/><category scheme='http://www.blogger.com/atom/ns#' term='GParted'/><title type='text'>Bye bye Simpletech and Windows, Hello more space for Ubuntu!</title><content type='html'>Today I exchanged my terrible terrible &lt;a href="http://www.simpletech.com/products/storage/redrive"&gt;Simpletech 500GB [re]Drive&lt;/A&gt; for a sleek looking &lt;a href="http://www.wdc.com/en/products/Products.asp?DriveID=728"&gt;Western Digital 1TB My Book Essential&lt;/A&gt;.  After filling the new backup drive with the files I previously had on the Simpletech, I had a mind to doing some spring cleaning on my Windows Vista partition.  &lt;br /&gt;&lt;br /&gt;Yes, I still had Windows Vista after approximately 5 months of using Ubuntu as my primary operating system.  I moved some files and folders that I wanted to keep from my Vista partition to the backup drive and then thought it was about time to get rid of Windows and its partition.  I never use it anymore!  I only had 45 GB allocated to my active Linux partition (ext4 filesystem) and space was beginning to look a little scarce.  &lt;br /&gt;&lt;br /&gt;So I downloaded a Knoppix iso (little did I know it was German!), burned it to CD, booted off of it, used GParted to get rid of my Windows partition and resized my active Linux partition.  It took about 40 minutes to complete but now my computer is rid of Windows!  Now Ubuntu has a 148 GB partition to run off of with 120 GB of free space :)&lt;br /&gt;&lt;br /&gt;Bye bye Windows, nice knowing ya!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-4110701315544523934?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/4110701315544523934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/01/bye-bye-simpletech-and-windows-hello.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/4110701315544523934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/4110701315544523934'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/01/bye-bye-simpletech-and-windows-hello.html' title='Bye bye Simpletech and Windows, Hello more space for Ubuntu!'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-6725065695081537344</id><published>2010-01-12T13:47:00.002-05:00</published><updated>2010-01-12T14:19:10.139-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Workopolis'/><category scheme='http://www.blogger.com/atom/ns#' term='Command Line'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Job Search'/><title type='text'>Search Workopolis Easily with Python</title><content type='html'>I've been looking for jobs lately and thought how nice it would be if I could skip the rigamarole of opening up my browser, going to a job search website, typing in the search arguments, and sifting through the results.  In view of making job searching a little easier, I've made a Python script that for now will search &lt;a href="http://www.workopolis.com"&gt;Workopolis.com&lt;/A&gt; using keywords and a city location that you, the user, specify.  It will then output a csv (comma separated value) file containing the job search results in the directory where you executed the script.  You can then open the search results at your leisure, sift through them without the annoyances of advertisements, and possibly add them to your own database.  &lt;br /&gt;&lt;br /&gt;Just like &lt;a href="http://nixliving.blogspot.com/2010/01/blog-from-your-html-editor-and-python_01.html"&gt;pyBloggerU&lt;/A&gt;, I've uploaded the files for this Python script to launchpad for others to see and modify at their leisure.  Go &lt;a href="http://bazaar.launchpad.net/~matt-dubins/pyjobfinder/trunk/files"&gt;here&lt;/A&gt; if you'd like to download the program files, and &lt;a href="http://launchpad.net/pyjobfinder"&gt;here&lt;/A&gt; if you'd like to read more and possibly contribute to the project!&lt;br /&gt;&lt;br /&gt;Once you put the program files in a particular directory, go to your command line, type &lt;font color='green'&gt;python PyJobFinder.py&lt;/font&gt;, and then answer the questions that it asks you.  Quickly after putting in your search terms, the program tells you the file name of the job results file and then you're free to open it up!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-6725065695081537344?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/6725065695081537344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/01/search-workopolis-easily-with-python.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/6725065695081537344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/6725065695081537344'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/01/search-workopolis-easily-with-python.html' title='Search Workopolis Easily with Python'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-2500516930747274042</id><published>2010-01-08T16:06:00.005-05:00</published><updated>2010-01-12T08:30:48.837-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TightVNC'/><category scheme='http://www.blogger.com/atom/ns#' term='VNC'/><category scheme='http://www.blogger.com/atom/ns#' term='xvnc4viewer'/><category scheme='http://www.blogger.com/atom/ns#' term='Remote Desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='Collaboration'/><title type='text'>View a Windows desktop remotely with Ubuntu and xvnc4viewer</title><content type='html'>Today I needed to give on-the-phone support to a colleague concerning a MATLAB program that I contributed to developing.  If you've ever tried to tell someone what to do on their computer without having a similar screen in front of you on the computer, you'll know that it's not easy.  To remedy the situation, I looked on the net for a program/protocol to use to view my colleague's desktop remotely.  I found out that there is a protocol called VNC (Virtual Network Computing) for which there are client/server applications available on Windows and Ubuntu.  &lt;br /&gt;&lt;br /&gt;I got my colleague to install a VNC server for Windows called &lt;a href="http://www.tightvnc.com/download.php"&gt;TightVNC&lt;/A&gt;, while I installed a VNC viewer for Ubuntu called &lt;a href="http://linuxappfinder.com/package/xvnc4viewer"&gt;xvnc4viewer&lt;/A&gt;.  It was pretty easy for us to get the connection running.  She only had to enter in a password for accessing her VNC server, and needed to tell me her public IP address.  TightVNC tells you the IP address(es) that your server is broadcasting on when you hover your mouse cursor over the V icon that shows up in your system tray.  &lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://lh5.ggpht.com/_SLATbuFg4qM/S0eeZp2TgpI/AAAAAAAAAFI/pTYnIv5gVK8/screenshot_031.png" width='95%' align="center" border="0"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Above I've shown you the &lt;strong&gt;Connect Options&lt;/strong&gt; window for &lt;strong&gt;xvnc4viewer&lt;/strong&gt; so that you can see what can be changed.  However, the only options I changed were &lt;strong&gt;Colour Level&lt;/strong&gt; (to Full Colour) and I enabled &lt;strong&gt;Full Screen Mode&lt;/strong&gt;.  Once she told me her public IP address, I just had to enter it into the textbox in the &lt;strong&gt;VNC Viewer: Connection Details&lt;/strong&gt; main window shown above and press okay.  Upon connection, the VNC viewer expands as much as it can to accomodate the resolution of the VNC server's screen and then anything they do on their computer can be seen on your computer!  It's pretty cool except I'm not sure it allows the person with the viewer to control anything on the server's computer.  That was acceptable for my over-the-phone support, as I only needed to see what she was seeing!&lt;br /&gt;&lt;br /&gt;If you want to install &lt;strong&gt;xvnc4viewer&lt;/strong&gt; for ubuntu, simply open the terminal and type &lt;font color='green'&gt;sudo apt-get install xvnc4viewer&lt;/font&gt;.  Easy peazy right?  Once you have it installed, to start it up, go to the terminal and type in &lt;font color='green'&gt;xvnc4viewer&lt;/font&gt;.  That's all!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-2500516930747274042?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/2500516930747274042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/01/view-windows-desktop-remotely-with.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/2500516930747274042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/2500516930747274042'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/01/view-windows-desktop-remotely-with.html' title='View a Windows desktop remotely with Ubuntu and xvnc4viewer'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_SLATbuFg4qM/S0eeZp2TgpI/AAAAAAAAAFI/pTYnIv5gVK8/s72-c/screenshot_031.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-3806790629411663498</id><published>2010-01-07T22:28:00.005-05:00</published><updated>2010-01-12T08:32:00.241-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bootdisk'/><category scheme='http://www.blogger.com/atom/ns#' term='Netbook'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu Rescue Remix'/><category scheme='http://www.blogger.com/atom/ns#' term='Parted'/><category scheme='http://www.blogger.com/atom/ns#' term='Acer'/><category scheme='http://www.blogger.com/atom/ns#' term='LiveUSB'/><title type='text'>Ubuntu Rescue Remix helped factory reset my Acer Netbook!</title><content type='html'>I've had an Acer Aspire One Netbook for a bit longer than a year now and I finally have no more use for it.  It's been a fantastic little computer, serving its purpose in letting me take notes in grad classes when I've needed it.  It's incredibly light (2.2 lbs), runs Windows XP, has a big enough hard drive (120 GB), 3 USB ports, digital camera memory readers and a wifi   Anyway, it's not my intention to sell my netbook over my blog.  I am however intending on selling it to people over craigslist.  In order to give it to someone, I needed to restore the netbook to its manufacturer intended state.  Conveniently, Acer shipped these things with windows install files on a separate partition.  Not so conveniently, their "erecovery" program they make available to download for this purpose doesn't do a thing!  I was very frustrated and wanted a way of getting to those install files on the separate partition.&lt;br /&gt;&lt;br /&gt;Along the way I thought of using a Live USB version of linux to somehow get to those files.  At first I tried &lt;a href="http://ubuntu-rescue-remix.org/"&gt;Ubuntu Rescue Remix&lt;/a&gt; version 9.10.  The website provides you with an ISO, which you then use in conjunction with USB Startup Disk Creator (accessible by clicking &lt;strong&gt;System &amp;gt; Administration &amp;gt; USB Startup Disk Creator&lt;/strong&gt;).&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img align="center" border="0" height="666" src="http://lh5.ggpht.com/_SLATbuFg4qM/S0amaGWO-pI/AAAAAAAAAFE/pxeaf0CEJm4/screenshot_030.png" width="95%" /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;You press the &lt;strong&gt;Other&lt;/strong&gt; button above in order to load up the ISO file that you downloaded.  Then you look for your USB stick partition at the bottom (you probably have a pet name you assigned to it) and click &lt;strong&gt;Make Startup Disk&lt;/strong&gt;.  This organizes your USB stick accordingly and allows you to boot using Ubuntu Rescue Remix.  Weirdly, version 9.10 didn't work for me, but 9.04 worked just fine.  Be warned, it does boot you into a &lt;em&gt;command line interface&lt;/em&gt;, but you don't have to know very much to proceed.  All I had to do was: &lt;br /&gt;&lt;ol&gt;&lt;li&gt;Press the &lt;strong&gt;Enter&lt;/strong&gt; key when the login screen showed up&lt;/li&gt;&lt;li&gt;Type in &lt;span style="color: green;"&gt;sudo parted&lt;/span&gt; to load the Partition Editor&lt;/li&gt;&lt;li&gt;Type in &lt;span style="color: green;"&gt;print all&lt;/span&gt; in order to list my partitions&lt;/li&gt;&lt;li&gt;Type in &lt;span style="color: green;"&gt;set 1 boot on&lt;/span&gt; to make the windows installation partition bootable (I think it was partition 1, you'll probably have to play around to be sure which is the windows installation files partition)&lt;/li&gt;&lt;li&gt;Type in &lt;span style="color: green;"&gt;quit&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Then I shutdown my computer, made sure the USB stick was out, turned it back on and voila, the Acer windows restore utility started running!&lt;/li&gt;&lt;/ol&gt;Once it's finished installing, you actually have to boot back into Ubuntu Rescue Remix and make it so that your main windows partition is bootable again.  Go through the above list of instructions and you'll have your Acer Aspire One Netbook restored to it's manufacturer's intended state!&lt;br /&gt;&lt;br /&gt;Ubuntu saved Windows, how about that?!!?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-3806790629411663498?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/3806790629411663498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/01/ubuntu-rescue-remix-helped-factory.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/3806790629411663498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/3806790629411663498'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/01/ubuntu-rescue-remix-helped-factory.html' title='Ubuntu Rescue Remix helped factory reset my Acer Netbook!'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_SLATbuFg4qM/S0amaGWO-pI/AAAAAAAAAFE/pxeaf0CEJm4/s72-c/screenshot_030.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-617820290281217951</id><published>2010-01-04T19:25:00.004-05:00</published><updated>2010-01-12T08:33:16.213-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Science'/><category scheme='http://www.blogger.com/atom/ns#' term='Octave'/><category scheme='http://www.blogger.com/atom/ns#' term='Matlab'/><title type='text'>Matlab's free cousin Octave</title><content type='html'>My educational/work background is in experimental science.  Therefore, much of what I've done for work purposes involves processing data, plotting data, and analyzing data.  I did most of the data processing and plotting in &lt;a href="http://www.mathworks.com/" name="Matlab"&gt;Matlab&lt;/a&gt;.  Matlab is a fantastic language for scientific computation which is even available for Linux.  Of course, the downside to Matlab is that liscences for it cost big bucks outside of academia!&lt;br /&gt;&lt;br /&gt;Recently, I discovered another language for scientific computation called &lt;a href="http://www.gnu.org/software/octave/" name="Octave"&gt;Octave&lt;/a&gt;.  The amazing thing about it is that it is a free-to-download, extensively Matlab-like language!  In other words, if you already know Matlab, you barely have to learn anything new in order to use Octave.  The functionality is VERY similar, with Octave able to do things like Matrix operations, Signal Processing, Statistics, Scripting and Plotting.  I installed Octave in Ubuntu by typing &lt;span style="color: #12d815;"&gt;&lt;br /&gt;sudo apt-get install octave&lt;/span&gt; into the terminal.  Unexpectedly, Octave came packaged in the Ubuntu repository with QtOctave, a complete graphical development interface for working with scientific data.  Check out the screenshot below:&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://lh4.ggpht.com/_SLATbuFg4qM/S0KG5_iCt7I/AAAAAAAAAE8/FPBnx9d2WBM/screenshot_027.png"&gt;&lt;img align="middle" border="0" src="http://lh4.ggpht.com/_SLATbuFg4qM/S0KG5_iCt7I/AAAAAAAAAE8/FPBnx9d2WBM/screenshot_027.png" width="95%" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;As you can see, the GUI includes the most important elements found in the Matlab GUI:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The command prompt&lt;/li&gt;&lt;li&gt;A command history&lt;/li&gt;&lt;li&gt;An area to access all the variables/data loaded into memory&lt;/li&gt;&lt;li&gt;A filesystem navigator&lt;/li&gt;&lt;li&gt;Finally, a script editor window (accessible via the fat red pen icon&lt;/li&gt;&lt;/ul&gt;I loaded the download speed data that I sampled &lt;a href="http://nixliving.blogspot.com/2009/12/your-download-activity-in-one-file.html" name="last week"&gt;last week&lt;/a&gt; into Octave and did some modelling to extract the general trend that the download speeds followed.  I made a graph of the data and modelling in Octave to see how it looked.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img align="middle" border="0" height="480" src="http://lh6.ggpht.com/_SLATbuFg4qM/S0KG6lwV9eI/AAAAAAAAAFA/43YBrJXdW9o/download%20modeling.png" width="95%" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;If you've ever done any plotting in Matlab, you'll recognize the same graphics quality in the graph above.  Just like Matlab, the default plotting parameters aren't the prettiest, but that's okay.  The important thing is that Octave is free, it's sophisticated, and very easy to use for Matlab veterens!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-617820290281217951?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/617820290281217951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/01/matlab-free-cousin-octave_1667.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/617820290281217951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/617820290281217951'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/01/matlab-free-cousin-octave_1667.html' title='Matlab&amp;#39;s free cousin Octave'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_SLATbuFg4qM/S0KG5_iCt7I/AAAAAAAAAE8/FPBnx9d2WBM/s72-c/screenshot_027.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-5662922091072217051</id><published>2010-01-03T18:44:00.002-05:00</published><updated>2010-01-03T18:45:53.656-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Tis a Gift to be Simple</title><content type='html'>Today I got interested in trying out a few different blogging sites (&lt;a href="http://wordpress.com/"&gt;wordpress.com&lt;/a&gt; and &lt;a href="http://tumblr.com/"&gt;tumblr.com&lt;/a&gt;) to see if either one of them provided a better/easier interface to work with than blogger.  Going on Wordpress, I saw an interface that was both sophisticated and nice looking.  Wordpress seemed to have everything.  &lt;br /&gt;&lt;br /&gt;Unfortunately there were a few drawbacks:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Wordpress seems to intentionally set the width of your "Content Column" (the column within which your blog post appears) to be too narrow for my liking.  Resultantly, the bigger pictures that I post appear to be cut off :(&lt;/li&gt;&lt;li&gt;After investigating possible solutions to my first problem, I found out that I would need to pay a fee to customize the width (along with other features) of my blog to my liking.  I don't like that at all.&lt;/li&gt;&lt;li&gt;Even if I was to live with the narrow width thing, I am surprised that Wordpress doesn't automatically size your pictures according to the width of your content column.&lt;/li&gt;&lt;/ol&gt;Oh well, I probably won't be switching to wordpress!  As for tumblr, I found their registration to be super easy, but the exact method to customizing your blog using CSS eludes me.  I admit I know nothing about CSS, so tumblr may still be an option to investigate further.  &lt;br /&gt;&lt;br /&gt;Until then, "tis a gift to be simple".  Thanks Blogger!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-5662922091072217051?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/5662922091072217051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/01/tis-gift-to-be-simple.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/5662922091072217051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/5662922091072217051'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/01/tis-gift-to-be-simple.html' title='Tis a Gift to be Simple'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-3241825197044010105</id><published>2010-01-01T12:56:00.004-05:00</published><updated>2010-01-12T08:36:23.169-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='Posting'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Blog from your HTML Editor and Python</title><content type='html'>So this is a test of the Python script I made to upload a custom made HTML file to my blog.  As I mentioned in my last post, Google has provided its own &lt;a href="http://code.google.com/apis/gdata/articles/python_client_lib.html" name="Python Client Library"&gt;Python Client Library&lt;/a&gt; to the public for connecting to Google's various services.  What really confused me at first was the question of where exactly Google stores the pictures you want on your blog when you use the regular Blogger &lt;strong&gt;New Post&lt;/strong&gt; interface. I soon discovered that if you're not linking to a picture that's on another website, any picture you put on your Blogger Blog is actually stored under a Picasa Web Album named after your blog and accessible by your Blogger account username and password. Knowing this, I just had to follow a few simple steps for using the &lt;a href="http://code.google.com/apis/gdata/articles/python_client_lib.html" name="Python Client Library"&gt;Python Client Library&lt;/a&gt; to automatically upload pictures to the user's Picasa Web album (&lt;a href="http://code.google.com/apis/picasaweb/docs/1.0/developers_guide_python.html" name="see here"&gt;see here&lt;/a&gt;).  &lt;br /&gt;&lt;br /&gt;What I figured out is that if you want to put pictures on your blog post, you don't need to know where they'll be uploaded to.  Just link to the pictures on your local hard drive and submit your HTML blog post file to my script.  My script then: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;looks for any local image links  &lt;/li&gt;&lt;li&gt;uploads those files to your Picasa Web Album &lt;/li&gt;&lt;li&gt;gets the URLs of your newly uploaded images  &lt;/li&gt;&lt;li&gt;Uses those URLs to replace the local path links in your HTML file, and finally&lt;/li&gt;&lt;li&gt;Uploads your newly modified HTML file to Blogger!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Also, I noticed that Blogger ignores the header/footer html tags found in all web pages like &amp;lt;html&amp;gt;, &amp;lt;/html&amp;gt;, &amp;lt;head&amp;gt;, &amp;lt;/head&amp;gt;, &amp;lt;body&amp;gt;, and &amp;lt;/body&amp;gt; but retains the newline codes that follow them all. Finally, when Blogger processes &amp;lt;br&amp;gt; tags that are followed by a newline code, it creates two new lines. To fix this using my script, I made it so that the inputted HTML file gets sliced from the end of the first &amp;lt;body&amp;gt; tag to just before the beginning of the &amp;lt;/body&amp;gt; tag. As well, it gets rid of all &amp;lt;br&amp;gt; tags, leaving only newline codes in their places. At the moment it's a command line script that I haven't yet tested on Windows. If you'd like to take a stab at using it, download it &lt;a href="http://bazaar.launchpad.net/~matt-dubins/pybloggeru/trunk/annotate/head:/pyBloggerU.py"&gt;here&lt;/a&gt;.  To make life easy, download it to the directory where you're saving your HTML blog post file and just call it from the command line by running &lt;span style="color: green;"&gt;python pyBloggerU.py&lt;/span&gt;.  The program will ask you for the following pieces of information:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The email address associated with your Blogger account&lt;/li&gt;&lt;li&gt;Your Blogger account password&lt;/li&gt;&lt;li&gt;Your Blog title (case insensitive), and finally&lt;/li&gt;&lt;li&gt;Your Blog &lt;strong&gt;post title&lt;/strong&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;If you'd like to help me out, I've registered my project in launchpad and you can submit a branch of my code.  Go &lt;a href="https://launchpad.net/pybloggeru" name="Python Blogger Uploader"&gt;here&lt;/a&gt;&lt;br /&gt;if you want to donate your time to help me out :). &lt;br /&gt;&lt;br /&gt;And now finally, it's time for me to test out media uploading:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img align="middle" border="0" src="http://lh3.ggpht.com/_SLATbuFg4qM/Sz43YMl4FJI/AAAAAAAAAEE/KuyhwC8LxLA/sesame-street-ensemble-1200x800.jpg" width="95%" /&gt;&lt;br /&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-3241825197044010105?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/3241825197044010105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2010/01/blog-from-your-html-editor-and-python_01.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/3241825197044010105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/3241825197044010105'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2010/01/blog-from-your-html-editor-and-python_01.html' title='Blog from your HTML Editor and Python'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_SLATbuFg4qM/Sz43YMl4FJI/AAAAAAAAAEE/KuyhwC8LxLA/s72-c/sesame-street-ensemble-1200x800.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-8504362177385406957</id><published>2009-12-30T16:09:00.001-05:00</published><updated>2010-01-12T08:37:55.761-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Docs'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Linux Blogging Solution?</title><content type='html'>I don't much like writing to this blog from the &lt;b&gt;New Post &lt;/b&gt;interface that blogger provides. &amp;nbsp;It's too small and restricting. &amp;nbsp;So, I've done a lot of googling to find out the best way of writing to a blog from Linux. &amp;nbsp;One option I found was using Google Docs to create a text document (replete with rich text and images) and publish it to blogger. &lt;br /&gt;&lt;br /&gt;I like the format of Google Docs and would certainly continue using it if it weren't for weird formatting incompatibilities between Google Docs and Blogger. &amp;nbsp;In other words, when writing a blog post from Google Docs and submitting it to Blogger, what you see is not exactly what you get. &amp;nbsp;I find that the text spacing and alignment become perverted when you submit a Google Docs text document to Blogger.&lt;br /&gt;&lt;br /&gt;So, that's where the &lt;a href="http://code.google.com/apis/gdata/articles/python_client_lib.html"&gt;Google Data Python Library&amp;nbsp;&lt;/a&gt;&amp;nbsp;will come in handy! &amp;nbsp;Using this set of Python modules, it's possible to upload photo media to the Picasa Web Album associated with your blog, get the associated URLs, and upload new blog posts containing your newly uploaded photos.&lt;br /&gt;&lt;br /&gt;Using this functionality, I should be able to make a script that will take an HTML file that you create with any old web page editor, replace the links to images on your local hard drive with links to images on your picasa web album, and post your HTML file to Blogger!&lt;br /&gt;&lt;br /&gt;Stay tuned. &amp;nbsp;I'm hoping this ends up being better than Google Docs or Scribefire (I have issues with both platforms).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-8504362177385406957?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/8504362177385406957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2009/12/linux-blogging-solution.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/8504362177385406957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/8504362177385406957'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2009/12/linux-blogging-solution.html' title='Linux Blogging Solution?'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-4266755755771111860</id><published>2009-12-28T17:43:00.005-05:00</published><updated>2010-01-12T08:40:39.001-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bandwidth'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Downloading'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Your download activity in one file!</title><content type='html'>I started downloading a very big set of files today on bittorrent (using the simple and elegant &lt;a href="http://www.transmissionbt.com/" id="rsyl" target="_blank" title="Transmission Bittorrent Client"&gt;Transmission Bittorrent Client&lt;/a&gt;&amp;nbsp;that comes with Ubuntu). &amp;nbsp;As I was watching the download speed indicator fluctuate up and down, the data analyst in me started stirring. &amp;nbsp;I thought it would be neat if I could find a program that would output my download speed over time to a dataset that I could then analyze for trends, averages, highs and lows. &lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I inputted the term 'bandwidth' in Synaptic Package Manager to see what kinds of programs were available for this purpose. &amp;nbsp;I found some simple command line programs such as &lt;b&gt;nload&lt;/b&gt;, &lt;b&gt;bmon&lt;/b&gt;, and &lt;b&gt;iftop&lt;/b&gt;. &amp;nbsp;All of them provide text-mode screens that help you monitor your bandwidth, but none of them allow you to output download speed over time to a plain text file. &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After examining the &lt;b&gt;man&lt;/b&gt;&amp;nbsp;(manual) pages for each of these programs, I noticed a commonality:&amp;nbsp;&lt;i&gt;&lt;span style="background-color: white;"&gt;&lt;span style="color: blue;"&gt;each of these programs sample bandwidth information from a file named &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;&lt;span style="background-color: white;"&gt;&lt;span style="color: blue;"&gt;dev &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;span style="background-color: white;"&gt;&lt;span style="color: blue;"&gt;in the &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;&lt;span style="background-color: white;"&gt;&lt;span style="color: blue;"&gt;/proc/net/ &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;i&gt;&lt;span style="background-color: white;"&gt;&lt;span style="color: blue;"&gt;directory on my computer&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;. &amp;nbsp;Curious for more info, I navigated to that directory and opened up the file. &amp;nbsp;Here's an example of what it looks like:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div id="y.45" style="text-align: center;"&gt;&lt;a href="http://docs.google.com/File?id=dgvrc7fb_25fhd9crfc_b"&gt;&lt;img src="http://docs.google.com/File?id=dgvrc7fb_25fhd9crfc_b" width="95%"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you've spent any time messing around with your network connection settings in Ubuntu (or most other operating systems) then you'll recognize most of the row titles in the above image. &amp;nbsp;Now, my computer is only connected to the net through a wireless connection to my Router/ADSL Modem. &amp;nbsp;Therefore, I don't expect any significant data in rows other than the one titled &lt;b&gt;wlan0&lt;/b&gt;. &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Next is the neat step: Linux repeatedly updates the &lt;b&gt;dev &lt;/b&gt;file with the total number of bytes and packets received since boot-up. &amp;nbsp;All you need to do to find out the download speed in bytes/second is:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Open the file&lt;/li&gt;&lt;li&gt;Copy the numeric value just to the right of &lt;b&gt;wlan0&lt;/b&gt;, under the &lt;b&gt;bytes&lt;/b&gt;&amp;nbsp;column&lt;/li&gt;&lt;li&gt;Wait a second&lt;/li&gt;&lt;li&gt;Do the same thing with the next value&lt;/li&gt;&lt;li&gt;Subtract the two!&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Of course nobody in their right minds would want to do this manually, but the implementation of the above algorithm is very simple in Python:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="color: #990000;"&gt;def&lt;/span&gt; get_bytes():&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dev = &lt;span style="color: #3d85c6;"&gt;open&lt;/span&gt;(&lt;span style="color: magenta;"&gt;'/proc/net/dev','rb'&lt;/span&gt;).read()&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: #9900ff;"&gt;import&lt;/span&gt; re&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;pat = re.compile(&lt;span style="color: magenta;"&gt;'wlan0:\s*([0-9]+)\s*'&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: #990000;"&gt;return&lt;/span&gt; &lt;span style="color: #3d85c6;"&gt;int&lt;/span&gt;(pat.search(dev).group(&lt;span style="color: magenta;"&gt;1&lt;/span&gt;))&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;span style="color: #990000;"&gt;def&lt;/span&gt; get_kbps():&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: #9900ff;"&gt;import&lt;/span&gt; time&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;bytes1 = get_bytes()&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;time.sleep(&lt;span style="color: magenta;"&gt;1&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;result = &lt;span style="color: #3d85c6;"&gt;round&lt;/span&gt;(((get_bytes() - bytes1)/&lt;span style="color: magenta;"&gt;1000.0&lt;/span&gt;),&lt;span style="color: magenta;"&gt;1&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="color: #990000;"&gt;return&lt;/span&gt; &lt;span style="color: magenta;"&gt;'%3.1f'&lt;/span&gt; % result&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;The first function above simply opens the &lt;b&gt;dev &lt;/b&gt;file and returns the numeric value beside &lt;b&gt;wlan0&lt;/b&gt;. &amp;nbsp;The second function uses the first function to get the bytes value two times and calculates Kilobytes/second (it's a smaller number than bytes/second). &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm now using these functions to calculate Kilobytes/second every 3 seconds for a total of 4 hours to get my dataset! &amp;nbsp;If you'd like to use these functions just remember that if you're using a wired ethernet connection, change &lt;b&gt;wlan0&lt;/b&gt; to &lt;b&gt;eth0 &lt;/b&gt;and you will be able get your data.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-4266755755771111860?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/4266755755771111860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2009/12/your-download-activity-in-one-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/4266755755771111860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/4266755755771111860'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2009/12/your-download-activity-in-one-file.html' title='Your download activity in one file!'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-4523681898461608568</id><published>2009-12-26T22:25:00.004-05:00</published><updated>2010-01-12T08:42:56.223-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Samba'/><category scheme='http://www.blogger.com/atom/ns#' term='fstab'/><category scheme='http://www.blogger.com/atom/ns#' term='File Sharing'/><category scheme='http://www.blogger.com/atom/ns#' term='External Hard Drive'/><category scheme='http://www.blogger.com/atom/ns#' term='Permissions'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Permissions, Samba Sharing an External NTFS drive, and fstab</title><content type='html'>For my first post on this blog I wrote about setting up samba shares for my printer and external hard drive.&amp;nbsp; When I wrote that entry, I thought I finally succeeded in sharing both devices.&amp;nbsp; I was disappointed to learn that my solution was temporary, and my external USB hard drive was still unable to be shared with my wife's Windows XP machine.&lt;br /&gt;&lt;br /&gt;After hours and hours of pursuing the solution to this problem like Captain Ahab come to life, I started to realize that my problem wasn't anything to do with Samba itself, but the permissions that were automatically assigned to my external hard drive upon its mounting.&amp;nbsp; Every time I looked at the extended information given by the &lt;b&gt;ls -l &lt;/b&gt;command in my /media directory, I saw the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;drwx------ 1 inkhorn inkhorn 4096 2009-12-06 18:24 backup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In other words, my external hard drive was mounted so that I personally would have read, write and execute access to the drive, that I could mount and unmount it, but nobody else could access my drive in any way at all.&lt;br /&gt;&lt;br /&gt;From googling my problem, I learned that if you modify the &lt;b&gt;fstab &lt;/b&gt;(file system table) file in the &lt;b&gt;/etc &lt;/b&gt;directory, you can change the permissions linux assigns to your hard drive when mounting it.&amp;nbsp; I found numerous message board postings with examples of how to set up an entry for your hard drive in the &lt;b&gt;fstab&lt;/b&gt; file, but none of them helped for very long.&amp;nbsp; Finally I found a web page that described a program available to Ubuntu users called &lt;a href="http://pysdm.sourceforge.net/" id="f88u" target="_blank" title="pysdm"&gt;pysdm&lt;/a&gt; (Python Storage Device Manager) that provides a GUI allowing the user to set permissions for any attached storage devices.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="sk07" style="text-align: center;"&gt;&lt;a href="http://docs.google.com/File?id=dgvrc7fb_19c38q3mgc_b" target="_blank"&gt;&lt;img src="http://docs.google.com/File?id=dgvrc7fb_19c38q3mgc_b" width="95%" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;As you can see above, it displays all connected partitions and provides an &lt;b&gt;Assistant&lt;/b&gt; button that allows you to choose your mounting options intelligently.&amp;nbsp; In my case, without having a USB stick connected first, my external hard drive shows up as partition &lt;b&gt;sdb1&lt;/b&gt;, or &lt;b&gt;/dev/sdb1.&amp;nbsp; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="vtqm" style="text-align: center;"&gt;&lt;a href="http://docs.google.com/File?id=dgvrc7fb_20hsbw4t4x_b" target="_blank"&gt;&lt;img src="http://docs.google.com/File?id=dgvrc7fb_20hsbw4t4x_b" width="95%" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;When you click on the &lt;b&gt;Assistant &lt;/b&gt;button, you're brought to the above &lt;b&gt;Select options&lt;/b&gt; window.&amp;nbsp; Most of these options were already set as enabled when this window popped up.&amp;nbsp; I think the only option here that I changed was to enable &lt;b&gt;Allow a user to mount and unmount the file system&lt;/b&gt;. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="g:qh" style="text-align: center;"&gt;&lt;a href="http://docs.google.com/File?id=dgvrc7fb_21frv3cxdw_b" target="_blank"&gt;&lt;img src="http://docs.google.com/File?id=dgvrc7fb_21frv3cxdw_b" width="95%" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I then found an option I thought might be important in the &lt;b&gt;Miscellaneous&lt;/b&gt; tab.&amp;nbsp; I enabled the option above labelled &lt;b&gt;This file system requires network&lt;/b&gt;.&amp;nbsp; So, I pressed OK, then at the main window I pressed the &lt;b&gt;Apply &lt;/b&gt;button.&amp;nbsp; There was one catch however: the line that it automatically entered into my &lt;b&gt;/etc/fstab &lt;/b&gt;file linked the &lt;u&gt;partition&lt;/u&gt; to the mounting point, not the &lt;u&gt;device&lt;/u&gt; itself.&amp;nbsp; See the &lt;b&gt;fstab&lt;/b&gt; entry below:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/dev/sdb1&amp;nbsp;&amp;nbsp; &amp;nbsp;/media/backup&amp;nbsp;&amp;nbsp;&amp;nbsp; ntfs&amp;nbsp;&amp;nbsp;&amp;nbsp; nls=iso8859-1,_netdev,umask=000,user,owner&amp;nbsp; 0&amp;nbsp; 0 &lt;br /&gt;&lt;br /&gt;&lt;span style="color: black;"&gt;In other words, what this entry in my &lt;b&gt;fstab &lt;/b&gt;file says is that any time partition &lt;span style="color: #38761d;"&gt;/dev/sdb1&lt;/span&gt; comes online, mount it to &lt;span style="color: #38761d;"&gt;/media/backup&lt;/span&gt;; &lt;u&gt;even if &lt;span style="color: #38761d;"&gt;/dev/sdb1&lt;/span&gt; is my USB stick, and not my external hard drive&lt;/u&gt;!&amp;nbsp; You see what I mean?&lt;br /&gt;&lt;br /&gt;This is where what's called the &lt;b&gt;UUID&lt;/b&gt; comes in handy.&amp;nbsp; The &lt;b&gt;UUID&lt;/b&gt; is an alphanumeric sequence that uniquely identifies each connected storage device independently of the partition assigned to that device.&amp;nbsp; After all, if I connect my USB stick and then my external hard drive, it's my USB stick that would show up as partition &lt;b&gt;sdb1&lt;/b&gt;, while my &lt;/span&gt;&lt;/span&gt;external hard drive would show up as partition &lt;b&gt;sdc1&lt;/b&gt;.&amp;nbsp; In order to make sure that it's my external hard drive that gets mounted as &lt;span style="color: #38761d;"&gt;/media/backup&lt;/span&gt; and not my USB stick, I had to replace &lt;span style="color: #38761d;"&gt;/dev/sdb1&lt;/span&gt; with the &lt;b&gt;UUID&lt;/b&gt;.&amp;nbsp; To find out the &lt;b&gt;UUID &lt;/b&gt;of a connected device, go to the terminal and type in &lt;span style="color: #38761d;"&gt;sudo blkid&lt;span style="color: black;"&gt;.&amp;nbsp; Here's the output on my terminal:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #38761d;"&gt;inkhorn@inkhorn-laptop:/media$ sudo blkid&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/dev/sda1: UUID="2fb4ca03-eca7-41f8-9767-bbfaf88a1890" TYPE="swap" &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/dev/sda2: UUID="34B836C6B8368700" LABEL="S3A6134D002" TYPE="ntfs" &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/dev/sda5: UUID="ece79ff2-c123-4a72-80a9-c187b2cfd785" TYPE="ext4" &lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/dev/sdb1: UUID="010C7CC23301CA6C" LABEL="backup" TYPE="ntfs" &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, I opened up the &lt;b&gt;fstab &lt;/b&gt;file again and replaced &lt;span style="color: #38761d;"&gt;/dev/sdb1 &lt;span style="color: black;"&gt;with &lt;span style="color: #38761d;"&gt;UUID=&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #38761d;"&gt;010C7CC23301CA6C&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&amp;nbsp; &lt;/span&gt;I then saved the &lt;b&gt;fstab &lt;/b&gt;file, restarted, and VOILA!!!&amp;nbsp; My Samba share for my external hard drive is finally accessible from my Wife's Windows XP machine!&lt;br /&gt;&lt;br /&gt;&lt;hr size="2" /&gt;&lt;br /&gt;&lt;br /&gt;If you want to install pysdm on your Ubuntu system, type the following in your terminal:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;sudo apt-get install pysdm&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then you can access it through the following menu items: &lt;b&gt;System &amp;gt; Administration &amp;gt; Storage Device Manager&lt;/b&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-4523681898461608568?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/4523681898461608568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2009/12/permissions-samba-sharing-external-ntfs.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/4523681898461608568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/4523681898461608568'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2009/12/permissions-samba-sharing-external-ntfs.html' title='Permissions, Samba Sharing an External NTFS drive, and fstab'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-8108599915048240712</id><published>2009-12-25T10:25:00.002-05:00</published><updated>2009-12-25T10:32:16.853-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Command Line'/><category scheme='http://www.blogger.com/atom/ns#' term='Shutdown'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><title type='text'>Schedule a delayed shutdown</title><content type='html'>Several times I've initiated a download of a big movie file late at night before I go to bed. &amp;nbsp;Without knowing anything else, I'd normally have to leave my computer on all night just so that I could download that movie file that will probably only take up 3 hours. &amp;nbsp;Wouldn't it be nice if you could tell your computer to turn off after the time it takes to download something?&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;That's where the &lt;b&gt;shutdown &lt;/b&gt;command in bash comes in handy! &amp;nbsp;Here's an example of the way I usually use it:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #38761d;"&gt;sudo shutdown -P 300&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Firstly, you need to have root access to use shutdown, hence my use of the &lt;b&gt;sudo &lt;/b&gt;command. &amp;nbsp;I used -P to indicate that I want to power off after shutdown (as opposed to rebooting, or 'halting'). &amp;nbsp;Finally, I typed 300 to indicate that I want the computer to shutdown in 3.5 hours (300 minutes).&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another way you can use the command is by specifying the clock time at which you want your computer to shutdown in 24 hour format. &amp;nbsp;So let's say you want your computer to shut down at 4:15pm:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #38761d;"&gt;sudo shutdown -P 16:15&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Type that in and your computer will shut down at 4:15pm. &amp;nbsp;That's it!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-8108599915048240712?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/8108599915048240712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2009/12/schedule-delayed-shutdown.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/8108599915048240712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/8108599915048240712'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2009/12/schedule-delayed-shutdown.html' title='Schedule a delayed shutdown'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-1331979616480316058</id><published>2009-12-22T22:44:00.002-05:00</published><updated>2009-12-22T22:46:42.321-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='split'/><category scheme='http://www.blogger.com/atom/ns#' term='cat'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='File Splitting'/><title type='text'>Split files into parts easily in bash</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;span style="font-family: sans-serif;"&gt;These days, USB sticks have obliterated the worry of not being be able to carry computer files from one computer to another.&amp;nbsp; However, there will be instances when you'll be tempted to email a file to someone and that file will be too big to attach to your email.&amp;nbsp; Whatever do you do!?!&lt;br /&gt;&lt;br /&gt;This is where the &lt;b&gt;split &lt;/b&gt;command in your Linux terminal comes in handy.&amp;nbsp; Let's say you have an .mpg file that runs for roughly 25 minutes and happens to take up 40 megabytes (e.g. 'speeches from wedding video.mpg').&amp;nbsp; Let's also say that your email server will accept attachments of maximum 10 megabytes.&amp;nbsp; So, we know that we need to split this .mpg file into 4 parts of 10 megabytes each.&lt;br /&gt;&lt;br /&gt;Here's the command to use for the example file:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;&lt;span style="font-family: sans-serif;"&gt;split -b 10000k 'speeches from wedding video.mpg' speeches.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: black;"&gt;Here's what the arguments mean:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: sans-serif;"&gt;-b tells the split command that you want to specify the 'byte' size&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: sans-serif;"&gt;10000k, or 10,000 kilobytes is the size of the parts we wanted (10,000 kilobytes = 10 megabytes)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: sans-serif;"&gt;'speeches from wedding video.mpg' is the file we want to split into parts&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: sans-serif;"&gt;speeches. tells the split command that all part files should begin with 'speeches.'&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: sans-serif;"&gt;This will result in the creation of 4 new 10 meg files named: &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: sans-serif;"&gt;speeches.aa, speeches.ab, speeches.ac, speeches.ad&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;span style="font-family: sans-serif;"&gt;Putting them back together again&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: sans-serif;"&gt;Admittedly, this is a solution where the other person has to be a Linux user.&amp;nbsp; The person on the other end has to navigate to the directory where the part files are stored and enter in the following command:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #006600;"&gt;cat speeches.?? &amp;gt; 'speeches from wedding video.mpg'&lt;br /&gt;&lt;br /&gt;&lt;span style="color: black;"&gt;Voila!&amp;nbsp; Humpty dumpty has been put back together again :)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: sans-serif;"&gt;&lt;span style="color: #006600;"&gt;&lt;span style="color: black;"&gt;&lt;hr /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: sans-serif;"&gt;&lt;span style="color: #006600;"&gt;&lt;span style="color: black;"&gt;This neat Linux trick has been brought to you by an awesome book I'm currently reading called &lt;a href="http://www.amazon.ca/Linux-All-One-Reference-Dummies/dp/0470275359/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1261539656&amp;amp;sr=8-1" target="_blank"&gt;Linux All-in-One Desk Reference For Dummies&lt;/a&gt;.&amp;nbsp; I heartily recommend it to Linux newbies!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-1331979616480316058?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/1331979616480316058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2009/12/split-files-into-parts-easily-in-bash.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/1331979616480316058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/1331979616480316058'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2009/12/split-files-into-parts-easily-in-bash.html' title='Split files into parts easily in bash'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-5777828236697561583</id><published>2009-12-21T15:00:00.006-05:00</published><updated>2010-01-12T08:45:55.787-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='Command Line'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='File Search'/><category scheme='http://www.blogger.com/atom/ns#' term='Terminal'/><category scheme='http://www.blogger.com/atom/ns#' term='File Indexing'/><category scheme='http://www.blogger.com/atom/ns#' term='Shell'/><title type='text'>Finding Files in Google Desktop and bash</title><content type='html'>&amp;nbsp;&amp;nbsp; &amp;nbsp;Sometimes I want to find a file and I have no clue where it is.&amp;nbsp; When I was using Windows Vista, this was a simple matter of using the native file searching utility, which dutifully searched for my lost file using the index it created of my hard drive.&amp;nbsp; File indexing is an amazing thing to take advantage of.&amp;nbsp; When your computer searches a file index, it gets results FAST!&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;If you don't have a file index (remember, it's literally a simple listing of every single file you've put on your computer in one relatively small database file) then your computer will have to loop through every single file on your computer, trying to match your search argument (e.g. 'Resume*.pdf') to the file names that it processes.&lt;br /&gt;&lt;br /&gt;Today I'll talk about three linux programs for indexing and/or finding your files:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://desktop.google.com/" id="n5g:" target="_blank" title="Google Desktop"&gt;Google Desktop&lt;/a&gt; (for easy indexing and finding using a GUI)&lt;/li&gt;&lt;li&gt;&lt;a href="https://help.ubuntu.com/community/FindingFiles" id="ux3l" title="locate"&gt;locate&lt;/a&gt; (for finding indexed files in bash/terminal)&lt;/li&gt;&lt;li&gt;&lt;a href="https://help.ubuntu.com/community/FindingFiles" id="ltb3" title="find"&gt;find&lt;/a&gt; (for finding files in bash/terminal)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;hr size="2" /&gt;&lt;br /&gt;&lt;b&gt;Google Desktop&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;Even if you are using windows, click on the link above and get this program.&amp;nbsp; It's VERY convenient to use!&amp;nbsp; Google Desktop will not only allow you to search for your files, but emails that you've sent and received as well!&amp;nbsp; Once you download it, you will want to make sure that it builds an index of the directories in which your important files will be stored.&amp;nbsp; As shown below, right click on the Google Desktop icon and click on &lt;b&gt;Preferences&lt;/b&gt;.&amp;nbsp; On my computer I have it indexing my home user directory and my USB drive root directory.&amp;nbsp; You can of course add any extra folders you like by click on &lt;b&gt;Add folder to search&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div id="ncif" style="text-align: center;"&gt;&lt;div id="rmfg" style="text-align: center;"&gt;&lt;a href="http://docs.google.com/File?id=dgvrc7fb_15f7s4xnf7_b" target="_blank"&gt;&lt;img src="http://docs.google.com/File?id=dgvrc7fb_15f7s4xnf7_b" width="95%" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: xx-small;"&gt;&lt;i&gt;Preferences are opened in your default browser&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;/div&gt;You may want to modify settings in the other tabs shown above.&amp;nbsp; Go to the &lt;b&gt;Gmail&lt;/b&gt; tab and follow the instructions there if you would like Google Desktop to index your gmail account.&amp;nbsp; Also, go to &lt;b&gt;Display&lt;/b&gt; and click on the &lt;b&gt;Change Hotkey&lt;/b&gt; button lower down on the page in order to set up a key combination that will bring up a quick search box (shown below).&lt;br /&gt;&lt;br /&gt;&lt;div id="ppwa" style="text-align: center;"&gt;&lt;a href="http://docs.google.com/File?id=dgvrc7fb_16d2xvwqfw_b" target="_blank"&gt;&lt;img src="http://docs.google.com/File?id=dgvrc7fb_16d2xvwqfw_b" width="95%" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;My key combo: &amp;nbsp;&amp;nbsp; Shift+Control+?&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;When you're sure that everything is set, click on &lt;b&gt;Save Preferences&lt;/b&gt; and Google Desktop will start indexing your files!&amp;nbsp; Bear in mind that the process is slow, so you'll have to give it several hours until it's done indexing everything.&amp;nbsp; You can check on Google Desktop's progress in indexing by right-clicking on the Google Desktop icon, then on &lt;b&gt;Index&lt;/b&gt;, then on &lt;b&gt;Index Status&lt;/b&gt;.&amp;nbsp; You'll then see its progress in indexing all of your files and emails.&lt;br /&gt;&lt;br /&gt;What I really like about Google Desktop is the simplicity in finding and opening anything on your computer.&amp;nbsp; Type your key combo, quick search box comes up, type in your search argument, click on the result matching the file you were looking for, then your file opens!&lt;br /&gt;&lt;br /&gt;&lt;hr size="2" /&gt;&lt;br /&gt;&lt;b&gt;locate&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;As I understand it, Ubuntu 9.10 (and i'm sure basically every other distro of Linux) indexes all my files for me on some periodic basis.&amp;nbsp; This is what enables the &lt;b&gt;locate &lt;/b&gt;program to work in the terminal.&amp;nbsp; &lt;b&gt;locate &lt;/b&gt;searches through the generated file index database for a term of your choosing.&amp;nbsp; So let's say I want to search for the manual I recently downloaded for my Hammer Drill, but I have no clue where it went!&amp;nbsp; Here's how I would use the command to find my file:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;&lt;span style="color: black;"&gt;inkhorn@inkhorn-laptop:/$&lt;/span&gt; locate -i hammer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here's what the arguments I used mean:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;-i tells the locate program to ignore the case of your search term&lt;/li&gt;&lt;li&gt;hammer is simply the search term&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-left: 40px;"&gt;&lt;br /&gt;&lt;/div&gt;Here is the output from the &lt;b&gt;locate&lt;/b&gt; command:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/home/inkhorn/Documents/Hammer Drill Manual.pdf&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/usr/share/pixmaps/pidgin/emotes/default/hammer.png&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/usr/src/linux-headers-2.6.31-15/arch/avr32/boards/hammerhead&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/usr/src/linux-headers-2.6.31-15/arch/avr32/boards/hammerhead/Kconfig&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/usr/src/linux-headers-2.6.31-15/arch/avr32/boards/hammerhead/Makefile&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/usr/src/linux-headers-2.6.31-16/arch/avr32/boards/hammerhead&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/usr/src/linux-headers-2.6.31-16/arch/avr32/boards/hammerhead/Kconfig&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/usr/src/linux-headers-2.6.31-16/arch/avr32/boards/hammerhead/Makefile&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The first result is the one I'm looking for!&amp;nbsp; Now I know where to look to open my hammer drill manual. &lt;br /&gt;&lt;br /&gt;&lt;hr size="2" /&gt;&lt;br /&gt;&lt;b&gt;find&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;The &lt;b&gt;find&lt;/b&gt; command has to loop through each and every file in the directory you specificy in your search argument.&amp;nbsp; If you told it to search the root directory '/' for a file with the word 'Hammer' in it, your computer would probably take an intolerably long time finding it.&amp;nbsp; Happily enough, you don't need to do that and probably have an idea generally where it is.&amp;nbsp; To use my hammer drill example:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;&lt;span style="color: black;"&gt;inkhorn@inkhorn-laptop:/$&lt;/span&gt; &lt;/span&gt;&lt;span style="color: #38761d;"&gt;find /home/inkhorn -iname 'Hammer*.*'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here's what the arguments I used mean:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;-iname tells &lt;b&gt;find&lt;/b&gt; to ignore case when comparing your search argument string to the file names that it loops through&lt;/li&gt;&lt;li&gt;'Hammer*.*' tells it to look for a file of any extension (.*) starting with the word 'Hammer' and continuing with any other words after that (*)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;Here is the output from the &lt;b&gt;find &lt;/b&gt;command:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;/home/inkhorn/Documents/Hammer Drill Manual.pdf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Cool thing is that the find command only outputs file results while the locate command outputs directory results!&amp;nbsp; In this instance, the results came on screen really quickly.&lt;br /&gt;&lt;br /&gt;Now for something even cooler:&amp;nbsp; I can enter in a command that looks for a file that I'm interested in and opens it in a program that reads it!&amp;nbsp; Here is what I would enter in if I wanted to look for the hammer drill menu in terminal and automatically open it up in an excellent PDF reader named &lt;a href="http://okular.kde.org/" id="kefk" title="Okular"&gt;Okular&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;&lt;span style="color: black;"&gt;inkhorn@inkhorn-laptop:/$&lt;/span&gt; find /home/inkhorn -iname 'Hammer*.*' -type f -exec okular '{}' \;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You've already seen the first part of the find command in action.&amp;nbsp; The second part tells the &lt;b&gt;find &lt;/b&gt;command to execute a program called 'okular' that should then take the &lt;b&gt;find &lt;/b&gt;results as an argument.&amp;nbsp; In other words, okular opens up the file listed in the &lt;b&gt;find &lt;/b&gt;output.&lt;br /&gt;&lt;br /&gt;You can use this to open up other file types that you want to find.&amp;nbsp; If you're looking to open a word document, replace 'okular' with 'oowriter', a spreadsheet, replace 'okular' with 'oocalc'.&lt;br /&gt;&lt;br /&gt;For more info on using&lt;b&gt; find &lt;/b&gt;and &lt;b&gt;locate&lt;/b&gt;, click &lt;a href="https://help.ubuntu.com/community/FindingFiles" id="c8ir" title="here"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-5777828236697561583?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/5777828236697561583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2009/12/finding-files-in-google-desktop-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/5777828236697561583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/5777828236697561583'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2009/12/finding-files-in-google-desktop-and.html' title='Finding Files in Google Desktop and bash'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-4869854647260092231</id><published>2009-12-19T18:49:00.000-05:00</published><updated>2009-12-19T18:50:47.282-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='File Synchronization'/><category scheme='http://www.blogger.com/atom/ns#' term='Synch'/><category scheme='http://www.blogger.com/atom/ns#' term='Backup'/><title type='text'>Backing up your computer files with rsync</title><content type='html'>If you're paranoid about losing ages and ages of work you need to find a way of backing up your computer files!&amp;nbsp; In Windows I would use a program called &lt;a href="http://savensync.com/"&gt;Save-n-Sync&lt;/a&gt; to make sure that a synchronized copy of all my work files could be saved on a backup source.&amp;nbsp; In Linux this can be done with one command in the terminal using a shell program called &lt;a href="http://rsync.samba.org/"&gt;rsync&lt;/a&gt;:&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;rsync -r -u --log-file=[path for your new log file] --stats [path for your source directory] [path for your target directory]&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I'll explain the arguments:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;-r&lt;/b&gt; tells it to recurse through the subdirectories of your specified source directory, meaning that it will synchronize files found directly in the source directory, but also files found within subdirectories inside your source directory. &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;-u&lt;/b&gt; tells it that if a file is in both the source and target directory, it should only update the target directory file if it is an older version than the one in the source. &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;--log-file=[path for your new log file]&lt;/b&gt; is the command you should use if you want the results of your file sync to be saved in a log file named however you like.&amp;nbsp; For example:&amp;nbsp; --log-file='/home/user/Desktop/Backup Log.txt' &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;--stats&lt;/b&gt; tells it to output some useful file sync statistics for you such as how many files were scanned through, transferred, size of the transfer, etc. &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;[path for your source directory]&lt;/b&gt; should be replaced with your source directory such as '/media/USB Stick' &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;[path for your target directory]&lt;/b&gt; should be replaced with your target directory such as '/media/Backup Drive'&lt;/li&gt;&lt;/ul&gt;You can add or take away whatever of these options you like and many many more.&amp;nbsp; Type in &lt;b&gt;rsync --help&lt;/b&gt; in the terminal to learn more.&amp;nbsp; Now, if you don't feel like typing this command in every time you want to back your stuff up then you can create the equivalent of a shortcut, in Ubuntuspeak a 'Launcher', on the desktop. Do the following and all you'll have to do is double click on your launcher icon to back your files up:&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;Creating launchers is simple!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_SLATbuFg4qM/Sy1lSAGWvbI/AAAAAAAAABs/UPAq53gqE4s/s1600-h/Launcher+Screen.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_SLATbuFg4qM/Sy1lSAGWvbI/AAAAAAAAABs/UPAq53gqE4s/s320/Launcher+Screen.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Right-click (or if you're a lefty, left-click) on your desktop and select &lt;b&gt;Create Launcher&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;The selection next to &lt;b&gt;Type: &lt;/b&gt;should be left as &lt;b&gt;Application&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Beside &lt;b&gt;Name: &lt;/b&gt;you can put whatever you like to indicate that it's a Launcher for your backup command&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Now next to &lt;b&gt;Command: &lt;/b&gt;put in your full &lt;b&gt;rsync &lt;/b&gt;command with all the arguments discussed (or not) above&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Feel free to click on the icon box at the top left to select a more interesting icon for your backup launcher (i.e. select an icon, and press OK)&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Press OK when you're done and now you have a Launcher that you can double click whenever you need to back your stuff up! &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Happy file-synchronizing!&amp;nbsp; This program does a blazing fast job :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-4869854647260092231?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/4869854647260092231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2009/12/backing-up-your-computer-files-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/4869854647260092231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/4869854647260092231'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2009/12/backing-up-your-computer-files-with.html' title='Backing up your computer files with rsync'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_SLATbuFg4qM/Sy1lSAGWvbI/AAAAAAAAABs/UPAq53gqE4s/s72-c/Launcher+Screen.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-1478501200213107219</id><published>2009-12-19T17:50:00.003-05:00</published><updated>2010-01-12T08:51:15.492-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GIMP'/><category scheme='http://www.blogger.com/atom/ns#' term='Red-eye'/><category scheme='http://www.blogger.com/atom/ns#' term='Gwenview'/><title type='text'>Red-Eye Reduction in GIMP and Gwenview</title><content type='html'>I have many photos on my computer and a good portion of them tend to be of people whose eyes become red on account of the camera flash (despite the orange light my camera emits as it's taking pictures).&amp;nbsp; In windows it's fairly easy to open up your red-eye affected photo and fix it up (practically in a few clicks of the mouse).&amp;nbsp; How easily can we accomplish the same task in Ubuntu?&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Today I'm going to load a cropped picture of two people with red-eye into two well-known programs in Ubuntu, &lt;a href="http://www.gimp.org/" id="g_jv" target="_blank" title="GNU Image Manipulation Program"&gt;GIMP&lt;/a&gt; and &lt;a href="http://gwenview.sourceforge.net/" id="x7-2" title="Gwenview"&gt;Gwenview&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="pb3b" style="text-align: center;"&gt;&lt;a href="http://docs.google.com/File?id=dgvrc7fb_3gnchzjtb_b" target="_blank"&gt;&lt;img src="http://docs.google.com/File?id=dgvrc7fb_3gnchzjtb_b" style="height: 122px; width: 391px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;The Offending Picture!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Red-Eye Reduction in the GIMP&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I'll trust that you know how to open a picture in any program and cut to the specifics.&amp;nbsp; From here we have two ways to proceed:&amp;nbsp; &lt;br /&gt;&lt;br /&gt;(1) If there are other red colours in your picture that you want to preserve:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Select one of the red-eyes in your picture with the ellipse-select tool&lt;/li&gt;&lt;li&gt;Click on the 'Filters' menu&lt;/li&gt;&lt;li&gt;Click on the 'Enhance' submenu&lt;/li&gt;&lt;li&gt;Click on 'Red-Eye Removal' (big surprise!)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="agik" style="text-align: center;"&gt;&lt;a href="http://docs.google.com/File?id=dgvrc7fb_7cw7gz9c4_b" target="_blank"&gt;&lt;img src="http://docs.google.com/File?id=dgvrc7fb_7cw7gz9c4_b" width="95%" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;Not so intuitive yet not too much to remember right?&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="utd-" style="text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="ul2p" style="text-align: center;"&gt;&lt;div id="rf4g" style="text-align: center;"&gt;&lt;a href="http://docs.google.com/File?id=dgvrc7fb_5nzn37gv_b" target="_blank"&gt;&lt;img src="http://docs.google.com/File?id=dgvrc7fb_5nzn37gv_b" width="95%" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;i&gt;Hope your fine motor control is effective here!&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;Next you will see the Red-Eye Removal configuration window where it will ask you to choose a red-eye threshold.&amp;nbsp; Above you can see that it gives you a preview of the eye that you're modifying.&amp;nbsp; The default threshold value seems to work without a problem.&amp;nbsp; So, press okay and move on to the other eyes in the picture.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="e-.y" style="text-align: center;"&gt;&lt;div id="tekc" style="text-align: center;"&gt;&lt;a href="http://docs.google.com/File?id=dgvrc7fb_9fh4bz3gs_b" target="_blank"&gt;&lt;img src="http://docs.google.com/File?id=dgvrc7fb_9fh4bz3gs_b" style="height: 122px; width: 391px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;The Result!&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;(2) If the only intensely red colours in your picture are in the eyes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Don't select anything in the picture&lt;/li&gt;&lt;li&gt;Navigate to the 'Red-Eye Removal' filter as before&lt;/li&gt;&lt;li&gt;Press okay at the threshold that looks best (probably the default)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="ukw." style="text-align: center;"&gt;&lt;a href="http://docs.google.com/File?id=dgvrc7fb_10nbgbgs6_b" target="_blank"&gt;&lt;img src="http://docs.google.com/File?id=dgvrc7fb_10nbgbgs6_b" width="95%" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;Easy for this picture, but beware of pictures with other reds in them!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;hr size="2" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;b&gt;Red-Eye Reduction in Gwenview&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;There's only one way of reducing red-eye in Gwenview and it is not very difficult:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Open up your photo in Gwenview&lt;/li&gt;&lt;li&gt;Under the 'Image Operations' pane, select 'Red Eye Reduction'&lt;/li&gt;&lt;li&gt;When your mouse cursor turns into a cross-hair, select the middle of any one of the red-eyes that you want to fix&lt;/li&gt;&lt;li&gt;A small circle will now appear on the spot where you clicked to 'de-red' the red-eye.&amp;nbsp; You can change its size using the dark grey panel that appears below the picture&lt;/li&gt;&lt;li&gt;When you're done, click apply and move on&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="y4gx" style="text-align: center;"&gt;&lt;a href="http://docs.google.com/File?id=dgvrc7fb_11fgknjpdw_b" target="_blank"&gt;&lt;img src="http://docs.google.com/File?id=dgvrc7fb_11fgknjpdw_b" width="95%" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;Still need to have some good fine motor control skills here!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;div id="smbd" style="text-align: center;"&gt;&lt;a href="http://docs.google.com/File?id=dgvrc7fb_12fwjvn7vx_b" target="_blank"&gt;&lt;img src="http://docs.google.com/File?id=dgvrc7fb_12fwjvn7vx_b" style="height: 122px; width: 391px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/i&gt;&lt;i&gt;The Result!&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr size="2" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Conclusion&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;The GIMP is a fantastic image manipulation program with so many features.&amp;nbsp; However, I find that Gwenview is simpler to use for this purpose.&amp;nbsp; My feeling is that many users wanting to edit photos will only want to do some of the simplest tasks: cropping, rotating, flipping and red-eye reduction, to name a few.&amp;nbsp; As I've demonstrated here with red-eye reduction, Gwenview is a very simple program to use.&amp;nbsp; To the user with such simple needs (I'm including myself here) I would recommend Gwenview.&amp;nbsp; However I certainly plan on keeping GIMP on my computer as there are times when I need something above and beyond the simple stuff.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-1478501200213107219?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/1478501200213107219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2009/12/red-eye-reduction-in-gimp-and-gwenview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/1478501200213107219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/1478501200213107219'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2009/12/red-eye-reduction-in-gimp-and-gwenview.html' title='Red-Eye Reduction in GIMP and Gwenview'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-7775185733097860197</id><published>2009-12-14T22:08:00.003-05:00</published><updated>2010-01-12T08:54:38.506-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mozilla'/><category scheme='http://www.blogger.com/atom/ns#' term='Thunderbird'/><category scheme='http://www.blogger.com/atom/ns#' term='Email'/><title type='text'>Thunderbird 3 - Nice and Polished!</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Many years ago I used MS Outlook to organize my many emails, my calendar and my contacts. &amp;nbsp;I liked Outlook alright until I finally got sick of how resource intensive it felt after years of use. &amp;nbsp;I'm talking about the feeling you get when you hear the frantic clicking of your computer accessing stuff on your hard drive and executing processes like a type A personality on cocaine. &amp;nbsp;So I felt the need for a change! &lt;br /&gt;&lt;br /&gt;I discovered Mozilla Thunderbird and I never looked back. &amp;nbsp;Thunderbird had (and still has) about all I can ask for. &amp;nbsp;It loads fast, handles all sorts of email accounts (POP, IMAP, Gmail, Hotmail, etc), has a calendar plugin you can use called Lightning, and has BLAZING fast email search functionality!&lt;br /&gt;&lt;br /&gt;The email search functionality of Thunderbird is perhaps my favourite feature. &amp;nbsp;I actively use 3 email accounts and so accumulate A LOT of email from day to day! &amp;nbsp;This is no matter for thunderbird, as it quietly indexes each and every email as they come in (or after you import your emails from another source). &amp;nbsp;I most often use the 'Subject or Sender' search when looking for emails. &amp;nbsp;Want to find an email? &amp;nbsp; &amp;nbsp;Type in a word or more from the subject, or type in the name of the person whosent it and WHAM, it shows you all the search results lickety split!&lt;br /&gt;&lt;br /&gt;So, when I read recently that Mozilla came out with &lt;a href="http://www.mozillamessaging.com/en-US/thunderbird/"&gt;Thunderbird 3&lt;/a&gt;, I absolutely had to check it out!&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_SLATbuFg4qM/SybzvbtYb_I/AAAAAAAAABU/9I1I3U7-vWI/s1600-h/screenshot_013.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_SLATbuFg4qM/SybzvbtYb_I/AAAAAAAAABU/9I1I3U7-vWI/s640/screenshot_013.png" width="95%"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;Thunderbird 3 Screenshot&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;For those of you who have seen&amp;nbsp;Thunderbird&amp;nbsp;before, you'll see that apart from some icon style changes, Thunderbird 3 introduces tabs to its email interface. &amp;nbsp;I wasn't exactly waiting with baited breath for this feature, but you have to admit that Email clients might as well have tabbed interfaces now that all browsers have them.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_SLATbuFg4qM/Syb0QUFtTaI/AAAAAAAAABc/tWD6Fy_bQvs/s1600-h/screenshot_014.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_SLATbuFg4qM/Syb0QUFtTaI/AAAAAAAAABc/tWD6Fy_bQvs/s640/screenshot_014.png" width="95%" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;New email opened in a tab&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Want to see your email in a new window? &amp;nbsp;Just click on 'other actions' then 'open in new window'. &amp;nbsp;Another really cool feature you'll spot in the 'other actions' menu is 'show in conversation'. &amp;nbsp;This threads all emails bearing the same subject line as part of one tree structure, where each reply to an email in that conversation creates its own branch.&lt;br /&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/_SLATbuFg4qM/Syb3LvQYEcI/AAAAAAAAABk/e3EyAOTmC4Y/s1600-h/screenshot_015.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_SLATbuFg4qM/Syb3LvQYEcI/AAAAAAAAABk/e3EyAOTmC4Y/s1600-h/screenshot_015.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_SLATbuFg4qM/Syb3LvQYEcI/AAAAAAAAABk/e3EyAOTmC4Y/s1600-h/screenshot_015.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;center&gt;&lt;img border="0" height="349" src="http://3.bp.blogspot.com/_SLATbuFg4qM/Syb3LvQYEcI/AAAAAAAAABk/e3EyAOTmC4Y/s640/screenshot_015.png" width="95%" /&gt;&lt;/center&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;'show in conversation' view. &amp;nbsp;Google GMail meets Mozilla Thunderbird?&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;I think that the 'conversation' view is a much needed addition to Thunderbird's complement of tools to organize your email.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Finally, I'm happy to report that searching for emails in Thunderbird 3 is just as good as it has ever been. &amp;nbsp;There is at least one search type that I do not understand ('Recipient filter'.... How is that different from a 'To or CC filter'?) but that's okay because I rarely use anything other the 'Subject or From filter' search anyway.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;So, if you're using Windows or Mac, go &lt;a href="http://www.mozillamessaging.com/en-US/thunderbird/"&gt;here&lt;/a&gt;, or if you're using Ubuntu, paste the following 4 lines (taken from the &lt;a href="http://sourceforge.net/apps/mediawiki/ubuntuzilla/index.php?title=Main_Page#Repository_method"&gt;Ubuntuzilla project site&lt;/a&gt;) into your terminal:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;(1) echo "deb &lt;a href="http://switch.dl.sourceforge.net/project/ubuntuzilla/apt" rel="nofollow" title="http://switch.dl.sourceforge.net/project/ubuntuzilla/apt"&gt;&lt;span style="color: black;"&gt;http://switch.dl.sourceforge.net/project/ubuntuzilla/apt&lt;/span&gt;&lt;/a&gt; all main" | sudo tee -a /etc/apt/sources.list &amp;gt; /dev/null&lt;br /&gt;&lt;br /&gt;(2) sudo apt-get update&lt;br /&gt;&lt;br /&gt;(3) sudo apt-get install ubuntuzilla&lt;br /&gt;&lt;br /&gt;(4) ubuntuzilla.py -a install -p thunderbird&lt;br /&gt;&lt;br /&gt;Most of all, enjoy!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-7775185733097860197?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/7775185733097860197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2009/12/thunderbird-3-nice-and-polished.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/7775185733097860197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/7775185733097860197'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2009/12/thunderbird-3-nice-and-polished.html' title='Thunderbird 3 - Nice and Polished!'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_SLATbuFg4qM/SybzvbtYb_I/AAAAAAAAABU/9I1I3U7-vWI/s72-c/screenshot_013.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6991642647631426552.post-6148790505843230493</id><published>2009-12-06T15:05:00.003-05:00</published><updated>2009-12-27T09:44:03.397-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Samba'/><category scheme='http://www.blogger.com/atom/ns#' term='File Sharing'/><category scheme='http://www.blogger.com/atom/ns#' term='Printer Sharing'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Setting up file sharing in Ubuntu Linux</title><content type='html'>I made a BIG switch from Windows Vista to Ubuntu Linux a while ago.&amp;nbsp; I have been able to figure out how to do nearly all of my computing tasks in Ubuntu that I need on a regular basis.&amp;nbsp; The one thing I had a lot of difficulty with for some reason was file sharing.&lt;br /&gt;&lt;br /&gt;My linux machine is wirelessly networked with my wife's Windows XP desktop and my own Windows XP netbook.&amp;nbsp; I wanted to share my external backup hard drive over the network so that she could just copy-paste stuff right into the drive over the network.&lt;br /&gt;&lt;br /&gt;For some reason I found that the simplest method just didn't work:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Right-click on the icon for my backup drive in Nautilus&lt;/li&gt;&lt;li&gt;Click on 'Sharing Options'&lt;/li&gt;&lt;li&gt;Click on 'Share this folder'&lt;/li&gt;&lt;li&gt;Click on 'Allow others to create and delete files in this folder'&lt;/li&gt;&lt;/ul&gt;It kept giving me error messages!&amp;nbsp; Argh!&amp;nbsp; I kept finding a bunch of how-to's telling me how to modify my samba configuration file.&amp;nbsp; That was promising but I kept messing stuff up:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;My printer share stopped working &lt;/li&gt;&lt;li&gt;All my shares stopped working&lt;/li&gt;&lt;li&gt;I could only view shares from her computer&lt;/li&gt;&lt;/ul&gt;Finally I found an answer.&amp;nbsp; Today I looked up "easy samba configuration" on google and found&amp;nbsp;&lt;a href="http://ubuntuforums.org/showthread.php?t=807747"&gt;this page&lt;/a&gt; that gives a simple samba configuration file that only needs a few tweaks to work.&amp;nbsp; First I modified the [global] section:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I put my computer name, "inkhorn-laptop", next to "netbios name = " &lt;/li&gt;&lt;li&gt;I put my workgroup name, "MSHOME", next to "workgroup = "&lt;/li&gt;&lt;/ul&gt;Then I modified the [network-share] section: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;I changed [network-share] to read [backup-drive]&lt;/li&gt;&lt;li&gt;Put the path to my backup drive, "/media/backup" next to "path = "&lt;/li&gt;&lt;li&gt;I deleted the "force group" line, as that didn't seem to help&lt;/li&gt;&lt;li&gt;I put the username I set up for my wife next to "force user = "&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;Just make sure to follow the directions in the page I linked to above to create a samba username and password for the person you want to access your share.&lt;br /&gt;&lt;br /&gt;Finally file sharing and printer sharing are working at the same time :)&lt;br /&gt;&lt;br /&gt;--------------- EDIT: Dec. 27, 2009----------------------&lt;br /&gt;&lt;br /&gt;The above seems to work just fine for sharing folders on my main hard drive. &amp;nbsp;To share my external drive it turns out I needed to jump through some hoops to change its permissions so that other people can read, write and execute files on it. &amp;nbsp;See my latest blog post on the topic&amp;nbsp;&lt;a href="http://nixliving.blogspot.com/2009/12/permissions-samba-sharing-external-ntfs.html"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6991642647631426552-6148790505843230493?l=nixliving.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nixliving.blogspot.com/feeds/6148790505843230493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://nixliving.blogspot.com/2009/12/setting-up-file-sharing-in-ubuntu-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/6148790505843230493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6991642647631426552/posts/default/6148790505843230493'/><link rel='alternate' type='text/html' href='http://nixliving.blogspot.com/2009/12/setting-up-file-sharing-in-ubuntu-linux.html' title='Setting up file sharing in Ubuntu Linux'/><author><name>Inkhorn</name><uri>http://www.blogger.com/profile/14993876569672491763</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
