<?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>The IRCsystems Blog</title>
	<atom:link href="http://www.ircsystems.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ircsystems.net/blog</link>
	<description>I didn&#039;t know what else to call it.</description>
	<lastBuildDate>Wed, 16 Jan 2013 21:13:16 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Sh*t Customers Say (Part 1)</title>
		<link>http://www.ircsystems.net/blog/2013/01/16/sht-customers-say-part-1/</link>
		<comments>http://www.ircsystems.net/blog/2013/01/16/sht-customers-say-part-1/#comments</comments>
		<pubDate>Wed, 16 Jan 2013 21:10:15 +0000</pubDate>
		<dc:creator>Stealth</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ircsystems.net/blog/?p=321</guid>
		<description><![CDATA[Because I work with many end users who don&#8217;t know what they&#8217;re doing, I have decided to create a compilation of the stupid things customers ask us and things they say to us. This is part one of what I hope to be many more as the IQ of customers goes down while technology gets [...]]]></description>
				<content:encoded><![CDATA[<p>Because I work with many end users who don&#8217;t know what they&#8217;re doing, I have decided to create a compilation of the stupid things customers ask us and things they say to us. This is part one of what I hope to be many more as the IQ of customers goes down while technology gets simpler.</p>
<p><span id="more-321"></span>As many people know I work in the video surveillance (CCTV) industry. I do technical support for a large company and even though we cater primarily to companies that install our product, it is often that we will get an end user calling in for some help because they just don&#8217;t understand how it works.</p>
<p><strong>It is a known fact that people just stop thinking when they pick up the phone to get help.</strong></p>
<p>Without further rambling, here we go! These quotes are unedited customer intelligence with specifics edited out, and of course some [helping] edits added in for readability/understandability.</p>
<blockquote><p>&#8220;Do I need my DVR&#8217;s [IP] address to view it using your application on iPhone?&#8221;</p>
<p>&#8220;I am disappointed that <em>[company's] </em>cameras require power to work.&#8221;</p>
<p>&#8220;No one told me I would need an Internet connection to view my cameras online!&#8221;</p>
<p>&#8220;I&#8217;m clicking on the camera button to save a screenshot, but it asks me for a file name. What does it want? I don&#8217;t understand!&#8221;</p>
<p>&#8220;How do I print? Oh, there&#8217;s a print button. Will that make it print?&#8221;</p>
<p><em>Customer:</em> &#8220;Why did the picture print black and white?<br />
<em>Me:</em> &#8221;Does your printer print color?&#8221;<br />
<em>Customer:</em> &#8220;I don&#8217;t think it does.&#8221;</p>
<p><em>Customer: </em>&#8220;Can I view my cameras on my iPad?&#8221;<br />
<em>Me: </em>&#8220;You can use our <em>[appname]</em> application, which is available from the Apple App Store.&#8221;<br />
<em>Customer: </em>&#8220;But what is the app name? I don&#8217;t know what I&#8217;m looking for!&#8221;</p>
<p>&#8220;Why does my computer stop recording video when I close the software?&#8221;</p>
<p><em>Customer: </em>&#8220;I can&#8217;t connect to my DVR remotely anymore.&#8221;<br />
<em>Me: </em>&#8220;What is the address you are trying to use to access your DVR?&#8221;<br />
<em>Customer: </em>&#8220;742 Evergreen Terrace, Springf&#8230;.&#8221;</p>
<p>&#8220;You mean to tell me you can&#8217;t help me with <em>[some other company]&#8216;s</em> cameras? This is bullshit. I&#8217;m never buying your product again.&#8221;</p>
<p><em>(Looking at a remote control with arrow-shaped buttons)</em><br />
&#8220;Y&#8217;all should really label these buttons, I don&#8217;t know which one goes which way!&#8221;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.ircsystems.net/blog/2013/01/16/sht-customers-say-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inside My Camera Bag</title>
		<link>http://www.ircsystems.net/blog/2012/10/17/inside-my-camera-bag/</link>
		<comments>http://www.ircsystems.net/blog/2012/10/17/inside-my-camera-bag/#comments</comments>
		<pubDate>Wed, 17 Oct 2012 00:33:51 +0000</pubDate>
		<dc:creator>Stealth</dc:creator>
				<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://www.ircsystems.net/blog/?p=305</guid>
		<description><![CDATA[Photography is my #1 favorite thing to do when I&#8217;m not working or learning new things. The past few years have been full of random expeditions, adventures, and exploring the world around me. Since getting my first DSLR camera in 2007, I have made many observations. The observation I feel that is most notable is [...]]]></description>
				<content:encoded><![CDATA[<p>Photography is my #1 favorite thing to do when I&#8217;m not working or learning new things. The past few years have been full of random expeditions, adventures, and exploring the world around me. Since getting my first DSLR camera in 2007, I have made many observations. The observation I feel that is most notable is many photographers carry either too much or too little gear with them for whatever occasion. I think I have gotten what I need when I&#8217;m out down to the right amount of gear without giving me too much or too little when I&#8217;m away from home base.</p>
<p><span id="more-305"></span>Even though I always have my bag packed and ready for action, there will always be extra gear hanging around for those unique times where something special would be needed. I always bring the right tool for the job to get the photos just right. With that said, let me share with you what I consider the right amount of gear.</p>
<h3>The Bag</h3>
<p>Can&#8217;t carry things without a bag, or in this case, a backpack. My primary bag is the Lowepro Fastpack 250AW camera backpack. This backpack is generally the one packed and ready to go, has lots of room for the camera and accessories, and then some extra. It also has storage for a laptop, a feature which I have only used once so far on a cruise. The bag is a little bit larger than a normal backpack, but it needs to be with the way it is designed. My camera is accessible from the left side, so I don&#8217;t need to remove the backpack to pull the camera out. It also has an &#8220;all weather&#8221; cover built in, so I don&#8217;t need to worry about surprise rain when I am out.</p>
<p>My backup bag is the Lowepro Rezo 170 AW. A much smaller bag, it only has room for the camera and a few select items. I use this bag when I don&#8217;t plan to have the camera in it, or if I&#8217;m going to a place where managing a backpack might be bothersome to other people or myself. A backpack can only be so great before it becomes a hassle! This bag also features an &#8220;all weather&#8221; cover.</p>
<h3>The Camera (and Lens)</h3>
<p>The camera is a requirement to do photography (still trying to figure out how this plays such a large part). My camera is a Canon 5D Mark III camera, and the lens I primarily use with it is the kit lens (24-105 F/4L IS USM). At this time I don&#8217;t own any other lenses, so the lens is always attached to the camera body. The lens also has a lens hood, usually stored separately.</p>
<h3>SpiderPro Holster</h3>
<p>One of the best things in my backpack (doesn&#8217;t fit in the Rezo bag) is the SpiderPro holster. The holstering system allows the camera to hang securely and safely from my hip. The holster makes a long day of shooting very comfortable while providing quick access to my camera. I discovered the SiderPro holster earlier this year, and am sad I didn&#8217;t find it before!</p>
<h3>Gotcha Wrist Strap</h3>
<p>Combined with the SpiderPro holster, I don&#8217;t need to use a neckstrap with the camera. This means less strain on my neck and shoulders, and the freedom to reach and contort in order to get that perfect shot. The Gotcha Wrist Strap has a quick release click between my wrist and the camera so I can keep the strap on and quickly free up my hand when needed. The wrist strap is held on with a hook-and-loop style system and can take a load of up to 10 pounds when needed (like when the camera slips out of your hand, but that has yet to happen). I have been a fan of the Gotcha system since 2007 when I got my first DSLR.</p>
<h3>The Flash</h3>
<p>To fill in those darker areas, I have the Canon 430EX II flash. It gets the job done quite well. Since this item adds a lot of weight to the bag, it is often pulled out and left behind when I do not anticipate the need to use a flash.</p>
<h3>A Filter&#8230; or Two</h3>
<p>I always have a UV filter attached to my lens to protect the front from accidental scratches and flying objects. In addition to that filter, I have a Hoya Circular Polarizer which I use for most of my outdoor daytime shots.</p>
<h3>A LensPen</h3>
<p>The lens pen has a soft brush and a smudge remover that will help keep your lenses crystal clear even after a good fondling. It also helps in those events where dust or fibers accidentally make their way into the SLR body.</p>
<h3>A Normal Pen</h3>
<p>Because you just never know.</p>
<h3>A Spare Battery</h3>
<p>Clearly a must. On average the 5D3 gets around 500 shots to a charge even though Canon claims up to 900 shots&#8230; I also blame this on the excellent live preview shooting mode that I tend to use a lot.</p>
<h3>Memory</h3>
<p>The heart of it all. The 5D3 takes both SD and CF memory cards, and I use both. I have the camera set up to send raw files to the SD card, and JPG processed images to the CF card (perhaps more on this later). Since JPG files are 1/3 to 1/2 the size of raw files, my memory collection consists of one 8GB and two 16GB SD cards, and one 4GB and two 8GB CF cards.</p>
<h3>A Spork</h3>
<p>I don&#8217;t know how a plastic spork made it into my bag, but it has been there from just about day one of my DSLR experience. It has turned into a &#8220;why is this here&#8221; to more of a tradition. Who knows, I might actually need to use it one day.</p>
<p>So there we have it, a tour of my camera bag(s). Everything listed on this page fits in both bags fairly nicely, except the SpiderPro holster. The SpiderPro holster doesn&#8217;t fit in the Rezo bag, but when I am using the Rezo bag the holster is usually worn.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ircsystems.net/blog/2012/10/17/inside-my-camera-bag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speak in Python on Windows &#8211; Voldemort?</title>
		<link>http://www.ircsystems.net/blog/2012/10/01/speak-in-python-on-windows-voldemort/</link>
		<comments>http://www.ircsystems.net/blog/2012/10/01/speak-in-python-on-windows-voldemort/#comments</comments>
		<pubDate>Mon, 01 Oct 2012 05:22:46 +0000</pubDate>
		<dc:creator>warg</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.ircsystems.net/blog/?p=277</guid>
		<description><![CDATA[No, not Voldemort, but the Microsoft Speech API (SAPI). You need only Python and pywin32 (already included in ActivePython). Python TO BE CONTINUED]]></description>
				<content:encoded><![CDATA[<p>No, not Voldemort, but the <a href="http://msdn.microsoft.com/en-us/library/ms723627%28v=vs.85%29" title="Microsoft Speech API (SAPI)" target="_blank">Microsoft Speech API (SAPI)</a>. You need only Python and <a href="http://sourceforge.net/projects/pywin32/files/pywin32/" title="pywin32" target="_blank">pywin32</a> (already included in <a href="http://www.activestate.com/activepython/downloads" title="ActivePython" target="_blank">ActivePython</a>).</p>
<h3>Python</h3>
<pre class="brush: python; title: ; notranslate">
&gt;&gt;&gt; import win32com.client
&gt;&gt;&gt; sapi = win32com.client.Dispatch(&quot;SAPI.SPVoice&quot;)
&gt;&gt;&gt; result = sapi.Speak(&quot;Hello, world!&quot;)
</pre>
<p></p>
<h2><b>TO BE CONTINUED</b></h2>
]]></content:encoded>
			<wfw:commentRss>http://www.ircsystems.net/blog/2012/10/01/speak-in-python-on-windows-voldemort/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>enum in Python?</title>
		<link>http://www.ircsystems.net/blog/2012/10/01/enum-in-python/</link>
		<comments>http://www.ircsystems.net/blog/2012/10/01/enum-in-python/#comments</comments>
		<pubDate>Mon, 01 Oct 2012 04:59:31 +0000</pubDate>
		<dc:creator>warg</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.ircsystems.net/blog/?p=248</guid>
		<description><![CDATA[Today, I had a friendly argument with a fellow who insisted you can&#8217;t do enum in Python. I don&#8217;t like the word &#8220;can&#8217;t,&#8221; so I argued, &#8220;climb out of that box.&#8221; Python]]></description>
				<content:encoded><![CDATA[<p>Today, I had a friendly argument with a fellow who insisted you can&#8217;t do enum in Python. I don&#8217;t like the word &#8220;can&#8217;t,&#8221; so I argued, &#8220;climb out of that box.&#8221;<br />
<span id="more-248"></span></p>
<h3>Python</h3>
<pre class="brush: python; title: ; notranslate">
&gt;&gt;&gt; def enum(*p, **k):
...     return type(&quot;Enum&quot;, (object,), dict(zip(p, xrange(len(p))), **k))
...
&gt;&gt;&gt; EPOLL_EVENTS = enum(
...     EPOLLIN = 0x1,
...     EPOLLPRI = 0x2,
...     EPOLLOUT = 0x4,
...     # ...
... )
&gt;&gt;&gt; EPOLL_EVENTS.EPOLLIN
1
&gt;&gt;&gt; EPOLL_EVENTS.EPOLLPRI
2
&gt;&gt;&gt; EPOLL_EVENTS.EPOLLOUT
4
&gt;&gt;&gt;
&gt;&gt;&gt; seq = enum(&quot;ZERO&quot;, &quot;ONE&quot;, &quot;TWO&quot;)
&gt;&gt;&gt; seq.ZERO
0
&gt;&gt;&gt; seq.ONE
1
&gt;&gt;&gt; seq.TWO
2
&gt;&gt;&gt;
&gt;&gt;&gt; seq = enum(*&quot;abc&quot;)
&gt;&gt;&gt; seq.a
0
&gt;&gt;&gt; seq.b
1
&gt;&gt;&gt; seq.c
2
&gt;&gt;&gt;
&gt;&gt;&gt; seq = enum(&quot;ZERO&quot;, TEN=10, TWENTY=20)
&gt;&gt;&gt; seq.ZERO
0
&gt;&gt;&gt; seq.TEN
10
&gt;&gt;&gt; seq.TWENTY
20
&gt;&gt;&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ircsystems.net/blog/2012/10/01/enum-in-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updating iTunes without Restarting Windows</title>
		<link>http://www.ircsystems.net/blog/2012/09/27/updating-itunes-without-restarting-windows/</link>
		<comments>http://www.ircsystems.net/blog/2012/09/27/updating-itunes-without-restarting-windows/#comments</comments>
		<pubDate>Thu, 27 Sep 2012 01:08:25 +0000</pubDate>
		<dc:creator>Stealth</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.ircsystems.net/blog/?p=243</guid>
		<description><![CDATA[Needing to upgrade software is an inconvenience as it is when it needs to be done, even more so when you need to restart your computer after installing the update. I always run into this same issue with iTunes and updating my iPhone. iTunes always wants the latest version, and I don&#8217;t want to wait [...]]]></description>
				<content:encoded><![CDATA[<p>Needing to upgrade software is an inconvenience as it is when it needs to be done, even more so when you need to restart your computer after installing the update. I always run into this same issue with iTunes and updating my iPhone. iTunes always wants the latest version, and I don&#8217;t want to wait for it to download, install, then save all my work, restart, reopen everything, and continue working.</p>
<p><span id="more-243"></span>This is why I found a way to update iTunes without the need for a restart. When looking at why programs need a restart when they are done installing, it is usually because they need to stop programs or services to overwrite files or restart services when the installer is done. Many developers just rely on a computer restart to get this done rather than implementing the functionality into the installer itself.</p>
<p>Here is how I update my iTunes without restarting my system (these steps are for Windows 7):</p>
<ol>
<li>Download the latest version for your computer at <a title="https://www.apple.com/itunes/" href="https://www.apple.com/itunes/">https://www.apple.com/itunes/</a>.</li>
<li>Close iTunes.</li>
<li>Make sure you are the only person logged onto the computer, and that you have administrator rights.</li>
<li>Click on the Start Button, and enter &#8220;services.msc&#8221; in the search box (press Enter).</li>
<li>In the Services MSC applet, locate and stop &#8220;Apple Mobile Device&#8221; and &#8220;iPod Service&#8221; by right-clicking on them and selecting Stop.</li>
<li>Open the Windows Task Manager by pressing CTRL+SHIFT+ESC</li>
<li>Make sure iPodService.exe and iTunesHelper.exe are not running (highlight them and press &#8220;End Process&#8221; if they are).</li>
<li>Run the iTunes installer.</li>
<li>Open up the Services MSC applet again, and select &#8220;Restart&#8221; for &#8220;Apple Mobile Device&#8221; and &#8220;iPod Service&#8221;.</li>
<li>Find the iTunesHelper.exe program on your computer and run it. Mine was located in C:\Program Files (x86)\iTunes\</li>
<li>Open and use iTunes as you normally would.</li>
</ol>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ircsystems.net/blog/2012/09/27/updating-itunes-without-restarting-windows/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Next Power Of Two :: A Bitwise Approach</title>
		<link>http://www.ircsystems.net/blog/2012/09/26/next-power-of-two-a-bitwise-approach/</link>
		<comments>http://www.ircsystems.net/blog/2012/09/26/next-power-of-two-a-bitwise-approach/#comments</comments>
		<pubDate>Wed, 26 Sep 2012 03:10:01 +0000</pubDate>
		<dc:creator>warg</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[BASH]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.ircsystems.net/blog/?p=208</guid>
		<description><![CDATA[See also Next Power Of Two :: A Logarithmic Approach C C++ BASH Python Perl Java]]></description>
				<content:encoded><![CDATA[<h3>See also</h3>
<p><a href="http://www.ircsystems.net/blog/2012/03/22/next-power-of-two-a-logarithmic-approach/">Next Power Of Two :: A Logarithmic Approach</a><br />
<span id="more-208"></span></p>
<h3>C</h3>
<pre class="brush: cpp; title: ; notranslate">
#include &lt;stdio.h&gt;

int main()
{
    unsigned n = 1000;
    
    n--;
    n |= n &gt;&gt; 1;
    n |= n &gt;&gt; 2;
    n |= n &gt;&gt; 4;
    n |= n &gt;&gt; 8;
    n |= n &gt;&gt; 16;
    n++;
    
    printf(&quot;%u\n&quot;, n);
    
    return 0;
}
</pre>
<h3>C++</h3>
<pre class="brush: cpp; title: ; notranslate">
#include &lt;iostream&gt;

using namespace std;

int main()
{
    unsigned n = 1000;
    
    n--;
    n |= n &gt;&gt; 1;
    n |= n &gt;&gt; 2;
    n |= n &gt;&gt; 4;
    n |= n &gt;&gt; 8;
    n |= n &gt;&gt; 16;
    n++;
    
    cout &lt;&lt; n &lt;&lt; endl;
    
    return 0;
}
</pre>
<h3>BASH</h3>
<pre class="brush: bash; title: ; notranslate">
#! /bin/bash

n=1000

let &quot;n -= 1&quot;
let &quot;n |= n &gt;&gt; 1&quot;
let &quot;n |= n &gt;&gt; 2&quot;
let &quot;n |= n &gt;&gt; 4&quot;
let &quot;n |= n &gt;&gt; 8&quot;
let &quot;n |= n &gt;&gt; 16&quot;
let &quot;n += 1&quot;

echo $n
</pre>
<h3>Python</h3>
<pre class="brush: python; title: ; notranslate">
#! /usr/bin/env python

n = 1000

n -= 1
n |= n &gt;&gt; 1
n |= n &gt;&gt; 2
n |= n &gt;&gt; 4
n |= n &gt;&gt; 8
n |= n &gt;&gt; 16
n += 1

print n
</pre>
<h3>Perl</h3>
<pre class="brush: perl; title: ; notranslate">
#! /usr/bin/perl

$n = 1000;

$n--;
$n |= $n &gt;&gt; 1;
$n |= $n &gt;&gt; 2;
$n |= $n &gt;&gt; 4;
$n |= $n &gt;&gt; 8;
$n |= $n &gt;&gt; 16;
$n++;

print $n, &quot;\n&quot;;
</pre>
<h3>Java</h3>
<pre class="brush: java; title: ; notranslate">
import java.lang.Math;

public class NextPowerOfTwoApp
{
    public static void main(String[] args)
    {
        int n = 1000;
        
        n--;
        n |= n &gt;&gt; 1;
        n |= n &gt;&gt; 2;
        n |= n &gt;&gt; 4;
        n |= n &gt;&gt; 8;
        n |= n &gt;&gt; 16;
        n++;
        
        System.out.println(n);
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ircsystems.net/blog/2012/09/26/next-power-of-two-a-bitwise-approach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a Lightweight Server with CentOS</title>
		<link>http://www.ircsystems.net/blog/2012/06/10/creating-a-lightweight-server-with-centos/</link>
		<comments>http://www.ircsystems.net/blog/2012/06/10/creating-a-lightweight-server-with-centos/#comments</comments>
		<pubDate>Sun, 10 Jun 2012 17:01:12 +0000</pubDate>
		<dc:creator>Stealth</dc:creator>
				<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[minimal install]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://www.ircsystems.net/blog/?p=182</guid>
		<description><![CDATA[When using Linux, staying current with the times is hard to do without your own Linux system to work with. It is also very difficult to learn Linux without actually running Linux. When it comes to installing Linux there are many tutorials and lots of different methods of doing so, all claimed to be the [...]]]></description>
				<content:encoded><![CDATA[<p>When using Linux, staying current with the times is hard to do without your own Linux system to work with. It is also very difficult to learn Linux without actually running Linux. When it comes to installing Linux there are many tutorials and lots of different methods of doing so, all claimed to be the &#8220;right way.&#8221; In this blog I&#8217;ll go over the way I install Linux. I do not believe there is a &#8220;right way&#8221; or &#8220;wrong way,&#8221; as long as the resulting system functions as required.</p>
<p><span id="more-182"></span><strong>Note:</strong> I expect that when doing these steps you have basic Linux knowledge and know your way around the system using a command line interface. If you don&#8217;t know the basics of Linux I suggest reading online tutorials or beginner Linux books to get general system usage down.</p>
<p>The method I use utilizes CentOS and starts off with a minimal installation using the minimal install CD. From that basic installation, I install the packages I desire and build up the system from there. To get started, download the CentOS minimal installation CD, burn it to disc, and install it to a spare computer. Alternatively for learning purposes, you might want to consider using a virtual machine such as VirtualBox. When installing CentOS using the minimal install disc there aren&#8217;t too many options. The options you are presented with will pertain primarily to your specific system, and have the option for hard drive partitioning. If you don&#8217;t know what partitions are needed, just select the automatic mode.</p>
<p>Once the system comes up for the first time you will have a system with only the software needed for the computer to function properly installed. The next step from here would be to configure a network interface and begin installing packages. Of course the simplest way to get a system on the network is to just type <tt>dhclient eth0</tt> after logging in. You will then be able to use the command to install any desired packages. Remember this system won&#8217;t have anything you may need, such as HTTP (web), FTP, MySQL, etc.. You will need to install those by hand using yum.</p>
<p>Before starting with package installations it might be desirable to update the system by running (running yum update may install a new kernel, a reboot afterwards is recommended). I also recommend disabling SELinux if you are just beginning with Linux, which could be done by changing <tt>SELINUX=enabled</tt> to <tt>SELINUX=disabled</tt> in <tt>/etc/selinux/config</tt> and restarting the system.</p>
<p>If you would like to have something to make all this easier when/if the system is going to be reinstalled (good if it is a test system), then I recommend making a script to do it all for you as I have done, then store it either on a web server that can be accessed by the system you are installing, or have it on a flash drive.</p>
<p>If you have never made a script before, it is simply a group of commands the system will read in order. There are some advanced techniques that can add functions which are called repeatedly, which are useful for doing repeated commands. Some basiscs to know is most scripts have a first line that looks like <tt>#!/bin/bash</tt> which tells the system which shell should process the file. Anywhere else in the script a line starting with a is a comment.</p>
<p>The script I have written is downloadable <a href="http://www.ircsystems.net/utils/postinstall.sh">HERE</a>, and here&#8217;s some basic instructions for usage:</p>
<ol>
<li>Install the minimal installation CD.</li>
<li>Log in as root.</li>
<li>Use DHCP to bring up the network adapter with <tt>dhclient eth0</tt></li>
<li>Download my script using <tt>curl http://www.ircsystems.net/utils/postinstall.sh -o postinstall.sh</tt></li>
<li>Run the script with <tt>bash postinstall.sh</tt></li>
<li>It is recommended to restart the system when completed.</li>
</ol>
<p>This script will:</p>
<ul>
<li>Disable SELinux.</li>
<li>Disable the firewall.</li>
<li>Install the nginx webserver with PHP and MySQL.</li>
<li>Install common command line utilities (such as wget, vim, telnet, ntp, host, mecurial, etc).</li>
<li>Install Perl, ruby, and packages needed to compile programs.</li>
<li>Install webmin (remote system management).</li>
<li>Install TMux, which allows you to start a shell session and access it later from a different session.</li>
<li>Start needed services automatically when the system boots (web server, SQL server, PHP processor, and the network settings).</li>
</ul>
<p>Once it is done:</p>
<ul>
<li>The webroot will be <tt>/home/web/html</tt> and the webserver may be accessed using a browser to connect to your system&#8217;s IP address. It should display information about the PHP installation.</li>
<li>You can access webmin to do further system configuration by using a web browser to connect to your IP address using SSL on port 10000 (example, https://192.168.1.101:10000).</li>
<li>I recommend creating a user account to use on your server. Continuing to use root for non-administration is not recommended.</li>
<li>You may also want to set a password for the web user to get access to the webroot on the system remotely.</li>
<li>Use SSH to access a shell remotely using the usernames and passwords you set up.</li>
</ul>
<p>Further steps:</p>
<ul>
<li>Consider setting up SSH to use keyfiles instead of passwords. This is much more secure, and the SSH server may be set to not allow password login from remote systems.</li>
<li>Manage files on your website using a remote computer connected through SCP rather than FTP (WinSCP can do this on a Windows computer).</li>
</ul>
<p>Lastly, enjoy your system!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ircsystems.net/blog/2012/06/10/creating-a-lightweight-server-with-centos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making a TrueCrypt System Discrete</title>
		<link>http://www.ircsystems.net/blog/2012/05/26/making-a-truecrypt-system-discrete/</link>
		<comments>http://www.ircsystems.net/blog/2012/05/26/making-a-truecrypt-system-discrete/#comments</comments>
		<pubDate>Sat, 26 May 2012 23:09:41 +0000</pubDate>
		<dc:creator>Stealth</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.ircsystems.net/blog/?p=172</guid>
		<description><![CDATA[In a previous blog I taught you how to install TrueCrypt on your computer and use it to encrypt your hard drive. In this blog I will teach you how to now hide the fact that you have TrueCrypt installed and take your computer&#8217;s security to the next level. READ THIS: This was tested and [...]]]></description>
				<content:encoded><![CDATA[<p>In a previous blog I taught you how to install TrueCrypt on your computer and use it to encrypt your hard drive. In this blog I will teach you how to now hide the fact that you have TrueCrypt installed and take your computer&#8217;s security to the next level.</p>
<p><span id="more-172"></span><strong style="color: #ff0000;">READ THIS:</strong><span style="color: #ff0000;"> This was tested and performed on a computer running Windows XP and TrueCrypt 7.1a. These instrucitons are provided for educational purposes only. Always cooperate with law enforcement if they request access to your system. I am not responsible for any legal trouble you may get yourself into, any changes YOU make to YOUR computer are YOUR responsibility and are YOUR choice. It may be possible to detect TrueCrypt through data patterns with hard drive analysis tools. Always back up your files before modifying your operating system.</span></p>
<p>As you would have noticed by now TrueCrypt puts a rather obvious password prompt on your screen when the computer is started. This of course tells a stranger that has his hands on your computer that it can be unlocked with just a simple password. There are a couple methods to make it seem as through TrueCrypt is not installed.</p>
<p>The first method would be to use TrueCrypts built-in custom text where you can specify an &#8220;error&#8221; when the computer is booted, but it&#8217;s secretly a password prompt. The drawbacks to this methods would be that you have a limited amount of characters that you can enter, and the computer still leaves a flashing cursor on the screen. To enable this method of obscurity, you can edit the boot options in TrueCrypt to change the password prompt on the loader. Many people like using an error, such as &#8220;NTLDR is missing.&#8221; or &#8220;No operating system installed&#8221;. It is up to you on what you choose to put here.</p>
<p>The other method is my own personal favorite. The second method hides your TrueCrypt installation the most, because we&#8217;ll be restoring the Windows boot loader. Booting the computer would require the use of the TrueCrypt Rescue CD that you made when you installed TrueCrypt on the computer. When someone tries to boot the computer without the TrueCrypt Rescue CD, they&#8217;ll get &#8220;Error loading operating system.&#8221;</p>
<p>Why do this instead of the previously mentioned custom command prompt? Using this method restores the Windows bootloader. If questioned anyone can look at the data on the drive and see the Windows bootloader and may assume there was something wrong with the data on the drive (such as Windows drive compression or Windows built-in encryption). With TrueCrypt&#8217;s built-in method, it would be simple to detect the TrueCrypt loader almost immediately when suspected.</p>
<p>Here&#8217;s how it&#8217;s done:</p>
<ol>
<li>Do a full shutdown on your computer &#8212; DO NOT hibernate Windows. Making changes to the hard drive when Windows is hibernated may damage your installation.</li>
<li>Boot the computer using your TrueCrypt Rescue CD.</li>
<li>Use option 4 to reinstall the Windows Boot Loader.</li>
<li>Use option 3 to reinstall your TrueCrypt key on the drive.</li>
<li>Enter your password and boot the computer.</li>
<li>The next time you restart, you will be required to load the computer with the TrueCrypt Rescue CD. Now when a stranger gets their hands on your computer they will think your windows installation was just left in an unusable state, rather than believing there is a chance to access it.</li>
</ol>
<p>I recommend making at least 2 copies of your TrueCrypt Rescue CD. One to keep with you to start your computer, one kept in a safe place. If you lose your CD, you will lose all the information stored on your computer!</p>
<p>Unfortunately, I have no found a way to get a properly working TrueCrypt Rescue CD on a flash drive to boot the computer from, so a CD must be used. The good news is if you wanted to disguise your TrueCrypt Rescue CD as something else, you should be able to do so by making a bootable CD and specifying the TrueCrypt Rescue CD image as the boot image for that disc. This would enable you to put your own files on the CD, while having a (mostly) invisible boot CD for your computer. In ImgBurn this may be done by selecting &#8220;Write files/folders to disc&#8221;, then going to the Advanced tab on the left, and selecting the Bootable Disc subtab.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ircsystems.net/blog/2012/05/26/making-a-truecrypt-system-discrete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a Low-Power Computer</title>
		<link>http://www.ircsystems.net/blog/2012/05/06/building-a-low-power-computer/</link>
		<comments>http://www.ircsystems.net/blog/2012/05/06/building-a-low-power-computer/#comments</comments>
		<pubDate>Sun, 06 May 2012 03:31:48 +0000</pubDate>
		<dc:creator>Stealth</dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.ircsystems.net/blog/?p=166</guid>
		<description><![CDATA[When it comes to your power bill, less power used by computers and equipment means more saving on the power bill every month. I&#8217;ll explain in this post how I built a couple personal servers that not only take much less power, but are 100% silent as a bonus feature &#8212; WITHOUT sacrificing performance. A [...]]]></description>
				<content:encoded><![CDATA[<p>When it comes to your power bill, less power used by computers and equipment means more saving on the power bill every month. I&#8217;ll explain in this post how I built a couple personal servers that not only take much less power, but are 100% silent as a bonus feature &#8212; WITHOUT sacrificing performance.</p>
<p><span id="more-166"></span>A computer running full-time can easily take 144 kilowatt (kWh) hours each month, which based on average power rates (12 cents per kWh in December 2011) could be around $17 each month on your power bill. I have seen power rates as much as 50 cents per kWh in some areas.</p>
<h2>Calculating Power Usage</h2>
<p>Take the wattage it draws from the wall outlet. For computers this is NOT the wattage the power supply is able to provide to the system, it should actually be lower and is generally about half of that value. This is due to the voltage being stepped down, which creates more power. Depending on your power supply and it&#8217;s specifications, this could vary. Take the number then multiply it by 0.720, which is the number of hours in 1 month divided by 1000 (to skip dividing by 1000 to get kWh later). This will give you the kWh your computer uses, then simply multiply that by your current per-kWh rate. This equation looks like: ((&lt;output wattage&gt; / 2) * 0.720) * &lt;kWh rate&gt; For my desktop, this would be ((300 / 2) * 0.720) * 0.17 = $18.36/month to run 24/7.</p>
<p>Alternatively, you can get your hands on a Kill-a-Watt meter and measure your computers power draw directly. I do recommend checking the accuracy of your meter by using a standard incandescent light bulb. Remember to ensure you don&#8217;t exceed the meter&#8217;s maximum load. Take the resulting wattage (adjusted for any margin of error from your meter) and multiply it by 0.720, then again by your current power rate.</p>
<h2>Hardware</h2>
<p>Most of the hardware I use for low power and silent systems comes from www.mini-box.com. Each item is generally purchased individually exactly as you would with a full-sized computer. The hardware I used is all in the Mini-ITX form factor which keeps things small and manageable. There are also &#8220;nano&#8221; systems, however there are no common standards for the hardware, making those harder to build and manage.</p>
<h3>Motherboard and RAM</h3>
<p>Mini-ITX form factor mother boards come in a variety of specs for different purposes. You have the option of using a full-sized CPU, or something integrated and permanently affixed to the motherboard. For low-power applications it&#8217;s best to stick with the integrated processors since they generally require less power to operate. The drawbacks to integrated processors is you do not have the option to upgrade it later if you needed more speed (but how many people upgrade JUST the processor in a system).</p>
<p>If you are connecting this system to your TV to watch videos, choose a motherboard with a decent graphics processor. Most Mini-ITX boards are designed for integrated applications and won&#8217;t have very many supported display features (such as a large resolution selection, 3D acceleration, adjustable or lots of video memory, etc). If going with better graphics features, keep this in mind when choosing your power supply.</p>
<p>If your pondering using the system as a file server, it&#8217;ll be easier to get one with an eSATA port on the back than to fashion your own down the road with a SATA-to-eSATA adapter. You&#8217;ll likely also want a system with a gigabit ethernet port.</p>
<p>The motherboard I went with is the Intel D2700MUD, which sports a 2.13 GHz dual-core Atom (low power!) processor. It has 2 memory slots for up to 4GB of memory, a PCI slot, and a mini-PCI Express slot.</p>
<p>As for RAM, just pick your desired amount of memory that is compatible with the motherboard. ITX motherboards may have either SODIMM and SDRAM slots, and may be DDR2 or DDR3. Be sure you check with the specs of the motherboard you choose for the maximum supported memory per slot.</p>
<h3>Mass Storage</h3>
<p>For mass storage (hard drive) you have many options. All modern ITX boards come with SATA connectors so it is down to deciding what type and how much storage you wish to put in your system. You can use a 3.5&#8243; desktop hard drive (if your case allows), 2.5&#8243; laptop hard drive, SSD, or Disk on Module (DOM).</p>
<p>In most situations your desired case determines the type and size of the mass storage device you add to your system. Alternatively, if your motherboard permits, you can use external storage (eSATA would be best) and have your drive(s) in an external case with their own power supply.</p>
<p>For my system I used an 8GB SATA DOM. 8GB is generally plenty for a webserver, personal space (SSH access, minor file storage), and operating system.</p>
<h3>Case and Power Supply</h3>
<p>The case for your system is another item that would be your preference. When building systems I generally choose my desired case, then find the power supply to fit it. For my system since I am going with a fanless setup, I chose the M350 Mini-ITX case. It has enough room for the motherboard, and comes with a bracket for either 1 HDD or up to 2 fans (40mm).</p>
<p>For the power supply I went with the picoPSU-80 which outputs 80W, which is plenty to drive the motherboard and DOM. This power supply plugs directly into the motherboard&#8217;s power connector and has a pigtail for 12V input. Some ITX motherboards have other connections or components too close to the power connector to use this type of power supply. If ordering from Mini-Box there will be a note on the motherboard&#8217;s product page if it cannot be used with a picoPSU. Also be sure you choose the proper 12V power supply for your setup!</p>
<p>If going with the M350 case and picoPSU-80, Mini-Box has a bundle with the picoPSU-80, M350, and 12V power adapter for a little less than buying those parts individually.</p>
<h2>Extras</h2>
<p>Now that we&#8217;ve got a basic system, there might be some extras desired.</p>
<h3>Mounting Options</h3>
<p>Depending on your case, there might be some mounting options. Some cases have the ability to be mounted on the back of monitors with VESA mounting holes, on the wall, under a desk, between a monitor and the wall, or even to utility rails. Consider where you wish to put the system, then plan accordingly with the case and your parts order.</p>
<h3>Internal Hardware</h3>
<p>Consider what your purpose for this system is. If you need to get another bracket for mounting and other HDD or a fan, it would be best to order these wtih your case.</p>
<p>Additionally, based on your environment and mounting you might want to install a wireless card (not recommended for server applications). Be sure to choose one that will work with your motherboard and case. Keep in mind many Mini-ITX cases don&#8217;t have space to use the full-size expansion slots.</p>
<h3>A Fan</h3>
<p>You may have read through all this thinking a fan may not be needed. Depending on your environment, that may be true. If the environment this system is going to be running in gets hot or may be an enclosed space, you might want to consider putting in a fan just to further ensure your system&#8217;s stability. When working with a fanless system, I always go with &#8220;if it&#8217;s too hot for me, it&#8217;s too hot for the computer.&#8221; You might have the ability to switch on the AC, but your computer doesn&#8217;t always have this luxury when you&#8217;re not around. A fan would ensure airflow (though warm) is maintained.</p>
<p>I will be using a fan in my setup, and I have wired in an on/off switch so I can have it on for warmer days, but off on the cooler days.</p>
<h2>Putting it All Together</h2>
<p>A summary of the components I am using for my setup:</p>
<ul>
<li>Intel D2700MUD ITX Motherboard</li>
<li>2GB DDR3 SODIMM RAM</li>
<li>picoPSU-80 (and 12VDC/5A power supply)</li>
<li>M350 fanless Mini-ITX enclosure</li>
<li>8GB SATA DOM</li>
<li>40mm Fan</li>
</ul>
<p>When put all together, this system draws 15-20W of power. When compared to the 80W my current server is taking, giving me a minimum savings of 75% each month to run. If my power bill averages 17 cents per kWh, this will be cost $1.84~$2.45/month to run versus the current server at approximately $9.80/month</p>
<h2>Additional Notes:</h2>
<p><strong>Note about wattage measurements</strong>: Watt usages were measured using my Kill-a-Watt meter (model P4400), which has shown to have a +/-1% margin of error. This was determined by plugging in a 100W light bulb, in which the meter displayed 99W being used.</p>
<p><strong>Note about hardware: </strong>Through this blog I have given information on how to assemble your own low-power computer or personal server with my own personal server as an example. This information is provided for informational purposes, please do ensure you check all environmental and power requirements. Exceeding power ratings on power supplies and systems may be a fire hazard. I am not responsible if you burn down your house because you didn&#8217;t do the calculations and your system and/or power supply melted down.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ircsystems.net/blog/2012/05/06/building-a-low-power-computer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Protecting Your Computer with Encryption</title>
		<link>http://www.ircsystems.net/blog/2012/04/29/protecting-with-encryption/</link>
		<comments>http://www.ircsystems.net/blog/2012/04/29/protecting-with-encryption/#comments</comments>
		<pubDate>Sun, 29 Apr 2012 17:31:09 +0000</pubDate>
		<dc:creator>Stealth</dc:creator>
				<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.ircsystems.net/blog/?p=150</guid>
		<description><![CDATA[These days data security is a necessity, and it&#8217;s clear that without security on your computer that you might be asking for a little more than you bargained for if your computer falls into the wrong hands. For many people, simply using a Windows password to log in is not enough. Likewise, this also isn&#8217;t [...]]]></description>
				<content:encoded><![CDATA[<p>These days data security is a necessity, and it&#8217;s clear that without security on your computer that you might be asking for a little more than you bargained for if your computer falls into the wrong hands. For many people, simply using a Windows password to log in is not enough. Likewise, this also isn&#8217;t enough to stop anyone with a little bit of computer know-how from accessing your data.</p>
<p><span id="more-150"></span>The next thing would be to consider Windows built-in encryption. Windows built-in encryption is very basic and unforgiving before Windows Vista, but a little more friendly in newer versions of Windows. The drawbacks to Windows built-in encryption is if you don&#8217;t back up your encryption key and Windows crashes, you may be unable to recover your data.</p>
<p>In the modern computing world there are multiple utilities and methods that may be used to encrypt all of your information safely and securely. These utilities include Microsoft BitLocker, which is built into Windows Vista and newer, as well as 3rd party utilities that work on all the &#8220;NT&#8221; versions of Windows (this encompasses Windows 2000 and newer).</p>
<p>In this blog entry we&#8217;ll be covering the basic use of a 3rd party encryption utility, called TrueCrypt. TrueCrypt to encrypt your whole computer. TrueCrypt offers basic functions that will just encrypt your drive, as well as advanced functions such as encrypted file containers and hidden operating systems.</p>
<p>I understand there are many tutorials and information about encrypting your computer with TrueCrypt, however I am writing my own as a start to a more complex use of this software and would prefer to have anyone reading on the same page. This information is based on version 7.1a.</p>
<p><strong style="color: #ff0000;"><span style="text-decoration: underline;">WARNING</span>: The information here is for educational and research purposes only. <em><span style="text-decoration: underline;">YOU</span></em> are responsible for any changes <em><span style="text-decoration: underline;">YOU</span></em> make to <em><span style="text-decoration: underline;">YOUR</span></em> computer and for any trouble (legal or otherwise) <em><span style="text-decoration: underline;">YOU</span></em> may get in to by using encryption.</strong></p>
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>ALWAYS BACK UP YOUR DATA BEFORE MAKING CHANGES TO YOUR COMPUTER</strong></span></p>
<p>The first thing to using any software would be to obtain and install the software you would like to use. TrueCrypt may be downloaded from their website, www.truecrypt.org. Simply download the Windows installer and run it on your computer. You will need administrator rights to install this software. When the installation is complete, start TrueCrypt to get started.</p>
<p>You will also need a blank CD or DVD. In the process of encrypting your drive you will be required to create a recovery CD which includes your key (encrypted with your password) in case something goes wrong during the encryption process or down the road if Windows crashes and you need to recover your data.</p>
<p>Let&#8217;s get started. These instructions assume you know how to click Next between pages of the wizard. If you can&#8217;t figure this out, hard drive encryption may not be for you.</p>
<div>
<ol>
<li>Open the TrueCrypt window if it is not already open.</li>
<li>From the Tools menu, select Encrypt System Drive</li>
<li>Select &#8220;Encrypt the Windows system partition&#8221; if any of the following applies to you:
<ul>
<li>You have more than 1 operating system installed.</li>
<li>Your computer has a recovery partition.</li>
<li>You have a separate partition that needs to be accessed outside of Windows.</li>
</ul>
</li>
<li>Otherwise, select &#8220;Encrypt the whole drive&#8221;</li>
<li>Select single-boot if your computer only has 1 operating system, otherwise, select multi-boot.</li>
<li>If desired you may select a different encryption algorithm or hash algorithm, otherwise the default is fine.</li>
<li>The password you create here will be the one used to decrypt your key, which decrypts your information. This password should be strong, consisting of as many characters you can remember and contain letters, numbers, mixed case, and special characters. <span style="text-decoration: underline;"><strong>MAKE SURE YOU REMEMBER THIS PASSWORD. THERE IS NO WAY TO RESET IT OR RECOVER YOUR INFORMATION IF YOU LOSE IT.</strong></span></li>
<li>To collect random data move your mouse around the TrueCrypt window as much as possible and as random as possible. If your mouse leaves the window, it will not collect those movements. The longer you move your mouse, the better.</li>
<li>It will display the keys generated, simply click next.</li>
<li>For the Rescue Disk, you must create this. Select a location to save the CD image, click next to have it created and saved.</li>
<li>Burn the ISO image to a CD or DVD using your favorite burning software.. Remember, this must be done as an image, not a file. TrueCrypt will verify the creation of this CD.</li>
<li>Select a wipe mode for your drive if desired. Remember that selecting a wipe mode will greatly slow down the encryption process later.</li>
<li>Click Next all the way through. Remove the CD and restart your computer when prompted.</li>
</ol>
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>STORE YOUR TRUECRYPT RESCUE CD IN A SAFE AND SECURE PLACE. YOU WILL NEED IT IF SOMETHING EVER GOES WRONG OR IF WINDOWS FAILS TO BOOT.</strong></span></p>
<p>TrueCrypt will now verify your computer is ready to be encrypted. It will ask for your password during the restart process. When Windows comes back up and is logged in, the TrueCrypt wizard will automatically continue and begin encrypting your hard drive. You may continue working during this process. The size of your hard drive depends on how long it will take. This processed may be paused and resumed as needed.</p>
<p>Once complete you&#8217;ll be prompted for your password everytime the computer is started. No one will be able to access your files or information without your decryption password. In the event your computer does not boot, you may use the TrueCrypt rescue disc to decrypt your hard drive for recovering your information.</p>
<p>If you need to decrypt your drive, this can be done through the TrueCrypt program by selecting &#8220;Decrypt system drive&#8221; from the Tools menu, or using your rescue CD.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.ircsystems.net/blog/2012/04/29/protecting-with-encryption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
