<?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>MaddHat.comEducation | MaddHat.com</title>
	<atom:link href="http://maddhat.com/category/technology/education/feed" rel="self" type="application/rss+xml" />
	<link>http://maddhat.com</link>
	<description></description>
	<lastBuildDate>Fri, 30 Sep 2011 17:39:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
<image>
  <link>http://maddhat.com</link>
  <url>http://maddhat.com/favicon.ico</url>
  <title>MaddHat.com</title>
</image>
		<item>
		<title>Remove X Cursor in XBMC</title>
		<link>http://maddhat.com/remove-x-cursor-in-xbmc</link>
		<comments>http://maddhat.com/remove-x-cursor-in-xbmc#comments</comments>
		<pubDate>Fri, 30 Sep 2011 17:39:00 +0000</pubDate>
		<dc:creator>MadHatter</dc:creator>
				<category><![CDATA[AV]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[cursor]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[x11]]></category>
		<category><![CDATA[xbmc]]></category>
		<category><![CDATA[xorg]]></category>

		<guid isPermaLink="false">http://maddhat.com/?p=363</guid>
		<description><![CDATA[I&#8217;ve found a few annoying issues while configuring my HTPC with XBMC &#8211; one being the X cursor re-appearing after long idle states.  The cursor will go away after restarting XBMC, but this is annoying to do several times a day.  The fix is quite simple &#8211; the steps are listed below. sudo nano /etc/X11/xorg.conf In the text editor &#8211; find the section of the file labeled Section &#8220;Device&#8221;.  The ending of this section is simply EndSection.  Add the following line before the EndSection statement: Option    "HWCursor" "false" Simply restart X either by restarting XBMC or the machine completely.  The cursor should now stay gone for good!]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve found a few annoying issues while configuring my HTPC with XBMC &#8211; one being the X cursor re-appearing after long idle states.  The cursor will go away after restarting XBMC, but this is annoying to do several times a day.  The fix is quite simple &#8211; the steps are listed below.</p>
<p><code>sudo nano /etc/X11/xorg.conf</code></p>
<p>In the text editor &#8211; find the section of the file labeled Section &#8220;Device&#8221;.  The ending of this section is simply EndSection.  Add the following line before the EndSection statement:</p>
<p><code>Option    "HWCursor" "false"</code></p>
<p>Simply restart X either by restarting XBMC or the machine completely.  The cursor should now stay gone for good!</p>
]]></content:encoded>
			<wfw:commentRss>http://maddhat.com/remove-x-cursor-in-xbmc/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Squid3 Transparent Proxy Setup</title>
		<link>http://maddhat.com/squid3-transparent-proxy-setup</link>
		<comments>http://maddhat.com/squid3-transparent-proxy-setup#comments</comments>
		<pubDate>Fri, 15 Oct 2010 15:00:17 +0000</pubDate>
		<dc:creator>MadHatter</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bridge-utils]]></category>
		<category><![CDATA[ebtables]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[squid3]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[web-cache]]></category>

		<guid isPermaLink="false">http://maddhat.com/?p=259</guid>
		<description><![CDATA[Introduction Being a networking geek, I often try to figure out every aspect I can about different network technologies being used, how to configure them, and what benefits they have to provide when implemented. My home network/lab is a great place to test these technologies in a non-crucial environment. One such networking aspect I haven’t researched much is proxies. Sure, I’ve run into it with application installation that needs a connection configured, and had setup a CGI proxy in the past on a windows machine after my frustrations with my high school’s network blocking my once favorite social new site digg.com, but overall I hadn’t had much knowledge about why else proxies were implemented on a network, so I decided to play with Squid3 to educate myself. Squid3 Squid3 works as a web-cache proxy which means that while you browse, the content you are retrieving can also be cached for faster retrieval on the machine running the proxy – based on a set of rules in the proxy’s configuration files. This is not to say that ALL content gets cached, due to the fact that most content you are retrieving is dynamic, and it wouldn’t make sense to cache it [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Introduction</strong><br />
Being a networking geek, I often try to figure out every aspect I can about different network technologies being used, how to configure them, and what benefits they have to provide when implemented.  My home network/lab is a great place to test these technologies in a non-crucial environment.  One such networking aspect I haven’t researched much is proxies.  Sure, I’ve run into it with application installation that needs a connection configured, and had setup a CGI proxy in the past on a windows machine after my frustrations with my high school’s network blocking my once favorite social new site digg.com, but overall I hadn’t had much knowledge about why else proxies were implemented on a network, so I decided to play with Squid3 to educate myself.</p>
<p><strong>Squid3</strong><br />
Squid3 works as a web-cache proxy which means that while you browse, the content you are retrieving can also be cached for faster retrieval on the machine running the proxy – based on a set of rules in the proxy’s configuration files.  This is not to say that ALL content gets cached, due to the fact that most content you are retrieving is dynamic, and it wouldn’t make sense to cache it due to the fact that you would quickly be viewing outdated material.  In fact, in most environments only a small amount of content gets cached – which is why a web-cache proxy becomes more effective with more users working behind it.  With a one-user environment the speed increase given by the cached content may not even offset the costs of running the proxy.  With a multiple user environment there is most likely a significant amount of overlap in the viewed content and leads to the web-cache loading more of the local cached content versus retrieving new material each time.  Although the amount of users on such proxies are not limitless as, due to the nature of a web-cache proxy, it will have to perform many reads/writes to its drives to receive and deliver cached content – and without adequate hardware to handle these read/writes, the network will actually suffer in performance as it will be bottlenecked by the proxy’s speed.  If you have more questions about what exactly squid is and how it works checkout <a href="http://www.squid-cache.org/" target="_blank">Squid’s site</a>.</p>
<p>With all of this being said, the decision to implement a proxy on your network will need to be carefully examined by the needs and amount of throughput of the network.  Keep in mind that Squid can be majorly tweaked to fit the needs of the network – so looking at the configuration options available is not something to be ignored.<br />
Okay, enough with the explanations, on to the fun part – installation and configuration!</p>
<p><strong>Target Setup:</strong><br />
There are many ways to setup Squid.  The most simple is re-directing all traffic to a Squid box on the local network through your software.  This requires simply adding the Squid box to the network and directing the web applications on the clients as needed.  But those of us administering larger networks know that redirecting client browsers is a pain, and look toward a more automated solution.  This was the reason I chose to setup this Squid box as transparent.  It is transparent in the sense that no changes will be needed on the client-side for any network settings or re-direction in order for the proxy to be implemented.  The diagram below illustrates this setup:</p>
<p style="text-align: center;"><a href="http://maddhat.com/wp-content/uploads/2010/07/proxy-diagram.png"><img class="aligncenter size-full wp-image-260" title="proxy-diagram" src="http://maddhat.com/wp-content/uploads/2010/07/proxy-diagram.png" alt="" width="625" height="189" /></a><span style="font-size: xx-small;">Diagram created using <a href="Gliffy.com" target="_blank">Gliffy</a></span></p>
<p>For clients, they have the following settings:</p>
<p>IP Address: DHCP (in the 192.168.2.0 subnet)<br />
Gateway: 192.168.2.1<br />
DNS: whatever you want, doesn’t affect this setup as long as they are working DNS servers.</p>
<p>The running Squid3 box will simply pass all traffic on eth0 to eth1 and vis versa, but will intercept all traffic on port 80 and re-direct it to the port that Squid is running on.  From here, Squid will work its magic in either delivering the cached content to the client or retrieving it and then caching as needed.  The client will have no idea where the content is being delivered from, and should ideally only notice it is being received quickly.</p>
<p><strong>Installation:</strong><br />
I completed the following steps on a machine running Ubuntu 10.04 with 2 NICs installed (eth0, eth1).  We will assume eth0 will be the incoming line from the gateway, and eth1 is the outgoing line to switch which the clients access (demonstrated in diagram).</p>
<pre>sudo apt-get install squid3</pre>
<p>That was simple enough&#8230;  Most of the work is completed in the configuration.</p>
<p><strong>Configuration:</strong><br />
We need to first add a few lines to the squid configuration file to make the proxy transparent.</p>
<pre>sudo nano /etc/squid3/squid.conf</pre>
<p>Add the lines below to the configuration:</p>
<pre>http_port 3128 transparent
acl localnet src 192.168.2.0/24
acl localhost src 127.0.0.1/255.255.255.255
http_access allow localnet
http_access allow localhost</pre>
<p>This next line is optional – it changes the default size for Squid’s cache to 5000MB to be stored in /var/spool/squid3.</p>
<pre>cache_dir ufs /var/spool/squid3 5000 16 256</pre>
<p>After making the changes above, save the configuration file and restart squid3.  If there are errors Squid should fail to start.</p>
<pre>sudo /etc/init.d/squid3 restart</pre>
<p>I found ebtables easier to configure the bridge to pass traffic accordingly than iptables.  You can use whichever you’d like.<br />
Install ebtables and enter the lines below to pass traffic through accordingly.  The port at which Squid is set to run by default is 3128, but if you have changed this in the squid configuration make sure and make the change in the rule accordingly.</p>
<pre>sudo apt-get install ebtables
sudo ebtables -t broute -A BROUTING -p IPv4 --ip-protocol 6 --ip-destination-port 80 -j redirect --redirect-target ACCEPT
sudo iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 3128</pre>
<p>Also, enable traffic to be passed through both IPv4 and IPv6 on the local machine by uncommenting the following lines in /etc/sysctl.conf</p>
<pre>sudo nano /etc/sysctl.conf
(uncomment the following)
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1</pre>
<p>You will need to install the bridge-utils to configure the bridge within your /etc/network/interfaces file.</p>
<pre>sudo apt-get install bridge-utils</pre>
<p>After configured my /etc/network/interfaces filled looked like this:</p>
<pre>auto lo
iface lo inet loopback

auto eth1
iface eth1 inet static
address 192.168.2.199
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
gateway 192.168.2.1

auto br0
iface br0 inet static
address 192.168.2.200
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
gateway 192.168.2.1
bridge-ports eth0 eth1</pre>
<p>Save this file and either reboot the system or restart networking and squid3.</p>
<pre>sudo /etc/init.d/networking restart
sudo /etc/init.d/squid3 restart</pre>
<p>After this go to one of your client machines and browse the web for a few seconds.  You can then tell if squid3 is working correctly by checking the logs:</p>
<pre>tail /var/log/squid3/access.log</pre>
<p>This should show you the requests as they are received by squid3.  Make sure and check traffic on other ports as well to ensure that it is being passed through correctly.<br />
If traffic is not being passed correctly or squid is not logging any requests a good step to take would be to set the client machine’s browser proxy settings to direct right to the proxy.  See if browsing is now working correctly.  If so, squid3 is working correctly but there is most likely an issue with the traffic passing rules on the machine the proxy is running on.</p>
<p><strong>Conclusion:</strong></p>
<p>These were all the steps I completed to get my transparent proxy running successfully.  Obviously you can tweak to fit your needs.  The other added benefit of running the proxy in the “transparent” mode is that if the box fails you can simply disconnect the cable from the gateway to the proxy and plug directly into the client switch and the network will continue to function (obviously without local caching enabled).</p>
<p>Hopefully this helps others out there attempting to complete a similar setup.  If you notice any errors with this tutorial please let me know.  Thanks for reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://maddhat.com/squid3-transparent-proxy-setup/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cisco PIX 501 Quick Setup</title>
		<link>http://maddhat.com/cisco-pix-501-quick-setup</link>
		<comments>http://maddhat.com/cisco-pix-501-quick-setup#comments</comments>
		<pubDate>Sun, 02 May 2010 00:06:03 +0000</pubDate>
		<dc:creator>MadHatter</dc:creator>
				<category><![CDATA[Cisco]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[501]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[db9]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[hyperterminal]]></category>
		<category><![CDATA[nat]]></category>
		<category><![CDATA[pdm]]></category>
		<category><![CDATA[pix]]></category>
		<category><![CDATA[pix 501]]></category>
		<category><![CDATA[rj45]]></category>

		<guid isPermaLink="false">http://maddhat.com/?p=96</guid>
		<description><![CDATA[I inherited a Cisco Pix 501 firewall recently and have to say I’m not near as educated on Cisco equipment yet as I feel I should be.  After a good amount of searching along the way I started getting the hang of things.  I had worked in Cisco’s Pix Device Manager (PDM) and found it to be more of a pain trying to navigate than to setup through command line.  So, for this tutorial I will focus only on the CLI for setup of the device. Here is how I was able to get things setup.  Note that this is just a basic setup using the CLI with the following: WAN: DHCP LAN: Enable NAT, and enable DHCP After configuration the firewall will be accessible at 192.168.3.1 (and netmask 255.255.255.0) and DHCP leases available will be 192.168.3.50 &#8211; 192.168.3.80.  You can change these accordingly while going through the commands. First of all, you need to connect to the device using your Cisco console cable which is an RJ45 to DB9.  Connect the RJ45 end to the 501, and the DB9 end to a machine with the connector.  In my case this was a Linux machine running Ubuntu.  If you are [...]]]></description>
			<content:encoded><![CDATA[<p>I inherited a  Cisco Pix 501 firewall recently and have to say I’m not near as  educated on Cisco equipment yet as I feel I should be.  After a good  amount of searching along the way I started getting the hang of things.   I had worked in Cisco’s Pix Device Manager (PDM) and found it to be  more of a pain trying to navigate than to setup through command line.   So, for this tutorial I will focus only on the CLI for setup of the  device.</p>
<p style="text-align: center;"><img class="aligncenter" title="pix501" src="http://maddhat.com/wp-content/uploads/2010/05/pix501.png" alt="pix501" width="567" height="248" /></p>
<p>Here is how I  was able to get things setup.  Note that this is just a basic setup  using the CLI with the following:</p>
<p>WAN: DHCP</p>
<p>LAN: Enable  NAT, and enable DHCP</p>
<p>After  configuration the firewall will be accessible at 192.168.3.1 (and  netmask 255.255.255.0) and DHCP leases available will be 192.168.3.50 &#8211;  192.168.3.80.  You can change these accordingly while going through the  commands.</p>
<p>First of all,  you need to connect to the device using your Cisco console cable which  is an RJ45 to DB9.  Connect the RJ45 end to the 501, and the DB9 end to a  machine with the connector.  In my case this was a Linux machine  running Ubuntu.  If you are on a Windows machine you can simply use  HyperTerminal to connect. I issued the following commands to get  connected to the 501:</p>
<pre>Sudo apt-get install cu
cu -l  /dev/ttyS0 -s 9600</pre>
<p>ttyS0 was  what worked for me, but yours may need to be changed to ttyS1, etc.  depending on your setup.</p>
<p>Once things  are connected I issued the following commands:</p>
<p>First press  no to the guided install (if you plan to follow the tutorial below).</p>
<pre>enable</pre>
<p>You will be  prompted here for a password.  The Enter key is the default password.</p>
<pre>config t</pre>
<p>This will  allow access to the configuration menu.  Press “?” to find all commands  available.</p>
<pre>username  USER password ***** privilege 15

enable  password ******

passwd  ******</pre>
<p>Replace USER  with the username you wish to create.  This allows you to create an  administrator account for the system.</p>
<pre>interface  ethernet0 auto

interface  ethernet1 100full

ip address  outside dhcp</pre>
<p>Make sure  your WAN connection is live when issuing the command above.  It will try  to assign a DHCP address when it’s issued.</p>
<pre>ip address  inside 192.168.3.1 255.255.255.0

show ip  address</pre>
<p>The above  command just shows the current setup.  I used it to double check I  entered everything properly.</p>
<pre>ip address  outside dhcp setroute

nat  (inside) 1 192.168.3.1 255.255.255.0

global  (outside) 1 interface

telnet  192.168.3.50
</pre>
<p>This was an  optional command.  This allowed telnet access to the client at  192.168.3.50.  This was added so I didn’t need the console cable  connected after the initial setup, and could merely telnet in from the  client as needed.</p>
<pre>no banner  exec

no banner  login

no banner  motd</pre>
<p>The banner  commands are also optional.  I wanted to cut out any extra information  at logins.  You can leave these, or change them as you desire.</p>
<pre>hostname  YOURHOST</pre>
<p>Replace  YOURHOST with the hostname you wish to give the 501.</p>
<pre>domain  local

dhcpd  address 192.168.3.50-192.168.3.80 inside

dhcpd dns  4.2.2.1 4.2.2.2</pre>
<p>These were  test DNS servers I used during setup.  I believe they are Level3’s, and  they are rather stable.  You can change to your local ISP’s DNS servers  or others as desired.</p>
<pre>dhcpd  lease 3600

dhcpd  ping_timeout 750

dhcpd  enable inside</pre>
<p>The above  command assigns the 501 as the DHCP server for the inside interface  (LAN).  If you wish to use a different DHCP server or don’t care to  enable DHCP, simply disregard this command.</p>
<pre>access-list  ping_acl permit icmp any any

access-group  ping_acl in interface outside</pre>
<p>These two  commands are added to allow ping requests.  Ping is disabled by default  on the 501 and annoyed me when trying to run diagnostics.  These are  optional.</p>
<pre>wr mem</pre>
<p>This  finalizes your setup by writing all changes to memory.<br />
These are the commands I found to work for me – and don’t have this in  production.  I don’t claim for this method of setup to be secure for  your environment and highly recommend you study up on the device more  before placing it in a production environment.  If anyone has some  modifications or additions to this guide please feel free to contact  me.  Hopefully this tutorial can serve as a first step in becoming  familiar with setup for the Pix 501, thanks for reading.</p>
<p>Source Image:  <a href="http://www.cisco.com/en/US/docs/security/pix/pix63/quick/guide/63_501qk.html" target="_blank">cisco.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://maddhat.com/cisco-pix-501-quick-setup/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Weather Forecasts Using Linux</title>
		<link>http://maddhat.com/twitter-weather-forecasts-using-linux</link>
		<comments>http://maddhat.com/twitter-weather-forecasts-using-linux#comments</comments>
		<pubDate>Thu, 12 Mar 2009 01:51:14 +0000</pubDate>
		<dc:creator>MadHatter</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://maddhat.com/?p=35</guid>
		<description><![CDATA[Twitter&#8217;s feature to allow updates from terminal allows for a lot of creative ways to use twitter. I used some already written scripts and commands and put it all together to receive weather forecasts for my area at 9am every day on my phone.  Example of SMS message sent to my phone &#8220;Forecast for: DES MOINES, IA    Today    Mainly clear and frigid &#8211; Low 10&#8220;  Here is how I did it: First I used a written shell script and made output modifications so length would be under Twitter&#8217;s length limitations. The modified script is listed below: Note: I take no credit for the original script. It was available online, and I modified it based on my needs. Dave Taylor is the original author, and offers a book full of shell scripts I recommend checking out! Page Here #!/bin/sh # weather - report weather forecast, including lat/long, for zip # Dave Taylor - found at http://www.intuitive.com/wicked/showscript.cgi?063-weather.sh # Edited for twitter use by MadHatter (maddhat.com) llurl="http://www.census.gov/cgi-bin/gazetteer?city=&#38;state=&#38;zip=" wxurl="http://wwwa.accuweather.com" wxurl="$wxurl/adcbin/public/local_index_print.asp?zipcode=" if [ "$1" = "-a" ] ; then size=999; shift else size=5 fi if [ $# -eq 0 ] ; then echo "Usage: $0 [-a] zipcode" &#62;&#38;2 exit 1 fi if [ $size [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" src="http://maddhat.com/wp-content/uploads/2009/03/twitter_sh2.png" alt="twitter sh2" width="500" height="150" /></p>
<p>Twitter&#8217;s feature to allow updates from terminal allows for a lot of creative ways to use twitter. I used some already written scripts and commands and put it all together to receive weather forecasts for my area at 9am every day on my phone.  Example of SMS message sent to my phone &#8220;<strong>Forecast for: DES MOINES, IA    Today    Mainly clear and frigid &#8211; Low 10</strong>&#8220;  Here is how I did it:</p>
<p>First I used a written shell script and made output modifications so length would be under Twitter&#8217;s length limitations. The modified script is listed below:</p>
<p><em><strong>Note:</strong> I take no credit for the original script. It was available online, and I modified it based on my needs. Dave Taylor is the original author, and offers a book full of shell scripts I recommend checking out! <a href="http://www.intuitive.com/wicked/showscript.cgi?063-weather.sh" target="_blank">Page Here</a></em></p>
<pre>#!/bin/sh
# weather - report weather forecast, including lat/long, for zip
# Dave Taylor - found at <a href="http://www.intuitive.com/wicked/showscript.cgi?063-weather.sh">http://www.intuitive.com/wicked/showscript.cgi?063-weather.sh</a>
# Edited for twitter use by MadHatter (maddhat.com)
llurl="<a href="http://www.census.gov/cgi-bin/gazetteer?city=&amp;state=&amp;zip">http://www.census.gov/cgi-bin/gazetteer?city=&amp;state=&amp;zip</a>="
wxurl="<a href="http://wwwa.accuweather.com">http://wwwa.accuweather.com</a>"
wxurl="$wxurl/adcbin/public/local_index_print.asp?zipcode="

if [ "$1" = "-a" ] ; then
   size=999; shift
else
   size=5
fi

if [ $# -eq 0 ] ; then
   echo "Usage: $0 [-a] zipcode" &gt;&amp;2
   exit 1
fi

if [ $size -eq 5 ] ; then
   echo ""
   # get some information on the zipcode from the Census Bureau
   lynx -source "${llurl}$1" | \

   sed -n '/^&lt;li&gt;&lt;strong&gt;/,/^Location:/p' | \

   sed 's/&lt;[^&gt;]*&gt;//g;s/^ //g'

fi

# the weather forecast itself at accuweather.com

lynx -source "${wxurl}$1" | \
sed -n '/Start - Forecast Cell/,/End - Forecast Cell/p' | \
sed 's/&lt;[^&gt;]*&gt;//g;s/^ [ ]*//g' | \
sed 's/10-Day AccuWeather.com//' | \
sed 's/Today/Today:/' | \
uniq | \
head -$size

exit 0
</pre>
<p>Save this as weather.sh in your home folder. Then open a text editor and create “tw.sh” saved to your home directory with the following contents:</p>
<p><em><strong>Note</strong>: You need to replace the USER:PASSWORD with the username and password for the secondary twitter account.</em></p>
<pre>#!/bin/sh
#tw.sh
curl -u USER:PASSWORD -d status="$*" <a href="http://twitter.com/statuses/update.xml">http://twitter.com/statuses/update.xml</a></pre>
<p>For this script to run correctly curl must be installed. For ubuntu the command is “<strong>sudo apt-get install curl</strong>”</p>
<p>Now we have the necessary scripts created. To receive updates you will need to create a second twitter account of which to send updates. Make sure you follow this new account with your primary twitter account and turn on device updates if you are looking for update to your mobile device.</p>
<p>All that is left to get things up and running is to add the crontab entry. I added to my sudo crontab by the following “<strong>sudo crontab -e</strong>” and adding the following entry:</p>
<p>Note: This will run at 9am every day. You can edit yours however you&#8217;d like. For testing it may be a good idea to start with “* * * * *” to run every minute to ensure updates are working as planned. Replace “user” with your user name, as well as ZIPCODE with the zip code of the area you would like weather forecasts for.</p>
<pre>0 9 * * * /home/user/tw.sh $(/home/user/weather.sh ZIPCODE)</pre>
<p>Save the crontab entry. Check that it was added by typing “<strong>sudo crontab -l</strong>”. That&#8217;s all there is to it.</p>
<p>Some useful links for help and customization:</p>
<p><a href="http://apiwiki.twitter.com/" target="_blank">Twitter API</a>, <a href="http://en.wikipedia.org/wiki/Cron" target="_blank">Cron</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://maddhat.com/twitter-weather-forecasts-using-linux/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing Network Performance Using Iperf</title>
		<link>http://maddhat.com/testing-network-performance-using-iperf-3</link>
		<comments>http://maddhat.com/testing-network-performance-using-iperf-3#comments</comments>
		<pubDate>Wed, 11 Mar 2009 01:09:46 +0000</pubDate>
		<dc:creator>MadHatter</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[iperf]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://maddhat.com/?p=34</guid>
		<description><![CDATA[Just a quick post on a great tool for testing network performance. Iperf is a very slim tool that will measure TCP/UDP bandwidth performance. It is an available ubuntu package “iperf ” and also has Windows/OSX binaries available. I found a working mirror here. What makes Iperf a good test versus a simple SMB/CIFS transfer for bandwidth performance is that it works in memory versus being limited by hard drive and CPU limitations. Now a quick guide to get things up and running. The guide will be for two Ubuntu machines, testing network performance between the two. 1.Install – Type the following in terminal “sudo apt-get install iperf ” for both machines 2.Server Setup &#8211; Decide upon a server machine and a client. On the server type the following in terminal “iperf -s ”. This will place iperf in server mode, and it will listen for incoming connections. 3.Client Setup - On the client machine you have a lot of options to play around with regarding how you want to connect to the server. You can explore what each of these are by typing “iperf –-help ”. The following is a simple test between the server (192.168.2.104), and the client [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick post on a great tool for testing network performance.  Iperf is a very slim tool that will measure TCP/UDP bandwidth performance.  It is an available ubuntu package “<strong>iperf</strong> ” and also has Windows/OSX binaries available.  I found a working mirror <a title="iperf" href="http://noc.pregi.net/iperf.html" target="_blank">here</a>.  What makes Iperf a good test versus a simple SMB/CIFS transfer for bandwidth performance is that it works in memory versus being limited by hard drive and CPU limitations.</p>
<p>Now a quick guide to get things up and running.  The guide will be for two Ubuntu machines, testing network performance between the two.</p>
<p><strong>1.Install</strong> – Type the following in terminal “<strong>sudo apt-get install iperf</strong> ” for both machines</p>
<p><strong>2.Server Setup</strong> &#8211; Decide upon a server machine and a client.  On the server type the following in terminal “<strong>iperf -s</strong> ”.  This will place iperf in server mode, and it will listen for incoming connections.</p>
<p align="center"><img src="http://maddhat.com/wp-content/uploads/2009/03/iperf_server2.png" alt="iperf server" width="481" height="144" /></p>
<p><strong>3.Client Setup -</strong> On the client machine you have a lot of options to play around with regarding how you want to connect to the server.  You can explore what each of these are by typing “<strong>iperf –-help</strong> ”.  The following is a simple test between the server (192.168.2.104), and the client (192.168.2.103).</p>
<p><strong>4.Testing -</strong> Type “<strong>iperf 192.168.2.104 -i 2</strong>” (replacing the IP here with the test server IP and then enter key to start testing.  This will connect to the server running on 192.168.2.104 and have an interval of 2 seconds.  There will then be 6 tests completed.  This should give you all of the information you need regarding your connection speed between the two machines.</p>
<p align="center"><img src="http://maddhat.com/wp-content/uploads/2009/03/iperf_client2.png" alt="iperf client" width="481" height="209" /></p>
<p>This should be enough to get you started using iperf.  Check out the man page <a title="iperf man page" href="http://staff.science.uva.nl/~jblom/gigaport/tools/man/iperf.html" target="_blank">here</a> if you have any usage questions.</p>
]]></content:encoded>
			<wfw:commentRss>http://maddhat.com/testing-network-performance-using-iperf-3/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Setup DNS Cache Server Using Dnsmasq and Ubuntu</title>
		<link>http://maddhat.com/setup-dns-cache-server-using-dnsmasq-and-ubuntu</link>
		<comments>http://maddhat.com/setup-dns-cache-server-using-dnsmasq-and-ubuntu#comments</comments>
		<pubDate>Tue, 28 Oct 2008 02:41:00 +0000</pubDate>
		<dc:creator>MadHatter</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://maddhat.com/?p=30</guid>
		<description><![CDATA[I&#8217;m always looking for ways to improve on my LAN, especially when it&#8217;s free. A friend suggested DNS caching to speed up browsing. I gave it a shot and was impressed with the results. I&#8217;m now saving at least 70ms for every DNS query (after it&#8217;s been cached the first time of course.) The installation is pretty simple, and takes only a couple of minutes. I&#8217;ve logged what I have done getting it running on an Ubuntu 8.04 machine: Notes before starting: I didn&#8217;t need much for this system setup. The machine has a P4, with 512mb RAM. The NIC was only 100mbit, and the hard drive only 40GB. I chose a box to install this on that isn&#8217;t pegged with other processes. I don&#8217;t think you need to dedicate a whole box to this project if this is for a small LAN (mine is ~10 machines), but one that isn&#8217;t constantly being used for network tasks would be a good idea (not much of an incentive to run DNS locally if it doesn&#8217;t speed up the response time.) These are just my recommendations, and it will vary depending on the size of your LAN on what you would like [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" src="http://maddhat.com/wp-content/uploads/2008/10/dnsmasq-1.png" alt="dnsmasq" width="500" height="150" /></p>
<p>I&#8217;m always looking for ways to improve on my LAN, especially when it&#8217;s free.  A friend suggested DNS caching to speed up browsing.  I gave it a shot and was impressed with the results. I&#8217;m now saving at least 70ms for every DNS query (after it&#8217;s been cached the first time of course.) The installation is pretty simple, and takes only a couple of minutes. I&#8217;ve logged what I have done getting it running on an Ubuntu 8.04 machine:</p>
<p>Notes before starting: I didn&#8217;t need much for this system setup.  The machine has a P4, with 512mb RAM.  The NIC was only 100mbit, and the hard drive only 40GB.  I chose a box to install this on that isn&#8217;t pegged with other processes.  I don&#8217;t think you need to dedicate a whole box to this project if this is for a small LAN (mine is ~10 machines), but one that isn&#8217;t constantly being used for network tasks would be a good idea (not much of an incentive to run DNS locally if it doesn&#8217;t speed up the response time.)  These are just my recommendations, and it will vary depending on the size of your LAN on what you would like to setup.  There are many variables differ based on your setup.</p>
<p>As stated before, for this installation I&#8217;m using Ubuntu 8.04.  I installed the server edition, but eventually installed the ubuntu-desktop packages, because I like having the GUI when working with experimental servers.  Obviously, using the ubuntu-server edition will slim the machine down and be much more efficient.</p>
<p><strong>1.</strong> Open Synaptic package manager and search for &#8220;dnsmasq&#8221;.  Install both packages shown by right clicking &#8220;Mark for installation&#8221;.</p>
<p><strong>2.</strong> Navigate to System &gt; Administration &gt; Networking to open the network configuration for the machine.</p>
<p><strong>3.</strong> Click on the tab &#8220;DNS&#8221;.  This is the list of name servers for the machine.  You can keep the original name servers in the list but press &#8220;Add&#8221; on the side and add in &#8220;127.0.0.1&#8243;, and make sure it is at the top of the list.  For your secondary name servers you may want to consider moving to <a href="http://www.opendns.com" target="_blank">opendns</a> versus using your local ISP&#8217;s.</p>
<p><strong>4.</strong> Once your 127.0.0.1 entry is at the top of the list you may press OK to exit the menu.</p>
<p><strong>5.</strong> To start/stop/restart dnsmasq service use the following commands:</p>
<pre>/etc/init.d/dnsmasq start
/etc/init.d/dnsmasq restart
/etc/init.d/dnsmasq stop
</pre>
<p>You will most likely need to restart the service after installation and the changes you&#8217;ve made.  This will also let you the service is starting correctly.</p>
<p><strong>6.</strong> Now it&#8217;s time to make sure it&#8217;s working.  Type the &#8220;dig&#8221; command with the website of your choice and pay attention to the query time.  The first time the DNS entry will be cached, and so the second time you try the dig command on the same site the response should be significantly lower.  The format is $dig WEBSITE</p>
<p>Another way of testing is enabling logs to syslog so that each query will be logged.  You can enable logging by removing the # at the line #log-queries in the file /etc/dnsmasq.conf  You will need to restart dnsmasq for changes to take effect.  Syslog can be viewed from System log viewer, or any text editor.  After verifying that everything was working correctly, I added the # back into the config file so that it no longer logged queries.</p>
<p><strong>7.</strong> After you&#8217;ve tested all is working correctly, make sure you change the primary DNS server on the client machines to the IP address of the server you have been working on.  Here are pictures that show the primary name server being changed to the local machine just setup for DNS.  The examples are for Ubuntu 8.04 and Windows XP:</p>
<div style="text-align: center;"><img src="http://maddhat.com/wp-content/uploads/2008/10/ubuntudns.png" alt="ubuntudns" width="431" height="362" /></div>
<div style="text-align: center;"><img src="http://maddhat.com/wp-content/uploads/2008/10/vistadns-1.png" alt="vistadns" width="438" height="566" /></div>
<p>So that&#8217;s it.  Hopefully this speeds things up for you as it did for my LAN.  Thanks for reading.</p>
]]></content:encoded>
			<wfw:commentRss>http://maddhat.com/setup-dns-cache-server-using-dnsmasq-and-ubuntu/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create Your Own Syslinux Bootloader Logo</title>
		<link>http://maddhat.com/create-your-own-syslinux-bootloader-logo</link>
		<comments>http://maddhat.com/create-your-own-syslinux-bootloader-logo#comments</comments>
		<pubDate>Sun, 07 Sep 2008 08:01:00 +0000</pubDate>
		<dc:creator>MadHatter</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[boot]]></category>
		<category><![CDATA[bootloader]]></category>
		<category><![CDATA[logo]]></category>
		<category><![CDATA[syslinux]]></category>

		<guid isPermaLink="false">http://maddhat.com/?p=28</guid>
		<description><![CDATA[SYSLINUX looks for the logo.16 image when booting. The following are my steps for creating mine: To get started you will need a bootable USB drive with your OS of choice as long as it has SYSLINUX as the boot loader. You can edit this for a CD too but you will need to create a new image after editing it and then burn your disk. I also used an ubuntu machine with Photoshop (though I&#8217;m sure GIMP works just as well for this task) and an internet connection. Note: I would recommend copying the image from your OS of choice which uses SYSLINUX. The original creators of the image had the image created to the proper dimensions to accommodate the boot menu on the bottom of the screen. I used DSL for this example. 1. I first navigated to the root directory of my bootable USB drive which had all DSL and SYSLINUX files on it. The logo.16 file was in this directory. I would recommend creating a copy to mess around with so you can restore the original if all goes wrong. 2. In order to edit the logo.16 file you need to convert it to a format [...]]]></description>
			<content:encoded><![CDATA[<p>SYSLINUX looks for the logo.16 image when booting. The following are my steps for creating mine:</p>
<p>To get started you will need a bootable USB drive with your OS of choice as long as it has SYSLINUX as the boot loader. You can edit this for a CD too but you will need to create a new image after editing it and then burn your disk. I also used an ubuntu machine with Photoshop (though I&#8217;m sure GIMP works just as well for this task) and an internet connection.</p>
<p>Note: I would recommend copying the image from your OS of choice which uses SYSLINUX. The original creators of the image had the image created to the proper dimensions to accommodate the boot menu on the bottom of the screen. I used DSL for this example.</p>
<p>1. I first navigated to the root directory of my bootable USB drive which had all DSL and SYSLINUX files on it. The logo.16 file was in this directory. I would recommend creating a copy to mess around with so you can restore the original if all goes wrong.</p>
<p>2. In order to edit the logo.16 file you need to convert it to a format your editor will read. Type the command: <strong> </strong></p>
<pre>sudo apt-get install syslinux</pre>
<p><strong><br />
</strong></p>
<p>3. Navigate to the directory in terminal with the logo.16 copy</p>
<p>4. in terminal type the following command: <strong> </strong></p>
<pre>lss16toppm &lt;logo.16&gt; logo16.ppm</pre>
<p>This will create a logo16.ppm file. You should be able to open this in either Photoshop or GIMP to edit.</p>
<p>5. After editing I saved my file with the following properties: GIF, 16 colors, custom palette, 100% dither. I also saved the file in a new folder so that I would not overwrite the logo.16 later on.</p>
<p>6. Open terminal and enter the following command: <strong> </strong></p>
<pre>sudo apt-get install netpbm</pre>
<p>This installs the proper tools to convert the GIF to a pnm, and then to a .16 file.</p>
<p>7. Navigate to the folder where you saved your GIF in terminal and type the following: <strong> </strong></p>
<pre>giftopnm &lt;logo.gif&gt; logo.pnm</pre>
<p>If all goes well you should have a logo.pnm.</p>
<p>8. Type the following command in terminal: <strong> </strong></p>
<pre>ppmtolss16 &lt;logo.pnm&gt; logo.16</pre>
<p>9. Check to ensure your logo.16 has been created in the current directory by typing the ls command.</p>
<p>10. All editing is now completed. Simply copy the new logo.16 to the directory on your USB drive where the old one was located. Boot up your machine using your USB drive and test it out!</p>
<p>Below is my first completed bootloader image for DSL:</p>
<p><a href="http://maddhat.com/wp-content/uploads/2008/09/maddhatlogo-1.gif"><img src="http://maddhat.com/wp-content/uploads/2008/09/maddhatlogo-1-small.gif" alt="maddhatlogo" width="250" height="156" /></a></p>
<p><em>Click above to view full size image</em></p>
]]></content:encoded>
			<wfw:commentRss>http://maddhat.com/create-your-own-syslinux-bootloader-logo/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating Backtrack 3 Live USB Drive</title>
		<link>http://maddhat.com/creating-backtrack-3-live-usb-drive</link>
		<comments>http://maddhat.com/creating-backtrack-3-live-usb-drive#comments</comments>
		<pubDate>Sat, 02 Feb 2008 01:54:18 +0000</pubDate>
		<dc:creator>MadHatter</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://maddhat.com/?p=23</guid>
		<description><![CDATA[Booting to live CDs seems to be sluggishly slow when compared to booting from a USB drive. I previously posted about creating a Live BackTrack 2 USB drive, and here is the instructions for the new BackTrack 3 Beta. They have a special release specifically for USB drives this time around so it&#8217;s getting easier as new versions are released. Keep in mind that BT3 is in Beta and may still have several bugs. If you would like to run the stable version try BT2. So here is my step by step tutorial on how to create a bootable USB drive running BackTrack 3. Note: -you should use at least a 2GB USB drive to make bootable. The boot files total around 946MB of space on the drive. You may be able to get by with a 1GB drive but it would be pushing it to the limit on space. Drives are getting cheaper and cheaper that it shouldn&#8217;t be a big pain to cough up the extra $5 for the 2GB alternative 1. Go to: http://www.remote-exploit.org/backtrack_download.html Choose the backtrack 3 beta the USB version (unless you want to create a bootable cd choose the CD version). 2. You will [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><img src="http://maddhat.com/wp-content/uploads/2008/02/bt3banner.png" alt="bt3banner" width="500" height="166" /></p>
<p>Booting to live CDs seems to be sluggishly slow when compared to booting from a USB drive.  I previously posted about creating a Live BackTrack 2 USB drive, and here is the instructions for the new BackTrack 3 Beta.  They have a special release specifically for USB drives this time around so it&#8217;s getting easier as new versions are released.  Keep in mind that BT3 is in Beta and may still have several bugs.  If you would like to run the stable version try BT2.  So here is my step by step tutorial on how to create a bootable USB drive running BackTrack 3.</p>
<p>Note:<br />
-you should use at least a 2GB USB drive to make bootable.  The boot files total around 946MB of space on the drive.  You may be able to get by with a 1GB drive but it would be pushing it to the limit on space.  Drives are getting cheaper and cheaper that it shouldn&#8217;t be a big pain to cough up the extra $5 for the 2GB alternative</p>
<p><strong> 1. </strong>Go to: <a href="http://www.remote-exploit.org/backtrack_download.html">http://www.remote-exploit.org/backtrack_download.html</a> Choose the backtrack 3 beta the USB version (unless you want to create a bootable cd choose the CD version).</p>
<p><strong>2. </strong>You will need something to extract the files from the RAR archive.  <a href="http://www.rarlab.com/download.htm">WinRAR</a> is my favorite.</p>
<p><strong>3. </strong>Once you have a RAR extractor installed then extract all the folders to the destination drive (USB Drive).  There should be two folders named &#8220;BT&#8221; and &#8220;Boot&#8221; along with a text file called &#8220;INSTALL.txt&#8221;.</p>
<p><strong>4. </strong>After extracting the files power down unit and restart (make sure that boot order is changed so it boots from the USB drive first, and keep in mind that some older machines do not support USB boot, so you may need to use the CD version instead.)</p>
<p><strong>5. </strong>the first menu you are presented with is the boot menu.  The default is to boot into KDE.  (you may want to change to a graphics safe environment if it does not work properly the first time on your system but I have yet to see a case where it doesn&#8217;t work properly at first boot).</p>
<p><strong>6. </strong>Just wait and it will boot the rest of the way up and show the back track desktop.  Click on the 2nd icon that says &#8220;System&#8221; that looks like an IC chip.  Navigate to MEDIA &gt; Your removable drive (names differ) &gt; BOOT folder.  Here you will find a file named &#8220;bootinst.sh.&#8221;</p>
<p><strong>7.</strong> Open up &#8220;shell&#8221; by clicking on the 2nd icon on the left which looks like a monitor with a black screen.  Drag &#8220;bootinst.sh&#8221; to the shell.  Click &#8220;Paste&#8221;.  Press ENTER</p>
<p><strong>8.</strong> This will now give a warning screen that it will format the drive to boot this distro only.  Make sure that the drive listed in that warning is the same as the drive you are browsing (which is shown in the location bar at the top) so that you don&#8217;t tamper with the computer&#8217;s other drives by mistake. Press ENTER when you are sure.</p>
<p>If task completes successfully your drive is now bootable! If you are having problems or have questions with any of these steps head over to the <a href="http://forums.remote-exploit.org/">Back Track Forums</a>.</p>
<p>If you would prefer using the stable BackTrack 2 here is my article pertaining to creating bootable USB drives for BT2: <a href="http://maddhat.com/?p=16">http://maddhat.com/?p=16</a></p>
]]></content:encoded>
			<wfw:commentRss>http://maddhat.com/creating-backtrack-3-live-usb-drive/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Creating NAS In 10 Minutes</title>
		<link>http://maddhat.com/creating-nas-in-10-minutes</link>
		<comments>http://maddhat.com/creating-nas-in-10-minutes#comments</comments>
		<pubDate>Mon, 28 Jan 2008 23:18:24 +0000</pubDate>
		<dc:creator>MadHatter</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://maddhat.com/?p=22</guid>
		<description><![CDATA[Network Attached Storage has become increasingly popular the last couple of months. Interest has only grown more since apple&#8217;s release of Time Capsule which is a NAS device that also has the capabilities to create incremental backups of computers on the network. NAS can be very useful for any home network with a lot of media. It also places less load on other computers on your home network. Being a technician I hear countless times how all the client wants is pictures from the machine and some home videos, etc. All of this media can be moved to a NAS device so that if a system goes down all can still be accessible from another machine quickly. Backups are also essential in that equation, but it can easily be achieved with an external Seagate drive or countless others. What I would like to discuss today is the use of this free NAS software (with TONS of features for sharing media) to get media shared in less than 10 minutes. This may be extremely useful at LAN parties for those trying to share content to one another (perhaps the latest 600mb patch of Battlefield 2!) Also, this method allows the computer [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><img src="http://maddhat.com/wp-content/uploads/2008/01/nasbanner1.png" alt="NASbanner" width="487" height="176" /></p>
<p>Network Attached Storage has become increasingly popular the last couple of months.  Interest has only grown more since apple&#8217;s release of Time Capsule which is a NAS device that also has the capabilities to create incremental backups of computers on the network.  NAS can be very useful for any home network with a lot of media.  It also places less load on other computers on your home network.  Being a technician I hear countless times how all the client wants is pictures from the machine and some home videos, etc.  All of this media can be moved to a NAS device so that if a system goes down all can still be accessible from another machine quickly.  Backups are also essential in that equation, but it can easily be achieved with an external Seagate drive or countless others.  What I would like to discuss today is the use of this free NAS software (with TONS of features for sharing media) to get media shared in less than 10 minutes.  This may be extremely useful at LAN parties for those trying to share content to one another (perhaps the latest 600mb patch of Battlefield 2!)  Also, this method allows the computer to run the NAS software without disturbing the original OS.  Just like any other linux live CD, FreeNAS (freeBSD based) has features that lets you boot from a CD or USB drive. If you need more information on NAS devices to see all the possible uses check out the <a href="http://en.wikipedia.org/wiki/Network-attached_storage" target="_blank">wikipedia entry</a>.<br />
There are many different configuration options for getting it all up and running, but I will go into detail about that which I found to be the fastest.  A few things to note before going through these steps:</p>
<p>-you do NOT need to remove all partitions on the machine you intend to setup as a NAS device.  You may if you want to, but it doesn&#8217;t really matter unless you are performing a full installation or would like more storage space.  You can leave everything intact, and there will be NO changes to the OS if you follow steps as I direct.  If you stray from the path you could easily end up formatting the drive, but there are warnings before this would happen as well so don&#8217;t worry too much.</p>
<p>-you will need to know how to burn ISO&#8217;s onto a CD, just like any other linux distro.</p>
<p>-you do NOT need a lot of technical experience to get it up and running if you just follow this guide.  Though the more knowledge you have about your computer hardware the better.<br />
-you do NOT need know how to use linux, or BSD, or even know what they are.  If you have hardware problems any time throughout this tutorial you could always hop over to the support forum and someone should be able to help you get on the right track.</p>
<p>-for default setup to work without changes you will need to already have an address such as 192.168.*1*.25.  The *1* being the key factor there.  Some routers by default are setup on different ones such as 192.168.0.1.  It depends on the network.<br />
Alright lets jump right into things.  I will explain it step by step as all my other tutorials.</p>
<p><strong>1.</strong> Download the ISO <a href="http://www.freenas.org/index.php?option=com_versions&amp;Itemid=51" target="_blank">here</a> and burn it to a CD.</p>
<p><strong>2.</strong> Place the CD you just burned into the drive and boot up.  You may want to have your keyboard and monitor hooked up to the machine to make sure your CD ROM drive has 1st boot priority.  If it does not, simply go into your BIOS and change the boot order (there should be a button to hit such as F1, DEL, or F10).</p>
<p><strong>3.</strong> Your CD should start booting the software automatically.  Within about</p>
<p>2 minutes (if there are no errors) it should boot up for you and show the splash screen.  You can press Enter and configure options (such as machine IP or connection to use such as wired or wireless) but it is up and running at that point.  Note: the only thing your computer actually needs plugged in in the back is power and the data connection (which you would need none obviously if it is wireless).</p>
<p><strong>4.</strong> On another machine on the same network open up your browser of choice and type &#8220;http://192.168.1.250&#8243; into the address bar.  This is the default HTTP control panel for FreeNAS.</p>
<p><strong>5.</strong> Hit enter and you will be prompted for a username and password.  Default username = admin.  Default password = freenas.</p>
<p><strong>6.</strong> Hit enter and you will now be at the main page.  This is a status page and can give you some basic information about the system.  Lets navigate to the left hand side and go to Disks &gt; Management.</p>
<p><strong>7.</strong> On the lower right side there is a + in a circle for you to add drives for it to recognize.  Click to continue to the next screen.</p>
<p align="center"><img src="http://maddhat.com/wp-content/uploads/2008/01/nasdisk2.png" alt="NASdisk" width="500" height="453" /></p>
<p><strong>8. </strong>You will need to choose your Disk (make sure and do NOT select your CD ROM drive) to setup.  Find your hard drive on the list.  Also make sure you select the format type of your drive (if the drive has windows installed on it you will choose NTFS.  Click &#8220;Add&#8221; once completed.  Repeat this process for any other hard drives installed in the machine if any.</p>
<p><strong>9.</strong> Hit apply changes on the Disk Management screen.  It should say &#8220;the changes have been applied successfully.  If it does not you most likely made a mistake when configuring the disk.</p>
<p><strong>1</strong><strong>0. </strong>Go to the Disks &gt; Mount Point menu on the left side of the window.</p>
<p><strong>11.</strong> We are now going to create a mount point for the drive.  Click the button on the lower right to continue.</p>
<p><strong>12.</strong> Choose your configured disk under the &#8220;disk&#8221; drop down menu and make sure you select Partition type 1.  I&#8217;m going by the assumption that most users are going through these tasks with an NTFS formatted drive.  Go to the drop down and select NTFS.  Name and describe the drive as you wish (note that it is limited on the types of characters, it may be that it only allows spaces, numbers, and letters.)</p>
<p><strong>13.</strong> Press the &#8220;Save&#8221; button and click &#8220;Apply Changes&#8221; on the following screen once you have configured all of your drives.  If it says that all changes have been applied successfully the hard part is over and it is configured.  Now we are going to verify, and setup a means by which your files are accessible over the network.</p>
<p><strong>14.</strong> Go to Status &gt; System on the left hand side.  Look at the &#8220;Disk space usage&#8221; box at the bottom.  It should show your configured drive there along with how much space has been filled on the drive.  If all is there then the drive is configured properly and is reading correctly under FreeNAS.</p>
<p align="center"><img src="http://maddhat.com/wp-content/uploads/2008/01/nasdiskspace2.png" alt="NASdiskspace" width="445" height="32" /></p>
<p><strong>15.</strong> For the sake of saving time I am going to assume you do not want any security on this box for the time being and will allow anonymous connections for sharing.  You may configure them if you wish in the Access &gt; Users and Groups menu.  Lets go to the Services &gt; CIFS/SMB menu on the left side.</p>
<p><strong>16.</strong> Once in the menu you need to first enable the sharing service to run by clicking the checkbox in the upper right hand with the text &#8220;enable&#8221;.</p>
<p><strong>17.</strong> Click the &#8220;Save and Restart&#8221; button at the bottom (note: this will just restart the service, not the computer).</p>
<p><strong>18. </strong>After changes have been applied, go to the top and click on the &#8220;shares&#8221; tab.</p>
<p><strong>19.</strong> Click the + button</p>
<p><strong>20. </strong>Create a share name and comment.  You may leave path blank.  All other options should be okay by default.  Hit the &#8220;Save&#8221; button and the &#8220;Apply Changes&#8221; button on the next screen.</p>
<p><strong>21.</strong> Now close out of your browser and just open &#8220;My Computer&#8221;.  Replace the text in the address bar to &#8220;\\192.168.1.250&#8243; and hit enter.  You should see your share listed below as a folder.  Open and view, edit, save, delete your files just as if it was a locally connected drive.</p>
<p align="center"><img src="http://maddhat.com/wp-content/uploads/2008/01/nasaddress2.png" alt="NASaddress" width="212" height="104" /></p>
<p>Now a few closing notes.  There are a lot of options we left blank, a lot of thing we could have changed with this system.  Spend some time messing around with it, just be carefull of the &#8220;Format&#8221; menu.  Because this is a live boot all changes you make will NOT be saved once the computer is powered down. You will need to reconfigure all of these settings as we have in this tutorial.  After doing it a few times this should only take 5 minutes or less to reconfigure in the future.  FreeNAS can also be installed as a full or embedded install.  I will not cover this today but may in a future entry.  If you are having any difficulties throughout the setup process head over to the <a href="http://www.freenas.org/index.php?option=com_content&amp;task=view&amp;id=6&amp;Itemid=34">support forum</a> for help.  Hope this gets you going on creating a NAS device for free.</p>
]]></content:encoded>
			<wfw:commentRss>http://maddhat.com/creating-nas-in-10-minutes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Firefox Bookmarks Toolbar Cleanup Tip</title>
		<link>http://maddhat.com/simple-firefox-bookmarks-toolbar-cleanup-tip</link>
		<comments>http://maddhat.com/simple-firefox-bookmarks-toolbar-cleanup-tip#comments</comments>
		<pubDate>Wed, 05 Dec 2007 08:05:00 +0000</pubDate>
		<dc:creator>MadHatter</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://maddhat.com/?p=19</guid>
		<description><![CDATA[Here is a real short tip that tidies up your bookmarks toolbar in Firefox but is surprisingly unknown. I decided to write this after noticing many friend of mine who would like to achieve the same look. 1. Add the site of your choice to your bookmarks toolbar folder. 2. Right click the icon for the selected link on the bookmarks toolbar and click on Properties 3. In the Properties menu you will see a &#8220;Name&#8221; label and text field. Simply clear the text field and press OK. You will now have a clean and uncluttered bookmark toolbar. Sorry this is incredibly obvious for some but still a worthy tip to share. I will hopefully have a full length article posted by the end of the week.]]></description>
			<content:encoded><![CDATA[<p>Here is a real short tip that tidies up your bookmarks toolbar in Firefox but is surprisingly unknown.  I decided to write this after noticing many friend of mine who would like to achieve the same look.</p>
<p align="center"><img src="http://maddhat.com/wp-content/uploads/2007/12/firefox.png" alt="firefox" width="348" height="26" /></p>
<p><strong>1.</strong> Add the site of your choice to your bookmarks toolbar folder.<br />
<strong>2.</strong> Right click the icon for the selected link on the bookmarks toolbar and click on Properties<br />
<strong>3.</strong> In the Properties menu you will see a &#8220;Name&#8221; label and text field.  Simply clear the text field and press OK.</p>
<p align="center"><img src="http://maddhat.com/wp-content/uploads/2007/12/firefox1.png" alt="firefox1" width="412" height="398" /></p>
<p>You will now have a clean and uncluttered bookmark toolbar.  Sorry this is incredibly obvious for some but still a worthy tip to share.  I will hopefully have a full length article posted by the end of the week.</p>
]]></content:encoded>
			<wfw:commentRss>http://maddhat.com/simple-firefox-bookmarks-toolbar-cleanup-tip/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

