<?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; ubuntu</title>
	<atom:link href="http://www.sharms.org/blog/tag/ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sharms.org/blog</link>
	<description>Life, Linux and Technology</description>
	<lastBuildDate>Tue, 24 Aug 2010 18:25:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<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>4</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/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/2007/04/windows-vista/' rel='bookmark' title='Permanent Link: Windows Vista'>Windows Vista</a></li>
<li><a href='http://www.sharms.org/blog/2009/07/connecting-to-ubuntu-from-windows/' rel='bookmark' title='Permanent Link: Connecting to Ubuntu from Windows'>Connecting to Ubuntu from Windows</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/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/2007/04/windows-vista/' rel='bookmark' title='Permanent Link: Windows Vista'>Windows Vista</a></li>
<li><a href='http://www.sharms.org/blog/2009/07/connecting-to-ubuntu-from-windows/' rel='bookmark' title='Permanent Link: Connecting to Ubuntu from Windows'>Connecting to Ubuntu from Windows</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>Xorg / X11 programming update</title>
		<link>http://www.sharms.org/blog/2009/08/xorg-x11-programming-update/</link>
		<comments>http://www.sharms.org/blog/2009/08/xorg-x11-programming-update/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 15:25:07 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[x11]]></category>
		<category><![CDATA[xorg]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=574</guid>
		<description><![CDATA[So I have been looking into Xorg development. I posted about it a few months ago, but little to no help came of asking where to start looking. After asking several places without any useful help, I actually found a great book: However, in my haste to order that one, I ordered 2 of these: [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2009/02/getting-started-with-xorg-development/' rel='bookmark' title='Permanent Link: Getting started with Xorg development'>Getting started with Xorg development</a></li>
<li><a href='http://www.sharms.org/blog/2008/10/bug-report/' rel='bookmark' title='Permanent Link: Bug report'>Bug report</a></li>
<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>
</ol>]]></description>
			<content:encoded><![CDATA[<p>So I have been looking into Xorg development.  I posted <a href="http://www.sharms.org/blog/2009/02/17/getting-started-with-xorg-development/">about it a few months ago</a>, but little to no help came of asking where to start looking.  After asking several places without any useful help, I actually found a great book:</p>
<p><a href="http://www.amazon.com/gp/product/1565920023?ie=UTF8&#038;tag=mindwarpnet-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1565920023"><img border="0" src="http://www.sharms.org/blog/wp-content/uploads/51TFptG8t3L._SL160_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=mindwarpnet-20&#038;l=as2&#038;o=1&#038;a=1565920023" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p>However, in my haste to order that one, I ordered 2 of these:</p>
<p><a href="http://www.amazon.com/gp/product/1565920066?ie=UTF8&#038;tag=mindwarpnet-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1565920066"><img border="0" src="http://www.sharms.org/blog/wp-content/uploads/51PFYePsrmL._SL160_.jpg"></a><img src="http://www.assoc-amazon.com/e/ir?t=mindwarpnet-20&#038;l=as2&#038;o=1&#038;a=1565920066" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p>So if you are looking to get started with X11 / Xlib / Xorg these are handy to have around.  Since I have 2 copies of the pink reference manual, if you want one, <del datetime="2009-08-25T18:01:32+00:00">email me at <strong>sharms</strong> at <strong>ubuntu</strong> period <strong>com</strong> and I will send you my extra copy for free. </del> Or if you want I can bring it to <a href="http://www.ohiolinux.org">Ohio Linux Fest 2009</a> and give it to you there.</p>
<p><strong>Update:</strong> Book claimed already</p>


<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2009/02/getting-started-with-xorg-development/' rel='bookmark' title='Permanent Link: Getting started with Xorg development'>Getting started with Xorg development</a></li>
<li><a href='http://www.sharms.org/blog/2008/10/bug-report/' rel='bookmark' title='Permanent Link: Bug report'>Bug report</a></li>
<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>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2009/08/xorg-x11-programming-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Boring Friday &#8211; What are you doing that is fun?</title>
		<link>http://www.sharms.org/blog/2009/07/boring-friday-what-are-you-doing-that-is-fun/</link>
		<comments>http://www.sharms.org/blog/2009/07/boring-friday-what-are-you-doing-that-is-fun/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 18:17:51 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=559</guid>
		<description><![CDATA[Suffering from a little burnout after delivering a few projects. For those coders out there, what are you working on thats fun / exciting? I will start: Following up from my previous post, the most fun thing I did was compete in the Engine Yard Contest.. I created a python client, which communicated the results [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2008/04/bash-frequently-used-commands/' rel='bookmark' title='Permanent Link: Bash frequently used commands'>Bash frequently used commands</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>Suffering from a little burnout after delivering a few projects.  For those coders out there, what are you working on thats fun / exciting?</p>
<p>I will start:</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/Favicon_normal.png" alt="Favicon_normal" title="Favicon_normal" width="48" height="48" class="alignleft size-full wp-image-562" />Following up from my previous post, the most fun thing I did was compete in the <a href="http://www.engineyard.com/blog/2009/programming-contest-and-the-winners-are/">Engine Yard Contest.</a>.  I created a python client, which communicated the results back to my webserver every 23 minutes via xml.  On the webserver itself, I used the <b>watch</b> command to provide stats that auto update: <em>&#8216;watch -n 30 &#8220;cat /tmp/results | sort | uniq | head&#8221;&#8216;</em>.  The results had their score first, with lowest being the best like golf.</p>
<p>My favorite webpage I have viewed today has been the Arch Linux July Screenshots thread: <a href="http://bbs.archlinux.org/viewtopic.php?id=75154">http://bbs.archlinux.org/viewtopic.php?id=75154</a></p>


<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2008/04/bash-frequently-used-commands/' rel='bookmark' title='Permanent Link: Bash frequently used commands'>Bash frequently used commands</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/07/boring-friday-what-are-you-doing-that-is-fun/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Annoying people with code: A gentle introduction to C# and Mono Part 3: Creating a GUI (Graphical) Mono / C# Program</title>
		<link>http://www.sharms.org/blog/2009/07/creating-a-gui-graphical-mono-c-program/</link>
		<comments>http://www.sharms.org/blog/2009/07/creating-a-gui-graphical-mono-c-program/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 20:10:24 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=528</guid>
		<description><![CDATA[In this post we will cover how to make a basic GUI application using Mono along with Monodevelop. If you haven&#8217;t already, you will want to read part 1 and part 2 of this series before this article. Monodevelop Monodevelop is the tool we are using as our editor. This is Linux&#8217;s equivalent of Visual [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2009/07/annoying-people-with-code-a-gentle-introduction-to-c-and-mono/' rel='bookmark' title='Permanent Link: Annoying people with code: A gentle introduction to C# and Mono'>Annoying people with code: A gentle introduction to C# and Mono</a></li>
<li><a href='http://www.sharms.org/blog/2009/07/annoying-people-with-code-a-gentle-introduction-to-c-and-mono-part-2-data-types/' rel='bookmark' title='Permanent Link: Annoying people with code: A gentle introduction to C# and Mono Part 2 &#8211; Data Types'>Annoying people with code: A gentle introduction to C# and Mono Part 2 &#8211; Data Types</a></li>
<li><a href='http://www.sharms.org/blog/2008/09/windows-to-linux-usb-key/' rel='bookmark' title='Permanent Link: Windows to Linux USB key'>Windows to Linux USB key</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>In this post we will cover how to make a basic GUI application using Mono along with Monodevelop.  If you haven&#8217;t already, you will want to read <a href="http://www.sharms.org/blog/2009/07/16/annoying-people-with-code-a-gentle-introduction-to-c-and-mono/">part 1</a> and <a href="http://www.sharms.org/blog/2009/07/17/annoying-people-with-code-a-gentle-introduction-to-c-and-mono-part-2-data-types/">part 2</a> of this series before this article.</p>
<p><strong>Monodevelop</strong><br />
Monodevelop is the tool we are using as our editor.  This is Linux&#8217;s equivalent of Visual Studio.  It can be used to code, debug and design your application, and can link in with revision control systems.  This article was written using version 2.0, if your version is not 2.0 you may see slight differences.</p>
<p><strong>Create your project</strong><br />
After starting Monodevelop, go to <strong>File -> New -> Solution</strong>.  You will be presented with a prompt asking which kind of solution we are starting.  Click on <strong>C# -> Gtk# 2.0 Project</strong> as shown below:</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/new-solution.jpg" alt="new-solution" title="new-solution" width="762" height="606" class="aligncenter size-full wp-image-531" /></p>
<p><span id="more-528"></span></p>
<p>Go ahead and click &#8220;Forward&#8221;.  This will drop us at the default Monodevelop screen, and bring up a boilerplate to work from.  For this guide we will mainly be working in the Designer mode.  In the above picture we named our project <b>helloWorldGraphical</b>.  I suggest you name yours the same unless you are already familiar with C#.  Navigate to <b>Solution helloWorldGraphical -> helloWorldGraphical -> User Interface -> MainWindow</b>.  Here you will see the designer window.  If it shows source code, click the Designer tab as shown:</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/designer.jpg" alt="designer" title="designer" width="795" height="648" class="aligncenter size-full wp-image-532" /></p>
<p>So now we have a window.  By default, there does not appear to be any buttons to do anything fun with it.  We need to change that by going to <b>View -> Toolbox</b>.  This will allow us to place buttons, boxes, whatever we want.</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/toolbox.jpg" alt="toolbox" title="toolbox" width="408" height="441" class="aligncenter size-full wp-image-534" /></p>
<p>Now that we have a bunch of different buttons, what we need is a VBox.  This is a vertical box that will help us position our elements.  Gtk graphical interfaces use containers to figure out what goes where.  For now lets just drag a VBox and leave it with the defaults (just click and drag it on to your window):</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/vbox.jpg" alt="vbox" title="vbox" width="650" height="318" class="aligncenter size-full wp-image-535" /></p>
<p>Now that we have a container, we can drag a Label.  A label just allows us to display some arbitrary text, nothing too special.  Go ahead and drag it inside the VBox we just dragged:</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/label.jpg" alt="label" title="label" width="600" height="254" class="aligncenter size-full wp-image-537" /></p>
<p>Now that we have a label we can set it&#8217;s text to HelloWorld and get a glympse of how to customize GUI elements.  To do this we need to open the properties window.  To open the properties window go to <b>View -> Properties</b> as shown below:</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/properties.jpg" alt="properties" title="properties" width="287" height="590" class="aligncenter size-full wp-image-538" /></p>
<p>Properties is where the magic really happens in the designer.  You can click on your VBox or Label and set a bunch of different values that will change the way your program behaves.  For the purpose of this article, we just want to change the label text:</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/label-edit.jpg" alt="label-edit" title="label-edit" width="650" height="233" class="aligncenter size-full wp-image-539" /></p>
<p>Where it says &#8216;label2&#8242; (yours may say different label #), go ahead and change the text to <i>&#8220;Hello World&#8221;</i>.  Your final dialog should look like this:</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/final-designer.jpg" alt="final-designer" title="final-designer" width="755" height="401" class="aligncenter size-full wp-image-540" /></p>
<p>Now we are ready to test the program.  Navigate on the top toolbar to the gears icon, which should say &#8216;Debug&#8217;:<br />
<img src="http://www.sharms.org/blog/wp-content/uploads/buildit.jpg" alt="buildit" title="buildit" width="342" height="81" class="aligncenter size-full wp-image-541" /></p>
<p>After clicking the icon, your program will launch and you will see a window as below:</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/final.jpg" alt="final" title="final" width="469" height="382" class="aligncenter size-full wp-image-542" /></p>
<p>And now you have your Hello World program.  It doesn&#8217;t do anything, but I am sure in future tutorials we will address that.  For now just play with the designer properties and keep clicking Debug to see your changes.  Good luck!</p>


<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2009/07/annoying-people-with-code-a-gentle-introduction-to-c-and-mono/' rel='bookmark' title='Permanent Link: Annoying people with code: A gentle introduction to C# and Mono'>Annoying people with code: A gentle introduction to C# and Mono</a></li>
<li><a href='http://www.sharms.org/blog/2009/07/annoying-people-with-code-a-gentle-introduction-to-c-and-mono-part-2-data-types/' rel='bookmark' title='Permanent Link: Annoying people with code: A gentle introduction to C# and Mono Part 2 &#8211; Data Types'>Annoying people with code: A gentle introduction to C# and Mono Part 2 &#8211; Data Types</a></li>
<li><a href='http://www.sharms.org/blog/2008/09/windows-to-linux-usb-key/' rel='bookmark' title='Permanent Link: Windows to Linux USB key'>Windows to Linux USB key</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2009/07/creating-a-gui-graphical-mono-c-program/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>MMap to null</title>
		<link>http://www.sharms.org/blog/2009/07/fun-stuff/</link>
		<comments>http://www.sharms.org/blog/2009/07/fun-stuff/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 19:31:56 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=524</guid>
		<description><![CDATA[I was reading an lwn article about an exploit: http://lwn.net/Articles/341773/ Being that I am writing posts this week about programming, and about my Fedora run down, thought people might find this interesting. I wrote a little test code that fails on Ubuntu but works on Fedora 11 (based off lwn post): #include &#60;stdio.h&#62; #include &#60;sys/mman.h&#62; [...]


Related posts:<ol><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/11/python-and-real-time-graphical-analysis/' rel='bookmark' title='Permanent Link: Python and real time graphical analysis'>Python and real time graphical analysis</a></li>
<li><a href='http://www.sharms.org/blog/2010/06/programming-using-ioctl-to-interface-with-linux-kernel-drivers/' rel='bookmark' title='Permanent Link: Programming using IOCTL to interface with Linux kernel drivers'>Programming using IOCTL to interface with Linux kernel drivers</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I was reading an lwn article about an exploit: <a href="http://lwn.net/Articles/341773/">http://lwn.net/Articles/341773/</a></p>
<p>Being that I am writing posts this week <a href="http://www.sharms.org/blog/2009/07/16/annoying-people-with-code-a-gentle-introduction-to-c-and-mono/">about programming</a>, and about <a href="http://www.sharms.org/blog/2009/07/16/fedora-11-vs-ubuntu-9-04/">my Fedora run down</a>, thought people might find this interesting.</p>
<p>I wrote a little test code that fails on Ubuntu but works on Fedora 11 (based off lwn post):</p>
<pre class="brush: c">
#include &lt;stdio.h&gt;
#include &lt;sys/mman.h&gt;

int main(int argc, char **argv)
{
    // Try to write to memory location 0
    void *mem;
    mem = mmap(NULL, 0x1000, PROT_READ | PROT_WRITE, MAP_FIXED | MAP_ANONYMOUS | MAP_PRIVATE, 0, 0);

    if(mem != NULL)
    {
        printf(&quot;Could not write to memory position 0\n&quot;);
    } else
    {
        printf(&quot;We can write to memory location 0\n&quot;);
    }

    sprintf((char *) mem, &quot; This is a test\n&quot;);
    printf(&quot;Memory contents: %s\n&quot;, (char *)(mem + (sizeof(char))));
    return 0;
}
</pre>
<p><strong>Fedora 11 results:</strong></p>
<pre class="brush: sh">
./a.out
We can write to memory location 0
Memory contents: This is a test
</pre>
<p><strong>Ubuntu 9.04 results:</strong></p>
<pre class="brush: sh">
./a.out
Could not write to memory position 0
Segmentation fault
</pre>
<p><strong>What does this mean?</strong><br />
As far as I can understand it, userspace programs segfault when trying to access data in the NULL (or 0) memory region.  The kernel does not have this limitation.  The author of the exploit said this is because GCC optimises out the null check.  So if there is kernel code which references a pointer to 0, then you can have it run whatever you want.  And in atleast 2.6.30, there is kernel code that does that.</p>
<p>Ubuntu does not let the userspace programs write to 0, but in F11 you can.  Interesting stuff.</p>


<p>Related posts:<ol><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/11/python-and-real-time-graphical-analysis/' rel='bookmark' title='Permanent Link: Python and real time graphical analysis'>Python and real time graphical analysis</a></li>
<li><a href='http://www.sharms.org/blog/2010/06/programming-using-ioctl-to-interface-with-linux-kernel-drivers/' rel='bookmark' title='Permanent Link: Programming using IOCTL to interface with Linux kernel drivers'>Programming using IOCTL to interface with Linux kernel drivers</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2009/07/fun-stuff/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Annoying people with code: A gentle introduction to C# and Mono Part 2 &#8211; Data Types</title>
		<link>http://www.sharms.org/blog/2009/07/annoying-people-with-code-a-gentle-introduction-to-c-and-mono-part-2-data-types/</link>
		<comments>http://www.sharms.org/blog/2009/07/annoying-people-with-code-a-gentle-introduction-to-c-and-mono-part-2-data-types/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 15:07:57 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=496</guid>
		<description><![CDATA[In part one of this series we covered making a basic &#8220;Hello World&#8221; plugin in Mono / C#. Today we are going to dive into different types of data, and how to define them. Show me part 1! Also if you thought part 1 was ugly, I added a new javascript syntax highlighter so I [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2009/07/annoying-people-with-code-a-gentle-introduction-to-c-and-mono/' rel='bookmark' title='Permanent Link: Annoying people with code: A gentle introduction to C# and Mono'>Annoying people with code: A gentle introduction to C# and Mono</a></li>
<li><a href='http://www.sharms.org/blog/2009/07/creating-a-gui-graphical-mono-c-program/' rel='bookmark' title='Permanent Link: Annoying people with code: A gentle introduction to C# and Mono Part 3: Creating a GUI (Graphical) Mono / C# Program'>Annoying people with code: A gentle introduction to C# and Mono Part 3: Creating a GUI (Graphical) Mono / C# Program</a></li>
<li><a href='http://www.sharms.org/blog/2009/05/creating-graphs-in-python/' rel='bookmark' title='Permanent Link: Creating graphs in python'>Creating graphs in python</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>In part one of this series we covered making a basic &#8220;Hello World&#8221; plugin in Mono / C#.  Today we are going to dive into different types of data, and how to define them.   <a href="http://www.sharms.org/blog/2009/07/16/annoying-people-with-code-a-gentle-introduction-to-c-and-mono/">Show me part 1!</a>  Also if you thought part 1 was ugly, I added a new javascript syntax highlighter so I recommend you read it on my blog instead of planet.ubuntu.com.</p>
<p><strong>Variables</strong><br />
A variable is something that stores a value.  In different programming languages, these are handled differently.  C# is called a static / strongly typed language as you have to tell it what variables are.  To explain, I will use python in comparison:</p>
<p><strong>Python Example</strong></p>
<pre class="brush: python">
x = &quot;This is a string&quot;
y = 5
</pre>
<p>As you can see, we didn&#8217;t have to tell Python anything about what type of variables they are.  In C# / Mono, we would do this like this:</p>
<p><strong>C# Example</strong></p>
<pre class="brush: csharp">
string x = &quot;This is a string&quot;;
int y = 5;
</pre>
<p>I will tell you, after my years of development, that I program a ton of stuff in PHP / Python today.  One of the worst and best parts of these languages is that they are dynamically typed.  The fact that C# requires variables to be declared with a type before using makes life easier for testing and reading.  There is a stack overflow post on what static typing gives you: <a href="http://stackoverflow.com/questions/859186/why-is-c-statically-typed">Read the stack overflow post.</a></p>
<p><strong>Variable Naming</strong><br />
Before we continue, you will notice in the top example I used the variable names x and y <em>(to illustrate that the variable names really mean nothing to the compiler / interpreter.  If I named them myString you might have been confused)</em>.  If you do this in real life, I will find you and give you a thorough verbal lashing.  I generally use camel case to name variables.  Just do not abbreviate them as it really serves no purpose, and makes a lot of pain for people besides yourself maintaining code.</p>
<p>You can read about <a href="http://en.wikipedia.org/wiki/CamelCase">camel case at wikipedia.</a></p>
<p><strong>The Source</strong><br />
For this program, I copied our HelloWorld.cs, and just modified it.  I also have a modified makefile.</p>
<p><strong>dataTypes.cs</strong></p>
<pre class="brush: csharp">
using System;

// We create a class to contain it
class dataTypes
{
    static void Main(string[] args)
    {
        // The type &#039;bool&#039; is always true or false
        bool isMonoTheOnlyPatentRisk = false;

        // To check if it is true or false in program code,
        // we can use an &#039;if statement&#039;
        if(isMonoTheOnlyPatentRisk)
        {
            Console.WriteLine(&quot;isMonoTheOnlyPatentRisk was set to true&quot;);
        } else
        {
            Console.WriteLine(&quot;isMonoTheOnlyPatentRisk was set to false&quot;);
        }

        // Note how I named the variables -
        // lowercaseFirstThenCapitalizeEachWorld
        // this is called camel case -- I first read about it
        // in a Charles Petzold book, but I am sure it
        // probably didn&#039;t originate there.  Either way its
        // how I code, I recommend you name variables
        // as descriptive as possible.

        // Note to only kids:  You will have the initial
        // reaction of saying: Why should I name stuff long?
        // That takes time and is stupid!
        // I used to be you 10 years ago, the problem is if
        // you need to use your code in several years of not
        // using it.  Your time will be completely wasted
        // figuring out what the heck is going on, despite
        // seeming so intuitive / easy to understand when you
        // did it

        // Integers store numbers
        int ourNumber = 5;

        // In most langauges we can evaluate these in
        // &#039;if statements&#039; like bools above, but if we try in
        // C# this will fail.  In C# a bool can only be 0 for
        // false, 1 for true, or we can use the
        // Convert.ToBoolean function like this:
        if(Convert.ToBoolean(ourNumber))
        {
            Console.WriteLine(&quot;ourNumber was not 0!&quot;);
        } else
        {
            Console.WriteLine(&quot;ourNumber was 0&quot;);
        }

        // Lets see if we can compare this number
        if(ourNumber &gt; 4)
        {
            Console.WriteLine(&quot;ourNumber was greater than 4&quot;);
        } else
        {
            Console.WriteLine(&quot;ourNumber was less than or equal to 4&quot;);
        }

        // Make a string, and output it
        string helloWorldVariable = &quot;Hello World!&quot;;
        Console.WriteLine(helloWorldVariable);
    }
}
</pre>
<p><strong>Makefile</strong></p>
<pre class="brush: sh">
COMPILER=gmcs

all: helloWorld.exe dataTypes.exe

helloWorld.exe: helloWorld.cs
	$(COMPILER) helloWorld.cs

dataTypes.exe: dataTypes.cs
	$(COMPILER) dataTypes.cs
clean:
	rm -f helloWorld.exe dataTypes.exe

.PHONY: all clean
</pre>
<p><strong>Output from our terminal</strong></p>
<pre class="brush: sh">
[sharms@sparrow mono]$ make
gmcs helloWorld.cs
gmcs dataTypes.cs
[sharms@sparrow mono]$ mono dataTypes.exe
isMonoTheOnlyPatentRisk was set to false
ourNumber was not 0!
ourNumber was greater than 4
Hello World!
</pre>
<p><strong>Bonus Tip</strong><br />
Did you notice in the first part the way I named the bool?  If you are programming, generally, your bool&#8217;s should start with &#8216;is&#8217;.  This becomes very important once you start making complex &#8216;if statements&#8217;.  Trust me on this one, it&#8217;s a habit you want.</p>


<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2009/07/annoying-people-with-code-a-gentle-introduction-to-c-and-mono/' rel='bookmark' title='Permanent Link: Annoying people with code: A gentle introduction to C# and Mono'>Annoying people with code: A gentle introduction to C# and Mono</a></li>
<li><a href='http://www.sharms.org/blog/2009/07/creating-a-gui-graphical-mono-c-program/' rel='bookmark' title='Permanent Link: Annoying people with code: A gentle introduction to C# and Mono Part 3: Creating a GUI (Graphical) Mono / C# Program'>Annoying people with code: A gentle introduction to C# and Mono Part 3: Creating a GUI (Graphical) Mono / C# Program</a></li>
<li><a href='http://www.sharms.org/blog/2009/05/creating-graphs-in-python/' rel='bookmark' title='Permanent Link: Creating graphs in python'>Creating graphs in python</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2009/07/annoying-people-with-code-a-gentle-introduction-to-c-and-mono-part-2-data-types/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Fedora 11 vs. Ubuntu 9.04</title>
		<link>http://www.sharms.org/blog/2009/07/fedora-11-vs-ubuntu-9-04/</link>
		<comments>http://www.sharms.org/blog/2009/07/fedora-11-vs-ubuntu-9-04/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 17:46:01 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=491</guid>
		<description><![CDATA[Put Fedora 11 on my laptop just out of boredom, some notes: Fedora 11 SELinux by default: Cool but confusing Fedora 11 repositories: Better selection than previous releases, still not as many choices as Ubuntu Ubuntu still wins on the default menu organization for new users (just a bit easier to navigate) Fedora bootup vs. [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2008/08/haproxy-packages/' rel='bookmark' title='Permanent Link: Haproxy packages'>Haproxy packages</a></li>
<li><a href='http://www.sharms.org/blog/2007/06/novell-linux-client-on-ubuntu-redux/' rel='bookmark' title='Permanent Link: Novell Linux Client on Ubuntu redux'>Novell Linux Client on Ubuntu redux</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>Put Fedora 11 on my laptop just out of boredom, some notes:</p>
<ul>
<li>Fedora 11 SELinux by default: Cool but confusing</li>
<li>Fedora 11 repositories: Better selection than previous releases, still not as many choices as Ubuntu</li>
<li>Ubuntu still wins on the default menu organization for new users (just a bit easier to navigate)</li>
<li>Fedora bootup vs. Ubuntu bootup is about a wash, they both look good and are fast</li>
<li>Default themes:  Neither will win a competition on looks, Linux Mint is much better looking than both</li>
<li>Yum vs. Apt:  Yum was fast, but a lot of 404&#8242;s on the repositories (which is more of an issue of Fedora&#8217;s mirror infrastructure)</li>
<li>PPAs vs. ???:  This is where Fedora appears (correct me if I am wrong) to have absolutely no answer to OpenSUSE and Ubuntu.  In Ubuntu we can get up to date packages that were not yet officially released using PPAs.  OpenSUSE users can download packages from the build service.  Fedora really has nothing this fun (I am aware OpenSUSE can build Fedora packages, but the selection is not even close).</li>
<li>Support:  Fedora is a distro that is on the cutting edge.  It will never compete in support, but this is intentional. </li>
<li>Community: Ubuntu community is simply the biggest Linux community on the internet.  Nobody is even in the same ball park.  This also means that Ubuntu has much more &#8220;noise&#8221; than Fedora (ie people who contribute nothing and are generally factually inaccurate).  Experts may like Fedora more because of the lack of this noise.</li>
</ul>
<p>So if you are looking to try out Fedora, I don&#8217;t think you will gain or miss much.  Personally I am going to put Ubuntu back on as I really love software from PPAs,  and I love using apt just out of habit.  But hope that helps someone who wonders what the differences are or what they are missing.</p>
<p>I have added a screenshot which is the default screen with Gnome-Do with docky theme, but this obviously works in Ubuntu also:</p>
<p><a href="http://www.flickr.com/photos/51992849@N00/3726537721/" title="Fedora11 by mindwarp, on Flickr"><img src="http://farm3.static.flickr.com/2571/3726537721_c6e77ec9d9_b.jpg" width="1024" height="320" alt="Fedora11" /></a></p>


<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2008/08/haproxy-packages/' rel='bookmark' title='Permanent Link: Haproxy packages'>Haproxy packages</a></li>
<li><a href='http://www.sharms.org/blog/2007/06/novell-linux-client-on-ubuntu-redux/' rel='bookmark' title='Permanent Link: Novell Linux Client on Ubuntu redux'>Novell Linux Client on Ubuntu redux</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/07/fedora-11-vs-ubuntu-9-04/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Connecting to Ubuntu from Windows</title>
		<link>http://www.sharms.org/blog/2009/07/connecting-to-ubuntu-from-windows/</link>
		<comments>http://www.sharms.org/blog/2009/07/connecting-to-ubuntu-from-windows/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 16:53:25 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vim]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=474</guid>
		<description><![CDATA[Recently I needed to connect to a Ubuntu box from a Windows machine because FGLRX just would not work with 3 monitors in surround view. Fortunately using a few tools made it much easier to interface with my Ubuntu box again. Assumptions Ubuntu system named ubuntubox with ip 192.168.1.2 Windows system named windowsbox with ip [...]


Related posts:<ol><li><a href='http://www.sharms.org/blog/2008/05/resize-windows-xp-partition-in-vmware/' rel='bookmark' title='Permanent Link: Resize Windows XP Partition in VMWARE'>Resize Windows XP Partition in VMWARE</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/2007/04/getting-involved-with-ubuntu/' rel='bookmark' title='Permanent Link: Getting involved with Ubuntu'>Getting involved with Ubuntu</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Recently I needed to connect to a Ubuntu box from a Windows machine because FGLRX just would not work with 3 monitors in surround view.  Fortunately using a few tools made it much easier to interface with my Ubuntu box again.</p>
<h2>Assumptions</h2>
<ul>
<li><strong>Ubuntu</strong> system named ubuntubox with ip 192.168.1.2</li>
<li><strong>Windows</strong> system named windowsbox with ip 192.168.1.3</li>
</ul>
<h2>Remote Access</h2>
<p>For those of us who are comfortable with the command line, <strong>ssh</strong> is the only way to go.  To make sure you have ssh installed, you can run (on your Ubuntu box):</p>
<p><code>sudo apt-get install ssh</code></p>
<p>This service should automatically start a boot up, and will allow you to open a terminal to access the command prompt.  Now to access our ssh server, we need to download a ssh client for Windows.  Look no further than <strong>PuTTY</strong>, which is free, open source, and easy to use.  There are a few programs PuTTY provides, we just need <strong>putty.exe</strong> and optionally <strong>plink.exe</strong> (for next post in this series).</p>
<p>These can be downloaded <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" />at the PuTTY download page</a>.</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/putty.jpg" alt="putty" title="putty" width="456" height="442" class="aligncenter size-full wp-image-476" /></p>
<p>Once downloaded, you can put putty.exe pretty much anywhere you can remember it.  I just left it on my desktop and dragged the shortcut to my quick-launch bar.  Double click putty.exe, and in the dialog box labeled &#8220;Host Name&#8221; go ahead and enter your Ubuntu box&#8217;s IP address.</p>
<p>Click &#8220;Open&#8221; when you are ready to connect, and it will prompt you for a username and password.  You should already have a username and password from your Ubuntu install.</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/putty2.jpg" alt="putty2" title="putty2" width="587" height="396" class="aligncenter size-full wp-image-477" /></p>
<p>If you want your prompt to be colorful, you need to type &#8216;nano .bashrc&#8217; at the prompt, and scroll down to the line that looks like &#8220;#force_color_prompt=yes&#8221; and remove the &#8220;#&#8221; character.  After logging in it should now have colors.  If you want other cool tips for your shell, I suggest you check out the Ubuntu Wiki as I wrote up a specification on making it more usable: <a href="https://wiki.ubuntu.com/Spec/EnhancedBash">Enhanced Bash</a>.</p>
<p>At this point you should have remove access to your Ubuntu system.</p>
<h2>Sharing Files</h2>
<p>We need a good way to share files between these two systems.  A lot of people will suggest <strong>Samba / CIFS</strong> (which is really a technical way of just saying Windows File Sharing).  I think that Samba / CIFS lacks any technical merit, and is harder to configure.  I am going to show you two ways of sharing files, both which use SSH.</p>
<h2>WinSCP</h2>
<p><strong>WinSCP</strong> is basically <strong>CuteFTP</strong> or whatever FTP program you grew up with, but instead it works with SSH.  It is incredibly easy to use.  Go ahead and download WinSCP from their website. You can download either the portable executable (which means you can run it from anywhere without installing) or the full installer.  Either one will work for our purposes.</p>
<p>The download page is at: <a href="http://winscp.net/eng/download.php">http://winscp.net/eng/download.php</a>. To connect from Windows to our Ubuntu system, go ahead and install the program (or not if you downloaded the portable version).  Once you start it up, it should look like this:</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/winscp.jpg" alt="winscp" title="winscp" width="540" height="390" class="aligncenter size-full wp-image-478" /></p>
<p>Go ahead and fill in the IP address for your system.  It is going to say it doesn&#8217;t know it&#8217;s key yet, go ahead and click Yes there.  You will now see your home directory on your Ubuntu box and your Windows box.  You can now drag files back and forth, and better yet, encrypted.</p>
<h2>Something More?</h2>
<p>As a programmer, one thing I need is a great editor.  I happen to use <strong>VIM</strong> to code everything I make.  VIM through SSH is ok, but one problem I have is I can&#8217;t use any of the <a href="http://www.reddit.com/r/programming/comments/760yt/ask_reddit_help_me_find_a_vim_color_scheme/.mobile">really</a> <a href="http://stackoverflow.com/questions/524585/what-is-your-favorite-colorscheme-for-programming-in-vim/524727">cool</a> <a href="http://dengmao.wordpress.com/2007/01/22/vim-color-scheme-wombat/">color</a> schemes out there, as PuTTY is limited to 256 colors.  There are some plugins out there which are supposed to convert the color schemes, but none works reliably for me.  Luckily, <strong>GVIM</strong> is available for windows, so I went to their download page: <a href="http://www.vim.org/download.php">http://www.vim.org/download.php</a> and downloaded / installed it.</p>
<p>This was great, but for <strong>Django</strong> development I really wanted to edit the files in place, via a shared folder, instead of using WinSCP every 10 seconds (I use test driven development, as in I may change a file 5 times a minute).  How do we go about using our SSH server as a shared folder under Windows? We can use the free / open source program <strong>Dokan</strong>.</p>
<p>Visit their download page, and retrieve the &#8220;Dokan library&#8221; and &#8220;Dokan SSHFS&#8221;.   Their download page is at <a href="http://dokan-dev.net/en/download/">http://dokan-dev.net/en/download/</a>.  Install the Dokan Library first.  After installing that, install Dokan SSHFS.  Once installed, Dokan SSHFS will appear under your start menu.  Go ahead and run it:</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/dokan.jpg" alt="dokan" title="dokan" width="375" height="395" class="aligncenter size-full wp-image-479" /></p>
<p>This should be a familiar pattern by now.  Go ahead and set the &#8220;Host&#8221; file to the ip of your Ubuntu system.  You will also need to provide a username and password.  In the screenshot above you can see that my SSH server will be mounted as my N: drive now.</p>
<p>With SSHFS up and running, I can now edit files directly on my Ubuntu server.  Combining that with GVIM, I can use an editor that provides excellent syntax highlighting:</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/gvim.jpg" alt="gvim" title="gvim" width="855" height="600" class="aligncenter size-full wp-image-480" /></p>
<p>In this screen shot I am using the Wombat theme for GVIM, and the Microsoft font Consolas.  Consolas is freely available for Windows XP if you download the Office 2007 compatibility pack, or PowerPoint Viewer.</p>


<p>Related posts:<ol><li><a href='http://www.sharms.org/blog/2008/05/resize-windows-xp-partition-in-vmware/' rel='bookmark' title='Permanent Link: Resize Windows XP Partition in VMWARE'>Resize Windows XP Partition in VMWARE</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/2007/04/getting-involved-with-ubuntu/' rel='bookmark' title='Permanent Link: Getting involved with Ubuntu'>Getting involved with Ubuntu</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2009/07/connecting-to-ubuntu-from-windows/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Best Linux Notetaking Application</title>
		<link>http://www.sharms.org/blog/2009/06/best-linux-notetaking-application/</link>
		<comments>http://www.sharms.org/blog/2009/06/best-linux-notetaking-application/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 17:33:15 +0000</pubDate>
		<dc:creator>sharms</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[keepnote]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.sharms.org/blog/?p=465</guid>
		<description><![CDATA[I know a lot of people out there like to take notes with Linux, and probably didn&#8217;t come across this program yet, as it look me a bit googling to find it again. The program is called KeepNote, and is a fantastic program for taking notes. I use it with Dropbox, and store all of [...]


Related posts:<ol><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/2007/05/dell-d620-on-linux/' rel='bookmark' title='Permanent Link: Dell D620 on Linux'>Dell D620 on Linux</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>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.sharms.org/blog/wp-content/uploads/keepnote-logo.png" alt="keepnote-logo" title="keepnote-logo" width="450" height="90" class="aligncenter size-full wp-image-466" /></p>
<p>I know a lot of people out there like to take notes with Linux, and probably didn&#8217;t come across this program yet, as it look me a bit googling to find it again.  The program is called <a href="http://rasm.ods.org/keepnote/">KeepNote</a>, and is a fantastic program for taking notes.  I use it with <a href="http://www.sharms.org/blog/2009/04/16/dropbox-on-ubuntu/">Dropbox</a>, and store all of my notes there and that way it is synchronized to all of my systems.   The program itself is open source and free, and you can support it by making a donation on the homepage.</p>
<p><a href="http://www.sharms.org/blog/wp-content/uploads/keepnote1-big.jpg"><img src="http://www.sharms.org/blog/wp-content/uploads/keepnote1-small.jpg" alt="keepnote1-small" title="keepnote1-small" width="700" height="439" class="aligncenter size-full wp-image-468" /></a></p>
<p>I really like KeepNote, and the ease at which I can drag and drop media to it.  One thing I did set in preferences was to only autosave every few minutes, otherwise Dropbox is constantly being updated:</p>
<p><img src="http://www.sharms.org/blog/wp-content/uploads/keepnote2.jpg" alt="keepnote2" title="keepnote2" width="884" height="539" class="aligncenter size-full wp-image-469" /></p>
<p>The top toolbar is well thought out and very intuitive for formatting.  It also supports all of the standard keyboard shortcuts, such as CTRL-B for bold etc.  If you are looking to try it out, the author has a .deb package on the homepage that installs no problem (Ubuntu Jaunty AMD64 here).</p>


<p>Related posts:<ol><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/2007/05/dell-d620-on-linux/' rel='bookmark' title='Permanent Link: Dell D620 on Linux'>Dell D620 on Linux</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>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sharms.org/blog/2009/06/best-linux-notetaking-application/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.134 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-09-10 19:10:41 -->
