<?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>Evan Hoffman&#039;s silly writings.</title>
	<atom:link href="http://www.evanhoffman.com/evan/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.evanhoffman.com/evan</link>
	<description>When 3-nines uptime is just way too much.</description>
	<lastBuildDate>Wed, 01 Sep 2010 17:25:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Converting Exchange 2003 conference rooms to Exchange 2010</title>
		<link>http://www.evanhoffman.com/evan/2010/09/01/converting-exchange-2003-conference-rooms-to-exchange-2010/</link>
		<comments>http://www.evanhoffman.com/evan/2010/09/01/converting-exchange-2003-conference-rooms-to-exchange-2010/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 17:25:27 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[exchange 2003]]></category>
		<category><![CDATA[exchange 2010]]></category>
		<category><![CDATA[mailbox]]></category>
		<category><![CDATA[room]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=589</guid>
		<description><![CDATA[I&#8217;m wrapping up moving mailboxes to Exchange 2010. The last ones to be moved (except for BlackBerry users&#8230; thanks BES) are the conference rooms. So the first step was to move them using the Local Move tool, which was pretty simple. But I don&#8217;t want them in 2010 as user mailboxes if they can be [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m wrapping up moving mailboxes to Exchange 2010.  The last ones to be moved (except for BlackBerry users&#8230; thanks BES) are the conference rooms.  So the first step was to move them using the Local Move tool, which was pretty simple.  But I don&#8217;t want them in 2010 as user mailboxes if they can be designated as &#8220;rooms,&#8221; which they can.  So here&#8217;s how I&#8217;m doing it:</p>
<p><strong>Identify the mailboxes to be moved</strong></p>
<p>Once you figure out the syntax for the &#8220;-Filter&#8221; flag to get-mailbox, this is easy</p>
<pre>
[PS] C:\Windows\system32>get-mailbox -filter { (RecipientTypeDetails -eq "UserMailbox") -and ( DisplayName -like "*conference*") }

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
Conference Room2          ConferenceRoom2      exch2010be1      unlimited
Production Conference ... productionconf       exch2010be1      unlimited
Conference Room 1         conference1          exch2010be1      unlimited
L&#038;D Conference Room       ldconference         exch2010be1      unlimited
Tech Conference Room      techconference       exch2010be1      unlimited
Client Services Confer... csconference         exch2010be1      unlimited
Suite 202 Conference Room 202conf              exch2010be1      unlimited
</pre>
<p><strong>Convert them to rooms</strong></p>
<p>As Microsoft says in <a href="http://technet.microsoft.com/en-us/library/bb201749.aspx">this story about converting mailboxes to rooms</a>, this can only be done via Exchange Management Shell (not EMC), so just pipe the output from the previous command to <code>Set-Mailbox -Type Room</code>:</p>
<pre>[PS] C:\Windows\system32>get-mailbox -filter { (RecipientTypeDetails -eq "UserMailbox") -and ( DisplayName -like "*confe
rence*") } | set-mailbox -type room
[PS] C:\Windows\system32>
</pre>
<p>Done!  Now when you create an appointment in Outlook 2007, in Scheduling Assistant, you can click the &#8220;Add Room&#8221; button to add a room.  Hooray.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/09/01/converting-exchange-2003-conference-rooms-to-exchange-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A less insidious way to use Facebook?</title>
		<link>http://www.evanhoffman.com/evan/2010/08/28/a-less-insidious-way-to-use-facebook/</link>
		<comments>http://www.evanhoffman.com/evan/2010/08/28/a-less-insidious-way-to-use-facebook/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 12:58:19 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[rants]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=577</guid>
		<description><![CDATA[I deactivated my Facebook account a couple of months ago. I just kind of got tired of seeing silly updates from friends and &#8220;friends&#8221; &#8211; people I&#8217;d friended but wasn&#8217;t really friends with. I was also frustrated by the privacy implications of using such a service: you tell it about yourself, you tell it about [...]]]></description>
			<content:encoded><![CDATA[<p>I deactivated my Facebook account a couple of months ago.  I just kind of got tired of seeing silly updates from friends and &#8220;friends&#8221; &#8211; people I&#8217;d friended but wasn&#8217;t really friends with.  I was also frustrated by the privacy implications of using such a service: you tell it about yourself, you tell it about who you know and how you know them, you keep adding more information about you and your friends to its huge brain that it&#8217;s free to use or abuse however it wants.  </p>
<p>I don&#8217;t know if I&#8217;m anti-&#8221;Social&#8221; or just antisocial but most of the info streaming into my Facebook feed was just not interesting to me.  I could have hidden those people, but then it seemed like it would make more sense simply to remove the connection to them, if I didn&#8217;t want to see their updates.  I actually went through my list of connections and started removing people &#8211; people I knew from high school and hadn&#8217;t spoke to since then until they added me on Facebook, and then continued not talking to them, and other people who I knew but didn&#8217;t really interact with, online or offline.  I didn&#8217;t really care about what they had to say and it occurred to me that they didn&#8217;t care what I had to say.  Why did we friend even each other in the first place?  Well, the friend suggester (suggestor?) makes it easy to friend people who are only tangentially related, since its whole purpose is to find new people for you to add.  </p>
<p>I remember there was one person from school whom I hadn&#8217;t spoken to since probably 4th grade.  This person attempted to friend me 5 times on FB (Soandso wants to be your friend&#8230;) and each time I clicked &#8220;Ignore,&#8221; but on the 6th time I finally relented.  After 2 weeks of inane updates I unfriended the person.  Within a month I was getting requests to refriend.  Why?  I don&#8217;t know you, you don&#8217;t know me, what&#8217;s to be gained by us pretending to be e-friends?</p>
<p>So I had some fundamental problems with Facebook.  In addition to the friending of barely-friends, the feeding of so much information into the Facebook brain was starting to bother me.  This is pretty similar to my <a href="/evan/?p=515">worries about Google&#8217;s reach</a>; basically every bit of information you post to Facebook to share with &#8220;friends&#8221; is also being added to Facebook&#8217;s marketing profile about you and your friends.  The more you use the service, the more they know about you.  And all those &#8220;Like&#8221; buttons all over the internet &#8211; a way for you to inform your Facebook friends that you like a blog post or news story &#8211; those are just a way for Facebook to know what sites you&#8217;re visiting.  Whether you click the &#8220;like&#8221; button or not, your browser is loading the button of their servers, which means Facebook is reading your cookie and knows that YOU visited the page.  This annoyed me so much that I edited my /etc/hosts file to redirect www.facebook.com to 127.0.0.1 (my own computer) where I&#8217;m running Apache, so the Like buttons just render as 404 errors now:</p>
<p><a href="http://www.evanhoffman.com/evan/wp-content/uploads/2010/08/NotFound.png"><img src="http://www.evanhoffman.com/evan/wp-content/uploads/2010/08/NotFound.png" alt="" title="NotFound" width="655" height="159" class="aligncenter size-full wp-image-580" /></a></p>
<p>But I&#8217;m fine with that.  I&#8217;ve also set my browser to reject all cookies from *.facebook.com.  I realize this is just a drop in the ocean of data for Facebook, but screw them.  Even with my account disabled they were collecting data about me, and that just pissed me off.  But much like Google, Facebook&#8217;s tracking ability transcends browsers and computers, since in order to use their service you need to log in, and thus your movements around the internet can be tracked regardless of which computer or device you&#8217;re using.</p>
<p>Facebook wasn&#8217;t a completely worthless service for me.  I found the photo album feature very useful.  It was a great way to upload pictures and share them instantly with whomever wanted to see them.  In my case this was usually my family plus a few friends.  I doubt anything will top Facebook for this because these people are already on Facebook, and for something to come along that&#8217;s better at this than Facebook, these people would need to move to the new platform, which as of today doesn&#8217;t seem likely.  </p>
<p>Photo sharing is the one thing I miss.  I haven&#8217;t stopped taking pictures but it&#8217;s a much clumsier process now to share them with people.  I put them in an album in Picasa, upload it to PicasaWeb, set the permissions on the album, send out the invitations.  The recipients then have to click on a private link to get to the pictures, and if they want to see them again in the future, they need to dig through their inbox to find the link and click on it again.  Not everybody uses Gmail, and even for those who do, this is just a clunky process.  With Facebook albums, if the album is shared with someone, all they have to do is click on me and then click on my list of albums to see the pictures.  Easy.  I&#8217;m considering returning to Facebook just to get the photo album back.</p>
<p>So I was thinking that if I could restrict myself to using only the Facebook iPhone app, I&#8217;d still be able to take the occasional picture with the phone, upload it for people to see, and not fall prey to the tracking cookie problems I described above, since (I&#8217;m assuming) the Facebook app and Safari don&#8217;t share data.  At least, not yet.  </p>
<p>That idea prompted me to write this post in the first place, but as I&#8217;ve been writing it it occurred to me that it&#8217;s not really a workable plan.  If I&#8217;m using it I&#8217;ll eventually feel the need to login via browser, meaning I&#8217;ll have to tear down all the walls I&#8217;ve erected &#8211; the hosts file entry, the cookie blocking &#8211; and I&#8217;ll be right back where I was, feeding them all my info and letting them track me everywhere I go.  So I guess it&#8217;s going to come down to a question of whether or not the costs outweigh the benefits, as it always does.  </p>
<p>Unless I can just write a browser plugin to strip the &#8220;Like&#8221; button from non-Facebook websites.  Maybe AdBlock can do this.  Hmm&#8230;   The dog woke me up early today and everyone else is asleep still, and this all sounded a lot better in my head before I started writing it down.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/08/28/a-less-insidious-way-to-use-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why is my laptop so freaking hot?</title>
		<link>http://www.evanhoffman.com/evan/2010/08/26/why-is-my-laptop-so-freaking-hot/</link>
		<comments>http://www.evanhoffman.com/evan/2010/08/26/why-is-my-laptop-so-freaking-hot/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 18:07:07 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fc12]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[overheat]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=569</guid>
		<description><![CDATA[HP Compaq nc8430, Core 2 Duo T7200 2.0GHz. Fedora Core 12 x86_64, kernel 2.6.32.19-163.fc12.x86_64 (just updated via yum). At idle, with nothing running in the foreground, the CPU is around 70-72° Celsius, and the other sensors are 80°+. Why is this? It seems like every time I run yum update the machine gets hotter. I [...]]]></description>
			<content:encoded><![CDATA[<p>HP Compaq nc8430, Core 2 Duo T7200 2.0GHz.  Fedora Core 12 x86_64, kernel 2.6.32.19-163.fc12.x86_64 (just updated via yum).</p>
<p>At idle, with nothing running in the foreground, the CPU is around 70-72° Celsius, and the other sensors are 80°+.  Why is this?  It seems like every time I run yum update the machine gets hotter.  I wonder if there&#8217;s any way to figure out what&#8217;s causing this.  In any case, it&#8217;s pretty annoying.  It&#8217;s uncomfortable putting the thing on my lap for any length of time.</p>
<p><a href="http://www.evanhoffman.com/evan/wp-content/uploads/2010/08/why-so-hot.png"><img src="http://www.evanhoffman.com/evan/wp-content/uploads/2010/08/why-so-hot-286x300.png" alt="" title="why so hot" width="286" height="300" class="aligncenter size-medium wp-image-570" /></a></p>
<p>Notice the temperatures at the top.  The first two are Core0 and Core1, the other 2 are other sensors.  The CPU is running at 1.0 GHz due to SpeedStep and the temp is still 70°C.</p>
<p>Edit: I forgot I&#8217;ve been logging temperature via sensord.  I just turned the computer on after having it off all night and within 10 minutes the CPU is back up to > 60°C.</p>
<p><a href="http://www.evanhoffman.com/evan/wp-content/uploads/2010/08/hot.png"><img src="http://www.evanhoffman.com/evan/wp-content/uploads/2010/08/hot.png" alt="" title="hot" width="640" height="400" class="aligncenter size-full wp-image-575" /></a></p>
<pre>
Aug 26 00:01:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 00:06:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 00:11:34 ehoffman sensord:   Core 0: 66.0 C
Aug 26 00:16:34 ehoffman sensord:   Core 0: 66.0 C
Aug 26 00:21:34 ehoffman sensord:   Core 0: 66.0 C
Aug 26 00:26:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 00:31:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 00:36:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 00:41:34 ehoffman sensord:   Core 0: 66.0 C
Aug 26 00:46:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 00:51:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 00:56:34 ehoffman sensord:   Core 0: 66.0 C
Aug 26 01:01:34 ehoffman sensord:   Core 0: 66.0 C
Aug 26 01:06:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 01:11:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 01:16:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 01:21:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 01:26:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 01:31:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 01:36:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 01:41:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 01:46:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 01:51:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 01:56:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 02:01:34 ehoffman sensord:   Core 0: 64.0 C
Aug 26 02:06:34 ehoffman sensord:   Core 0: 64.0 C
Aug 26 02:11:34 ehoffman sensord:   Core 0: 64.0 C
Aug 26 02:16:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 02:21:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 02:26:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 02:31:34 ehoffman sensord:   Core 0: 65.0 C
Aug 26 02:36:35 ehoffman sensord:   Core 0: 64.0 C
Aug 26 02:41:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 02:46:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 02:51:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 02:56:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 03:01:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 03:06:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 03:11:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 03:16:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 03:21:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 03:26:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 03:31:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 03:36:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 03:41:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 03:46:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 03:51:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 03:56:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 04:01:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 04:06:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 04:11:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 04:16:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 04:21:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 04:26:35 ehoffman sensord:   Core 0: 66.0 C
Aug 26 04:31:35 ehoffman sensord:   Core 0: 66.0 C
Aug 26 04:36:35 ehoffman sensord:   Core 0: 66.0 C
Aug 26 04:41:35 ehoffman sensord:   Core 0: 66.0 C
Aug 26 04:46:35 ehoffman sensord:   Core 0: 66.0 C
Aug 26 04:51:35 ehoffman sensord:   Core 0: 66.0 C
Aug 26 04:56:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 05:01:35 ehoffman sensord:   Core 0: 66.0 C
Aug 26 05:06:35 ehoffman sensord:   Core 0: 66.0 C
Aug 26 05:11:35 ehoffman sensord:   Core 0: 66.0 C
Aug 26 05:16:35 ehoffman sensord:   Core 0: 65.0 C
Aug 26 05:21:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 05:26:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 05:31:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 05:36:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 05:41:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 05:46:36 ehoffman sensord:   Core 0: 66.0 C
Aug 26 05:51:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 05:56:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 06:01:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 06:06:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 06:11:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 06:16:36 ehoffman sensord:   Core 0: 66.0 C
Aug 26 06:21:36 ehoffman sensord:   Core 0: 66.0 C
Aug 26 06:26:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 06:31:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 06:36:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 06:41:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 06:46:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 06:51:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 06:56:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 07:01:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 07:06:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 07:11:36 ehoffman sensord:   Core 0: 65.0 C
Aug 26 07:16:36 ehoffman sensord:   Core 0: 64.0 C
Aug 26 07:21:36 ehoffman sensord:   Core 0: 64.0 C
Aug 26 07:26:36 ehoffman sensord:   Core 0: 64.0 C
Aug 26 07:31:36 ehoffman sensord:   Core 0: 63.0 C
Aug 26 07:36:36 ehoffman sensord:   Core 0: 63.0 C
Aug 26 07:41:36 ehoffman sensord:   Core 0: 63.0 C
Aug 26 07:46:36 ehoffman sensord:   Core 0: 64.0 C
Aug 26 07:51:36 ehoffman sensord:   Core 0: 64.0 C
Aug 26 07:56:36 ehoffman sensord:   Core 0: 64.0 C
Aug 26 08:01:36 ehoffman sensord:   Core 0: 64.0 C
Aug 26 08:06:37 ehoffman sensord:   Core 0: 64.0 C
Aug 26 08:11:37 ehoffman sensord:   Core 0: 64.0 C
Aug 26 08:16:37 ehoffman sensord:   Core 0: 64.0 C
Aug 26 08:21:37 ehoffman sensord:   Core 0: 65.0 C
Aug 26 08:26:37 ehoffman sensord:   Core 0: 65.0 C
Aug 26 08:31:37 ehoffman sensord:   Core 0: 65.0 C
Aug 26 08:36:37 ehoffman sensord:   Core 0: 65.0 C
Aug 26 08:41:37 ehoffman sensord:   Core 0: 65.0 C
Aug 26 08:46:37 ehoffman sensord:   Core 0: 65.0 C
Aug 26 08:51:37 ehoffman sensord:   Core 0: 65.0 C
Aug 26 08:56:37 ehoffman sensord:   Core 0: 65.0 C
Aug 26 09:01:37 ehoffman sensord:   Core 0: 65.0 C
Aug 26 09:06:37 ehoffman sensord:   Core 0: 66.0 C
Aug 26 09:11:37 ehoffman sensord:   Core 0: 66.0 C
Aug 26 09:16:37 ehoffman sensord:   Core 0: 78.0 C
Aug 26 09:21:37 ehoffman sensord:   Core 0: 83.0 C
Aug 26 09:26:37 ehoffman sensord:   Core 0: 70.0 C
Aug 26 09:31:37 ehoffman sensord:   Core 0: 72.0 C
Aug 26 09:36:37 ehoffman sensord:   Core 0: 74.0 C
Aug 26 09:41:37 ehoffman sensord:   Core 0: 72.0 C
Aug 26 09:46:38 ehoffman sensord:   Core 0: 71.0 C
Aug 26 09:51:38 ehoffman sensord:   Core 0: 71.0 C
Aug 26 09:56:38 ehoffman sensord:   Core 0: 72.0 C
Aug 26 10:01:38 ehoffman sensord:   Core 0: 73.0 C
Aug 26 10:06:38 ehoffman sensord:   Core 0: 71.0 C
Aug 26 10:11:38 ehoffman sensord:   Core 0: 78.0 C
Aug 26 10:16:38 ehoffman sensord:   Core 0: 71.0 C
Aug 26 10:21:38 ehoffman sensord:   Core 0: 72.0 C
Aug 26 10:26:38 ehoffman sensord:   Core 0: 72.0 C
Aug 26 10:31:38 ehoffman sensord:   Core 0: 73.0 C
Aug 26 10:36:38 ehoffman sensord:   Core 0: 74.0 C
Aug 26 10:41:38 ehoffman sensord:   Core 0: 76.0 C
Aug 26 10:46:38 ehoffman sensord:   Core 0: 73.0 C
Aug 26 10:51:38 ehoffman sensord:   Core 0: 73.0 C
Aug 26 10:56:38 ehoffman sensord:   Core 0: 74.0 C
Aug 26 11:01:38 ehoffman sensord:   Core 0: 74.0 C
Aug 26 11:06:38 ehoffman sensord:   Core 0: 74.0 C
Aug 26 11:11:38 ehoffman sensord:   Core 0: 75.0 C
Aug 26 11:16:38 ehoffman sensord:   Core 0: 74.0 C
Aug 26 11:21:38 ehoffman sensord:   Core 0: 75.0 C
Aug 26 11:26:38 ehoffman sensord:   Core 0: 75.0 C
Aug 26 11:31:38 ehoffman sensord:   Core 0: 74.0 C
Aug 26 11:36:38 ehoffman sensord:   Core 0: 75.0 C
Aug 26 11:41:38 ehoffman sensord:   Core 0: 73.0 C
Aug 26 11:46:38 ehoffman sensord:   Core 0: 74.0 C
Aug 26 11:51:38 ehoffman sensord:   Core 0: 74.0 C
Aug 26 11:56:38 ehoffman sensord:   Core 0: 73.0 C
Aug 26 12:01:38 ehoffman sensord:   Core 0: 74.0 C
Aug 26 12:06:38 ehoffman sensord:   Core 0: 74.0 C
Aug 26 12:11:38 ehoffman sensord:   Core 0: 73.0 C
Aug 26 12:16:38 ehoffman sensord:   Core 0: 86.0 C
Aug 26 12:21:38 ehoffman sensord:   Core 0: 77.0 C
Aug 26 12:26:39 ehoffman sensord:   Core 0: 74.0 C
Aug 26 12:31:39 ehoffman sensord:   Core 0: 73.0 C
Aug 26 12:36:39 ehoffman sensord:   Core 0: 77.0 C
Aug 26 12:41:39 ehoffman sensord:   Core 0: 79.0 C
Aug 26 12:46:39 ehoffman sensord:   Core 0: 96.0 C
Aug 26 12:51:39 ehoffman sensord:   Core 0: 95.0 C
Aug 26 12:56:39 ehoffman sensord:   Core 0: 75.0 C
Aug 26 13:01:39 ehoffman sensord:   Core 0: 94.0 C
Aug 26 13:06:39 ehoffman sensord:   Core 0: 73.0 C
Aug 26 13:11:39 ehoffman sensord:   Core 0: 94.0 C
Aug 26 13:16:39 ehoffman sensord:   Core 0: 94.0 C
Aug 26 13:21:39 ehoffman sensord:   Core 0: 77.0 C
Aug 26 13:26:39 ehoffman sensord:   Core 0: 94.0 C
Aug 26 13:31:39 ehoffman sensord:   Core 0: 94.0 C
Aug 26 13:36:39 ehoffman sensord:   Core 0: 95.0 C
Aug 26 13:42:18 ehoffman sensord:   Core 0: 80.0 C
Aug 26 13:47:18 ehoffman sensord:   Core 0: 72.0 C
Aug 26 13:52:18 ehoffman sensord:   Core 0: 70.0 C
Aug 26 13:57:18 ehoffman sensord:   Core 0: 71.0 C
Aug 26 14:02:18 ehoffman sensord:   Core 0: 69.0 C
Aug 26 14:07:18 ehoffman sensord:   Core 0: 77.0 C
Aug 26 14:12:18 ehoffman sensord:   Core 0: 78.0 C
Aug 26 14:17:18 ehoffman sensord:   Core 0: 72.0 C
Aug 26 14:22:18 ehoffman sensord:   Core 0: 70.0 C
Aug 26 14:27:18 ehoffman sensord:   Core 0: 70.0 C
Aug 26 14:32:18 ehoffman sensord:   Core 0: 72.0 C
Aug 26 14:37:18 ehoffman sensord:   Core 0: 71.0 C
Aug 26 14:42:18 ehoffman sensord:   Core 0: 70.0 C
Aug 26 14:47:18 ehoffman sensord:   Core 0: 71.0 C
Aug 26 14:52:18 ehoffman sensord:   Core 0: 70.0 C
Aug 26 14:57:18 ehoffman sensord:   Core 0: 69.0 C
Aug 26 15:02:18 ehoffman sensord:   Core 0: 69.0 C
Aug 26 15:07:18 ehoffman sensord:   Core 0: 69.0 C
Aug 26 15:12:18 ehoffman sensord:   Core 0: 70.0 C
Aug 26 15:17:18 ehoffman sensord:   Core 0: 70.0 C
Aug 26 15:22:18 ehoffman sensord:   Core 0: 70.0 C
Aug 26 15:27:18 ehoffman sensord:   Core 0: 69.0 C
Aug 26 15:32:19 ehoffman sensord:   Core 0: 69.0 C
Aug 26 15:37:19 ehoffman sensord:   Core 0: 68.0 C
Aug 26 15:42:19 ehoffman sensord:   Core 0: 70.0 C
Aug 26 15:47:19 ehoffman sensord:   Core 0: 69.0 C
Aug 26 15:52:19 ehoffman sensord:   Core 0: 70.0 C
Aug 26 15:57:19 ehoffman sensord:   Core 0: 70.0 C
Aug 26 16:02:19 ehoffman sensord:   Core 0: 70.0 C
Aug 26 16:07:19 ehoffman sensord:   Core 0: 70.0 C
Aug 26 16:12:19 ehoffman sensord:   Core 0: 71.0 C
Aug 26 16:17:19 ehoffman sensord:   Core 0: 70.0 C
Aug 26 16:22:19 ehoffman sensord:   Core 0: 70.0 C
Aug 26 16:27:19 ehoffman sensord:   Core 0: 71.0 C
Aug 26 16:32:19 ehoffman sensord:   Core 0: 72.0 C
Aug 26 16:37:19 ehoffman sensord:   Core 0: 71.0 C
Aug 26 16:42:19 ehoffman sensord:   Core 0: 73.0 C
Aug 26 16:47:19 ehoffman sensord:   Core 0: 73.0 C
Aug 26 16:52:19 ehoffman sensord:   Core 0: 72.0 C
Aug 26 16:57:19 ehoffman sensord:   Core 0: 75.0 C
Aug 26 17:02:19 ehoffman sensord:   Core 0: 71.0 C
Aug 26 17:07:19 ehoffman sensord:   Core 0: 71.0 C
Aug 27 08:23:10 ehoffman sensord:   Core 0: 43.0 C
Aug 27 08:28:10 ehoffman sensord:   Core 0: 55.0 C
Aug 27 08:33:09 ehoffman sensord:   Core 0: 62.0 C
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/08/26/why-is-my-laptop-so-freaking-hot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ldapsearch on Active Directory</title>
		<link>http://www.evanhoffman.com/evan/2010/08/26/ldapsearch-on-active-directory/</link>
		<comments>http://www.evanhoffman.com/evan/2010/08/26/ldapsearch-on-active-directory/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 14:40:18 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[ad]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[ldapsearch]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=566</guid>
		<description><![CDATA[Just putting this here for safekeeping since I couldn&#8217;t remember the exact syntax. [evan@ehoffman 10:35:50 ~]$ ldapsearch -x -LLL -D "ldapuser@example.com" -w password -b "OU=Users,DC=example,DC=com" -s sub -H ldaps://activedirectory.example.com "(sn=hoffman)" cn mail displayName samaccountname dn: CN=Evan Hoffman,OU=Tech,OU=Users,DC=example,DC=com cn: Evan Hoffman displayName: Evan D. Hoffman sAMAccountName: ehoffman mail: Evan.Hoffman@example.com]]></description>
			<content:encoded><![CDATA[<p>Just putting this here for safekeeping since I couldn&#8217;t remember the exact syntax.</p>
<pre>
[evan@ehoffman 10:35:50 ~]$ ldapsearch -x -LLL -D "ldapuser@example.com" -w password -b "OU=Users,DC=example,DC=com" -s sub -H ldaps://activedirectory.example.com "(sn=hoffman)" cn mail displayName samaccountname
dn: CN=Evan Hoffman,OU=Tech,OU=Users,DC=example,DC=com
cn: Evan Hoffman
displayName: Evan D. Hoffman
sAMAccountName: ehoffman
mail: Evan.Hoffman@example.com
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/08/26/ldapsearch-on-active-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oh, Compellent&#8230; again with the disk prices.</title>
		<link>http://www.evanhoffman.com/evan/2010/08/25/oh-compellent-again-with-the-disk-prices/</link>
		<comments>http://www.evanhoffman.com/evan/2010/08/25/oh-compellent-again-with-the-disk-prices/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 04:57:04 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[compellent]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[disk]]></category>
		<category><![CDATA[iscsi]]></category>
		<category><![CDATA[money]]></category>
		<category><![CDATA[price]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[san]]></category>
		<category><![CDATA[sata]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=562</guid>
		<description><![CDATA[Time to expand the SAN again. I planned and budgeted for this this year but it still pisses me off. Look, I realize these guys have to make money, but the bottom line is they&#8217;re charging over $1.40/GB for SATA storage. There are 7200 RPM 2TB SATA drives on Amazon and Newegg ranging in price [...]]]></description>
			<content:encoded><![CDATA[<p>Time to expand the SAN again.<br />
<span id="more-562"></span></p>
<p>I planned and budgeted for this this year but it still pisses me off.  Look, I realize these guys have to make money, but the bottom line is they&#8217;re charging over $1.40/GB for SATA storage.  There are 7200 RPM 2TB SATA drives on <a href="http://amzn.com/B002D5DWZU?tag=evanhoffmasho-20">Amazon</a> and <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16822145298">Newegg</a> ranging in price from $130 to $220.  That&#8217;s as low as $0.065/GB.  There was even a 2TB WD &#8220;Green&#8221; drive (sub-7200 RPM, I think 5900 RPM) <a href="http://slickdeals.net/permadeal/38317">on Slickdeals</a> today for $99.  That&#8217;s 5 cents per gig.</p>
<p>Like I said, I realize these guys are running a business and they want to make money, but this type of price gouging is just infuriating.  Assuming a 2TB SATA disk retails for $200, and they tack on 100% markup, so $6400 for 16 disks.  $5000 for the enclosure.  $10,000 for their &#8220;special sauce.&#8221;  That&#8217;s about $21,000 for 32TB, or $0.65/GB, which is still about a pretty healthy profit.  This doesn&#8217;t take into account the insane annual support contracts you&#8217;re paying for in perpetuity.  </p>
<p>I don&#8217;t know.  I guess I&#8217;m just cheap.  I&#8217;ve complained about this before, and I complained about it again this time to our reseller.  The SAN vendor is Compellent, and while the product is very good, the pricing certainly doesn&#8217;t scale the way they made it sound during the sales pitch.  They kept saying how they&#8217;re able to leverage commodity hardware in order to keep costs low.  Well, maybe they meant their own costs.  It&#8217;s certainly not getting passed on to us.</p>
<p>Though maybe I&#8217;m jaded because this is the first SAN I&#8217;ve worked with.  I&#8217;ve heard lots of horror stories about SANs and carving luns and having to restripe arrays and worrying about hot disks, etc.  With Compellent I don&#8217;t have to worry about any of that.  It is a nice product.  I just wish it was cheaper.  My reseller&#8217;s response to my complaint was basically &#8220;It&#8217;s definitely expensive, but at least it&#8217;s good; all SAN vendors mark up their prices wildly but the product often sucks.&#8221;  </p>
<p>Anyway, I guess when you have <a href="http://www.google.com/finance?q=NYSE:CML">shareholders</a> to please, if you can milk people, you&#8217;d better do it.  I suppose my advice would be to buy what you need up front and don&#8217;t expect to be able to leverage falling costs of storage.  The savings don&#8217;t get passed on to you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/08/25/oh-compellent-again-with-the-disk-prices/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Thrill Is Gone</title>
		<link>http://www.evanhoffman.com/evan/2010/08/24/the-thrill-is-gone/</link>
		<comments>http://www.evanhoffman.com/evan/2010/08/24/the-thrill-is-gone/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 14:08:25 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=558</guid>
		<description><![CDATA[I have nowhere to vent. I&#8217;m just tired of it all. I keep telling myself I should just suck it up and deal with it but it&#8217;s really frustrating.]]></description>
			<content:encoded><![CDATA[<p>I have nowhere to vent.  I&#8217;m just tired of it all.  I keep telling myself I should just suck it up and deal with it but it&#8217;s really frustrating.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/08/24/the-thrill-is-gone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m easily amused</title>
		<link>http://www.evanhoffman.com/evan/2010/08/23/im-easily-amused/</link>
		<comments>http://www.evanhoffman.com/evan/2010/08/23/im-easily-amused/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 16:00:18 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=555</guid>
		<description><![CDATA[I don&#8217;t know why I find the visitor geo-tracking widgets so entertaining, but I do. I just found Revolver Maps and added it on the right side. It&#8217;s Flash-based so it takes a while to load but it&#8217;s interesting to look at.]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know why I find the visitor geo-tracking widgets so entertaining, but I do.  I just found <a href="http://www.revolvermaps.com/">Revolver Maps</a> and added it on the right side.  It&#8217;s Flash-based so it takes a while to load but it&#8217;s interesting to look at.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/08/23/im-easily-amused/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter WordPress Integration test</title>
		<link>http://www.evanhoffman.com/evan/2010/08/13/twitter-wordpress-integration-test/</link>
		<comments>http://www.evanhoffman.com/evan/2010/08/13/twitter-wordpress-integration-test/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 16:33:27 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=546</guid>
		<description><![CDATA[I&#8217;m just testing WP/Twitter integration and whatnot. That is all. Hot dog. It works. Wow, not quite what I wanted. Plugin: deactivated, for the betterment of the Internet.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m just testing WP/Twitter integration and whatnot.  That is all.</p>
<p>Hot dog.  It works.</p>
<p>Wow, not quite what I wanted.</p>
<p><a href="http://www.evanhoffman.com/evan/wp-content/uploads/2010/08/Fullscreen-capture-8132010-124220-PM.jpg"><img src="http://www.evanhoffman.com/evan/wp-content/uploads/2010/08/Fullscreen-capture-8132010-124220-PM.jpg" alt="" title="Fullscreen capture 8132010 124220 PM" width="395" height="136" class="aligncenter size-full wp-image-550" /></a></p>
<p>Plugin: deactivated, for the betterment of the Internet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/08/13/twitter-wordpress-integration-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blocking comment spammers by IP</title>
		<link>http://www.evanhoffman.com/evan/2010/08/13/blocking-comment-spammers-by-ip/</link>
		<comments>http://www.evanhoffman.com/evan/2010/08/13/blocking-comment-spammers-by-ip/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 15:59:27 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[allow]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[block]]></category>
		<category><![CDATA[deny]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=538</guid>
		<description><![CDATA[I use Akismet to block comment spam, but it still annoys me that it even exists. Last night I put a simple IP ban into my httpd config. But who to block? I used a grep &#38; Perl to get a rough guess of which IPs were submitting the most comments (working on the assumption [...]]]></description>
			<content:encoded><![CDATA[<p>I use <a href="http://akismet.com/">Akismet</a> to block comment spam, but it still annoys me that it even exists.  Last night I put a simple IP ban into my httpd config.  But who to block?</p>
<p>I used a grep &amp; Perl to get a rough guess of which IPs were submitting the most comments (working on the assumption that one IP address submits many spam comments) It took me about 20 minutes to write this mess but it does what I wanted to do:<br />
<code><br />
[root@lunix ~]# zgrep  POST /var/log/httpd/evanhoffman-access_log-201008??.gz  | grep comment | perl -ne 'chomp; $_ =~ m/(?:\d{1,3}\.){3}\d{1,3}/; print "$&amp;\n";' | perl -e '%a = (); while (&lt;&gt;) { chomp;  $a{$_} += 1; } while (my ($key, $value) = each (%a)) { if ($value &gt; 1) { print "$value\t=&gt;\t$key\n";}}'<br />
2       =&gt;      218.6.9.140<br />
180     =&gt;      91.201.66.34<br />
2       =&gt;      213.5.67.41<br />
2       =&gt;      188.187.102.74<br />
[root@lunix ~]#<br />
</code></p>
<p>That&#8217;s pretty hard to read.  Here&#8217;s a quick explanation of each piece:</p>
<blockquote><p>zgrep  POST /var/log/httpd/evanhoffman-access_log-201008??.gz</p></blockquote>
<p>Use zgrep to search for the string &#8220;POST&#8221; in all of the gzipped Apache logs for August.  Pipe the results (the matching lines) to the next part:</p>
<blockquote><p>grep comment</p></blockquote>
<p>grep for the string &#8220;comment&#8221;.  This isn&#8217;t really scientific, but I feel safe in assuming that if &#8220;POST&#8221; and &#8220;comment&#8221; both appear in the HTTP request, it&#8217;s probably someone posting a comment.  Pipe the matches to&#8230;</p>
<blockquote><p>perl -ne &#8216;chomp; $_ =~ m/(?:\d{1,3}\.){3}\d{1,3}/; print &#8220;$&amp;\n&#8221;;&#8217;</p></blockquote>
<p>This is a perl one-liner that uses a regular expression to match an IP address in a given line and print it out.  The original regex I used was <code>\d+\.\d+\.\d+\.\d+</code>, this one was slightly fancier but did the same work in this case.  It&#8217;s worth noting that this will only print out the first match in the given line, but since the requester&#8217;s IP (REMOTE_ADDR) is the first field in <a href="http://httpd.apache.org/docs/2.0/logs.html#accesslog">Combined Log Format</a>, that&#8217;s fine this case.</p>
<p>The output (the IPs from which comment posts have been made) is piped to&#8230;</p>
<blockquote><p>perl -e &#8216;%a = (); while (&lt;&gt;) { chomp;  $a{$_} += 1; } while (my ($key, $value) = each (%a)) { if ($value &gt; 1) { print &#8220;$value\t=&gt;\t$key\n&#8221;;}}&#8217;</p></blockquote>
<p>This is another perl one-liner.  Basically, it maintains a hash of String=&gt;count pairs, so each time it sees a string it increments a &#8220;counter&#8221; for that line.  Then when it&#8217;s done receiving input (i.e. all the data has been processed) it prints out the contents of the hash for keys that have a value &gt; 1 (i.e. IPs that have POSTed more than 1 comment).</p>
<p>The output shows pretty clearly where the spam is coming from:</p>
<blockquote><p>2 =&gt; 218.6.9.140<br />
180 =&gt; 91.201.66.34<br />
2 =&gt; 213.5.67.41<br />
2 =&gt; 188.187.102.74</p></blockquote>
<p>180 submits from 91.201.66.34.  Out of curiosity I looked up that IP in whois:</p>
<pre>[root@lunix ~]# whois 91.201.66.34
[Querying whois.ripe.net]
[whois.ripe.net]
% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/db/support/db-terms-conditions.pdf

% Note: This output has been filtered.
%       To receive output for a database update, use the "-B" flag.

% Information related to '91.201.64.0 - 91.201.67.255'

inetnum:        91.201.64.0 - 91.201.67.255
netname:        Donekoserv
descr:          DonEkoService Ltd
country:        RU
org:            ORG-DS41-RIPE
admin-c:        MNV32-RIPE
tech-c:         MNV32-RIPE
status:         ASSIGNED PI
mnt-by:         RIPE-NCC-END-MNT
mnt-by:         MNT-DONECO
mnt-by:         MNT-DONECO
mnt-lower:      RIPE-NCC-END-MNT
mnt-routes:     MHOST-MNT
mnt-routes:     MNT-PIN
mnt-domains:    MHOST-MNT
source:         RIPE # Filtered

organisation:   ORG-DS41-RIPE
org-name:       DonEko Service
org-type:       OTHER
address:        novocherkassk, ul stremyannaya d.6
e-mail:         admin@pinspb.ru
mnt-ref:        MNT-PIN
mnt-by:         MNT-PIN
source:         RIPE # Filtered

person:         Metluk Nikolay Valeryevich
address:        korp. 1a 40 Slavy ave.,
address:        St.-Petersburg, Russia
e-mail:         nm@internet-spb.ru
phone:          +7 812 4483863
fax-no:         +7 901 3149449
nic-hdl:        MNV32-RIPE
mnt-by:         MNT-PIN
source:         RIPE # Filtered

% Information related to '91.201.66.0/23AS21098'

route:          91.201.66.0/23
descr:          Route MHOST IDC
origin:         AS21098
mnt-by:         MHOST-MNT
source:         RIPE # Filtered

[root@lunix ~]#
</pre>
<p>Not much info other than the IP is based in Russia.  Well, anyway, I IP blocked 91.0.0.0/8 (sorry, Russia), so if you&#8217;re in that subnet you&#8217;re probably seeing a 403 now.</p>
<p><strong>Edit</strong>: It occurred to me that I can accomplish the same thing while being less draconian if I wrap the Deny in a &lt;Limit&gt;&lt;/Limit&gt; clause.  This way everyone can still see the site but certain IP ranges won&#8217;t be able to POST anything:</p>
<pre>
&lt;Limit POST PUT DELETE&gt;
Order Allow,Deny
Allow from all
Deny from 218.6.9.
Deny from 173.203.101.
Deny from 122.162.28.
Deny from 91.
Deny from 213.5
&lt;/Limit&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/08/13/blocking-comment-spammers-by-ip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More thoughts on Google&#8217;s tracking abilities</title>
		<link>http://www.evanhoffman.com/evan/2010/08/12/more-thoughts-on-googles-tracking-abilities/</link>
		<comments>http://www.evanhoffman.com/evan/2010/08/12/more-thoughts-on-googles-tracking-abilities/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 16:34:22 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[evil]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[tinfoil hat]]></category>

		<guid isPermaLink="false">http://www.evanhoffman.com/evan/?p=515</guid>
		<description><![CDATA[It all comes down to the cookie. The Wall Street Journal recently began a series of articles called What They Know, detailing the different pieces of data that online marketing companies have about people as they traverse the web. None of this is really new, especially not to me, since I work in that industry. [...]]]></description>
			<content:encoded><![CDATA[<p>It all comes down to the cookie.  </p>
<p>The Wall Street Journal recently began a series of articles called <a href="http://online.wsj.com/public/search?article-doc-type={What+They+Know}&#038;HEADER_TEXT=what+they+know">What They Know</a>, detailing the different pieces of data that online marketing companies have about people as they traverse the web.  None of this is really new, especially not to me, since I work in that industry.  But I was surprised at some of the data that was present in the cookies right in plaintext:</p>
<a href="http://online.wsj.com/article/SB10001424052748703294904575385532109190198.html"><img src="http://www.evanhoffman.com/evan/wp-content/uploads/2010/08/wsj_wtk_cookie.jpg" alt="" title="Wall Street Journal &quot;What They Know&quot; cookie" width="553" height="369" class="size-full wp-image-518" /></a>
<p>Now, I don&#8217;t know if the above image of a cookie was presented as it was because the reporters didn&#8217;t realize that all that was needed to &#8220;decode&#8221; that cookie was a couple of runs through PHP&#8217;s <tt><a href="http://php.net/urldecode">urldecode()</a></tt> and those <strong>%25255E</strong>s would be converted from their hexcodes to plain old ASCII &#8211; %25255E0 -> %255E0 -> %5E0 -> ^0 (<a href="http://en.wikipedia.org/wiki/Caret">caret</a>).  Maybe they didn&#8217;t know, or maybe they knew but they left it all computery so it looked &#8220;scarier&#8221; to readers&#8230; that green text on black background is usually reserved for movies like <em>The Matrix</em>.  Anyway, like I said, what was surprising to me wasn&#8217;t that there was that much data being collected, but rather that the data was right there in the body of the cookie, readable by anyone.  Even a simple <tt><a href="http://php.net/base64_encode">base64_encode</a></tt> would have hidden the contents of the cookie from the casual snooper.  </p>
<p>For a while I&#8217;ve been thinking about Google&#8217;s vast troves of data that go far, far beyond what the average marketer knows about the average web user.  Let&#8217;s assume you&#8217;re&#8230; me.  You use Gmail, Google, and YouTube on a pretty frequent basis.  Google has single sign-on &#8212; as it should &#8212; so to use any of these services you can (and in many cases, have to) be logged in with your <a href="https://www.google.com/accounts/ManageAccount">Google Account</a>.  This is logical and convenient for the user, but it unlocks huge amounts of information about you to Google.  By having you sign in to any of their services, Google&#8217;s ability to track you online <em>transcends cookies.</em>  </p>
<p>Cookies are small bits of data set by the server on your browser to allow information to persist between sessions.  Since it&#8217;s set in the <em>browser</em>, it&#8217;s implicitly impossible for cookies set in one browser to be used in another browser.  This means that if you start Firefox and click around the internet for a while, you&#8217;ll accumulate some cookies.  If you then exit Firefox and start Safari, and click around to those same sites, you&#8217;ll get completely different cookies than those you got in Firefox &#8212; from a &#8220;tracking&#8221; perspective, the person using Firefox and the person using Safari are different people (even though they both happen to be you)<sup>1</sup>.  Also, because cookies are tied to browsers, this implies that cookies set on one computer are bound to that browser on that computer &#8212; i.e., cookies in Firefox on computer A have no bearing on what happens in Firefox (or any other browser) on computer B.</p>
<p>Single sign-on knocks down these implicit privacy walls.  Assume, again, that you&#8217;re me, and you have a Linux laptop at work.  At home you have a Linux desktop, a Mac mini hooked up to the TV in the living room, and a Windows laptop.  You also have an iPhone.  Single sign-on enables Google to <strong>track what you&#8217;re doing across all of these devices.</strong>  It&#8217;s really quite simple: on each machine you use, if you want to read your email (Gmail) you log in with your Google Account.  At that point, Google knows that it&#8217;s <em>you</em> using the browser.  The value inside the cookie they set in your particular browser may differ, but they know that you&#8217;re you.  They know what you&#8217;re searching for in Google; where you go (<a href="http://www.geoiptool.com/">by IP address</a>; or, if you allow it, by GPS on most modern smart phones &#8212; Google&#8217;s <a href="http://www.google.com/latitude/intro.html">Latitude</a> service lets you relay your GPS coordinates to your friends), what kind of email you receive, who you correspond with.  And let&#8217;s not forget that Google has plastered the internet with ads &#8211; over 90% of their revenue comes from advertising, and they bought <a href="http://en.wikipedia.org/wiki/DoubleClick">DoubleClick</a> a few years ago, so any time you go to a site with Google ads on it (which is pretty much all of them), they know it.  They own YouTube, so they know every video you&#8217;ve watched on YouTube, which ones you&#8217;ve &#8220;Liked&#8221; and which ones you&#8217;ve &#8220;Favorited.&#8221;  And, as I mentioned in <a href="http://www.evanhoffman.com/evan/?p=498">my previous crazy-guy post</a>, Google is amassing a huge facial-recognition database, so they&#8217;ll know everything about you &#8211; interests, income, travel habits, friends, what you look like, likes &#038; dislikes.  They can probably give a pretty good guess as to where you home is and where your office is just by seeing that between 9:00 AM and 6:00 PM you commonly access the internet from IP 1.2.3.4 and the rest of the time you usually come from IP 2.3.4.5, and simple IP-geo databases can tell them where those IPs are (admittedly, with widely varying accuracy).</p>
<p>The trove of information they have on the average person is actually frightening.  The only thing keeping them from completely exploiting this data (assuming they aren&#8217;t, for argument&#8217;s sake) is their &#8220;Don&#8217;t Be Evil&#8221; philosophy and the shitstorm of bad press (and, one would assume, legal action) that would ensue if they were to do so.  I&#8217;m not really convinced they aren&#8217;t already using all of this data, probably to make ultra-targeted advertising decisions, which seems relatively benign on the face.  But the real risk comes when this all falls into someone else&#8217;s hands.  Google could get hax0red &#8212; it&#8217;s already happened.  Google could get subpoenaed &#8212; I&#8217;m sure it&#8217;s happened hundreds of times already.  A new batch of idiots in the Senate could just redefine terrorism and require all Google&#8217;s data be handed over daily.  </p>
<p>This isn&#8217;t strictly a problem with Google, but there aren&#8217;t many companies I can think of that have massive ad platforms that also provide services you&#8217;re willing to log in to, and the logging in is what allows them to track you across browsers, across computers, across devices, and ultimately in real life.</p>
<p>Oh well.  Whatever.  I&#8217;m a big hypocrite because I can&#8217;t imagine not using Gmail or any of Google&#8217;s services that I use daily.  Sucks to be me, I guess.  Even if you &#8220;trust&#8221; Google, you may not trust what Google becomes 10 years from now, but by then they already know all about you.</p>
<p><sup>1</sup>This isn&#8217;t completely accurate, because even without cookies there are pieces of data that will be the same regardless of your browser, for example your IP address, which in general is a pretty good proxy for uniqueness, but I&#8217;m just thinking about cookies for now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.evanhoffman.com/evan/2010/08/12/more-thoughts-on-googles-tracking-abilities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
