<?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>Lick The Salt</title>
	<atom:link href="http://lickthesalt.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://lickthesalt.com</link>
	<description>This line intentionally left blank</description>
	<lastBuildDate>Fri, 03 Feb 2012 20:04:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Mail Checker Minus; Or Why Are You Maintaining a Chrome Extension?</title>
		<link>http://lickthesalt.com/2011/12/06/mail-checker-minus-or-why-are-you-maintaining-a-chrome-extension/</link>
		<comments>http://lickthesalt.com/2011/12/06/mail-checker-minus-or-why-are-you-maintaining-a-chrome-extension/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 21:21:55 +0000</pubDate>
		<dc:creator>AndrewL</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[GPL]]></category>

		<guid isPermaLink="false">http://lickthesalt.com/?p=206</guid>
		<description><![CDATA[Update Feb 3rd 2011: I am no longer maintaining the Mail Checker Minus extension. I recommend switching over to Jason Savard&#8216;s Checker Plus For Gmail. He&#8217;s already done a good bit of work cleaning up code and adding new features. For those of you happy with the extension as is, I will continue to make [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p style="text-align: left;"><strong>Update Feb 3rd 2011:</strong> I am no longer maintaining the Mail Checker Minus extension. I recommend switching over to <a href="https://twitter.com/#!/JasonSavard">Jason Savard</a>&#8216;s <a href="https://chrome.google.com/webstore/detail/oeopbcgkkoapgobdbedcemjljbihmemj">Checker Plus For Gmail</a>. He&#8217;s already done a good bit of work cleaning up code and adding new features. For those of you happy with the extension as is, I will continue to make it available via the Chrome Web Store, but please note that I will not be fixing bugs or supporting the extension.</p>
<p style="text-align: left;">It&#8217;s fairly likely that you found this site because of the Google Chrome Extension I now maintain, Mail Checker Minus. That&#8217;s a pretty good assumption since it&#8217;s fairly popular and links here. For the two people who somehow found my site and don&#8217;t know about Mail Checker Minus, it is (in my opinion) one of the most useful plugins for Chrome. It allows you to see the number of unread mails for Gmail at a glance, preview them, and even take actions on them.<a href="http://lickthesalt.com/wp-content/uploads/2011/12/screenshot_1.png"><img class="size-medium wp-image-208 aligncenter" title="Mail Checker Minus Screenshot" src="http://lickthesalt.com/wp-content/uploads/2011/12/screenshot_1-300x187.png" alt="" width="300" height="187" /></a></p>
<p><span id="more-206"></span>I&#8217;m not tooting my own horn here, I didn&#8217;t write Mail Checker Minus, I forked it from an extension called &#8220;Mail Checker Plus for Google Mail&#8221;. I loved Mail Checker Plus but sometime earlier this year the developer decided to modify the extension so that it injected ads into certain websites. Obviously that is a pretty awful thing to do, from what I can tell Google quickly removed Mail Checker Plus from the Chrome Web Store.</p>
<p>I first noticed that the extension was gone when I installed Chrome on a new computer and the only extension that didn&#8217;t auto install (sync everything is AWESOME) was Mail Checker Plus. After a bit of searching I discovered that my favorite extension was dead and gone, but the source code for it was on Github and released under the GPL. Before I even had a chance to think about it I had clicked &#8220;fork&#8221; on Github. I cloned the repo to my local computer, installed the plugin and promptly went back to my normal work.</p>
<p>A few days later I decided, mostly to make my life easier (I really like being able to sync everything), to rename the extension to Mail Checker Minus and put in the Chrome Web Store. I figured no one would ever see it, but I didn&#8217;t really care so long as the extension kept working for me. As it turns out there were quite a few people who installed the new extension, as of this writing there are 3,677 users and the extension is rated 5 stars. I think that is pretty awesome, so for now I guess I will keep on maintaining the Mail Checker Minus extension. I would like to thank everyone who has or will help my favorite extension continue to grow and survive.</p>
<p>P.S. If you think you can make a better extension, DO IT, please.</p>
<!-- AdSense Now! V1.95 -->
<!-- Post[count: 2] -->
<div class="adsense adsense-leadout" style="text-align:center;margin: 12px;"><script type="text/javascript"><!--
google_ad_client = "pub-4025851652237610";
/* 468x60, created 7/7/09 */
google_ad_slot = "3800295011";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><div class="shr-publisher-206"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://lickthesalt.com/2011/12/06/mail-checker-minus-or-why-are-you-maintaining-a-chrome-extension/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Conversation with a Spam Bot</title>
		<link>http://lickthesalt.com/2011/07/16/conversation-with-a-spam-bot/</link>
		<comments>http://lickthesalt.com/2011/07/16/conversation-with-a-spam-bot/#comments</comments>
		<pubDate>Sat, 16 Jul 2011 23:16:25 +0000</pubDate>
		<dc:creator>AndrewL</dc:creator>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bot]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[phishing]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[virus]]></category>

		<guid isPermaLink="false">http://lickthesalt.com/?p=191</guid>
		<description><![CDATA[Today, while I was working on the inventory system for the Dallas Makerspace I received a message from an unknown person via AIM. This is not an unusual event for me since I have had the same AIM screen name for over a decade, so I tend to get messages out of the blue from people I used to [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Today, while I was working on the <a href="https://github.com/aceat64/Dallas-Makerspace-Inventory">inventory system</a> for the <a href="http://dallasmakerspace.org">Dallas Makerspace</a> I received a message from an unknown person via AIM. This is not an unusual event for me since I have had the same AIM screen name for over a decade, so I tend to get messages out of the blue from people I used to know or who I gave my info to and promptly forgot (sorry).  While this wasn&#8217;t the first spam bot to contact me, it was the first to fool me into thinking it was a real human, at least for a bit. Here&#8217;s the chat log, with my comments:</p>
<blockquote><p><strong>bluesoftball27</strong>: heya!<br />
<strong>me</strong>: Hello, do I know you?<br />
<strong>bluesoftball27</strong>: hey whatss up? 24/f here u?<br />
<strong>me</strong>: Who are you?<br />
<strong>bluesoftball27</strong>: Im natali. Dont you remember?<br />
<strong>me</strong>: I&#8217;m sorry, I don&#8217;t. Did we meet somewhere?<br />
<strong>bluesoftball27</strong>: oh cool.. have we talked b4?<br />
<strong>me</strong>: Not that I recall<br />
<strong>bluesoftball27</strong>: ah ok sorry. wasnt sure. but anywho whats up?<br />
<strong>me</strong>: I&#8217;m writing an inventory management program at the moment<br />
<strong>bluesoftball27</strong>: yeah? im so bored over here i dunno what to do with myself.<br />
<strong>bluesoftball27</strong>: you wanna watch me on cam? i feel like having some fun :-X
</p></blockquote>
<p>Here is where I started suspecting that <em>bluesoftball27</em> might be up to something.</p>
<blockquote><p><strong>me</strong>: I&#8217;ll pass, I&#8217;m kind of busy<br />
<strong>bluesoftball27</strong>: k u gotta make a free login for this site that its linked to so i cant be recorded. k?
</p></blockquote>
<p>Yup, this is definately someone trying to trick me into downloading a virus or giving out my credit card info. However, at this point I had not yet realized the responses were automated.</p>
<blockquote><p><strong>me</strong>: No thanks, I don&#8217;t need a virus right now.<br />
<strong>bluesoftball27</strong>: k cool. http://verifiedcams.com/7/natali go there and when it loads click JOlN FREE at the top ok?<br />
<strong>me</strong>: Ahhh, I see. These are all preprogrammed responses.
</p></blockquote>
<p>Finally I realized the horrible, awful, truth. Natali was a program, sent back in time to steal my credit card, or something.</p>
<blockquote><p><strong>bluesoftball27</strong>: it does ask for a credit card i think but i know for sure it dosent cost anything<br />
<strong>bluesoftball27</strong>: its just to make sure that you are over 18.<br />
<strong>me</strong>: Empty response<br />
<strong>bluesoftball27</strong>: when u get signed up then u can come watch me on cam and we can have some fun.<br />
<strong>me</strong>: What other responses do you have?<br />
<strong>me</strong>: Are they static, or based on my input?<br />
<strong>bluesoftball27</strong>: if u join me in private or tip me some gold i will do anything u ask me babe<br />
<strong>bluesoftball27</strong>: i really mean ANYTHlNG. :-X<br />
<strong>me</strong>: Anything? But you&#8217;re not even real<br />
<strong>bluesoftball27</strong>: lets talk on the site when u get in babe. my aim is messing up<br />
<strong>me</strong>: Your aim is messing up? What is this, 1998?<br />
<strong>me</strong>: Hello?
</p></blockquote>
<div class="shr-publisher-191"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://lickthesalt.com/2011/07/16/conversation-with-a-spam-bot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dallas Makerspace Open House</title>
		<link>http://lickthesalt.com/2010/11/17/dallas-makerspace-open-house/</link>
		<comments>http://lickthesalt.com/2010/11/17/dallas-makerspace-open-house/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 17:50:23 +0000</pubDate>
		<dc:creator>AndrewL</dc:creator>
				<category><![CDATA[Dallas Makerspace]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[dallas area]]></category>
		<category><![CDATA[dms]]></category>
		<category><![CDATA[hackerspace]]></category>
		<category><![CDATA[makerspace]]></category>

		<guid isPermaLink="false">http://lickthesalt.com/?p=170</guid>
		<description><![CDATA[A while back I became a member of the Dallas Makerspace, which is basically the only hackerspace in the Dallas area. I met a lot of cool people and now I have access to a lot of really cool tools (Makerbot, CNC laser cutter, etc) so hopefully I&#8217;ll have some new blog posts in the [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>A while back I became a member of the Dallas Makerspace, which is basically the only <a href="http://en.wikipedia.org/wiki/Hackerspace" target="_blank">hackerspace</a> in the Dallas area. I met a lot of cool people and now I have access to a lot of really cool tools (Makerbot, CNC laser cutter, etc) so hopefully I&#8217;ll have some new blog posts in the next few months talking about a cool project I&#8217;m working on. If you live in the Dallas area or will be here on the 20th, come by our open house, it&#8217;s going to be fun.</p>
<p>From the <a href="http://www.dallasmakerspace.com/blog/2010/11/open-house/" target="_blank">Dallas Makerspace blog</a>:</p>
<blockquote><p>On November 20th, <a href="http://www.dallasmakerspace.com/wiki/Main_Page">DMS</a> will be hosting an <a href="http://www.dallasmakerspace.com/wiki/Open_House_2010">Open House</a> for all who want to come and check out just what a Makerspace is all about. There will be food, demonstrations, tours, and a meet and greet with the Dallas Makerspace members. Meet people passionate about a myriad of things from robotics, to wood crafting, to art and photography.</p>
<p><em><strong>Come!</strong></em> And see the wonders of laser cutters, Cupcake CNC Makerbots, and <a href="http://www.dallasmakerspace.com/wiki/DIY_Darkroom">darkroom</a> science! See demos about brass etching, <a href="http://www.dallasmakerspace.com/wiki/Recycled_plastic_fabric">recycling plastic bags into sewable fabric</a> and view <a href="http://www.dallasmakerspace.com/wiki/Member_Projects">projects</a> DMS members are currently working on: Eggbot, the <a href="http://www.dallasmakerspace.com/wiki/Traveling_Arc">Jacob’s Ladder</a> and more!</p>
<p><em><strong>Come!</strong></em> And learn about what a Makerspace is; our goals, projects, and purpose.</p>
<p><em><strong>Come!</strong></em> And enjoy a day full of scientific endeavors, artistic pursuits, and innovative thinking!</p>
<p><strong>When:</strong> Saturday, November 20, 2010, from Noon until Midnight<br />
<strong>Where:</strong> Dallas Makerspace, 11020 Audelia Rd, Suite C103, Dallas, TX 75243<br />
<strong><span style="text-decoration: underline;">Note:</span></strong> Make sure to check out the <a href="http://www.dallasmakerspace.com/wiki/Open_House_2010">wiki</a> for a full list of demos, projects and links to a map that will lead you to our doorstep.</p>
<p>View <a href="http://maps.google.com/maps/ms?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;ie=UTF8&amp;hq=&amp;hnear=&amp;t=h&amp;msa=0&amp;msid=105361322093577588319.00048f6328b04f021b448&amp;ll=32.899056,-96.7177&amp;spn=0.003243,0.006856&amp;z=17">Secret Path to DMS</a> in a larger map</p></blockquote>
<div class="shr-publisher-170"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://lickthesalt.com/2010/11/17/dallas-makerspace-open-house/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiling Bitcoin on Ubuntu 10.04 (Lucid)</title>
		<link>http://lickthesalt.com/2010/08/19/compiling-bitcoin-on-ubuntu-10-04-lucid/</link>
		<comments>http://lickthesalt.com/2010/08/19/compiling-bitcoin-on-ubuntu-10-04-lucid/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 07:09:19 +0000</pubDate>
		<dc:creator>AndrewL</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[bitcoin]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sourceforge]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://lickthesalt.com/?p=137</guid>
		<description><![CDATA[In case you don&#8217;t know, Bitcoin is a decentralized crypto-currency or as the site says a &#8220;peer-to-peer network based digital currency&#8221;. While most people have been content to use the pre-compiled binaries available, some of us prefer to compile the client from source, for various reasons. Personally, I maintain a repository on github because I [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>In case you don&#8217;t know, <a href="http://bitcoin.org">Bitcoin</a> is a decentralized crypto-currency or as the site says a &#8220;peer-to-peer network based digital currency&#8221;. While most people have been content to use the pre-compiled binaries available, some of us prefer to compile the client from source, for various reasons. Personally, I maintain <a href="http://github.com/aceat64/bitcoin-patchwork">a repository</a> on github because I like using a number of patches that various programmers have put forth in the Bitcoin community. Whatever your reason for compiling from source, you have likely run into issues with compiling the graphical client since it requires the development version of <a href="http://www.wxwidgets.org/">wxWidgets</a>. After a whole lot of failed attempts to compile the Bitcoin client I finally found a working configuration.</p>
<p><span id="more-137"></span>I have tested this process only on Ubuntu 10.04 (Lucid), both 64 and 32bit. From what I can tell earlier versions of Ubuntu and Debian should work just fine, but with a different set of packages. Specifically the &#8220;libboost-all-dev&#8221; package appears to only be available in Ubuntu 10.04, but the &#8220;libboost-dev&#8221; package may work for earlier versions and/or Debian.</p>
<p>First you need to install the proper packages:<br />
<code><br />
sudo apt-get install build-essential libgtk2.0-dev libssl-dev libdb4.7-dev libdb4.7++-dev libboost-all-dev checkinstall subversion git-core<br />
</code><br />
Next, you will need to download the 2.9 version of wxWidgets from their SourceForge project. I suggest creating a folder in your home directory called &#8220;src&#8221;, where we can compile wxWidgets and Bitcoin. Once the folder has been created we can download the <a href="http://sourceforge.net/projects/wxwindows/files/wxAll/2.9.0/wxWidgets-2.9.0.tar.gz/download">2.9 version of wxWidgets</a> from their SourceForge project, and extract it. I&#8217;ve written out example steps below:<br />
<code><br />
cd ~<br />
mkdir src<br />
cd src<br />
wget "http://downloads.sourceforge.net/project/wxwindows/wxAll/2.9.0/wxWidgets-2.9.0.tar.gz?r=&amp;ts=1282200132&amp;mirror=surfnet"<br />
tar -zxvf wxWidgets-2.9.0.tar.gz<br />
cd wxWidgets-2.9.0/<br />
</code><br />
Now that wxWidgets is extracted, you are ready to begin compiling it. First, create a build directory and change to it.<br />
<code><br />
mkdir buildgtk<br />
cd buildgtk<br />
</code><br />
Now configure and build wxWidgets:<br />
<code><br />
../configure --with-gtk --enable-debug --disable-shared --enable-monolithic<br />
make<br />
</code><br />
We could just run &#8220;sudo make install&#8221;, but that would put a bunch of wxWidget files all throughout your filesystem with no way to easily remove them. Luckily, the checkinstall program allows you to create a Debian package on the fly! This allows you to quickly and easily remove the files installed by wxWidgets. Let&#8217;s get started:<br />
<code><br />
sudo checkinstall<br />
</code><br />
You&#8217;ll probably be prompted to &#8220;create a default set of package docs&#8221;, just go ahead and hit enter. When it prompts you for the package description, just put &#8220;wxwidgets&#8221; without the quotes and hit enter twice. You should have a screen that looks like this:<br />
<code><br />
*****************************************<br />
**** Debian package creation selected ***<br />
*****************************************<br />
This package will be built according to these values:<br />
0 -  Maintainer: [ root@ubuntu ]<br />
1 -  Summary: [ wxwidgets ]<br />
2 -  Name:    [ build ]<br />
3 -  Version: [  ]<br />
4 -  Release: [ 1 ]<br />
5 -  License: [ GPL ]<br />
6 -  Group:   [ checkinstall ]<br />
7 -  Architecture: [ i386 ]<br />
8 -  Source location: [ build ]<br />
9 -  Alternate source location: [  ]<br />
10 - Requires: [  ]<br />
11 - Provides: [ build ]<br />
Enter a number to change any of them or press ENTER to continue:<br />
</code><br />
Select &#8220;3&#8243; for version, then put &#8220;2.9&#8243; as the version number. Once you are back at the package creation menu, hit enter again to install wxWidgets and build the package. Once it&#8217;s done, you will need to run the following command:<br />
<code><br />
sudo ldconfig<br />
</code><br />
Now you are ready to download the Bitcoin source and compile the client! Change back to the &#8220;src&#8221; directory we created earlier:<br />
<code><br />
cd ~/src<br />
</code><br />
If you want to download the latest version of Bitcoin from the official subversion repository, run the following:<br />
<code><br />
svn co https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk bitcoin-trunk<br />
</code><br />
Optionally you can download the source code for a different version of the Bitcoin client, such as from my git repository (with various community patches I&#8217;ve added):<br />
<code><br />
git clone git://github.com/aceat64/bitcoin-patchwork.git<br />
</code><br />
Once the source code has been downloaded you will need to change to the directory of whichever version you picked. Once there you only need to run one command to compile the Bitcoin graphical client:<br />
<code><br />
make -f makefile.unix bitcoin<br />
</code><br />
If you want to compile the bitcoin daemon, the command is:<br />
<code><br />
make -f makefile.unix bitcoind<br />
</code><br />
If everything went well there will be a file called &#8220;bitcoin&#8221; in the current directory. I suggest copying the file to &#8220;/usr/local/bin&#8221; and making sure it&#8217;s owned as root with the permissions 755 so that no one but root can modify it.</p>
<p>If this article helped you out, please send some Bitcoins to the <a href="https://freebitcoins.appspot.com/">Bitcoin Faucet</a> and help spread the word about Bitcoin.</p>
<div class="shr-publisher-137"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://lickthesalt.com/2010/08/19/compiling-bitcoin-on-ubuntu-10-04-lucid/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Phishing attempt via TXT</title>
		<link>http://lickthesalt.com/2009/07/24/phishing-attempt-via-txt/</link>
		<comments>http://lickthesalt.com/2009/07/24/phishing-attempt-via-txt/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 19:46:03 +0000</pubDate>
		<dc:creator>BryanM</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[phishing]]></category>
		<category><![CDATA[verizon]]></category>

		<guid isPermaLink="false">http://lickthesalt.com/?p=115</guid>
		<description><![CDATA[On Wednesday while at dinner I received a text message telling me to call a number to activate my credit card, I knew right away this was a phishing attempt.]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Hey everyone, I was going to post this yesterday, but my internet was on the fritz. On Wednesday while at dinner I received a text message telling me to call a number to activate my credit card, I knew right away this was a phishing attempt. After dinner, I went to the Verizon store right around the corner to see if they had a number for reporting these kinds of things.</p>
<p><span id="more-115"></span>While there, I learned two things, at least one display phone at the store received this message! Second Verizon, at least this particular store, is not aware of this phenomenon at all, except for their display, nor the implications of what this means. Here is the entire message for your viewing pleasure:</p>
<blockquote><p>From: MsgID2_NURM57XF@v.w<br />
Resource One Credit Union Alert: Your CARD has been DEACTIVATED. Please contact us at 214-432-5945 to REACTIVATE.</p></blockquote>
<p>If you are at all tech savvy you will notice a ton of signs this is not legit. We should take a look at the most obvious reasons this is total crap.</p>
<ul>
<li>The email address that sent the message “MsgID2_NURM57XF@v.w” is not real. V.W is not a real domain, no matter how much it looks like Verizon Wireless’ initials that is done on purpose so anyone not critically thinking about the message would believe it is from Verizon.</li>
<li>I am NOT a member of any thing called Resource One Credit Union, and as such should NOT receive any information about a credit card. How is Resource One Credit Union associated with Verizon Wireless anyways? Why would they want to use Verizon Wireless’ initials as part of their email address?</li>
<li>I do NOT have a credit card!</li>
<li> Companies do not send this sort of information via text message. Some companies might use text messages as an informal communication method, but the vast majority of text messages are by individuals to other individuals. Even if I did have a credit card, even with Resource One Credit Union, text messages are not the preferred communication medium. Normally they just lock or close your account and you are unaware until your card it is declined. Then YOU initiate communication with the credit card company, not the other way around.</li>
<li>The Verizon Wireless store’s demo phone received this message. Now of course you may not have gone to Verizon’s store to check this out, but I did. I cannot think of a single reason why a demo phone would receive this message; it does not have a real owner.</li>
</ul>
<p>Please, please if you ever receive a text message or automated phone call or email from someone you do not know, pay attention. I do not want anyone to fall prey to this sort of thing and education is simply the only way.</p>
<p><strong>Update: </strong>July 24, 2009<br />
Ok maybe this is not really an update because I never was able to post this yesterday, but the FTC, to stop the scam, has shut down the number. Woo hoo! The system works!</p>
<div class="shr-publisher-115"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://lickthesalt.com/2009/07/24/phishing-attempt-via-txt/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>5 Tips On Being An Effective Linux Admin</title>
		<link>http://lickthesalt.com/2009/07/21/5-tips-on-being-an-effective-linux-admin/</link>
		<comments>http://lickthesalt.com/2009/07/21/5-tips-on-being-an-effective-linux-admin/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 23:53:23 +0000</pubDate>
		<dc:creator>AndrewL</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[sudo]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://lickthesalt.com/?p=94</guid>
		<description><![CDATA[Earlier this week someone did something very bad, and it got me thinking about what are some of the simple things that make someone an effective Linux admin. While I will not tell you that following my advice will make you some kind of super-admin, it will help you when dealing with Linux servers and [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Earlier this week someone <a href="http://lickthesalt.com/2009/07/06/fail-why-you-should-always-use-visudo/">did something very bad</a>, and it got me thinking about what are some of the simple things that make someone an effective Linux admin. While I will not tell you that following my advice will make you some kind of super-admin, it will help you when dealing with Linux servers and hopefully save you and others from needless headaches. Here are my tips on being an effective Linux admin, in no particular order.</p>
<p><span id="more-94"></span><strong>No1. Backup Files Before Modifying Them</strong></p>
<p>Even if you think you are some kind of Linux god, you should always make backups of critical configuration files. In my time as a Linux admin, I have seen some stupid things, but the dumbest by far is when someone edits an incredibly complex config file and does not back it up first. Oh but you are just making a quick change right, maybe just modifying one line? It does not matter, because eventually you will make a mistake and you will be glad you had the foresight to make that backup first.</p>
<p>Personally, I make a copy of the file in question and append my initials to the end, so &#8220;apache2.conf&#8221; becomes &#8220;apache2.conf.asl&#8221;. The beauty of this method is that other users will know who changed a file and when, because they can simply look at the modify time for the file. Genius, I know.</p>
<blockquote><p>cp apache2.conf apache2.conf.asl</p></blockquote>
<p>It is that easy! There is no reason to skip this step before modifying your configuration files.</p>
<p><strong>No2. Comment, Comment, Comment</strong></p>
<p>I am somewhat OCD when it comes to commenting. I comment religiously for a reason: I have a terrible memory. More than once I have been looking at something I have written or changed and wondered, WTF was I thinking. Commenting allows me to remember why I did something, or what it does. This is especially important when writing scripts or programs.</p>
<p>Comments are important when you are doing work on a customer&#8217;s server. Every time I make a configuration change for a customer, I put in a comment with the date, why I am changing the setting, the ticket ID# for the issue and my initials. This makes it easy for the customer or a technician to find information about the particular change made if there is ever an issue with it in the future.</p>
<p><strong>No3. Documentation</strong></p>
<p>Where I work, we have some older servers that were setup by &#8220;The UNIX God&#8221;. This particular individual was given that title by someone in the company that had almost no *NIX knowledge. He left his mark on our systems in a number of ways that we are still paying the price for, so I have a number of colorful names that I use to refer to him.</p>
<p>Documentation is important. Imagine the following situation, it is 3am, your boss calls you in a panic, a mission critical server is down, he wants you up at the datacenter or office to take care of it right now. When you get to the datacenter, you find out the server is not down, it is dead, and I am talking power supply caught fire and killed every component. The motherboard is toast, the raid array you watched slowly build is completely shot. No worries, this is why you have backups. You will just have to load an OS on a new box, load up the right services and then restore the data.</p>
<p>However, there is a problem; you do not know all the details of this server&#8217;s configuration. You backed up the data and the config files, but you do not have a full image of the OS. You have no idea what specific packages, utilities and libraries your company&#8217;s custom written programs require. If you documented the steps taken to install the OS and every service when the system was first setup, you are golden; you just open up the documentation and retrace your steps. If you do not have documentation, you are looking forward to a long sleepless night of setting up services and then wadding through error messages to figure out what library you have overlooked.</p>
<p>Having good documentation is a lot easier then most people realize, all that&#8217;s really needed is a wiki. MediaWiki is easy to setup and easy to use, it is the software that powers Wikipedia. MediaWiki only needs Apache, PHP and MySQL, and has a huge support community and wiki with documentation. Grab a copy of <a href="http://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a> and get it installed.</p>
<p>Next, create a page in your new wiki for each server, project, or cluster you setup. It does not have to be terribly complex, some of mine are simply a list of commands I ran with some basic comments about what the more obscure ones do or why they are required.</p>
<p>Do not forget to keep it up-to-date! Whenever you change something big, or small, be sure you update the wiki to reflect the change.</p>
<p><strong>No4. Google</strong></p>
<p>This one should be obvious; Google search is your friend. It is usually very rare that you will come across an issue that no one else in the world has ever run into before. Which means that there is a good chance that no matter what is broken, someone, somewhere, has already found out the solution to the problem.</p>
<p>Effectively finding what you need is hard for some people. Sometimes your search turns up useless results, nothing at all, or worse yet bad advice. Unless the answer is coming from an authoritative source, like the official <em>documentation</em> (there is that word again), or from someone involved with the software, be wary. You should know not only <em>what</em> the command or setting will do, but <em>why</em> it will work. If you remember to make backups, you will be just fine, even if someone gives you bad advice.</p>
<p><strong>No5. Break Things (and then rebuild them)</strong></p>
<p>I am not saying you should go out and break critical infrastructure, as fun as that sounds. What you should do is setup replicas of existing systems and see if you have all the information and tools necessary to rebuild the system. If you can, without cheating, setup a similar system, then the documentation is good and you now have experience in replacing the server if it should die. If for some reason you cannot recreate the system with the available information, then something is obviously missing from the documentation, find what is missing and properly document it.</p>
<p>Another fun exercise is to clone a server, and then have a friend break a configuration file or two. If you want to be thorough, have them reset all the timestamps in /etc so you cannot do something like this:</p>
<blockquote><p>find /etc -mtime -1</p></blockquote>
<p>That will show you a list of files modified in the last day, it is an incredibly useful command if you know someone has been messing with files and you want to know which files.</p>
<p>That is all the advice I have for now. If you have any suggestions for an article, such as a tutorial for a specific piece of software or issue, please post a comment below.</p>
<div class="shr-publisher-94"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://lickthesalt.com/2009/07/21/5-tips-on-being-an-effective-linux-admin/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Windows 7: The Top 5 Things I like</title>
		<link>http://lickthesalt.com/2009/07/06/windows-7-the-top-5-things-i-like/</link>
		<comments>http://lickthesalt.com/2009/07/06/windows-7-the-top-5-things-i-like/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 22:27:25 +0000</pubDate>
		<dc:creator>BryanM</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[toplist]]></category>
		<category><![CDATA[windows 7]]></category>

		<guid isPermaLink="false">http://lickthesalt.com/?p=80</guid>
		<description><![CDATA[I have been running Windows 7 as my primary and only OS on my desktop and laptop for several months. I have no plans of going back to XP. This OS is rock-solid stable and fast. Great hardware support and new features and enhancements on old features make it by far the most attractive OS on the horizon, as far as I am concerned. I am, without a doubt, planning to purchase Windows 7 Ultimate when it releases, too bad it is not available for half off preorder. Here are my own top 5 reasons why Windows 7 is awesome...]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I have been running Windows 7 as my primary and only OS on my desktop and laptop for several months. I have no plans of going back to XP. This OS is rock-solid stable and fast. Great hardware support and new features and enhancements on old features make it by far the most attractive OS on the horizon, as far as I am concerned. I am, without a doubt, planning to purchase Windows 7 Ultimate when it releases, too bad it is not available for half off preorder. Here are my own top 5 reasons why Windows 7 is awesome.</p>
<p><span id="more-80"></span><strong>No5. The Task Bar</strong><br />
Everyone and their dog have written about how nice and neat the new task bar is. I am thoroughly pleased with the changes that Microsoft has made to the task bar. I like the large hit area for launching and switching applications, the color changing behind the icon, the live Aero Peek thumbnail and tabbed Aero Peek support, the download or status background, the tabs it uses to show multiple applications. Launching and switching applications is so easy because of the large hit areas and the applications are easier than ever to distinguish with their extra large icons. The color change behind the icons when you mouse over is a nice aesthetic touch, if nothing else, and brings a level of depth to the buttons. I like the live thumbnail preview provided by Aero Peel and the previews are quite a bit larger than before and are click able. You can use them to close specific instances of an application or, of course, bring up a certain program. While I do genuinely like the new task bar, it has some shortcomings, but that is another post.</p>
<p><strong>No4. Resource Monitor</strong><br />
Any power user will undoubtedly see the potential in Resource Monitor. It is a cross between Sysinternal&#8217;s Process Explorer, TCPView and Filemon. Not sure what is tanking your CPU? Open up Task manager and see, but if you need any more information than that, you want Resource Monitor. Want to know where your Network Bandwidth is going? Again, Resource Monitor is there for you. Curious about your Disk I/O or what is writing to the disk, again Resource Monitor. The more I use it the more useful I find it. You can drill down on applications and find out about the threads and each handle and service associated with it. Oh, also, thank you Windows Vista for this feature.</p>
<p><strong>No3. The Hardware Support </strong><br />
Many critics claim that Windows Vista has very poor hardware support. In my experience, I have found that to be somewhat true. For the most part, it is not Microsoft&#8217;s fault, but they do take most of the flack for it. I was working retail computer sales when Windows Vista hit shelves. I remember quite a few people coming to the store only a few weeks after Vista&#8217;s release complaining that X, Y and Z did not work on their new computer.  At first, I thought it would be a simple issue of directing the customer to the Manufacture&#8217;s website to download the latest drivers, but I soon found this was not going to work. Many, many manufactures seemed to relish the opportunity to force customers to upgrade to the Windows Vista version of their product.</p>
<p>I have found that hardware support is superb with Windows 7. After the initial install of Windows 7 Windows Update automatically detected every single piece of hardware in the computer, except one, downloaded and installed the proper driver. It detected my Nvidia graphics card, my Dlink Wireless card, my motherboard chipset. Everyone I know that has installed Windows 7 has had the exact same results. The ONLY piece of hardware it did not install drivers for was my Creative sound card. I found the driver on Creative&#8217;s website. While it did detect the driver, the graphics card driver was not up to date, no problem I just installed the Windows Vista x64 driver. Two years after the release of Vista it seems every component made supports Vista x86 and Vista X64 and those drivers, in my own experience, work just fine with Windows 7.</p>
<p><strong>No2. The Speed</strong><br />
Windows 7 is FAST. In comparison to Windows Vista, well actually I cannot make that comparison. I have never run 7 and Vista on the same hardware. I built a new system and the only OS that has been on it is 7 beta and 7 RC. At first, I thought it was the new box, but then I installed 7 on my laptop. My laptop is 3 years old now, a core duo 1.66GHz with 2 GB of ram. Windows 7 is faster than XP as far as boot and shut down are concerned. Applications seem to launch faster, but I must admit, this is ALL subjective. I never timed anything before or after I installed Windows 7. To further complicate the issues a fresh install over will always seem faster than a bloated install, my XP install I blew away was by no definition of the word lean.  It could be a complete case of confirmation bias, or worse yet, all in my head, but it really does feel faster. After reading quite a few articles online, I feel somewhat vindicated in my belief that the OS is, in fact, faster than Vista and potentially faster than XP.</p>
<p><strong>No1. It&#8217;s not Vista!</strong><br />
Macintosh has successfully demonized Vista so well with their &#8220;I&#8217;m a Mac, I&#8217;m a PC&#8221; commercials, more power to them, that no one will touch it with a ten-foot pole. I am not going to go into the shortcomings of Vista beyond the atrociously poor PR. Vista&#8217;s biggest down fall has the potential to be Windows 7&#8242;s greatest achievement &#8212; it is not Windows Vista! Competition breeds excellence and the heat Mac has put on Microsoft lately has really put Microsoft in the mood to play hardball and it shows in Windows 7. Let us just hope people understand Windows 7 is not just a rehash of Windows Vista with all the same, &#8220;problems.&#8221;</p>
<p>Of course, like always, if you have any feedback or comments I welcome them.</p>
<div class="shr-publisher-80"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://lickthesalt.com/2009/07/06/windows-7-the-top-5-things-i-like/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FAIL: Why you should ALWAYS use visudo</title>
		<link>http://lickthesalt.com/2009/07/06/fail-why-you-should-always-use-visudo/</link>
		<comments>http://lickthesalt.com/2009/07/06/fail-why-you-should-always-use-visudo/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 18:39:38 +0000</pubDate>
		<dc:creator>AndrewL</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sudo]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://lickthesalt.com/?p=76</guid>
		<description><![CDATA[It&#8217;s time for a short rant about proper Linux administration. Someone, who shall not be named, manually edited the /etc/sudoers file and broke it on a critical server. In case you don&#8217;t know, on Linux sudo allows you to run commands as the root (Administrator) user, and the sudoers file determines who can use sudo [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>It&#8217;s time for a short rant about proper Linux administration. Someone, who shall not be named, manually edited the /etc/sudoers file and broke it on a critical server. In case you don&#8217;t know, on Linux sudo allows you to run commands as the root (Administrator) user, and the sudoers file determines who can use sudo and what they can do with it.</p>
<p><span id="more-76"></span>When editing the sudoers file you have to be careful, if you make a change that breaks the file you can potentially lock yourself out of being able to fix the file. That&#8217;s what happened today, after the change to the sudoers file any attempt to use sudo returned this error:</p>
<blockquote><p>&gt;&gt;&gt; sudoers file: syntax error, line 6 &lt;&lt;&lt;<br />
&gt;&gt;&gt; sudoers file: syntax error, line 8 &lt;&lt;&lt;<br />
sudo: parse error in /etc/sudoers near line 6</p></blockquote>
<p>On this particular system users can only gain root access by using sudo, there is a root password but for some unfathomable reason no one knows the password. So I was tasked with rebooting the server, breaking into it and then fixing the sudoers file. Normally on Debian there&#8217;s a helpful boot option that takes you right into a command prompt as root, unless of course you have a password set and don&#8217;t know the password. So I resorted to the less elegant method of specifying init=/bin/bash as a boot option.</p>
<p>Once I had root access I used visudo to fix the sudoers file. Why visudo? Because that&#8217;s the program <strong>YOU ARE SUPPOSED TO USE</strong>. Yes I am a bit angry, because the person that broke this server <strong>should have known better</strong>. Visudo is a lovely little program that checks the syntax of the sudoers file before you save it so that if you do something monumentally stupid you&#8217;ll know about it before it becomes a problem and prevents you from getting back into the system as root.</p>
<p>Later this week I&#8217;ll be posting an article with my list of good Linux administration habbits you&#8217;ll want to ingrain into your skull.</p>
<p>So far the week is off to a great start.</p>
<div class="shr-publisher-76"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://lickthesalt.com/2009/07/06/fail-why-you-should-always-use-visudo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Firefox 3.5: Impatiently Waiting</title>
		<link>http://lickthesalt.com/2009/07/01/firefox-3-5-impatiently-waiting/</link>
		<comments>http://lickthesalt.com/2009/07/01/firefox-3-5-impatiently-waiting/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 07:05:56 +0000</pubDate>
		<dc:creator>AndrewL</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sourceforge]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://wedontsupportyou.com/?p=75</guid>
		<description><![CDATA[In case you have been living under a rock, Firefox 3.5 came out today (well technically yesterday). I&#8217;ve noticed a lot of people wondering how they can get it running smoothly on Ubuntu. Never fear, after much trial and error (a lot of error) I&#8217;ve found what I think should be the easiest way to [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>In case you have been living under a rock, Firefox 3.5 came out today (well technically yesterday). I&#8217;ve noticed a lot of people wondering how they can get it running smoothly on Ubuntu. Never fear, after much trial and error (a lot of error) I&#8217;ve found what I think should be the easiest way to install the latest version of Firefox. So if you are just as impatient as I am, you can rejoice in the all the cool new features.</p>
<p><span id="more-75"></span>First up, I used a script called <a href="http://ubuntuzilla.wiki.sourceforge.net/" target="_blank">Ubuntuzilla</a>, it takes care of virtually all the dirty work. Personally, I like it because whenever Ubuntu gets around to adding Firefox 3.5 to the official repositories (I don&#8217;t count <a href="http://www.mozilla.org/projects/minefield/" target="_blank">Minefield</a>)  you can simply use Ubuntuzilla to remove your &#8220;unofficial&#8221; version of Firefox and use Ubuntu&#8217;s packaged version again.</p>
<p>Before you install Ubuntuzilla, we&#8217;ll need to install some dependencies. So open up a terminal and run the following command, which will install the dependencies from Ubuntu&#8217;s repository. If you don&#8217;t know how to use the terminal, you probably want to stop and go read the wonderful guide at <a href="http://linuxcommand.org/" target="_blank">linuxcommand.org</a> first.</p>
<blockquote><p>sudo apt-get install libstdc++5 libnotify-bin</p></blockquote>
<p>Next, you&#8217;ll need to know if you are running the 32bit or 64bit version of Ubuntu. The quickest way will be to run this in your terminal:</p>
<blockquote><p>uname -a</p></blockquote>
<p>The part we&#8217;re looking for is near the very end of the line. If it says &#8220;i686&#8243; you are using 32bit, if it says &#8220;x86_64&#8243; you&#8217;re using 64bit. Now that you know what version of Ubuntu you are running it&#8217;s time to download and install Ubuntuzilla.</p>
<p>For 32bit, we run:</p>
<blockquote><p>wget http://softlayer.dl.sourceforge.net/sourceforge/ubuntuzilla/ubuntuzilla-4.6.1-0ubuntu1-i386.deb<br />
sudo dpkg -i ubuntuzilla-4.6.1-0ubuntu1-i386.deb</p></blockquote>
<p>For 64bit:</p>
<blockquote><p>wget http://softlayer.dl.sourceforge.net/sourceforge/ubuntuzilla/ubuntuzilla-4.6.1-0ubuntu1-amd64.deb<br />
sudo dpkg -i ubuntuzilla-4.6.1-0ubuntu1-amd64.deb</p></blockquote>
<p>Once it&#8217;s installed, you just run this command and follow the prompts (it&#8217;s pretty straightforward):</p>
<blockquote><p>sudo ubuntuzilla.py</p></blockquote>
<p>If everything went smoothly, you can open up Firefox as normal and it will be version 3.5! Of course, if you&#8217;re like me and you use subpixel smoothing (known as ClearType on Windows) the fonts in Firefox might look, well, ugly. Don&#8217;t worry though, we can fix it!</p>
<p>NOTE: This step is COMPLETELY OPTIONAL, this is only for users who need subpixel smoothing for their fonts. We&#8217;re going to create a file in our home directory called &#8220;.fonts.conf&#8221; and put in some configuration options to tell Firefox (and other programs that don&#8217;t listen to Gnome&#8217;s font settings) that we want smooth, beautiful fonts. From the terminal, run the following</p>
<blockquote><p>gedit ~/.fonts.conf</p></blockquote>
<p>That will open up our text editor (gedit), now put this into the file, save it, and close gedit.</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243;?&gt;<br />
&lt;!DOCTYPE fontconfig SYSTEM &#8220;fonts.dtd&#8221;&gt;<br />
&lt;fontconfig&gt;<br />
&lt;match target=&#8221;font&#8221; &gt;<br />
&lt;edit mode=&#8221;assign&#8221; name=&#8221;rgba&#8221; &gt;<br />
&lt;const&gt;rgb&lt;/const&gt;<br />
&lt;/edit&gt;<br />
&lt;/match&gt;<br />
&lt;match target=&#8221;font&#8221; &gt;<br />
&lt;edit mode=&#8221;assign&#8221; name=&#8221;hinting&#8221; &gt;<br />
&lt;bool&gt;true&lt;/bool&gt;<br />
&lt;/edit&gt;<br />
&lt;/match&gt;<br />
&lt;match target=&#8221;font&#8221; &gt;<br />
&lt;edit mode=&#8221;assign&#8221; name=&#8221;hintstyle&#8221; &gt;<br />
&lt;const&gt;hintfull&lt;/const&gt;<br />
&lt;/edit&gt;<br />
&lt;/match&gt;<br />
&lt;match target=&#8221;font&#8221; &gt;<br />
&lt;edit mode=&#8221;assign&#8221; name=&#8221;antialias&#8221; &gt;<br />
&lt;bool&gt;true&lt;/bool&gt;<br />
&lt;/edit&gt;<br />
&lt;/match&gt;<br />
&lt;/fontconfig&gt;</p></blockquote>
<p>Please note, these settings are specifically to enable full smoothing, I&#8217;m not sure what the settings would be for medium or slight smoothing. If anyone knows, please post in the comments and I&#8217;ll update this post.</p>
<p>If you run into any trouble, drop me a line in the comments and I&#8217;ll try to help you out. Now go have fun surfing the web <img src='http://lickthesalt.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Update 7/12:</strong></p>
<p>Thank you Antsu for providing the settings for slight and medium smoothing.</p>
<p>For slight smoothing:</p>
<blockquote><p>&lt;match target=”font” &gt;<br />
&lt;edit mode=”assign” name=”hintstyle” &gt;<br />
&lt;const&gt;hintslight&lt;/const&gt;<br />
&lt;/edit&gt;<br />
&lt;/match&gt;</p></blockquote>
<p>and for medium smoothing:</p>
<blockquote><p>&lt;match target=”font” &gt;<br />
&lt;edit mode=”assign” name=”hintstyle” &gt;<br />
&lt;const&gt;hintmedium&lt;/const&gt;<br />
&lt;/edit&gt;<br />
&lt;/match&gt;</p></blockquote>
<div class="shr-publisher-75"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://lickthesalt.com/2009/07/01/firefox-3-5-impatiently-waiting/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tweaking Nagios For Performance</title>
		<link>http://lickthesalt.com/2009/04/19/tweaking-nagios-for-performance/</link>
		<comments>http://lickthesalt.com/2009/04/19/tweaking-nagios-for-performance/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 01:16:30 +0000</pubDate>
		<dc:creator>AndrewL</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://wedontsupportyou.com/?p=60</guid>
		<description><![CDATA[The company I work for has about 3,000 servers that need to be monitored in our Dallas datacenter. For the past few years we&#8217;ve been using a fairly standard Nagios setup. If you don&#8217;t take the time to really learn Nagios and tweak the config files it&#8217;ll run fairly well, until you are monitoring more [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>The company I work for has about 3,000 servers that need to be monitored in our Dallas datacenter. For the past few years we&#8217;ve been using a fairly standard Nagios setup. If you don&#8217;t take the time to really learn Nagios and tweak the config files it&#8217;ll run fairly well, until you are monitoring more then a few hundred servers. The reason that Nagios slows down when checking 300+ servers is that it stores all state/check information in a flat text file on the system&#8217;s hard drive. When you have only a few servers and services to check it&#8217;s not so bad, but when you the more you add, the more IOPS you&#8217;ll see. At 3,000 servers disk IO is a <strong>huge</strong> bottleneck.</p>
<p>A lot of systems will be fairly responsive but show a really high load average, this is because of IO wait. Fortunately, the guy who setup Nagios at our DC was smart enough to realize we had a massive issue with disk IO and so he had everything running off 4x 15k RPM SCSI drives with a hardware RAID 10. Unfortunately, even with the fairly substantial hardware Nagios still took nearly 20 minutes to check every system in the datacenter. For a while, this was considered acceptable, because we didn&#8217;t want to pay thousands of dollars for a commercial system and this particular admin was convinced that Nagios was running as fast as possible for now and that maybe the Nagios developers would speed things up in a later version.</p>
<p><span id="more-60"></span>The old Nagios system grabbed it&#8217;s information about what to monitor from a program we had called &#8220;Server Locator&#8221;, which would soon be replaced with a database in Microsoft&#8217;s SharePoint. So it fell to me to modify our existing Nagios system to grab it&#8217;s configuration information from SharePoint instead of Server Locator. I had just recently been promoted to Jr. Admin, so I hadn&#8217;t had a chance to look at Nagios and see how things were setup. I took one look at the system and decided it would be easier to setup a new one, on my terms. This meant that I could do things my way (hopefully that means the right way), and the old system could be kept ready in case the swichover didn&#8217;t go smoothly.</p>
<p>The first thing I looked into using was a distributed Nagios setup, but after only a day of playing with it I ran into a huge problem. It was <strong>slow, really slow</strong>, and I had no idea why. I had 3 boxes setup, the main system was called <em>mother.nag</em>, the others were named after the phases (sections of the datacenter) that they would be monitoring. Eventually I discovered that the problem was due to how Nagios communicated back to the main server. A daughter server (mother/dauther, get it? I know I&#8217;m clever) would perform a service check, and then report the result back to the mother server. Even if the check itself took only a fraction of a second, the entire exchange would always take at least 1 second. While this alone wasn&#8217;t a huge issue, it was some fairly signifigant overhead. The real problem was that during the time that Nagios on the daughter server was communicating with the mother server it was doing <strong>nothing else</strong>. For some reason, during the communication it wouldn&#8217;t do anything else, such as performing other service checks. This meant that if there were 300 servers in a phase (about average) it would take 5 minutes to scan the entire phase and report back.</p>
<p>Maybe I&#8217;m just weird, but to me this was unacceptable, I knew Nagios could do things faster. The servers showed almost no load, or network traffic during normal operation, there was no reason why one system shouldn&#8217;t be able to monitor everything in the datacenter. So I went back to the drawing board. Then it hit me, the system we had before only really had issues with disk IO, so what if I could just cut out that bottleneck, how fast would things go? So I moved the all the files nagios uses to a ramdisk, and then setup a quick cron-job to save them to disk once a minute.</p>
<blockquote><p># m h  dom mon dow   command<br />
*/5 *   *   *   *    /usr/bin/rsync -a /dev/shm/ /var/nagios3/; rm /var/nagios3/lib/spool/checkresults/*; rm /var/nagios3/cache/nagios.tmp*; rm -rf /var/nagios3/nagios-config-*; chgrp www-data /dev/shm/lib/rw/nagios.cmd;</p></blockquote>
<p>The server I had setup was using Ubuntu, which means it has a ramdisk mounted at /dev/shm. The ramdisk is allowed to use up to half of the memory in the system, which was fine with me since I had 2GB of ram and in total all the configuration files and cache files for Nagios came out to a whopping 16MB.</p>
<p>With Nagios now using the ramdisk I decided to test it out by monitoring the everything in the datacenter. Why start small, if I was right this would be <em>really fast</em>, and sometimes I just love being recklessly over-confident in my ideas. So I started up Nagios and watched it make a scan of the datacenter. Once it was done I was disappointed, it was still taking too long, it took nearly 5 minutes to complete the scan of the datacenter. I was disappointed because even though I was now showing a 300% increase in speed over the original Nagios setup I noticed that my test box still have virtually no load while running the service checks. I knew I could make it go faster, but how would I do it?</p>
<p>So I decided to throughly read the parts of the Nagios manual that I had glossed over, namely the section that deals with scheduling of host/service checks. I figured the issue was that the system just wasn&#8217;t scheduling enough checks to happen in parrallel. This was backed up by the performance data, which showed that while my <em>Check Execution Time</em> was low (around 0.105 seconds on average) my <em>Check Latency</em> was much higher (I believe around 10 seconds or so on average). After much testing and tweaking I finally found the perfect settings. Please note, that the system I am running Nagios on has two dual-core Xeon processors. This is important to keep in mind, because the settings below will cause Nagios to spawn <strong>hundreds</strong> of processes at the same time. I strongly recommend you get as many cores (real cores, not hyper-threading) in your monitoring system so that you can make the most out of this setup.</p>
<blockquote><p>service_inter_check_delay_method=0.01<br />
service_interleave_factor=s<br />
host_inter_check_delay_method=0.02<br />
max_concurrent_checks=0<br />
use_large_installation_tweaks=1</p></blockquote>
<p>I set the <em>Service Inter-Check Delay</em> to a static 0.01 seconds, so that checks would happen as fast as possible. Combined with the <em>Max Concurrent Checks</em> set unlimited, this means that Nagios spawns processes for service checks like it&#8217;s Zerg rushing. Luckily, the system&#8217;s 4 cores handle everything pretty well. We only monitor one or two services (by default) for each server, so I didn&#8217;t care too much about service interleaving, I left it up to Nagios to determine how to interleave service checks. Using <em>Large Installation Tweaks </em>is pretty standard for large Nagios installs, so you should already have that set. With these settings, and everything in the /dev/shm ramdisk, Nagios can now monitor every system in our datacenter in about <strong>50 seconds</strong>. Yes, that&#8217;s right, we can monitor the entire datacenter <strong>once a minute</strong>.</p>
<div id="attachment_66" class="wp-caption aligncenter" style="width: 310px"><a href="http://lickthesalt.com/wp-content/uploads/2009/04/dashboard.jpg"><img class="size-medium wp-image-66 " title="Dashboard" src="http://lickthesalt.com/wp-content/uploads/2009/04/dashboard-300x225.jpg" alt="This screen lists out servers that are down (white means it's down but acknowledged)" width="300" height="225" /></a><p class="wp-caption-text">This screen lists out servers that are down (white means it&#39;s down but acknowledged)</p></div>
<p>I decided that in order to not overload customer&#8217;s servers with traffic, that by default we&#8217;ll run a service check every 3 minutes. If the a problem is detected, the interval for that service/host drops down to 1 minute until the service/host is determined to be in a &#8220;hard down&#8221; state. The best part is that because the old Nagios was so slow, we purchased a commercial system (Site Scope) to monitor the core infrastructure. About a week after my Nagios seutp went live it detected that the webserver that ran our main website went down, and so it sent out alerts to our blackberries. The commercial solution alerted us <strong>4 minutes later</strong>. I was told that our CEO was extremely impressed with how quickly Nagios was able to detect and report the issue.</p>
<div id="attachment_67" class="wp-caption aligncenter" style="width: 310px"><a href="http://lickthesalt.com/wp-content/uploads/2009/04/dashboard_good_job.jpg"><img class="size-medium wp-image-67 " title="Dashboard Good Job" src="http://lickthesalt.com/wp-content/uploads/2009/04/dashboard_good_job-300x225.jpg" alt="Good job, here is a lolcat" width="300" height="225" /></a><p class="wp-caption-text">Good job, here is a lolcat</p></div>
<p>If you have any questions, feel free to use the comments section.</p>
<div id="attachment_167" class="wp-caption aligncenter" style="width: 310px"><a href="http://lickthesalt.com/wp-content/uploads/2009/04/lolcat_this_is_mah_job.jpg"><img src="http://lickthesalt.com/wp-content/uploads/2009/04/lolcat_this_is_mah_job-300x236.jpg" alt="" title="This is mah job" width="300" height="236" class="size-medium wp-image-167" /></a><p class="wp-caption-text">This is mah job</p></div>
<div class="shr-publisher-60"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://lickthesalt.com/2009/04/19/tweaking-nagios-for-performance/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>

