<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Andrew Lisy's Blog &#187; projects</title>
	<atom:link href="http://blog.ajlisy.com/category/projects/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ajlisy.com</link>
	<description>Linux, finance, rants, politics</description>
	<lastBuildDate>Mon, 17 May 2010 23:17:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Holy Grail of Photo Management</title>
		<link>http://blog.ajlisy.com/2009/05/the-holy-grail-of-photo-management/</link>
		<comments>http://blog.ajlisy.com/2009/05/the-holy-grail-of-photo-management/#comments</comments>
		<pubDate>Mon, 04 May 2009 03:27:39 +0000</pubDate>
		<dc:creator>aj</dc:creator>
				<category><![CDATA[economics]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[dreamhost]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[gallery2]]></category>
		<category><![CDATA[iphoto]]></category>
		<category><![CDATA[multimedia]]></category>
		<category><![CDATA[online backup]]></category>
		<category><![CDATA[online storage]]></category>
		<category><![CDATA[photo management]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[picasa]]></category>
		<category><![CDATA[pictures]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[s3]]></category>
		<category><![CDATA[sync]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.ajlisy.com/?p=304</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>I have a ton of photos that I&#8217;ve taken over the years, and managing them is a constant challenge. Part of the problem is simply the fact that there are so many great things you can do with digital photos &#8212; view them online, make cool <img src="http://blog.ajlisy.com/wp-content/uploads/2009/05/stock_collage-300x225.jpg" alt="stock_collage" width="300" height="225" align="right" />photobooks, create collages, order prints, send them to friends and family, etc. There are many different applications that are useful for photos, and while some of them come close to doing it all, there still isn&#8217;t one solution that works for everything.<br />
<span id="more-304"></span><br />
I have a few things that are essential to me in a &#8220;photo system&#8221;: secure backup, online permissioned viewing, and local viewing through a robust desktop app. I have several computers running Windows, Linux or OSX that I alternate between, so at any given point I might need to import or view photos from any one of them. Therefore, a photo solution needs to work across all three platforms and stay in sync and secure at all times. I found the ideal combination using rsync, Dropbox, Jungledisk, Picasa and Gallery2. It&#8217;s a lot of applications, but the result is perfect for what I&#8217;m looking for, and it takes very little time to maintain.</p>
<p>Here are my steps to getting pictures into the &#8220;system&#8221;. Basically, </p>
<ol>
<li>Save pictures to some folder on the desktop of whatever computer I happen to be using. Remove the obvious &#8220;bad&#8221; photos.</li>
<li>Add the library to my <a href="http://gallery.menalto.com/">Gallery2</a> library that&#8217;s hosted by <a href="http://www.dreamhost.com">Dreamhost</a>. Gallery2 is one of the best online photo-view apps I&#8217;ve found, and since it&#8217;s hosted on my Dreamhost account, I have unlimited space to put pictures (unlike Picasa Web Albums which caps you out 1GB)</li>
<li>However, Dreamhost is by no means a secure backup location (they don&#8217;t claim to be, and they recently lost a bunch of user data), so I don&#8217;t feel very safe having my photos <em>only</em> stored there. Therefore, after my photos are uploaded to Dreamhost, I rsync the photo directory onto <a href="http://www.getdropbox.com">Dropbox</a>. Dropbox is a great online storage and file-syncing utility, so it doesn&#8217;t matter which computer I&#8217;m using &#8212; the Dropbox folder is always the same on all of them. When I rsync to my Dropbox folder, the files are automatically backed up online and synced to the other computers that have Dropbox installed. If you&#8217;re curious, here is the rsync command I use:<br />
<code><br />
rsync --verbose  --progress --stats \<br />
--compress --rsh=/usr/bin/ssh \<br />
--recursive --times --perms --links \<br />
/source/directory ~/Dropbox/Photos/.<br />
</code><br />
<em>Note: That&#8217;s a space between /source/directory [space] ~/Dropbox/Photos</em></p>
<p>From here, all of my computers have Picasa installed (since it works on Linux, OSX and Windows), and the Dropbox photo directory is set as a &#8220;watched&#8221; directory. This means that as new pictures are synced to the Dropbox folders on other computers, Picasa on that computer picks it up and adds it automatically.
</li>
<li>The final, and probably unnecessary step is rsyncing the files to Amazon S3 via Jungledisk. This doesn&#8217;t really offer anything in the way of additional backup security, since Dropbox is S3 based on the backend anyways (so if anything happens to S3, both will go down). The reason I do this is because I look at S3 as my long-term &#8220;vault&#8221; and Dropbox as a shorter-term, more convenient storage place. The rsync itself is the same command as above, but replace the Dropbox destination directory with your Jungledisk directory.</li>
</ol>
<p>If you&#8217;re on Windows, you can replace the rsync steps with a straight copy &#8212; you&#8217;ll still get most of the functionality. Rsync works fine on OSX and Linux.</p>
<p>Clearly, it&#8217;s an involved process when I add pictures. However, it&#8217;s not too bad &#8212; a bulk upload onto Dreamhost and then running 2 commands from the command line to get the photos onto Dropbox and Amazon. You can even remove the Amazon step if you want. Last time I checked there was no way to add photos to Gallery2 using a script, but if and when that becomes available, this whole process can be turned into a quick script to run in the background.</p>
<p>Follow these steps, and you&#8217;ll have secure, accessible and useful photos on all of your computers.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Andrew%20Lisy%27s%20Blog&amp;siteurl=http%3A%2F%2Fblog.ajlisy.com%2F&amp;linkname=The%20Holy%20Grail%20of%20Photo%20Management&amp;linkurl=http%3A%2F%2Fblog.ajlisy.com%2F2009%2F05%2Fthe-holy-grail-of-photo-management%2F"><img src="http://blog.ajlisy.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://blog.ajlisy.com/2009/05/the-holy-grail-of-photo-management/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Power of Ignorance, or, What an 8 Year Old Can Teach You About Risk</title>
		<link>http://blog.ajlisy.com/2009/03/the-power-of-ignorance-or-what-an-8-year-old-can-teach-you-about-risk/</link>
		<comments>http://blog.ajlisy.com/2009/03/the-power-of-ignorance-or-what-an-8-year-old-can-teach-you-about-risk/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 20:06:42 +0000</pubDate>
		<dc:creator>aj</dc:creator>
				<category><![CDATA[entrepreneurial]]></category>
		<category><![CDATA[internet media]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[careers]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[project]]></category>

		<guid isPermaLink="false">http://blog.ajlisy.com/?p=216</guid>
		<description><![CDATA[Cross posted on The Free Agents, a network for people between jobs.
When I was 8, I got a 14.4 modem and an AOL dialup subscription for my birthday. It was one of the best presents I&#8217;ve ever received, and I quickly started exploring all that AOL had to offer. Soon, I started to wonder how [...]]]></description>
			<content:encoded><![CDATA[<p><em>Cross posted on <a href="http://www.freeagentnet.com">The Free Agents</a>, a network for people between jobs.</em></p>
<p>When I was 8, I got a 14.4 modem and an AOL dialup subscription for my birthday. It was one of the best presents I&#8217;ve ever received, and I quickly started exploring all that AOL had to offer. Soon, I started to wonder how web pages actually got <em>on</em> the internet, so I found AOL Personal Publisher and started messing around.</p>
<p>In most cases, 8 year olds don&#8217;t have too much to contribute to the world, and I was no exception. I just wanted to create a web page for <em>something</em>, so I settled on one thing that was well known to me and friends &#8212; video games. I created <strong>AJ&#8217;s Code Page</strong> (specializing in infinite lives, double damage, god mode, and the like) hosted on the now-defunct members.aol.com, and started trying to figure out how to get users.<br />
<span id="more-216"></span><br />
It was near the beginning of the web (1993), and nobody really knew what was going on, so it was an amazing learning experience. I had never heard of Photoshop at that point, much less have any experience with it, so I found some graphic designer on a forum that made a [pretty cool] banner logo featuring a Playstation logo on the left, the words &#8220;AJ&#8217;s Code Page&#8221; in the middle, and the Nintendo 64 logo on the right. I scoured the web for links to the best code pages, and found, among others, <strong>hyper@ctive</strong> (also defunct), which had a seemingly endless supply of codes for nearly any game. </p>
<div id="attachment_229" class="wp-caption alignleft" style="width: 310px"><img src="http://blog.ajlisy.com/wp-content/uploads/2009/03/ajs_code_page-300x60.gif" alt="The AJ&#039;s Code Page Banner" title="ajs_code_page" width="300" height="60" class="size-medium wp-image-229" /><p class="wp-caption-text">The AJ's Code Page Banner</p></div>
<p>I kept trying new ways to get traffic, and signed up for some banner exchange programs which were an early form of banner advertising where people in a network would agree to show your banner (rotated among others in the network) in exchange for you showing their banner on your site. The goal was more to get traffic than to actually make any money, although I&#8217;m sure that some people figured out ways to profit from it. To a third grader, money isn&#8217;t the first thought when you&#8217;re just trying to get people to look at a site you&#8217;ve thrown up on the net. </p>
<p>I plugged along, and for months the counter at the bottom of my page registered barely any page views. I continually submitted my page to every search engine I could find, yet nothing really boosted my audience. I wasn&#8217;t discouraged &#8212; after all, my goal was first to see if I could make a cool page, and second to actually get visitors to that page. However, all of the sudden, one week something just &#8220;clicked&#8221;, and the counter had over 2000 hits! The next day, another 500!  A few weeks later, I was at 8000 hits, and I felt like I was on top of the video game code world!</p>
<p>Who cares? I had all but forgotten about &#8220;AJ&#8217;s Code Page&#8221; and the beginnings of my foray into creating a web community until several weeks ago. I was laid off from my job in Wall Street, and I wanted to set up a web site for people that were in the same position and just wanted a place to go and chat, and network informally with others. Not a job site, but a place where you could feel comfortable asking where to find a cheap drink or talking about interesting places you&#8217;ve traveled during your time between jobs. I took a quick look around the net, and soon <a href="http://www.freeagentnet.com">The Free Agents</a> was born.</p>
<p>It turns out that the biggest obstacle you have to overcome when beginning an undertaking like this is the self doubt that inevitable springs into your mind. Could I get any users? Would anyone care about the site? Why would someone visit my site when they could just as easily spend their time on Facebook? </p>
<p>The doubt almost doomed my project before I had put a single page up. But strangely, what motivated me was not anything I learned in college, or any encouragement from others. The final push that I needed was simply thinking back and remember that, 15 years ago, I set up a web page that people <em>actually visited</em>. If I could do it then, why not give it another shot now? </p>
<p>The whole idea here, and the title of this post, is <em>the power of ignorance.</em> Eight year olds don&#8217;t generally know that something is hard, or that they are almost definitely going to fail. They just go for it &#8212; if for no other reason, because they are <em>ignorant</em> of the possibility, or likelihood, of failure. Is <strong>AJ&#8217;s Code Page</strong> still around today? Nope. But that endeavor was enough to motivate me on another project, and convince me that failure isn&#8217;t a bad outcome. Will <a href="http://www.freeagentnet.com">The Free Agents</a> be a roaring success? I hope so, but probabilistically, no. However, I know that if it fails, one day I might look back and say, &#8220;I created this social network &#8212; its gone now, but it succeeded in convincing me that <em>[whatever]</em> is possible&#8221;. And that knowledge may very well eventually lead to something that <em>is</em> a roaring success.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Andrew%20Lisy%27s%20Blog&amp;siteurl=http%3A%2F%2Fblog.ajlisy.com%2F&amp;linkname=The%20Power%20of%20Ignorance%2C%20or%2C%20What%20an%208%20Year%20Old%20Can%20Teach%20You%20About%20Risk&amp;linkurl=http%3A%2F%2Fblog.ajlisy.com%2F2009%2F03%2Fthe-power-of-ignorance-or-what-an-8-year-old-can-teach-you-about-risk%2F"><img src="http://blog.ajlisy.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://blog.ajlisy.com/2009/03/the-power-of-ignorance-or-what-an-8-year-old-can-teach-you-about-risk/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Those $0.05 Deposits Work on Cans &#8212; How about Cigarette Butts?</title>
		<link>http://blog.ajlisy.com/2009/02/deposits-work-on-cans-how-about-cigarette-butts/</link>
		<comments>http://blog.ajlisy.com/2009/02/deposits-work-on-cans-how-about-cigarette-butts/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 22:19:19 +0000</pubDate>
		<dc:creator>aj</dc:creator>
				<category><![CDATA[economics]]></category>
		<category><![CDATA[environmental]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://blog.ajlisy.com/?p=206</guid>
		<description><![CDATA[In many states, New York included, there is a $0.05 deposit on aluminum cans. The deposit is designed to provide an economic incentive to people so that they recycle their cans instead of just throwing them in the garbage when they&#8217;re finished. The program works beautifully; however, like many such programs, the way it works [...]]]></description>
			<content:encoded><![CDATA[<p>In many states, New York included, there is a $0.05 deposit on aluminum cans. The deposit is designed to provide an economic incentive to people so that they recycle their cans instead of just throwing them in the garbage when they&#8217;re finished. The program works beautifully; however, like many such programs, the way it works isn&#8217;t necessarily the way you&#8217;d immediately picture such a system to function. People that buy the cans and pay the extra $0.05 are rarely the people that end up collecting the nickel when they&#8217;re done with it &#8212; for them, the deposit is just an added tax on cans that they are still going to throw away. Instead, the people that benefit are those who are able to collect cans out of the garbage and off the street and then turn them in for the deposit. The economic incentive turns an otherwise difficult task &#8212; collecting and sorting a city&#8217;s worth of cans from the garbage &#8212; into a task done readily by people that otherwise may have few other work alternatives.<br />
<span id="more-206"></span><br />
As I walked around Manhattan yesterday, I was thinking about what other areas a well-devised deposit program could improve. When I passed a group of cigarette smokers, an idea came to me &#8212; how about a 1 or 2 cent deposit on each cigarette that could be reclaimed when a smoker (or anyone) turned in the cigarette butt? The streets of New York, and just about any other city for that matter, are littered with the filters of hundreds of cigarettes. The beautiful beaches in Miami are marred by the half-smoked remains of hundred of cigarettes. What if we gave an economic incentive to people to collect this ugly trash and turn it in?</p>
<p>Cities like New York currently have ineffective systems in place to clean litter, which consists mainly of spent cigarettes. The way it works now is that workers walk along the sidewalks with brooms and dustpans and sweep stray bits of trash into the dustpans. It works to some degree, but there is no incentive for the worker to make sure to get every single item. By instituting the deposit system of cigarettes, cities would reduce the need for these workers, and replace them by an army of &#8220;freelancers&#8221;. Within a week, the streets and gutters could be free of all remnants of cigarettes.</p>
<p>I can foresee a few criticisms of this plan. <em>It&#8217;s unsanitary and could spread disease</em>. While questionably true, I would argue that a homeless person who collects 200 cigarette butts and then buys a sandwich at a deli is going to be far healthier than one who eats a sandwich or other food from the trash. <em>Cigarettes already have enough taxes added on to them</em>. While I am not in favor of taxing, part of the deposit could be offset by the reduced cleaning costs to the city. The other portion could be written into part of an environmental-type budget. <em>It&#8217;s difficult to accurately count the cigarette butts.</em> While there is no machine that currently exists to count them, I guarantee that such a system could quickly be built given some economic incentive. I picture basically a two-stage device &#8212; the first stage would be a rough filter that would allow items the size of cigarette butts though, and the second stage some sort of device that measures the volume of material.</p>
<p>What are we waiting for? Enacting this simple solution will reduce litter, give basic jobs to hundreds of people, and provide a (admittedly small, but still existent) boost to the economies of cities.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Andrew%20Lisy%27s%20Blog&amp;siteurl=http%3A%2F%2Fblog.ajlisy.com%2F&amp;linkname=Those%20%240.05%20Deposits%20Work%20on%20Cans%20%26%238212%3B%20How%20about%20Cigarette%20Butts%3F&amp;linkurl=http%3A%2F%2Fblog.ajlisy.com%2F2009%2F02%2Fdeposits-work-on-cans-how-about-cigarette-butts%2F"><img src="http://blog.ajlisy.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://blog.ajlisy.com/2009/02/deposits-work-on-cans-how-about-cigarette-butts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Things a Power User Will Love about Linux</title>
		<link>http://blog.ajlisy.com/2009/01/10-things-a-power-user-will-love-about-linux/</link>
		<comments>http://blog.ajlisy.com/2009/01/10-things-a-power-user-will-love-about-linux/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 23:22:19 +0000</pubDate>
		<dc:creator>Andrew Lisy</dc:creator>
				<category><![CDATA[internet media]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[convergence]]></category>
		<category><![CDATA[digital media]]></category>
		<category><![CDATA[kiosk]]></category>
		<category><![CDATA[livecd]]></category>
		<category><![CDATA[ratpoison]]></category>
		<category><![CDATA[set top box]]></category>
		<category><![CDATA[tv]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.ajlisy.com/?p=15</guid>
		<description><![CDATA[If you&#8217;re a power user but haven&#8217;t yet given Linux a shot, you should definitely try it out. Here are 10 things that you will love about Linux over Windows or OS X.

Linux can be customized far more than Windows or OSX, so your system can be set up to do exactly what you want [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re a power user but haven&#8217;t yet given Linux a shot, you should definitely try it out. Here are 10 things that you will love about Linux over Windows or OS X.</p>
<div id="attachment_116" class="wp-caption alignright" style="width: 310px"><a href="http://blog.ajlisy.com/wp-content/uploads/2009/02/retro.jpg"><img class="size-medium wp-image-116" title="retro" src="http://blog.ajlisy.com/wp-content/uploads/2009/02/retro-300x225.jpg" alt="MythTV turns your computer into a media center" width="300" height="225" /></a><p class="wp-caption-text">MythTV turns your computer into a media center</p></div>
<ol>
<li><strong>Linux can be customized far more than Windows or OSX, so your system can be set up to do <em>exactly </em>what you want it to do. </strong>In college, I had a spare Pentium 3 computer lying around that I wanted to use as a frontend to my media server. I didn&#8217;t care about (or want) a desktop or anything other than a media player that would play my files fullscreen. Since I had a wireless keyboard but no mouse and no remote, I wanted everything to be completely keyboard-driven. There were a few options from a &#8220;nice frontend&#8221; standpoint, most notably <a href="http://www.mythtv.org/">MythTV</a>. However,  since I wasn&#8217;t recording shows and I didn&#8217;t care so much about a fancy interface (I was fully happy with doing everything from command line since its easy enough to browse folders and play files), I settled on <a href="http://www.nongnu.org/ratpoison/">Ratpoison</a> for the window manager. I set the system to boot up to a full-screen command line with a large font, and did all browsing from the command line. When I wanted to launch a file, I used <a href="http://www.mplayerhq.hu">mplayer</a> set up to launch full screen. As a result, I could very quickly play a large variety of files without any GUI hassle or slowness.This was a special use, but it goes to show that Linux can be tailored in a nearly infinite number of ways. Want a large, cushy GUI? Try KDE. Want something barebones? Try XFCE or Fluxbox. Want to create a server and stick it in the closet? Just leave off the GUI &#8212; everything can be done command line. Choose what servers and services you want installed and what you want to run in the background. Finally, perhaps the best part &#8212; if you build a system using a distro like <a href="http://www.gentoo.org">Gentoo</a> (my distro of choice), you know and have control over everything going on. That&#8217;s power.</li>
<p> </p>
<li><strong>You can chain together basic system services to create your own custom software routines. </strong>A few months ago, I decided I wanted to wake up each morning to a different song from a playlist of about 100 songs that I had on my computer. When I got up, I wanted to first hear a random song from the playlist, then listen to current business headlines and weather read to me as I got ready. With Linux, setting this up was pretty basic. See my other blog post <a href="http://blog.ajlisy.com/2008/12/talking-linux-rss-alarm-clock/">Talking Linux RSS Alarm Clock</a> if you&#8217;re curious how I strung together several off-the-shelf components to create this app in only a few minutes.</li>
<p> </p>
<li><strong>You can custom-configure the OS to run well on even your old, underpowered computer.
<div id="attachment_117" class="wp-caption alignright" style="width: 210px"><a href="http://blog.ajlisy.com/wp-content/uploads/2009/02/touchterm.jpg"><img class="size-medium wp-image-117 " title="touchterm" src="http://blog.ajlisy.com/wp-content/uploads/2009/02/touchterm-200x300.jpg" alt="SSH clients like TouchTerm allow you to administer your machine from anywhere, even a cell phone" width="200" height="300" /></a><p class="wp-caption-text">SSH clients like TouchTerm allow you to administer your machine from anywhere, even a cell phone</p></div>
<p></strong><br />
The newest versions of Windows or OS X will run painfully slow on a computer that is more than 3 years old. This is because Vista and Leopard have become extremely bloated because of &#8220;features&#8221; like enhanced visual effects, indexed search and always-on spyware and virus protection. Visual effects are nice, but you certainly don&#8217;t want or need them when you&#8217;re using older hardware for basic tasks. Spyware and viruses are much less of a problem on Linux than on Windows, so you can get away without running any protection software on Linux (provided that you update they system regularly). Indexed search is one of the better features and almost worth the cycles it takes; however, if its an older computer, its nice to be able to forego this. Granted, you can turn off or lessen the effects of any of these three, but your system will still not be as peppy as it could otherwise be. With a stripped down Linux install, your old Pentium II can run basic apps with plenty of speed.</li>
<p> </p>
<li><strong>The system is fully accessible remotely, even over the slowest connection &#8212; even from a cell phone!</strong>With Windows, you only have control over the system remotely if you set up remote desktop, and even then, you&#8217;re severely limited to where you can connect from because sending a full screen requires a pretty fat connection. OSX is a little better &#8212; you can do the remote desktop, but you can also connect remotely over SSH, which only sends text and commands, so its a lot speedier. The problem with OSX is that most of the Apple software is designed to be used and configured through a GUI, so often there isn&#8217;t much that you&#8217;re able to do over command line. Almost anything in Linux is available over the command line, so when you connect remotely over SSH, you have as much (or almost as much) power as you have when sitting right at the desktop. If you regularly login this way, you can find applications that easily let you access your mail, play music (on the server computer) and even chat on IM all through the text-based terminal. Perhaps a special use, but its pretty convenient to be able to reboot your computer or restart your web server over your cell phone when you&#8217;re in the next state and need to retrieve a special file.</li>
<p> </p>
<li> <strong>Its free, and you can try it without reformatting a computer. </strong>Check out a LiveCD like <a href="http://www.ubuntu.com">Ubuntu</a> or <a href="http://www.knoppix.net/">Knoppix</a>, both of which will bring you to a full-fledged Linux desktop as soon as you pop in the CD/DVD and reboot the computer. They allow you to get a very basic feel for the system without having to remove or disturb the existing OS underneath. Knoppix especially has a huge suite of applications that let you test out several programs for any given use without having to worry about downloading or installing them</li>
<p> </p>
<li><strong>Installing, maintaining and upgrading your software is a snap.</strong>Modern Linux distros (short for distributions) have very advanced package managers, which are programs that handle the search, installation, and maintenance of all of the programs on your system. Gentoo uses a system called portage, which downloads the source code for all the applications, compiles it, and installs it. This is a bit slower than just copying over pre-compiled binary packages, but [in theory] results in software thats exactly tailored for your PC. <a href="http://www.ubuntu.com">Ubuntu</a> uses a system called apt, which is much faster than portage because all of the packages have already been compiled. In either case, finding an application is a quick command away, and installing it is only a few more keystrokes. When it comes time to upgrade, another few keystrokes can update an individual program, only system files, or every program on the computer.  This is heads and shoulders above the OSX or Windows way of doing it, where you need to browse the web for a file, download it, and then go through the setup routine.</li>
<li><strong>Linux is great with networking. </strong>Sharing files across a network? Want to set up your own web page and serve it to others? Want to connect automatically every time to other shares that people have set up, and have them seamlessly integrated into your file structure? Linux has industrial strength support for a variety of networking applications, such as Apache for web serving and Samba, NFS, scp, and a variety of other protocols for filesharing. Many of these are a click away from installing on a major distro, and can be seamlessly integrated into your files. While OSX does a pretty good job at this sort of thing, support for these services on Windows is spotty and incomplete, especially on the home versions. For example, if you have a music directory shared on Windows that you connect to using SMB (Samba), you can just set that share to appear in your home directory as /home/user/music, so it looks identical to any other directory in your system and can be manipulated and used by other programs just as easy.</li>
<p> </p>
<li><strong>Almost all of the best software for Linux is free! </strong>Just about anything you want to do with Windows is relatively easy to do with Linux, and chances are someone has written some very good free software to do it. In fact, I&#8217;ve found that software for Linux tends to be better-written and more powerful in many [most?] cases than its Windows or Mac counterpart. The reason behind this is that there is a huge network of software developers that use Linux, so when there is a glaring omission application-wise on Linux, the community is quick to step in and fix it. Furthermore, as I mentioned above, it is relatively easy to string together tools with Linux, so often application development is quick because application C makes use of applications A and B in an efficient way.  Here is a [very, very brief] list of great free software on Linux:- Firefox [same program as Windows and OSX]<br />
- Amarok [music manager, syncs with an iPod. Comparable with iTunes, has some other interesting features]<br />
- KWrite [text editor, far more powerful than Notepad]<br />
- AbiWord or OpenOffice [word processing and office software, comparable to MS Office]<br />
- EasyTag [MP3 tag manager, very powerful for getting your songs tagged and named properly]<br />
- KAlarm [alarm clock program, can set alerts, timers and alarms on a one-time or recurring basis]<br />
- Pidgin [IM application, connects to AIM, Google Chat, Yahoo, MSN, etc. Lots of cool plugins]<br />
- The Gimp [Powerful image editing program, comparable to Photoshop]   </p>
<p>These are some of the applications that are free and useful to get going on a day-to-day basis. You&#8217;ll find that a huge amount of specialized programs exist, and are free, to do things like photo management, backup, games, etc.</li>
<li><strong>LiveCDs exist for countless specialized uses, so advanced applications are just a disk image away</strong> Because Linux is so modular, any type of system can be built around the core. For desktop users, this typically includes a nice desktop graphical environment, a web browser, a word processor and a media player. However, not all computers and configurations need this much in terms of user applications.When I was in college, I wanted to be able to compile software on <a href="http://www.gentoo.org">Gentoo</a> faster by using a cluster of computers to break up the workload. The good news was that there was an abundance of powerful computers on the network (namely, my friends&#8217; machines). The bad news was that none of them had Linux or the software needed to compile over the network. The solution was <a href="http://opendoorsoftware.com/catalog/index.php?main_page=product_info&amp;products_id=114">distccKnoppix</a>, a LiveCD that came pre-setup with the DistCC compiler software I needed. After downloading and burning a few copies, I went around and rebooted the computers around me into the LiveCD environment and was soon compiling on 5 separate computers.<a href="http://blog.ajlisy.com/wp-content/uploads/2009/02/gos.tiff"><img class="alignright size-full wp-image-114" title="gos" src="http://blog.ajlisy.com/wp-content/uploads/2009/02/gos.tiff" alt="gOS is pre-configured to make the best use of Firefox and the suite of Google Applications" /></a><br />
Lots of other great LiveCD systems exist: <a href="http://www.mythbuntu.org/">MythBuntu</a> turns your computer and TV into a media center, <a href="http://www.thinkgos.com/">gOS</a> creates a very simple cloud-computing enviroment built on Google Applications, <a href="http://www.redwall-firewall.com/">Redwall Firewall</a> turns a spare computer into a logfile-rich firewall for the network.  Tons of other CDs exist for every other conceivable use from network attached storage (NAS) to kiosk-style arcade games. The old computer that was sitting in the closet collecting dust can easily be reborn in many different ways with a LiveCD install. Check out <a href="http://www.livecdlist.com/">The LiveCD List</a> for an extensive listing of LiveCDs.</li>
<p> </p>
<li><strong>New and cutting-edge features come very quickly to Linux because of the wide network of smart programmers all over the world.</strong>Since Linux is a collection of software made by programmers all over the world instead of simply an OS packaged by one company, you can have new developments on your desktop in days or weeks by simply updating your system instead of waiting years for the next release. Furthermore, the sheer number of different minds working on the problems creates a multitude of choices for any given application.For example, in the media player area, <a href="http://amarok.kde.org/">Amarok</a> incorporates sophisticated music analysis and fingerprinting technologies that help identify your music and suggest music that you might also like. Similar features are now trickling down to iTunes, but Linux has had them for years. Users that were interested in incorporating information from databases like <a href="http://www.last.fm">Last.fm</a> could do much more quickly by using software in Linux than they could waiting for mainstream apps for Mac OS and Windows.Desktop environments like KDE 4 and Gnome are constantly pushing the envelope in user interface technologies and new features come every day that improve the experience and add functionality. Of course, not everything is a slam dunk, so some degree of willingness to test out cutting-edge technology is required, but for those that like to be at the forefront of new tech, Linux is the place to be.</li>
</ol>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Andrew%20Lisy%27s%20Blog&amp;siteurl=http%3A%2F%2Fblog.ajlisy.com%2F&amp;linkname=10%20Things%20a%20Power%20User%20Will%20Love%20about%20Linux&amp;linkurl=http%3A%2F%2Fblog.ajlisy.com%2F2009%2F01%2F10-things-a-power-user-will-love-about-linux%2F"><img src="http://blog.ajlisy.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://blog.ajlisy.com/2009/01/10-things-a-power-user-will-love-about-linux/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Talking Linux RSS Alarm Clock</title>
		<link>http://blog.ajlisy.com/2008/12/talking-linux-rss-alarm-clock/</link>
		<comments>http://blog.ajlisy.com/2008/12/talking-linux-rss-alarm-clock/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 22:30:04 +0000</pubDate>
		<dc:creator>Andrew Lisy</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[alarm clock]]></category>
		<category><![CDATA[festival]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://blog.ajlisy.com/?p=20</guid>
		<description><![CDATA[I don&#8217;t like to get up early. Therefore, I stay in bed as late as possible and, as a result, never really set aside any time to check the news or even the weather before I head out the door. Although it would only take me an extra 3 minutes or so to read though [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t like to get up early. Therefore, I stay in bed as late as possible and, as a result, never really set aside any time to check the news or even the weather before I head out the door. Although it would only take me an extra 3 minutes or so to read though stories or lookup the weather, the thought of turning on my monitor, entering my password, and going to the appropriate sites isn&#8217;t terribly attractive for me at 5:30 in the morning.</p>
<p>Combine the above with a general distaste for the jarring sound that my alarm <img src="http://blog.ajlisy.com/wp-content/uploads/2009/02/alarmclock.jpg" alt="alarmclock" title="alarmclock" width="238" height="250" align="left" /><br />
makes got me thinking that there had to be a better way to get my morning started. I searched a bit to find MP3 alarm clocks (of which there are many) and initially used <a href="http://pim.kde.org/components/kalarm.php">KAlarm</a> which served the purpose of waking me up with music quite adequately.</p>
<p>However, I work in the financial industry, where overnight news is advantageous to hear before getting to work. The markets might be up or down by large amounts (especially these days) based on what happened overnight, so at least figuring out what is going on before getting into the office is pretty helpful. This, combined with a day where I got stuck in the rain because I hadn&#8217;t checked the weather, got me thinking &#8212; how about an alarm clock that read news and weather from an RSS feed in addition to waking me up with a song.</p>
<p>Here&#8217;s how I created it:</p>
<p><strong>Basics:</strong><br />
- Python with urllib, <a href="http://effbot.org/zone/element-index.htm">ElementTree</a>, and re installed<br />
- cron<br />
- <a href="http://www.mplayerhq.hu/design7/news.html">mplayer</a> (available on portage and apt)<br />
- [optional] A playlist of MP3s or other songs that mplayer can play<br />
- <a href="http://www.cstr.ed.ac.uk/projects/festival/download.html">festival</a> &#8212; a text-to-speech program (available on portage for gentoo and probably on apt too)</p>
<p><strong>Steps</strong></p>
<p>1) Install the necessary software. Emerge or apt-get mplayer and festival. Install ElementTree for python by following the instructions <a href="http://effbot.org/zone/element-index.htm#installation">here</a>. The other packages, urllib and re were already installed on my python, but if thats not the case for you, a bit of Googling can help out here.</p>
<p>2) Pick one song at random from your playlist. The way I chose to do this was to use a quick bash line to pick a a random line from the playlist file (<code>playlist.m3u</code>), and then create a new playlist with only the one song (<code>single_song.m3u</code>). Another thought is to just start mplayer and play a random song directly from the big playlist, but this means that the music will keep playing until you kill mplayer. I wanted to have one song play and then have my news and weather start to be read, so I play only the one song from the small playlist.</p>
<pre>#alarm.sh -- pulls together elements of alarm clock
#Written by ajlisy, 2008
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.

#Create file with single song
nlines=`cat playlist.m3u | wc -l`
random_line=`expr $RANDOM % $nlines + 1`
sed -n $random_line,${random_line}p playlist.m3u &gt; single_song.m3u

#Play that song
mplayer -playlist single_song.m3u

#  &lt;...&gt;</pre>
<p>3) Set up the basic scripts for fetching and parsing the weather from the Yahoo! RSS feeds. The idea is that 2 simple python scripts, <code>get _weather.py</code> and <code>get_news.py</code> are called from the main bash script to populate the &#8220;script&#8221; files that are read by festival.</p>
<pre>#get_news.py -- fetches headlines from RSS feed
#Written by ajlisy 2008
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.

import urllib
import re
from elementtree.ElementTree import parse

def get_headlines(news_source,num_headlines):
  news_rss_feed=parse(urllib.urlopen(news_source)).getroot()
  raw_headlines=news_rss_feed.findall('channel/item')
  headlines=[]
  for i in range(0,num_headlines):
     try:
       headlines.append(raw_headlines[i].findtext('title').splitlines()[0])
     except:
       pass
  return headlines

print "Today's top news stories      "
YAHOO_NEWS = 'http://rss.news.yahoo.com/rss/business'
NYT_NEWS='http://www.nytimes.com/services/xml/rss/nyt/Business.xml'

print "Worldwide news from New York Times"
for element in get_headlines(NYT_NEWS,5):
  try:
    print element
  except:
    pass
print "Business news from Yahoo"
for element in get_headlines(YAHOO_NEWS,5):
  try:
    print element
  except:
    pass</pre>
<pre>#get_weather.py -- adapted from the tutorial on the Yahoo
#  developers page found at
#  http://developer.yahoo.com/python/python-xml.html

import urllib
from elementtree.ElementTree import parse

WEATHER_URL = 'http://xml.weather.yahoo.com/forecastrss?p=%s'
WEATHER_NS = 'http://xml.weather.yahoo.com/ns/rss/1.0'

def weather_for_zip(zip_code):
  url = WEATHER_URL % zip_code
  rss = parse(urllib.urlopen(url)).getroot()
  forecasts = []
  for element in rss.findall('channel/item/{%s}forecast' % WEATHER_NS):
    forecasts.append({
        'date': element.get('date'),
        'low': element.get('low'),
        'high': element.get('high'),
        'condition': element.get('text')
       })
    ycondition = rss.find('channel/item/{%s}condition' % WEATHER_NS)
    return {
        'current_condition': ycondition.get('text'),
        'current_temp': ycondition.get('temp'),
        'forecasts': forecasts,
        'title': rss.findtext('channel/title')
    }

weather=weather_for_zip(10038)
print "The current weather conditions are "+weather['current_condition']+" with a temperature of "+ weather['current_temp'] + " degrees."
print "Today's forecast is " + weather['forecasts'][0]['condition'] + " with a high of " + weather['forecasts'][0]['high'] + " degrees and a low of "+weather['forecasts'][0]['low'] + " degrees"</pre>
<p>4)  Link it all together with the <code>alarm.sh</code> script that calls the individual &#8220;subroutines&#8221; mentioned above and assembles them into the alarm.</p>
<pre>#alarm.sh

#Create file with single song
nlines=`cat playlist.m3u | wc -l`
random_line=`expr $RANDOM % $nlines + 1`
sed -n $random_line,${random_line}p playlist.m3u &gt; single_song.m3u

#Play that song
mplayer -playlist single_song.m3u

#Create file to read
python get_weather.py &gt; weather.txt
python get_news.py &gt; news.txt

festival --tts weather.txt
festival --tts news.txt</pre>
<p>Add the resulting script to your crontab for whenever you want to get up, and enjoy a better start to the day.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Andrew%20Lisy%27s%20Blog&amp;siteurl=http%3A%2F%2Fblog.ajlisy.com%2F&amp;linkname=Talking%20Linux%20RSS%20Alarm%20Clock&amp;linkurl=http%3A%2F%2Fblog.ajlisy.com%2F2008%2F12%2Ftalking-linux-rss-alarm-clock%2F"><img src="http://blog.ajlisy.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://blog.ajlisy.com/2008/12/talking-linux-rss-alarm-clock/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
