<?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>Steven Harms &#187; sharms</title>
	<atom:link href="http://www.sharms.org/blog/author/sharms/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sharms.org/blog</link>
	<description>Life, Linux and Technology</description>
	<lastBuildDate>Sun, 28 Aug 2011 18:02:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Java</title>
		<link>http://www.sharms.org/blog/2010/05/java/</link>
		<comments>http://www.sharms.org/blog/2010/05/java/#comments</comments>
		<pubDate>Thu, 27 May 2010 01:16:13 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=716</guid>
		<description><![CDATA[It has always been trendy to make fun of Java, and wax poetic about how superior someone&#8217;s language of choice is. The fact of the matter is, whether or not you wish to acknowledge it, more users run Java applications on Linux than any other language1. In the past few years, I have had the [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2008/12/64-bit-java-browser-plugin/' rel='bookmark' title='Permanent Link: 64-bit Java browser plugin'>64-bit Java browser plugin</a></li>
<li><a href='http://www.sharms.org/blog/2009/12/installing-play-framework-on-openbsd-4-6/' rel='bookmark' title='Permanent Link: Installing Play Framework on OpenBSD 4.6'>Installing Play Framework on OpenBSD 4.6</a></li>
<li><a href='http://www.sharms.org/blog/2006/12/run-your-java-apps-under-aiglx/' rel='bookmark' title='Permanent Link: Run your java apps under Aiglx'>Run your java apps under Aiglx</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>It has always been trendy to make fun of Java, and wax poetic about how superior someone&#8217;s language of choice is. The fact of the matter is, whether or not you wish to acknowledge it, more users run Java applications on Linux than any other language<sup><a href="http://www.sharms.org/blog/2010/05/java/#footnote_0_716" id="identifier_0_716" class="footnote-link footnote-identifier-link" title="http://www.electronista.com/articles/10/05/26/admob.april.2010.study.has.android.near.even/">1</a></sup>.</p>
<p>In the past few years, I have had the opportunity to code multiple enterprise web applications in any language I chose.  I made a few in Symfony (php), Django (python), and recently I used Play (java).  All of them were fantastic frameworks and languages in their own respect (the only thing people make fun of more than Java is PHP, again generally baseless).</p>
<p>I have used vim for as long as I can remember, but for the Play project I switched over to Eclipse, and that was also a great IDE.  A lot of nice features where it would automated a lot of typing, and I found managing multiple files slightly easier.</p>
<p>Point being the language and the tools around it are there, well tested, and ready for prime time.  Given the right coder, they are just as effective as any of the trendy languages, and to dismiss that based on outright false statements on most comment threads is absurd.</p>
<p><strong>Performance:</strong> Java in no way, in any application I wrote, was limited by the language or jvm in performance.  This is generally affected entirely by the coder, not the language.</p>
<p><strong>Adoption:</strong>  Java is all over my business, and is the clear leader in the enterprise technology stack<sup><a href="http://www.sharms.org/blog/2010/05/java/#footnote_1_716" id="identifier_1_716" class="footnote-link footnote-identifier-link" title="http://www.forrester.com/rb/Research/of_strategic_languages%2C_javas_adoption_is_highest/q/id/37356/t/2">2</a></sup></p>
<p><strong>Tools:</strong> Tools for Java are abundant, feature rich, and more than adequate to develop complex projects</p>
<p><strong>Criticisms:</strong>  The only valid criticism is that Java apps are slow to load up initially, for user apps.  I think with the innovation we see with respect to JVM performance improvements (JIT compilation etc)<sup><a href="http://www.sharms.org/blog/2010/05/java/#footnote_2_716" id="identifier_2_716" class="footnote-link footnote-identifier-link" title="http://www.h-online.com/open/news/item/Android-s-Dalvik-to-be-JIT-boosted-861870.html">3</a></sup> continuously make that point not even legitimate, but clearly you can make applications load slowly.  With that in mind, I have the ability to write a C app that loads slow also.</p>
<p>This post more than anything is to encourage breaking the mold of the group think, <em>&#8220;None of us is as dumb as all of us&#8221;</em> mentality.  No matter how many points you get on reddit for a snarky comment, those points won&#8217;t pay your bills, nor give you respect among legitimate coders.</p>
<ol class="footnotes"><li id="footnote_0_716" class="footnote"><a href="http://www.electronista.com/articles/10/05/26/admob.april.2010.study.has.android.near.even/">http://www.electronista.com/articles/10/05/26/admob.april.2010.study.has.android.near.even/</a></li><li id="footnote_1_716" class="footnote"><a href="http://www.forrester.com/rb/Research/of_strategic_languages%2C_javas_adoption_is_highest/q/id/37356/t/2">http://www.forrester.com/rb/Research/of_strategic_languages%2C_javas_adoption_is_highest/q/id/37356/t/2</a></li><li id="footnote_2_716" class="footnote"><a href="http://www.h-online.com/open/news/item/Android-s-Dalvik-to-be-JIT-boosted-861870.html">http://www.h-online.com/open/news/item/Android-s-Dalvik-to-be-JIT-boosted-861870.html</a></li></ol>

<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2008/12/64-bit-java-browser-plugin/' rel='bookmark' title='Permanent Link: 64-bit Java browser plugin'>64-bit Java browser plugin</a></li>
<li><a href='http://www.sharms.org/blog/2009/12/installing-play-framework-on-openbsd-4-6/' rel='bookmark' title='Permanent Link: Installing Play Framework on OpenBSD 4.6'>Installing Play Framework on OpenBSD 4.6</a></li>
<li><a href='http://www.sharms.org/blog/2006/12/run-your-java-apps-under-aiglx/' rel='bookmark' title='Permanent Link: Run your java apps under Aiglx'>Run your java apps under Aiglx</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2010/05/java/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Tenda W322P Wireless N PCI Card</title>
		<link>http://www.sharms.org/blog/2010/05/tenda-w322p-wireless-n-pci-card/</link>
		<comments>http://www.sharms.org/blog/2010/05/tenda-w322p-wireless-n-pci-card/#comments</comments>
		<pubDate>Mon, 03 May 2010 15:46:39 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=705</guid>
		<description><![CDATA[Purchased this card at Microcenter (http://www.microcenter.com/single_product_results.phtml?product_id=0316296). Out of the box works on Ubuntu 9.10, supports WEP, WPA, WPA2 and has no stability issues transferring large files etc. Attempted to install the card under Windows 7 x64, x32, and Windows XP SP3, all of which did not recognize the card without additional drivers. Summary: PCI wireless [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2007/03/wireless-hackers/' rel='bookmark' title='Permanent Link: Wireless hackers'>Wireless hackers</a></li>
<li><a href='http://www.sharms.org/blog/2007/05/dell-latitude-d620-with-broadcom-wireless-on-feisty/' rel='bookmark' title='Permanent Link: Dell Latitude D620 with Broadcom Wireless on Feisty'>Dell Latitude D620 with Broadcom Wireless on Feisty</a></li>
<li><a href='http://www.sharms.org/blog/2008/06/secret-formula-of-linux-compatible-hardware/' rel='bookmark' title='Permanent Link: Secret Formula of Linux Compatible Hardware'>Secret Formula of Linux Compatible Hardware</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sharms.org/blog/wp-content/uploads/0316296_292524.jpg"><img src="http://www.sharms.org/blog/wp-content/uploads/0316296_292524.jpg" alt="" title="Tenda W322P" width="200" height="200" class="aligncenter size-full wp-image-706" /></a></p>
<p>Purchased this card at Microcenter (<a href="http://www.microcenter.com/single_product_results.phtml?product_id=0316296">http://www.microcenter.com/single_product_results.phtml?product_id=0316296</a>).  Out of the box works on Ubuntu 9.10, supports WEP, WPA, WPA2 and has no stability issues transferring large files etc.</p>
<p>Attempted to install the card under Windows 7 x64, x32, and Windows XP SP3, all of which did not recognize the card without additional drivers.</p>
<p><strong>Summary:</strong> PCI wireless N card that is Ubuntu compatible with a price under $25<br />
<strong>Grade:</strong> A+</p>


<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2007/03/wireless-hackers/' rel='bookmark' title='Permanent Link: Wireless hackers'>Wireless hackers</a></li>
<li><a href='http://www.sharms.org/blog/2007/05/dell-latitude-d620-with-broadcom-wireless-on-feisty/' rel='bookmark' title='Permanent Link: Dell Latitude D620 with Broadcom Wireless on Feisty'>Dell Latitude D620 with Broadcom Wireless on Feisty</a></li>
<li><a href='http://www.sharms.org/blog/2008/06/secret-formula-of-linux-compatible-hardware/' rel='bookmark' title='Permanent Link: Secret Formula of Linux Compatible Hardware'>Secret Formula of Linux Compatible Hardware</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2010/05/tenda-w322p-wireless-n-pci-card/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Looking for someone to give me a hand</title>
		<link>http://www.sharms.org/blog/2010/02/looking-for-someone-to-give-me-a-hand/</link>
		<comments>http://www.sharms.org/blog/2010/02/looking-for-someone-to-give-me-a-hand/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 18:46:09 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=695</guid>
		<description><![CDATA[Hoping to reach someone intelligent / talented through this. Basically, I need someone for 2 weeks starting 3/8. It will just be a temporary position, with opportunities to work for us later as needed. Position involves Linux development, and you should know php / perl. The project will involve modems and java also, and the [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2008/08/got-skills-email-me/' rel='bookmark' title='Permanent Link: Got skills?  Email me'>Got skills?  Email me</a></li>
<li><a href='http://www.sharms.org/blog/2010/07/linux-guru-needed/' rel='bookmark' title='Permanent Link: Linux guru needed'>Linux guru needed</a></li>
<li><a href='http://www.sharms.org/blog/2007/02/linus-vs-gnome/' rel='bookmark' title='Permanent Link: Linus vs. Gnome'>Linus vs. Gnome</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Hoping to reach someone intelligent / talented through this.  Basically, I need someone for 2 weeks starting 3/8.  It will just be a temporary position, with opportunities to work for us later as needed.</p>
<p>Position involves Linux development, and you should know php / perl.  The project will involve modems and java also, and the ability to document everything would be great.</p>
<p>Good news about the position is I am leading the project, so anything you can&#8217;t figure out, I will.  Pay will be somewhere in the $100/hr range, and we need you to be in Cincinnati for the two weeks (3/8 &#8211; 3/19), 40 hours per week.</p>
<p>Send me an email (you can find my info in launchpad) or post a comment here if you think you fit the bill.  Anyone who has any Ubuntu development experience or contributions to visible projects will definitely take priority.  Remember, you need to have the ability to be in Cincinnati, as travel is not covered.</p>


<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2008/08/got-skills-email-me/' rel='bookmark' title='Permanent Link: Got skills?  Email me'>Got skills?  Email me</a></li>
<li><a href='http://www.sharms.org/blog/2010/07/linux-guru-needed/' rel='bookmark' title='Permanent Link: Linux guru needed'>Linux guru needed</a></li>
<li><a href='http://www.sharms.org/blog/2007/02/linus-vs-gnome/' rel='bookmark' title='Permanent Link: Linus vs. Gnome'>Linus vs. Gnome</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2010/02/looking-for-someone-to-give-me-a-hand/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Explaining a simple argument</title>
		<link>http://www.sharms.org/blog/2010/02/explaining-a-simple-argument/</link>
		<comments>http://www.sharms.org/blog/2010/02/explaining-a-simple-argument/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 00:33:03 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=691</guid>
		<description><![CDATA[I had a conversation today, where the other party disagreed with me about the following text which I saw in Madden 09: &#8220;The Bengals have played the Steelers more than any other team in the NFL&#8221;. My assertion was that the statement was ambiguous and did not make sense as you could not figure out [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2008/11/ati-cards/' rel='bookmark' title='Permanent Link: ATI Cards'>ATI Cards</a></li>
<li><a href='http://www.sharms.org/blog/2009/03/make-your-bash-shell-cool-again/' rel='bookmark' title='Permanent Link: Make your bash shell cool again'>Make your bash shell cool again</a></li>
<li><a href='http://www.sharms.org/blog/2008/06/simple/' rel='bookmark' title='Permanent Link: Simple'>Simple</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I had a conversation today, where the other party disagreed with me about the following text which I saw in Madden 09:</p>
<p><em>&#8220;The Bengals have played the Steelers more than any other team in the NFL&#8221;.</em></p>
<p>My assertion was that the statement was ambiguous and did not make sense as you could not figure out which team played the other team the most in their own history.</p>
<p>My interpretation of the statement was:</p>
<ul>
<li>The Bengals could have played the Steelers more than any other team in Bengals history</li>
<li>The Steelers could have played the Bengals more than any other team in Steelers history</li>
</ul>
<p>Also Wikipedia appeared to have the correct statement:  &#8220;the Bengals have met the Steelers more than anyone else in their <em>own</em> history&#8221;, which was not ambiguous to me.</p>
<p>Please comment on this as they are having a hard time believing my argument, and if I am wrong I would love to know.</p>


<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2008/11/ati-cards/' rel='bookmark' title='Permanent Link: ATI Cards'>ATI Cards</a></li>
<li><a href='http://www.sharms.org/blog/2009/03/make-your-bash-shell-cool-again/' rel='bookmark' title='Permanent Link: Make your bash shell cool again'>Make your bash shell cool again</a></li>
<li><a href='http://www.sharms.org/blog/2008/06/simple/' rel='bookmark' title='Permanent Link: Simple'>Simple</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2010/02/explaining-a-simple-argument/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>The Startling Lack of Innovation</title>
		<link>http://www.sharms.org/blog/2010/01/the-startling-lack-of-innovation/</link>
		<comments>http://www.sharms.org/blog/2010/01/the-startling-lack-of-innovation/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 22:31:25 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=685</guid>
		<description><![CDATA[Recently I have been thinking about the void of innovation of the last few generations. In a nutshell, it seems that we hit the pause button somewhere around the late 80&#8242;s. I have been in search of some sort of inspiration or hope, but have seldom found an answer as to what has happened. I [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2007/01/thats-what-i-call-innovation/' rel='bookmark' title='Permanent Link: Thats what I call innovation'>Thats what I call innovation</a></li>
<li><a href='http://www.sharms.org/blog/2006/10/my-skills-of-an-artist/' rel='bookmark' title='Permanent Link: My skills of an artist'>My skills of an artist</a></li>
<li><a href='http://www.sharms.org/blog/2006/10/ubuntu-chicago/' rel='bookmark' title='Permanent Link: Ubuntu Chicago'>Ubuntu Chicago</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Recently I have been thinking about the void of innovation of the last few generations.  In a nutshell, it seems that we hit the pause button somewhere around the late 80&#8242;s.  I have been in search of some sort of inspiration or hope, but have seldom found an answer as to what has happened.</p>
<p>I recently went on my honeymoon to Chicago, a fantastic city.  We went to the top of the <a href="http://en.wikipedia.org/wiki/Willis_Tower">Sears / Willis tower,</a> and looked at the view.  It was funny how the tallest building in the United States was build in 1973.  It was a great flight to Chicago, riding on the <a href="http://en.wikipedia.org/wiki/Boeing_737">Boeing 737</a> that was designed in the early 60s.  Prior to my generation, every 10 years or so there was an entire new set of music that some loved, and some wanted to forget.  Now the decades since the 90s just blend together.</p>
<p>Did we reach an apex, or simply a cultural shift?  I highly doubt we are pressing the limits of human comprehension, as even the most skilled / difficult fields are very simple once a few hours in understanding are applied.  At some point we lost our way, but it wasn&#8217;t just the USA.  England, China, Russia are all along on the ride with us, seldomly producing actual innovation.</p>
<p>Remember AIDS, cancer, and the common cold?  They are all still here, and despite years of supposed research, we struggle for any answer, solution, or even mitigation strategy.  How is the car you drive?  Almost any engine in use today was designed fundamentally at or before the turn of the century.  Hybrid cars?  A joke in their current state (just jam a bunch of lithium ion batteries in there, also developed in the 70s).</p>
<p>I would love it if people could comment on innovations, and what they see that is amazing or that is in development that can inspire.  Where do we go from here?</p>
<p>Before we go down a road to the obvious, I don&#8217;t believe that Operating Systems are fundamentally different than 20 years ago.  My Windows 7 and Linux of today are definitely not 20 years improved (we still use the same <a href="http://en.wikipedia.org/wiki/Internet_Protocol_Suite">tcp / ip</a> protocols (developed yet again in the 60s / 70s), same languages / paradigms (most of which developed in the 60s / 70s) etc.  My computer today does little that my 8086 couldn&#8217;t do, and is terribly inefficient at doing so.  I really don&#8217;t count most anything webpage based as an innovation, as it is such low hanging fruit (even google) that I can&#8217;t bring myself to include it in with the previously mentioned technologies.</p>


<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2007/01/thats-what-i-call-innovation/' rel='bookmark' title='Permanent Link: Thats what I call innovation'>Thats what I call innovation</a></li>
<li><a href='http://www.sharms.org/blog/2006/10/my-skills-of-an-artist/' rel='bookmark' title='Permanent Link: My skills of an artist'>My skills of an artist</a></li>
<li><a href='http://www.sharms.org/blog/2006/10/ubuntu-chicago/' rel='bookmark' title='Permanent Link: Ubuntu Chicago'>Ubuntu Chicago</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2010/01/the-startling-lack-of-innovation/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>A thousand passwords</title>
		<link>http://www.sharms.org/blog/2009/12/a-thousand-passwords/</link>
		<comments>http://www.sharms.org/blog/2009/12/a-thousand-passwords/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 20:22:22 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[revelation]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=668</guid>
		<description><![CDATA[In this day and age of the internet, we have more content and interaction than ever before. This access generally comes with a price: everything requires a username and password. How does a mere mortal remember their credentials to login to thousands of websites? More importantly, I am not always on the same computer, how [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2011/08/using-keepassx-on-ubuntu-linux/' rel='bookmark' title='Permanent Link: Using KeepassX on Ubuntu Linux'>Using KeepassX on Ubuntu Linux</a></li>
<li><a href='http://www.sharms.org/blog/2009/04/dropbox-on-ubuntu/' rel='bookmark' title='Permanent Link: Dropbox on Ubuntu'>Dropbox on Ubuntu</a></li>
<li><a href='http://www.sharms.org/blog/2011/01/automatically-backup-blogs-websites-to-amazon-s3/' rel='bookmark' title='Permanent Link: Automatically Backup Blogs / Websites to Amazon S3'>Automatically Backup Blogs / Websites to Amazon S3</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>In this day and age of the internet, we have more content and interaction than ever before.  This access generally comes with a price:  everything requires a username and password.  How does a mere mortal remember their credentials to login to thousands of websites?  More importantly, I am not always on the same computer, how do I access my passwords from all of them?</p>
<p>The long term solution would be to see 100% adoption of OpenID.  Inevitably many sites will always be behind the curve, so until that day comes, I recommend <strong>Revelation</strong>.</p>
<p>Revelation is an easy to use, secure and lightweight password manager for Linux.  It is written in GTK so those running the GNOME desktop (the default for Ubuntu) will be right at home.  You can have several different folders to help organize your passwords, and define actions based on the type of password being stored.</p>
<p>A picture is worth a thousand words, so here is a screenshot of Revelation in action:<br />
<a href="http://www.sharms.org/blog/wp-content/uploads/revelation.jpg"><img src="http://www.sharms.org/blog/wp-content/uploads/revelation.jpg" alt="revelation" title="revelation" width="585" height="401" class="size-full wp-image-670" /></a></p>
<p>What makes this great is that all of your passwords are stored encrypted.  This means if someone takes your computer, without your master password your passwords would be useless.  This also means we can store our password using Ubuntu One or Dropbox.</p>
<p>If you are curious about Dropbox I wrote a post with screenshots <a href="http://www.sharms.org/blog/2009/04/16/dropbox-on-ubuntu/">showing exactly how it works</a>.  Simply save your Revelation password file there, and all of your systems that have Dropbox will now have access to those passwords (once you unlock it for that session of course).</p>
<p>Under the preferences window in Revelation you can also adjust your default password size (when you use Revelation you simply randomly generate a new password for each website) for as long as you need, with the longer the better.</p>
<p>If you are running Ubuntu, you can install Revelation by clicking <em>Applications -> Ubuntu Software Center</em> and searching for Revelation.  If you would prefer the command line version:</p>
<pre class="brush: bash">
# sudo apt-get install revelation
</pre>
<p>There are many alternatives out there, but if you are running Linux and just need a simple, no-hassle password manager Revelation is worth five minutes to try it out.</p>


<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2011/08/using-keepassx-on-ubuntu-linux/' rel='bookmark' title='Permanent Link: Using KeepassX on Ubuntu Linux'>Using KeepassX on Ubuntu Linux</a></li>
<li><a href='http://www.sharms.org/blog/2009/04/dropbox-on-ubuntu/' rel='bookmark' title='Permanent Link: Dropbox on Ubuntu'>Dropbox on Ubuntu</a></li>
<li><a href='http://www.sharms.org/blog/2011/01/automatically-backup-blogs-websites-to-amazon-s3/' rel='bookmark' title='Permanent Link: Automatically Backup Blogs / Websites to Amazon S3'>Automatically Backup Blogs / Websites to Amazon S3</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2009/12/a-thousand-passwords/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Installing Play Framework on OpenBSD 4.6</title>
		<link>http://www.sharms.org/blog/2009/12/installing-play-framework-on-openbsd-4-6/</link>
		<comments>http://www.sharms.org/blog/2009/12/installing-play-framework-on-openbsd-4-6/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 18:16:49 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[openbsd]]></category>
		<category><![CDATA[play-framework]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=658</guid>
		<description><![CDATA[OpenBSD OpenBSD is a free, reliable and secure operating system. From a configuration standpoint it is both minimal and simple, which is great for those who want to get started quickly. For the purposes of this tutorial, it is assumed the user has already installed OpenBSD. If not, check out openbsd101.com for guides on installation [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2008/12/64-bit-java-browser-plugin/' rel='bookmark' title='Permanent Link: 64-bit Java browser plugin'>64-bit Java browser plugin</a></li>
<li><a href='http://www.sharms.org/blog/2009/06/installing-groupwise-8-client-in-ubuntu-jaunty-amd64/' rel='bookmark' title='Permanent Link: Installing Groupwise 8 Client in Ubuntu Jaunty AMD64'>Installing Groupwise 8 Client in Ubuntu Jaunty AMD64</a></li>
<li><a href='http://www.sharms.org/blog/2007/03/making-openbsd-more-friendly/' rel='bookmark' title='Permanent Link: Making OpenBSD more friendly'>Making OpenBSD more friendly</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><strong>OpenBSD</strong><br />
<a href="http://www.openbsd.org">OpenBSD</a> is a free, reliable and secure operating system.  From a configuration standpoint it is both minimal and simple, which is great for those who want to get started quickly.  For the purposes of this tutorial, it is assumed the user has already installed OpenBSD.  If not, check out <a href="http://www.openbsd101.com/">openbsd101.com</a> for guides on installation etc.</p>
<p><strong>Play Framework</strong><br />
<a href="http://www.playframework.org">The Play Framework</a> is a java based web programming system, that includes the enterprise features of java with the methodology of Ruby on Rails or Django.  You can view an <a href="http://www.playframework.org/">introductory screencast</a> at their website which shows just how easy and powerful it is.</p>
<p><strong>Allow your user to sudo</strong><br />
Since this blog is aggregated on many Ubuntu sites, we will use the sudo facility to run commands instead of root.  To enable sudo the same way Ubuntu does:</p>
<ol>
<li>su &#8211; # Get root</li>
<li>visudo</li>
<li>Uncomment the line &#8220;%wheel  ALL=(ALL) SETENV: ALL&#8221;</li>
</ol>
<p><strong>Install packages</strong><br />
For the play framework the launch scripts are in python.  Zsh is installed for a better shell, and vim is installed for a full featured editor.</p>
<pre class="brush: bash">
export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.6/packages/i386/
sudo pkg_add zsh jre-1.7.0.00b59p0 wget python-2.6.2p0 vim-7.2.190p1-no_x11 unzip
sudo ln -sf /usr/local/bin/python2.6 /usr/bin/python
sudo ln -sf /usr/local/bin/python2.6-config /usr/bin/python-config
sudo ln -sf /usr/local/bin/pydoc2.6  /usr/bin/pydoc
</pre>
<p><strong>Install Play Framework</strong></p>
<pre class="brush: bash">
cd /usr/local
sudo wget http://download.playframework.org/releases/play-1.0.zip
sudo unzip play-1.0.zip
</pre>
<p><strong>Start your project</strong></p>
<pre class="brush: bash">
cd /var
sudo /usr/local/play-1.0/play new ourappname
sudo chown -R ourusername ourappname
cd ourappname
# Set java home -- you can set this permanently in /etc/login.conf or in a startup script
export JAVA_HOME=&quot;/usr/local/jre-1.7.0/&quot;
/usr/local/play-1.0/play run
</pre>
<p><strong>Done</strong><br />
Your test app is now listening on port 9000 of the systems IP.  That is all there is to it.  Make sure to check out the excellent documentation available for the Play Framework.</p>
<p><a href="http://www.sharms.org/blog/wp-content/uploads/play.jpg"><img src="http://www.sharms.org/blog/wp-content/uploads/play.jpg" alt="play" title="play" width="650" height="519" class="alignleft size-full wp-image-663" /></a></p>


<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2008/12/64-bit-java-browser-plugin/' rel='bookmark' title='Permanent Link: 64-bit Java browser plugin'>64-bit Java browser plugin</a></li>
<li><a href='http://www.sharms.org/blog/2009/06/installing-groupwise-8-client-in-ubuntu-jaunty-amd64/' rel='bookmark' title='Permanent Link: Installing Groupwise 8 Client in Ubuntu Jaunty AMD64'>Installing Groupwise 8 Client in Ubuntu Jaunty AMD64</a></li>
<li><a href='http://www.sharms.org/blog/2007/03/making-openbsd-more-friendly/' rel='bookmark' title='Permanent Link: Making OpenBSD more friendly'>Making OpenBSD more friendly</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2009/12/installing-play-framework-on-openbsd-4-6/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Python and real time graphical analysis</title>
		<link>http://www.sharms.org/blog/2009/11/python-and-real-time-graphical-analysis/</link>
		<comments>http://www.sharms.org/blog/2009/11/python-and-real-time-graphical-analysis/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 21:44:27 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sdl]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=650</guid>
		<description><![CDATA[I have a camera which has a motor attached which I can rotate using a serial cable. I figured it would be fun to have this camera analyze the webcam shots and turn in any direction there was motion. I pulled out python and pygame, and created a prototype. Unfortunately, I can&#8217;t make python go [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2009/06/python-threads/' rel='bookmark' title='Permanent Link: Python threads'>Python threads</a></li>
<li><a href='http://www.sharms.org/blog/2008/12/why/' rel='bookmark' title='Permanent Link: Why?'>Why?</a></li>
<li><a href='http://www.sharms.org/blog/2009/02/python-commands-module/' rel='bookmark' title='Permanent Link: Python Commands Module'>Python Commands Module</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I have a camera which has a motor attached which I can rotate using a serial cable.  I figured it would be fun to have this camera analyze the webcam shots and turn in any direction there was motion.  I pulled out python and pygame, and created a prototype.  Unfortunately, I can&#8217;t make python go very fast.  I made two test cases, 1 in C and 1 in python, to figure out if it would be worthwhile to rewrite it:</p>
<p>array-speed-test.c</p>
<pre class="brush: c">
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;time.h&gt;
#include &lt;sys/time.h&gt;

void compare_arrays(int **screen1, int **screen2)
{
    int x;
    int y;
    int diff;
    int mult;

    for(x = 0; x &lt; 1920; x++) {
        for(y = 0; y &lt; 1080; y++)
        {
            mult = screen1[x][y] * screen2[x][y];
            diff = abs(screen1[x][y] - screen2[x][y]);
        }
    }
}

int main(int argc, char **argv)
{
    srand(time(NULL));
    printf(&quot;Generating arrays...\n&quot;);
    int **screen1;
    int **screen2;
    int i = 0;
    int j = 0;
    struct timeval now;
    struct timeval end;
    int usecs_passed;

    screen1 = malloc(1920 * sizeof(int *));
    screen2 = malloc(1920 * sizeof(int *));
    for(i = 0; i &lt; 1920; i++)
    {
        screen1[i] = malloc(1080 * sizeof(int));
        screen2[i] = malloc(1080 * sizeof(int));
    }

    for(i = 0; i &lt; 1920; i++)
    {
        for(j = 0; j &lt; 1080; j++)
        {
            screen1[i][j] = rand() % 255;
            screen2[i][j] = rand() % 255;
        }
    }

    printf(&quot;Comparing arrays...\n&quot;);

    gettimeofday(&amp;now, NULL);
    compare_arrays(screen1, screen2);
    gettimeofday(&amp;end, NULL);

    usecs_passed = end.tv_usec - now.tv_usec;

    printf(&quot;Time passed: %dms\n&quot;, (usecs_passed / 1000));
    for(i = 0; i &lt; 1920; i++)
    {
        free(screen1[i]);
        free(screen2[i]);
    }

    return 0;
}
</pre>
<p>And my python code:</p>
<p>array-speed-test.py</p>
<pre class="brush: python">
#!/usr/bin/python
import random
import time
from math import fabs

def generateArray():
    array_to_gen = [None] * 1920
    for i in range(0, 1920):
        array_to_gen[i] = [None] * 1080

    for x in range(0,1920):
        for y in range(0, 1080):
            array_to_gen[x][y] = random.randrange(0,255)

    return array_to_gen

def compareArrays(screen1, screen2):
    for x in range(0, 1920):
        for y in range(0, 1080):
            diff = fabs(screen1[x][y] - screen2[x][y])
            combo = screen1[x][y] * screen2[x][y]

if __name__ == &quot;__main__&quot;:
    print &quot;Generating arrays...&quot;
    screen1 = generateArray()
    screen2 = generateArray()

    print &quot;Created two screens.  Comparing...&quot;
    startTime = time.time()
    compareArrays(screen1, screen2)
    print &quot;Time taken: &quot; + str((time.time() - startTime) * 1000) + &quot;ms&quot;
</pre>
<p>So far, the C program runs in 25ms, while the python program consistently takes 1100ms.  Might have to ditch python for real time analysis, unless someone wants to point out how I am doing this completely wrong (I am assuming the comments will be use Numpy?)</p>


<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2009/06/python-threads/' rel='bookmark' title='Permanent Link: Python threads'>Python threads</a></li>
<li><a href='http://www.sharms.org/blog/2008/12/why/' rel='bookmark' title='Permanent Link: Why?'>Why?</a></li>
<li><a href='http://www.sharms.org/blog/2009/02/python-commands-module/' rel='bookmark' title='Permanent Link: Python Commands Module'>Python Commands Module</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2009/11/python-and-real-time-graphical-analysis/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Fedora 12 default package install policy</title>
		<link>http://www.sharms.org/blog/2009/11/fedora-12-default-package-install-policy/</link>
		<comments>http://www.sharms.org/blog/2009/11/fedora-12-default-package-install-policy/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 15:53:01 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/2009/11/19/fedora-12-default-package-install-policy/</guid>
		<description><![CDATA[Just a quick note, if you don&#8217;t like Fedora 12&#8242;s policy, you probably don&#8217;t understand how systems today currently work. This is much more secure, and you are able to disable it. If you are using systems in public, then there is much more you need to disable such as removable media automounting etc, and [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2009/02/stimulus-package/' rel='bookmark' title='Permanent Link: Stimulus package'>Stimulus package</a></li>
<li><a href='http://www.sharms.org/blog/2006/07/what-i-am-working-on/' rel='bookmark' title='Permanent Link: What I am working on'>What I am working on</a></li>
<li><a href='http://www.sharms.org/blog/2006/11/fedora-core-6/' rel='bookmark' title='Permanent Link: Fedora Core 6'>Fedora Core 6</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Just a quick note, if you don&#8217;t like Fedora 12&#8242;s policy, you probably don&#8217;t understand how systems today currently work.</p>
<p>This is much more secure, and you are able to disable it.  If you are using systems in public, then there is much more you need to disable such as removable media automounting etc, and would not use default settings anyway.</p>
<p>The current way of throwing blanket root access out for any system change is inherently less secure, their change aims to only allow signed package and that 1 specific action to occur.</p>
<p>Yes you could make a collision, but if you can&#8217;t trust your package sources, you can&#8217;t trust your system as a whole, so the entire idea is moot.</p>


<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2009/02/stimulus-package/' rel='bookmark' title='Permanent Link: Stimulus package'>Stimulus package</a></li>
<li><a href='http://www.sharms.org/blog/2006/07/what-i-am-working-on/' rel='bookmark' title='Permanent Link: What I am working on'>What I am working on</a></li>
<li><a href='http://www.sharms.org/blog/2006/11/fedora-core-6/' rel='bookmark' title='Permanent Link: Fedora Core 6'>Fedora Core 6</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2009/11/fedora-12-default-package-install-policy/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>5 Things I Have Learned About Corporations</title>
		<link>http://www.sharms.org/blog/2009/10/5-things-i-have-learned-about-corporations/</link>
		<comments>http://www.sharms.org/blog/2009/10/5-things-i-have-learned-about-corporations/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 15:12:18 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=639</guid>
		<description><![CDATA[When I was younger I would email successful people and ask how they got where they were, and how I could get there. Now I get paid to work with / on Linux, and figured I would share a few things. Age is a funny thing, and as much as I thought I knew when [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2006/07/we-can-build-it-bigger-faster-stronger/' rel='bookmark' title='Permanent Link: We can build it.  Bigger. Faster. Stronger.'>We can build it.  Bigger. Faster. Stronger.</a></li>
<li><a href='http://www.sharms.org/blog/2010/02/explaining-a-simple-argument/' rel='bookmark' title='Permanent Link: Explaining a simple argument'>Explaining a simple argument</a></li>
<li><a href='http://www.sharms.org/blog/2008/10/growing-foss-communities-through-eulas/' rel='bookmark' title='Permanent Link: Growing FOSS communities through EULA&#039;s'>Growing FOSS communities through EULA&#039;s</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>When I was younger I would email successful people and ask how they got where they were, and how I could get there.  Now I get paid to work with / on Linux, and figured I would share a few things.  Age is a funny thing, and as much as I thought I knew when I was 18, 10 years later gives you a much better perspective.</p>
<ol>
<li><strong>You can&#8217;t be a expert in every field</strong><br />
My whole life I have been a &#8220;computer scientist&#8221;.  That meant I ran pretty much every operating system, and tried to program in as many languages possible.  However, in the professional world, your advice outside of your realm is seldomly used or even asked for.  Even if it is technically correct, team x does not want to have team y telling them how to do their job.  Swallow it up, not everything will go the way you want it.</li>
<li><strong>Communication is more important than technical expertise</strong><br />
If you look through the ranks of a corporation, you will notice that seldomly does the most technicially proficient employee ever even get to the &#8216;C&#8217; level (CTO, CIO etc).  In smaller companies, being the expert is important because everything is riding on you.  When your company has thousands of employees, communicating efficiently is worth much more.  Learn how to talk to non-technical people.</li>
<li><strong>Your manager is always right</strong><br />
Never be a martyr for a specific technical feature.  If your company needs something done a specific way, and you are against it, politely state your position.  If they are not interested, do it their way.  If the manager was wrong, they will take heat for it.  However, if you make a big issue about it, your manager is still the one at the end of the day who evaluates you on your performance review.</li>
<li><strong>Appearance matters</strong><br />
You are selling a complete package to a corporation.  It is important that your outward appearance is in line with the position you are  going for.  If there are two applicants of similar skill levels, the one who interviews that is well dressed and clean will get that position.  First impressions count, especially during interviews.</li>
<li><strong>Everyone has their reasons</strong><br />
No matter how bad you think a choice or decision was, everyone had a reason for doing it.  They thought it out, they presented it, and weighed the factors that matter to them.  It is very easy to point out how dumb you think something is, but likely you don&#8217;t have all the facts of the entire scenario.  If you do have all the facts, calling them out on it won&#8217;t fix anything and will likely create resentment.</li>
</ol>


<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2006/07/we-can-build-it-bigger-faster-stronger/' rel='bookmark' title='Permanent Link: We can build it.  Bigger. Faster. Stronger.'>We can build it.  Bigger. Faster. Stronger.</a></li>
<li><a href='http://www.sharms.org/blog/2010/02/explaining-a-simple-argument/' rel='bookmark' title='Permanent Link: Explaining a simple argument'>Explaining a simple argument</a></li>
<li><a href='http://www.sharms.org/blog/2008/10/growing-foss-communities-through-eulas/' rel='bookmark' title='Permanent Link: Growing FOSS communities through EULA&#039;s'>Growing FOSS communities through EULA&#039;s</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2009/10/5-things-i-have-learned-about-corporations/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

