<?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>Matt Ventura&#039;s blog &#187; Uncategorized</title>
	<atom:link href="http://mattventura.net/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://mattventura.net</link>
	<description>Matt Ventura&#039;s blog about various stuff.</description>
	<lastBuildDate>Sun, 15 Aug 2010 01:17:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=3.0-alpha</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Major MVPyBot Update</title>
		<link>http://mattventura.net/2010/08/14/major-mvpybot-update/</link>
		<comments>http://mattventura.net/2010/08/14/major-mvpybot-update/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 01:17:21 +0000</pubDate>
		<dc:creator>Matt Ventura</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mattventura.net/?p=301</guid>
		<description><![CDATA[The bot now supports &#8220;hot reloading.&#8221; The bot can now reload itself without losing connection due to a new wrapper.
You need to run &#8216;mvpybot.py 0&#8242; because start.py is broken now. Substitute the zero with a different server number if you want to connect to a different server.
]]></description>
			<content:encoded><![CDATA[<p>The bot now supports &#8220;hot reloading.&#8221; The bot can now reload itself without losing connection due to a new wrapper.</p>
<p>You need to run &#8216;mvpybot.py 0&#8242; because start.py is broken now. Substitute the zero with a different server number if you want to connect to a different server.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattventura.net/2010/08/14/major-mvpybot-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MVpybot Major Update</title>
		<link>http://mattventura.net/2010/06/26/mvpybot-major-update/</link>
		<comments>http://mattventura.net/2010/06/26/mvpybot-major-update/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 05:25:31 +0000</pubDate>
		<dc:creator>Matt Ventura</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mattventura.net/?p=290</guid>
		<description><![CDATA[There is a somewhat-major bot update in the works. The plugins system has been completely redone. Instead of plugin files being used for whatever functions can be found in them, they now have to explicitly register functions. Here is an example, the rewritten ping plugin:
#!/usr/bin/python

def register():
 registerfunction('ping', ping)
 addhelp('ping', help_ping)

def ping():
 outstuff=''
 print "ping called"
 [...]]]></description>
			<content:encoded><![CDATA[<p>There is a somewhat-major bot update in the works. The plugins system has been completely redone. Instead of plugin files being used for whatever functions can be found in them, they now have to explicitly register functions. Here is an example, the rewritten ping plugin:</p>
<pre>#!/usr/bin/python

def register():
 registerfunction('ping', ping)
 addhelp('ping', help_ping)

def ping():
 outstuff=''
 print "ping called"
 if (len(cmd)&lt;2):
  return('PRIVMSG %s :Incorrect usage. Syntax: ping (4|6) &lt;address&gt;.' %(channel))
 else:
  if cmd[1]=='4' or cmd[1]=='6':
   if cmd[1]=='4':

    output=syscmd(['ping','-c','5','-i','0.2',cmd[2]])
    outsplit=output.split('\n')
    outparts=outsplit[-3:-1]
    for part in outparts:
     outstuff+='PRIVMSG %s :%s\n' %(channel,part) 

   if cmd[1]=='6':

    output=syscmd(['ping6','-c','5','-i','0.2',cmd[2]])
    outsplit=output.split('\n')
    outparts=outsplit[-3:-1]
    for part in outparts:
     outstuff+='PRIVMSG %s :%s\n' %(channel,part)
  return(outstuff)
  else:
   return('PRIVMSG %s :Error: protocol must be either 4 or 6' %channel)

def help_ping():
 return('PRIVMSG %s :Pings an internet address. Usage: ping (4|6) &lt;address&gt;.' %(channel))
</pre>
<p>A plugin&#8217;s register() function is called when the plugin is loaded. It can use registerfunction(), addlistener(), and addhelp(). You can use each function as many times as you want, in case you have multiple functions and/or listeners, or if you want to include help with your plugin.</p>
<p>Read more to find out how to use the new plugin features.</p>
<p><span id="more-290"></span></p>
<h2>Function Usage</h2>
<p>registerfunction() usage:</p>
<pre>registerfunction('command', function)
</pre>
<p>where &#8216;command&#8217; is the command that the user would use to access this function, and &#8220;function&#8221; is the actual python function that you have defined in your module. See the ping example above for a usage example.</p>
<p>addlistener() usage:</p>
<pre>addlistener('type', function)
</pre>
<p>For addlistener(), &#8216;type&#8217; is a string denoting the type of event to call the function on, such as &#8220;any&#8221; or &#8220;privmsg&#8221;. &#8220;function&#8221; works the same as with registerfunction().</p>
<p>addhelp() usage:</p>
<pre>addhelp('command', function)</pre>
<p>&#8216;command&#8217; is the command that the user will access help on (eg, if &#8216;command&#8217; was &#8216;mycommand&#8217;, the user would use &#8216;help mycommand&#8217; to read the help.) Function works the same as the others.</p>
<h2>Other Notes</h2>
<p>All plugins go in the &#8220;modules&#8221; folder now. There are no longer separate folders for different types of plugins.</p>
<p>I have not yet rewritten the on-the-fly module management commands (enabling, disabling, reloading, etc) so you will not be able to use these with the new system until I feel like rewriting them.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattventura.net/2010/06/26/mvpybot-major-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More MVpybot stuff</title>
		<link>http://mattventura.net/2010/04/30/more-mvpybot-stuff/</link>
		<comments>http://mattventura.net/2010/04/30/more-mvpybot-stuff/#comments</comments>
		<pubDate>Sat, 01 May 2010 02:49:37 +0000</pubDate>
		<dc:creator>Matt Ventura</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mattventura.net/?p=287</guid>
		<description><![CDATA[First of all, while I figure out how to have a system for hosting modules, I will put modules in mattventura.net/mvpybot/modules. Secondly, a bug tracking system is being set up.
Lastly, I will be improving the plugin system, and I will try to make older plugins backwards-compatible, but the new system will make the plugin system [...]]]></description>
			<content:encoded><![CDATA[<p>First of all, while I figure out how to have a system for hosting modules, I will put modules in <a href="http://mattventura.net/mvpybot/modules">mattventura.net/mvpybot/modules</a>. Secondly, a bug tracking system is being set up.</p>
<p>Lastly, I will be improving the plugin system, and I will try to make older plugins backwards-compatible, but the new system will make the plugin system more efficient. Instead of always having to scan for functions in plugins whenever a certain command is called, all function plugins will register in a list of plugins upon being loaded. This has the advantage of also allowing plugin authors to specify what functions are actual functions for the bot to use.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattventura.net/2010/04/30/more-mvpybot-stuff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MVpybot: Update 2</title>
		<link>http://mattventura.net/2010/01/18/mvpybot-update-2/</link>
		<comments>http://mattventura.net/2010/01/18/mvpybot-update-2/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 07:06:41 +0000</pubDate>
		<dc:creator>Matt Ventura</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[mvpybot]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.mattventura.net/?p=278</guid>
		<description><![CDATA[I just did another major update to MVpybot. Listeners have been implemented. A listener is a function that gets called whenever the bot receives data, or it can be set to only be called when a certain type (privmsg, join, part, etc) is received. As usual, the source is at the SVN repo.
Now for the [...]]]></description>
			<content:encoded><![CDATA[<p>I just did another major update to MVpybot. Listeners have been implemented. A listener is a function that gets called whenever the bot receives data, or it can be set to only be called when a certain type (privmsg, join, part, etc) is received. As usual, the source is at <a title="SVN" href="http://theoks.net/viewvc/mvpybot/">the SVN repo</a>.</p>
<p>Now for the technical stuff. A listener is just a python file in the listeners folder, with functions defined in it. A function&#8217;s name should be botfunction_type, where type is the type of message to listen for (privmsg, join, part, etc) or it can be &#8216;any&#8217; for all data received by the bot. Here is an example logger function:</p>
<pre>#!/usr/bin/python

import time

enabled=1

logfile=open('log','a')
timestamp=time.strftime('[ Session starting at %y-%m-%d %H:%M:%S ]')
logfile.write(timestamp+'\n')
logfile.close()

def botfunction_any():
 logfile=open('log','a')
 timestamp=time.strftime('[%y-%m-%d %H:%M:%S] ')
 logfile.write(timestamp+line+'\n')
 logfile.close()</pre>
<p>As you can see from the example, plugins can be quickly enabled or disabled by toggling the &#8216;enabled&#8217; flag. Also, &#8216;line&#8217; is passed to the plugin. Not that anything outside of function definitions will be run when the bot starts.</p>
<p>Listeners can use the &#8217;socket&#8217; variable to send data to the server, as shown in this example:</p>
<pre>#!/usr/bin/python

enabled=0

def botfunction_privmsg():
 print "called"
 out="PRIVMSG %s :Botfunction_privmsg called" %(channel)
 print out
 socket.send(out+'\n')</pre>
<p>Note that in the example, it uses botfunction_privmsg. To make listeners easier to write, the main program will automatically figure out these variables from privmsgs and pass them to the function:</p>
<pre>info         #user info
msg          #the message
channel      #the channel the message was from (set to the sender for private messages)
sender       #the sender of the message
senderstuff  #info of the sender
isprivate    #whether or not the message was a private message as opposed to a channel message.</pre>
<p>This only applies to privmsgs. All other events only get &#8217;socket&#8217; and &#8216;line&#8217; passed and have to figure out everything from &#8216;line&#8217;</p>
<p>That&#8217;s all for now.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattventura.net/2010/01/18/mvpybot-update-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MVpybot: Update</title>
		<link>http://mattventura.net/2009/12/22/mvpybot-update/</link>
		<comments>http://mattventura.net/2009/12/22/mvpybot-update/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 23:29:18 +0000</pubDate>
		<dc:creator>Matt Ventura</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[mvpybot]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.mattventura.net/?p=262</guid>
		<description><![CDATA[Well, i&#8217;ve finally gotten around to putting out some decent source for the bot. Here it is. There is also an addon system. To make an addon, simply make a python file in the botplugins/ folder and put your code in, like this:
#!/usr/bin/python 

def test():
 return("PRIVMSG %s :test" %(channel))
This would make a function called test. [...]]]></description>
			<content:encoded><![CDATA[<p>Well, i&#8217;ve finally gotten around to putting out some decent source for the bot. <a href="http://theoks.net/viewvc/mvpybot/">Here it is.</a> There is also an addon system. To make an addon, simply make a python file in the botplugins/ folder and put your code in, like this:</p>
<pre>#!/usr/bin/python 

def test():
 return("PRIVMSG %s :test" %(channel))</pre>
<p>This would make a function called test. The variables channel, sender, nick, cmd, and run are passed to the function. The functions syscmd() and getlevel() are also passed to the plugin.</p>
<p>The default plugins that are included with the bot are ping, for pinging addresses, testplugin, for testing the bot, yacas, for doing math with yacas (delete it if you don&#8217;t have yacas installed) and getlevel, for demonstrating the ability to use the getlevel function in a plugin.</p>
<p>I have also set up a page for the bot, see the links bar below the logo.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattventura.net/2009/12/22/mvpybot-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python IRC Bot in the Works</title>
		<link>http://mattventura.net/2009/12/05/python-irc-bot-in-the-works/</link>
		<comments>http://mattventura.net/2009/12/05/python-irc-bot-in-the-works/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 20:59:01 +0000</pubDate>
		<dc:creator>Matt Ventura</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.mattventura.net/?p=254</guid>
		<description><![CDATA[*** Update ***: Main page for bot here
I am currently writing a small, fast, small-footprint IRC bot in Python. More details as I finish the bot. The functions created so far:

Help (Displays Help)
Echo (Echo back a message)
Say (Send a message to a channel)
Spam (Send a message to a channel a specified amount of times)
Join (Join [...]]]></description>
			<content:encoded><![CDATA[<p>*** Update ***: Main page for bot <a href="/mvpybot/">here</a></p>
<p>I am currently writing a small, fast, small-footprint IRC bot in Python. More details as I finish the bot. The functions created so far:</p>
<ul>
<li>Help (Displays Help)</li>
<li>Echo (Echo back a message)</li>
<li>Say (Send a message to a channel)</li>
<li>Spam (Send a message to a channel a specified amount of times)</li>
<li>Join (Join a channel)</li>
<li>Part (Part a channel)</li>
<li>Authorization (username+password)</li>
<li>Deauthorization</li>
<li>User lookup</li>
<li>Raw (Use raw IRC commands)</li>
<li>Uptime (Display uptime)</li>
<li>Math (Do math functions with Yacas)</li>
</ul>
<p>Planned functions:</p>
<ul>
<li>Encrypted passwords</li>
<li>Data storage, either in a text file or a MySQL DB</li>
<li>Channel mode control</li>
</ul>
<p>This bot is not meant to be a complex bot, it is intended to be a fast, light bot that can be easily reprogrammed.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattventura.net/2009/12/05/python-irc-bot-in-the-works/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Comparison 3: Laptops</title>
		<link>http://mattventura.net/2009/11/08/comparison-3-laptops/</link>
		<comments>http://mattventura.net/2009/11/08/comparison-3-laptops/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 06:13:37 +0000</pubDate>
		<dc:creator>Matt Ventura</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.mattventura.net/?p=247</guid>
		<description><![CDATA[Since laptops are becoming more and more popular these days, I decided to finally do a comparison on laptops as opposed to desktops. I&#8217;ll compare two laptops from Apple, Dell, HP, and whatever other good deals I can find.
To be more fair this time, I&#8217;ll start with Apple and set a budget accordingly, since Apples [...]]]></description>
			<content:encoded><![CDATA[<p>Since laptops are becoming more and more popular these days, I decided to finally do a comparison on laptops as opposed to desktops. I&#8217;ll compare two laptops from Apple, Dell, HP, and whatever other good deals I can find.</p>
<p><span id="more-247"></span>To be more fair this time, I&#8217;ll start with Apple and set a budget accordingly, since Apples cheapest laptop at the time of writing is $999. I&#8217;ll start with that one.</p>
<p>The $999 Macbook has a 13&#8243; screen and a 2.26Ghz C2D. Not a bad CPU for a laptop. It has only 2GB of RAM, which can be upgraded to 4 for $100, but seems substandard these days. Unfortunately, already being at the budget, I couldn&#8217;t get any upgrades.</p>
<p>Looking at Dell&#8217;s lineup, everything starts at under $1000 in the studio line. They have an i7 version of the studio 17, which would almost certainly beat everything else, but it was over budget. I decided to start with the basic Studio 17. I took an upgrade to 4GB of RAM and an upgrade to a 4650 from an Intel GPU. Getting an 802.11n card put me $75 under budget, so I upgraded to CPU to end up at exactly $999.</p>
<p>Now for HP. I went to &#8220;high performance&#8221; and started with the dv7t. I upgraded to 4GB of DDR3, took the free upgrade to a 320GB hard drive, upgraded to a 4650 1GB, and got 802.11n+bluetooth, which put me at $989.</p>
<p>On to Lenovo. The Y550 was under $1000 and had discrete graphics, so I went with the top model. It was $688, so I had some room to improve it. Also, it was clear that it was better than the other systems in some areas. I upgrade the wireless to 802.11n, upgraded to 4GB DDR3, and had $220 left to spend. I got a 500GB HDD, bluetooth, and still had money to spend. I upgraded the CPU to a 2.53GHz C2D, but this put me slightly over, so I downgraded to a 320GB HDD.</p>
<p>For the last laptop, I decided to go with a Sony. The Vaio SR started at $819, which should leave plenty of room for improvement.</p>
<table border="0">
<tbody>
<tr>
<td></td>
<td>Macbook</td>
<td>Dell Studio 17</td>
<td>HP</td>
<td>Lenovo</td>
<td>Vaio</td>
</tr>
<tr>
<td>CPU</td>
<td><span style="color: #000000;">2.26Ghz C2D</span></td>
<td><span style="color: #000000;">2.2GHz C2D</span></td>
<td>2.2GHz C2D</td>
<td><span style="color: #008000;">2.53GHz C2D</span></td>
<td><span style="color: #800000;">2.13GHz C2D</span></td>
</tr>
<tr>
<td>RAM</td>
<td><span style="color: #800000;">2GB <span style="color: #008000;">DDR3</span><br />
</span></td>
<td><span style="color: #008000;">4GB DDR3 1066</span></td>
<td><span style="color: #008000;">4GB DDR3</span></td>
<td><span style="color: #008000;">4GB DDR3<br />
</span></td>
<td><span style="color: #800000;"><span style="color: #008000;">4GB</span> DDR2</span></td>
</tr>
<tr>
<td>Video card</td>
<td><span style="color: #008000;">9400M</span></td>
<td><span style="color: #008000;">4650M 1GB<br />
</span></td>
<td><span style="color: #008000;">4650m 1GB<br />
</span></td>
<td><span style="color: #008000;">240M 1GB<br />
</span></td>
<td><span style="color: #800000;">4570 512MB<br />
</span></td>
</tr>
<tr>
<td>Hard Drive</td>
<td><span style="color: #000000;">250GB</span></td>
<td>250GB</td>
<td>250GB</td>
<td><span style="color: #008000;">320GB</span></td>
<td><span style="color: #800000;">160GB</span></td>
</tr>
<tr>
<td>Screen Size</td>
<td><span style="color: #800000;">13&#8243;</span></td>
<td><span style="color: #008000;">17&#8243;</span></td>
<td><span style="color: #008000;">17&#8243;</span></td>
<td>15.6&#8243;</td>
<td><span style="color: #000000;">15&#8243;</span></td>
</tr>
<tr>
<td>Screen Resolution</td>
<td><span style="color: #800000;">1280&#215;800</span></td>
<td><span style="color: #000000;">1440&#215;900</span></td>
<td><span style="color: #800000;"><span style="color: #008000;">1600&#215;900</span></span></td>
<td>1366&#215;768</td>
<td>?</td>
</tr>
<tr>
<td>Wireless</td>
<td><span style="color: #008000;">802.11n</span></td>
<td><span style="color: #008000;">802.11n</span></td>
<td><span style="color: #008000;">802.11n</span></td>
<td><span style="color: #008000;">802.11n</span></td>
<td><span style="color: #008000;">802.11n</span></td>
</tr>
<tr>
<td>Price</td>
<td>$999</td>
<td>$999</td>
<td>$989</td>
<td>$989</td>
<td>$969</td>
</tr>
</tbody>
</table>
<p>As you can see, the Macbook has poor RAM capacity, but makes up for it with a decent graphics card and CPU. The Lenovo, Dell, and HP seem to be the best overall, whereas the Sony seems to have lack in certain areas. No DDR3, slowest CPU, and smallest hard drive. Overall, all the laptops seems to be more even, and it&#8217;s nice to see Apple doesn&#8217;t seem to be doing the usual price-gouging routine, at least not as much.</p>
<p>Note: this is not intended to be a buying guide. This is just for showing which brands will give you the best computer for your money.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattventura.net/2009/11/08/comparison-3-laptops/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Equivalents of *nix Software</title>
		<link>http://mattventura.net/2009/07/31/windows-equivalents-of-nix-software/</link>
		<comments>http://mattventura.net/2009/07/31/windows-equivalents-of-nix-software/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 04:19:06 +0000</pubDate>
		<dc:creator>Matt Ventura</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://blog.mattventura.net/?p=187</guid>
		<description><![CDATA[There are a lot of pages out there that will give you a long list of Windows software with Linux equivalents. I decided to go the other way, and provide a list of Windows equivalents for common Unix and Linux software.

Now, obviously, I won&#8217;t be able to get everything here. Since *nix users will tend [...]]]></description>
			<content:encoded><![CDATA[<p>There are a lot of pages out there that will give you a long list of Windows software with Linux equivalents. I decided to go the other way, and provide a list of Windows equivalents for common Unix and Linux software.</p>
<p><span id="more-187"></span></p>
<p>Now, obviously, I won&#8217;t be able to get everything here. Since *nix users will tend to be power users, or will need to administrate other systems, I have included important command-line and system administration tools.</p>
<p>1. Bash</p>
<p>Windows equivalent: CMD and PowerShell.</p>
<p>Command prompt, aka cmd is the basic command line for Windows. It allows you to execute programs, pipe output, send output to files, etc. For relatively new Windows users, press Winkey-R (the equivalent of Alt-F2 is many desktop environments) and enter cmd. This launches the command line.</p>
<p><a href="https://blog.mattventura.net/wp-content/uploads/cmd.png"><img class="alignnone size-full wp-image-188" title="cmd" src="https://blog.mattventura.net/wp-content/uploads/cmd.png" alt="cmd" width="509" height="238" /></a></p>
<p>The other command line for Windows is PowerShell. PowerShell has a steep learning curve, but is much more powerful than the basic command line.</p>
<p>2. Telnet and SSH</p>
<p>Windows has a built-in basic telnet program which can be used in Command Prompt. The syntax is basically the same as the typically Unix implementation (telnet host [port]) but is not very feature-rich. A much better program is <a title="PuTTY" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/" target="_blank">PuTTY</a>. PuTTY is a free Telnet and SSH program, supporting many SSH features such as tunneling.</p>
<p><a href="https://blog.mattventura.net/wp-content/uploads/putty.png"><img class="alignnone size-full wp-image-189" title="putty" src="https://blog.mattventura.net/wp-content/uploads/putty.png" alt="putty" width="587" height="301" /></a></p>
<p>3. FTP, SCP, SFTP</p>
<p>WinSCP is a free file transfer client supporting FTP, SCP, and SFTP with a little PuTTY integration. It has a MC-like interface which is easy to use, especially for people who actually used MC.</p>
<p><a href="https://blog.mattventura.net/wp-content/uploads/winscp.png"><img class="alignnone size-full wp-image-190" title="winscp" src="https://blog.mattventura.net/wp-content/uploads/winscp.png" alt="winscp" width="608" height="650" /></a></p>
<p>4. Services management</p>
<p>Run services.msc to get to the Windows Services Manager. Here, you can do the things you would normally do with the stuff in /etc/init.d. You can start, stop, restart, and even pause some services. You can also set which services should start on startup, and which should be disabled.</p>
<p><a href="https://blog.mattventura.net/wp-content/uploads/serv.png"><img class="alignnone size-full wp-image-191" title="serv" src="https://blog.mattventura.net/wp-content/uploads/serv.png" alt="serv" width="638" height="452" /></a></p>
<p>5. su/sudo</p>
<p>The runas program allows you to run a program as another user. It is a command-line program, and I won&#8217;t go over it, because it prints a usage message when invoked. Basically, you specify a user and program, and enter the password for that user. The &#8220;administrator&#8221; user is not quite the same as &#8220;root&#8221;. &#8220;Local System&#8221; is equivalent to root. Especially with more recent versions of Windows, you will need to have elevated privileges in order to do certain things.</p>
<p>6. SELinux</p>
<p>Windows 6+ has a feature called User Account Control. It is quite annoying, but does add a layer of security. It can be configured to ask for a password, like how gksu would. By default it only makes you click a button, which isn&#8217;t security if, say, you&#8217;re away from your desk. Someone could still tamper with your computer by simply clicking. My advice: if you leave UAC turned on, make it ask for a password.</p>
<p>That&#8217;s all for now. I feel I have covered the basic things. Stay tuned for more.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattventura.net/2009/07/31/windows-equivalents-of-nix-software/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Back Up</title>
		<link>http://mattventura.net/2009/07/30/back-up/</link>
		<comments>http://mattventura.net/2009/07/30/back-up/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 01:33:41 +0000</pubDate>
		<dc:creator>Matt Ventura</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://blog.mattventura.net/?p=185</guid>
		<description><![CDATA[Mattventura.net and all of its services are back up after a power outage last night.
]]></description>
			<content:encoded><![CDATA[<p>Mattventura.net and all of its services are back up after a power outage last night.</p>
]]></content:encoded>
			<wfw:commentRss>http://mattventura.net/2009/07/30/back-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roundicity Theme</title>
		<link>http://mattventura.net/2009/07/24/roundicity-theme/</link>
		<comments>http://mattventura.net/2009/07/24/roundicity-theme/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 20:28:12 +0000</pubDate>
		<dc:creator>Matt Ventura</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://blog.mattventura.net/?p=178</guid>
		<description><![CDATA[The Wordpress theme Roundicity that I made (well, actually modified, read the style.css file) is sort of complete, just needs better IE support. If you want to help, just send me an email. (mattventura.at.mattventura.net)
Feedback is welcomed in the comments, along with any questions you might have.
This theme does not work well in IE6. If you [...]]]></description>
			<content:encoded><![CDATA[<p>The Wordpress theme Roundicity that I made (well, actually modified, read the style.css file) is sort of complete, just needs better IE support. If you want to help, just send me an email. (mattventura.at.mattventura.net)</p>
<p>Feedback is welcomed in the comments, along with any questions you might have.</p>
<p>This theme does not work well in IE6. If you have IE6 users visiting your site, you should probably tell them to upgrade.</p>
<p><a href="https://blog.mattventura.net/wp-content/uploads/roundicity-0.9-alpha.tar.gz">roundicity-0.9-alpha.tar.gz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mattventura.net/2009/07/24/roundicity-theme/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
