<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Alex Rasmussen</title>
	
	<link>http://alexras.info</link>
	<description>I make things that do stuff with computers</description>
	<lastBuildDate>Wed, 01 Sep 2010 19:02:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/alexras" /><feedburner:info uri="alexras" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><item>
		<title>Esoteric Tip of the Day #2: Charging the Un-Chargeable Battery</title>
		<link>http://alexras.info/2010/08/22/esoteric-tip-of-the-day-2-charging-the-un-chargeable-battery/</link>
		<comments>http://alexras.info/2010/08/22/esoteric-tip-of-the-day-2-charging-the-un-chargeable-battery/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 00:49:32 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Fun and Games]]></category>

		<guid isPermaLink="false">http://alexras.info/?p=435</guid>
		<description><![CDATA[I have an XBox 360 with a couple of wireless controllers that have rechargeable battery packs and this thing called a &#8220;Play &#8216;n Charge&#8221; cable that allows the controllers to charge over USB while still being usable. I picked up one of my controllers after a long (read: months) period of not using it to [...]]]></description>
			<content:encoded><![CDATA[<p>I have an XBox 360 with a couple of wireless controllers that have rechargeable battery packs and this thing called a &#8220;Play &#8216;n Charge&#8221; cable that allows the controllers to charge over USB while still being usable. I picked up one of my controllers after a long (read: months) period of not using it to find that it had completely discharged. Not only that, but it wouldn&#8217;t even charge over the cable; the charge indicator light turned from red (charging) to green (charged) almost immediately. For a long time, I thought I just had a faulty battery and ran off of AAs. Then I found <a href="http://www.gamespot.com/pages/forums/show_msgs.php?topic_id=26566189">this thread</a>.</p>
<p><em>Disclaimer</em>: I am not an electrical engineer. Well, <a href="http://www.eecs.berkeley.edu/">technically I am</a>, but seriously &#8230; I&#8217;m not an electrical engineer. I may have gotten the details of this wrong.</p>
<p>All rechargeable batteries will lose their charge if not charged in a long enough period of time. Apparently, if a battery gets sufficiently discharged, it will have trouble accepting a charge at all. The XBox will then become confused, interpreting the inability to pass current through the battery to charge it as the battery being fully charged (hence the &#8220;a few seconds of red light, followed by a green light&#8221; phenomenon).</p>
<p>Here&#8217;s the two step solution:</p>
<ol>
<li>Plug the controller (with rechargeable battery attached) into the XBox with the Play &#8216;n Charge cable. The light on the end of the cable should turn on and be red.</li>
<li>If the light stays red for a couple minutes without turning green, keep the controller plugged in. Otherwise, unplug the controller from the Play &#8216;n Charge cable, count slowly to five, and go back to step 1.</li>
</ol>
<p>After some number of tries (nominally less than 50), the XBox and battery should finally figure it out and charging should begin.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexras.info/2010/08/22/esoteric-tip-of-the-day-2-charging-the-un-chargeable-battery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts on Neutralitygate</title>
		<link>http://alexras.info/2010/08/10/brief-thoughts-on-verizongoogle-neutrality-announcement/</link>
		<comments>http://alexras.info/2010/08/10/brief-thoughts-on-verizongoogle-neutrality-announcement/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 08:31:57 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Opinions (Uninformed)]]></category>

		<guid isPermaLink="false">http://alexras.info/?p=421</guid>
		<description><![CDATA[There has been a lot of sound and fury today (well, technically yesterday) surrounding Verizon and Google&#8217;s joint net neutrality policy announcement. I didn&#8217;t really know about it until Tim brought it to my attention. He wanted to know my thoughts about this, and blogs are practically designed for uninformed opinions, so why not? In [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" src="http://assets.sbnation.com/assets/92594/neutral_planet.jpg" alt="The Neutral Planet" width="576" height="338" /></p>
<p>There has been a lot of sound and fury today (well, technically yesterday) surrounding <a href="http://bits.blogs.nytimes.com/2010/08/09/live-blogging-google-verizon-call-on-net-neutrality/">Verizon and Google&#8217;s joint net neutrality policy announcement</a>. I didn&#8217;t really know about it until <a href="http://timinprint.com/">Tim</a> brought it to my attention. He wanted to know my thoughts about this, and blogs are practically designed for uninformed opinions, so why not?</p>
<p>In the interest of full disclosure, I&#8217;ve worked at Google in the past. Several friends of mine are either current or former Googlers. Money from Google&#8217;s generous intern salary paid for all the furniture in my living room. I&#8217;m totally biased, I freely admit. The rest of this post will also probably reveal my profound ignorance, but that&#8217;s why there are comments.</p>
<p>Frankly, I&#8217;m surprised at the amount of rage that I&#8217;m picking up about this announcement. This isn&#8217;t a net-neutrality-crushing alliance between Google and Verizon. It&#8217;s not binding. There&#8217;s nothing in the language that says that it&#8217;s not open for discussion and feedback. This is basically these two companies saying, &#8220;This is how we think we&#8217;re going to deal with the net neutrality thing right now.&#8221;</p>
<p>The notion of allowing carriers to &#8220;offer new types of services that are not part of the open Internet&#8221; is also not all that surprising to me. In my view, net neutrality says &#8220;if two computers on the Internet want to talk to one another, the carriers providing Internet access to either of the two shouldn&#8217;t be able to stop them&#8221;. Under &#8220;shouldn&#8217;t be able to stop them&#8221;, I mean that my computer shouldn&#8217;t be unable to talk to Google&#8217;s computers because I&#8217;m on a &#8220;Microsoft-friendly&#8221; ISP. What Google and Verizon seem to be proposing here is that companies should be able to create services that don&#8217;t operate over the public Internet as long as those services don&#8217;t circumvent net neutrality. It&#8217;s not really clear what they mean by &#8220;not part of the open Internet&#8221; here; are we saying that the computers making up this service aren&#8217;t world-routable? If so, then companies are already doing this internally. Large corporate intranets could be seen as an example of a service that operates separately from the open Internet. Do they mean creating a parallel network over which these services run? In that case, data center networks seem to fit that description pretty well and clearly companies are providing dedicated networks for data center networks, or just buying their own. Again, on the face of it I&#8217;m not too terribly distressed.</p>
<p>Most of the rage seems to be directed at the fact that they don&#8217;t think that wireless access to the Internet should be protected in the same way that wired access is. Judging by <a href="http://googlepublicpolicy.blogspot.com/2010/08/joint-policy-proposal-for-open-internet.html">Google&#8217;s blog post on the subject</a> (see how biased I am?) their justification seems to be that they don&#8217;t know what the mobile Internet really looks like yet. It seems to me that this is basically a political compromise; Google caves somewhat on the wireless issue so that Verizon will agree to come on board with the agreement. Notice that the transparency requirement opens the door for any company that tries to pull any pro-neutrality funny business to be publicly reamed by their customers (you need only look at the Comcast P2P filtering scandal to see how much good press anti-neutrality practices generate for the telcos that implement them). Google promises to not be non-neutral in access to its properties, and it and Verizon get to be great friends; everybody wins.</p>
<p>Are Google and Verizon both huge multinational corporations that are interested primarily in pulling in a lot of cash? Absolutely. Does the language of this announcement open up the possibility of abuse, corruption and rampant mismanagement? Of course, but so does every other agreement between more than one person. Does this announcement violate Google&#8217;s &#8220;Do no evil&#8221; mission statement? Hardly. To me, this just sounds like Verizon and Google getting all buddy-buddy and announcing the sort of long-term, under-defined recommendations that make PR people all warm and fuzzy because they don&#8217;t actually require you to promise to do anything. Everything I&#8217;m hearing from Google indicates they&#8217;re really self-conscious about this whole thing (&#8220;it&#8217;s not an aggreement&#8221;, &#8220;we are still committed to net neutrality&#8221;, &#8220;we&#8217;re not sure what the mobile market looks like, so we have to keep our options open&#8221;), which gives me some comfort; the second you get a &#8220;so what?&#8221; announcement out of a company Google&#8217;s size (see Comcast&#8217;s P2P shenanigans, <a href="http://articles.latimes.com/2010/aug/09/business/la-fi-apple-iphone-20100810">Antennagate</a>), it&#8217;s time to be concerned. Yes, I know I&#8217;m totally defending Google here. I told you, I&#8217;m biased.</p>
<p>It might sound like I don&#8217;t care about net neutrality, but nothing could be further from the truth. People are absolutely right when they say that the Internet is the most democratic medium ever conceived, and it&#8217;s really important that it stays that way. The Internet is big business, and these days it&#8217;s dominated by big businesses with a lot of influence and a lot of money. As citizens of a democracy, we have every right (and, some may argue, the responsibility) to be outraged when a large, powerful entity looks like it&#8217;s trying to gain control of a fundamentally democratic communications medium like the Internet. I just don&#8217;t think that this announcement represents anything close to such a power grab.</p>
<p>And that is my opinion on the subject. Release the trolls!</p>
]]></content:encoded>
			<wfw:commentRss>http://alexras.info/2010/08/10/brief-thoughts-on-verizongoogle-neutrality-announcement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Death of the KVM Switch</title>
		<link>http://alexras.info/2010/06/23/the-death-of-the-kvm-switch/</link>
		<comments>http://alexras.info/2010/06/23/the-death-of-the-kvm-switch/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 02:07:18 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://alexras.info/?p=408</guid>
		<description><![CDATA[This post is the first in a series tentatively titled &#8220;First-World Problems: How I Use Way Too Many Computers&#8221;. It&#8217;s true, I use and administrate way too many computers. Many times, I&#8217;ve had to interact with multiple different computers at a time, whether it&#8217;s to download patches or because one machine has specialized hardware for [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://alexras.info/wp-content/uploads/2010/06/IOGear-MiniView-Micro-KVM-Switch.jpg"><img class="alignleft size-full wp-image-409" style="margin-left: 20px; margin-right: 20px;" title="KVM Switch" src="http://alexras.info/wp-content/uploads/2010/06/IOGear-MiniView-Micro-KVM-Switch.jpg" alt="" width="368" height="221" /></a>This post is the first in a series tentatively titled &#8220;First-World Problems: How I Use Way Too Many Computers&#8221;. It&#8217;s true, I use and administrate way too many computers. Many times, I&#8217;ve had to interact with multiple different computers at a time, whether it&#8217;s to download patches or because one machine has specialized hardware for a particular task. It&#8217;s sometimes useful for those computers to share a keyboard and mouse, particularly so I don&#8217;t have to switch back and forth between two keyboards all the time. Traditionally, people have accomplished this with KVM (Keyboard, Video and Mouse) switches. A KVM switch has two or more input connections and an output connection; simply hook your computers to the inputs and your keyboard, mouse and display to the output and viola, you can share them.</p>
<p>I&#8217;m going to assert that KVM switches are awful. There are a couple reasons why:</p>
<ol>
<li>You have to switch back and forth between machines with a key combo. Often, this combo is not documented anywhere on the switch itself. Almost always, it&#8217;s non-modifiable. Always, it&#8217;s cumbersome.</li>
<li>KVM switches are stuck in 1997. Most KVM switches use <a href="http://en.wikipedia.org/wiki/PS/2_connector">PS/2</a> and <a href="http://en.wikipedia.org/wiki/VGA_connector">VGA</a> connectors. Getting this to work with computers that use USB and DVI requires a bunch of separate dongles that only nerds like me have in abundance. Good luck finding a native USB/DVI KVM switch for under $150.</li>
<li>More cables. Seriously, I&#8217;ve got enough cables cluttering up the back of my desk, I&#8217;d rather not introduce more cables if I can avoid it.</li>
</ol>
<p>Thankfully, there are software solutions that allow you to bypass the need for a KVM switch altogether.</p>
<p><a href="http://synergy2.sourceforge.net/">Synergy</a> allows you to use a single keyboard and mouse among an arbitrary collection of computers. Synergy runs a server on the machine with the keyboard and mouse attached and clients on all the other machines. The user specifies how the displays of these multiple machines are arranged with respect to one another; for example, I could say that my laptop&#8217;s display is to the left of my workstation&#8217;s display. Synergy detects when the mouse hits the edge of a display and &#8220;switches&#8221; the keyboard and mouse from one computer to another based on the configured arrangement. So when my mouse hits the left edge of my workstation&#8217;s display, it is seamlessly transferred to the right edge of my laptop&#8217;s display. I&#8217;ve used Synergy this way for a while now, and I&#8217;ll never even think of buying a KVM just to share a keyboard and mouse again.</p>
<p>Of course, Synergy doesn&#8217;t take care of sharing a single display between multiple computers. Most monitors have multiple inputs, and if you&#8217;re willing to press the input change button, Synergy might still work, but it&#8217;s still cumbersome. Another alternative is to use <a href="http://www.realvnc.com/">VNC</a>. VNC is a communications protocol, and is implemented by a ton of different clients for all platforms (Google &#8220;VNC&#8221; for a list of the big ones). It essentially allows you to view and control another computer remotely. Those of you running Mac OS X Snow Leopard will probably use Screen Sharing for this, but under the covers it&#8217;s still VNC.</p>
<p>Both these solutions are cross-platform, pretty easy to set up and have a wide range of graphical helper applications and front-ends. They share the common disadvantage that they send data unencrypted, which means that any enterprising hacker could view your keystrokes as they travel over the network. Thankfully, it&#8217;s easy to solve this problem. There are a number of applications that will create a secure <em>tunnel</em> between two computers (Google &#8220;SSH tunnel&#8221; for more information). Alternative protocols to VNC like <a href="http://en.wikipedia.org/wiki/NX_technology">NX</a> provide all the functionality of VNC over an encrypted connection. There are a lot of options, and the best part is that almost all of them are <em>free</em>.</p>
<p>So in short, if you&#8217;re thinking of buying a KVM, save $100 in cables and dongles and use software instead.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexras.info/2010/06/23/the-death-of-the-kvm-switch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wolfram Alpha is My Master Now</title>
		<link>http://alexras.info/2010/06/06/wolfram-alpha-is-my-master-now/</link>
		<comments>http://alexras.info/2010/06/06/wolfram-alpha-is-my-master-now/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 03:22:30 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://alexras.info/?p=401</guid>
		<description><![CDATA[Part of my research lately has involved asking a lot of questions like &#8220;What&#8217;s 100 TB / X / (N*D) in MB per second?&#8221; and &#8220;What&#8217;s the amount of time it takes for a 7200 RPM disk to go through half a revolution?&#8221; (reasons for this will be revealed later). Google Calculator is great for [...]]]></description>
			<content:encoded><![CDATA[<p>Part of my research lately has involved asking a lot of questions like &#8220;What&#8217;s 100 TB / X / (N*D) in MB per second?&#8221; and &#8220;What&#8217;s the amount of time it takes for a 7200 RPM disk to go through half a revolution?&#8221; (reasons for this will be revealed later). Google Calculator is great for this. If you&#8217;ve never heard of Google Calculator, that&#8217;s because it&#8217;s built into Google Search. Try going to Google and search for &#8220;10 hectares in square parsecs&#8221; to get an idea for what I mean. It supports tons of unit conversion formats, but it&#8217;s lacking in support for calculations relating to bytes.</p>
<h3>Megabytes or Mibibytes?</h3>
<p>As a bit of exposition: a common question when buying hard drives is &#8220;I just bought a 500 GB drive but it only has 465 GB of capacity when I hook it to my computer. I want my extra space back!&#8221; This discrepancy isn&#8217;t because hard drive companies want to screw you over (OK, they might be trying to screw you over, but not with this), it has to do with how computer science deals with bytes. In a network setting, measurement is typically done in powers of 10, so a gigabyte is 1000 megabytes. With storage, measurement is typically done in powers of 2, so a gigabyte is 1024 megabytes. So when you buy a 500 GB drive, your computer will tell you it&#8217;s a 465.7 GB drive because they gave you the powers-of-10 capacity and the OS displays it in powers-of-two. I know that Snow Leopard no longer does this to avoid confusion, but I&#8217;m not sure what Windows 7 does.</p>
<p>In an effort to resolve the confusion, the International Electrotechnical Commission (IEC) instituted a set of units of measurement that used powers of two, and kept powers of ten as the default. So according to IEC, a megabyte is 1000 kilobytes, and a <em>mibibyte</em> is 1000 <em>kibibytes. </em>The &#8216;-&#8217;-bi&#8217; was supposed to invoke the word &#8220;binary&#8221; in the user&#8217;s mind. Personally I think they deliberately did this to make computer scientists sound ridiculous. Once you get up high enough you hit <em>yobibytes, </em>for Pete&#8217;s sake; that sounds like something you&#8217;d give Scooby Doo&#8217;s second-cousin Yobi Doo to make him cooperate.</p>
<p>Google Calculator deals explicitly in IEC units, but doesn&#8217;t follow the standard: if you ask it &#8220;how many bytes in a yottabyte&#8221; and &#8220;how many bytes in a yobibyte&#8221;, you get the same answer. This is intensely irritating if you care about powers of ten when you&#8217;re dealing with bytes.</p>
<h3>Enter Wolfram Alpha</h3>
<p><a title="Wolfram Alpha" href="http://www.wolframalpha.com/">Wolfram Alpha</a> is basically a thin veneer on top of Mathematica that allows you to access some of its simpler functionality for free. Mathematica is a mathematical toolbox that is so absurdly sophisticated and full-featured that I&#8217;m expecting it to gain sentience any minute. Just to give you an idea, the Mathematica documentation &#8211; complete with typesetting and figures &#8211; was written <em>entirely</em> in Mathematica. Scary.</p>
<p>I was hunting around for an alternative to Google Calculator&#8217;s unit conversion (and considering writing my own, such was my level of desperation) when I decided to ask Alpha. After all, you can ask Alpha <a href="http://www.wolframalpha.com/input/?i=how+many+roads+must+a+man+walk+down+before+you+can+call+him+a+man%3F">&#8220;How many roads must a man walk down before you can call him a man?&#8221;</a> so it must be able to do unit conversion, right? Turns out it can, and it honors the IEC specification! So if I ask it &#8220;how many bytes in a kilobyte&#8221;, not only will it give me powers of ten, it will ask me if that&#8217;s what I wanted and suggest kibibytes as an alternative!</p>
<p>It can also convert between decimal, binary (twos-compliment and unsigned), hex and octal. Hot damn.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexras.info/2010/06/06/wolfram-alpha-is-my-master-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Esoteric Tip of the Day #1: Dead Man’s Check</title>
		<link>http://alexras.info/2009/12/12/esoteric-tip-of-the-day-1-dead-mans-check/</link>
		<comments>http://alexras.info/2009/12/12/esoteric-tip-of-the-day-1-dead-mans-check/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 17:00:38 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://alexras.info/?p=375</guid>
		<description><![CDATA[I&#8217;m responsible for the care and feeding of way too many computers. I say &#8220;way too many&#8221; because the probability of one of your computers doing something stupid on a Friday night increases in proportion to the number of computers that can do something stupid. Most of the time, the stupidity is routine (&#8220;Oh hey, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m responsible for the care and feeding of way too many computers. I say &#8220;way too many&#8221; because the probability of one of your computers doing something stupid on a Friday night increases in proportion to the number of computers that can do something stupid. Most of the time, the stupidity is routine (&#8220;Oh hey, what a surprise! Firefox is using all my RAM!&#8221;) but every so often, they surprise you. I&#8217;m going to post something here whenever I manage to fix one of these more &#8220;WTF&#8221;-type errors under the heading <strong>Esoteric Tip of the Day</strong>. Chances are you won&#8217;t care, but someone Google searching might, and I want to make this sort of information easy to find so that others won&#8217;t have to endure this same issue.</p>
<p>I noticed a couple days ago that my Mac mini (which acts as a storage server but will probably be doing more media serving once I get a better TV) was not visible to the rest of my home network. It turns out that the mini&#8217;s network interface was having serious issues, because the mini couldn&#8217;t even get an IP address. Doing a little digging into the log, I found a lot of log segments that look like this:</p>
<pre class="brush:plain">
kernel  AppleYukon2: error - FATAL: SkGeStopPort() does not terminate (Rx)
kernel  AppleYukon2: error - Event queued in Init Level 0
configd[14] network configuration changed.
Firewall[66]  krb5kdc is listening from :::88 proto=6
Firewall[66]  krb5kdc is listening from 0.0.0.0:88 proto=6
kernel  Ethernet [AppleYukon2]: Link up on en0, 100-Megabit, Full-duplex, Symmetric flow-control, Debug [796d,6c0c,0de1,0200,4de1,4000]
configd[14] network configuration changed.
Firewall[66]  krb5kdc is listening from :::88 proto=6
Firewall[66]  krb5kdc is listening from 0.0.0.0:88 proto=6
kernel  AppleYukon2: 00000000,00000000 sk98nif - deadmanCheck - nothing received, soft reset of chip
kernel  AppleYukon2: 00000000,00000000 sk98nif - deadmanCheck - nothing received, soft reset of chip
kernel  AppleYukon2: 00000000,00000000 sk98nif - deadmanCheck - nothing received, soft reset of chip
kernel  AppleYukon2: 00000000,00000000 sk98nif - deadmanCheck - nothing received, soft reset of chip
kernel  AppleYukon2: 00000000,00000000 sk98nif - deadmanCheck - nothing received, soft reset of chip
kernel  AppleYukon2: 00000000,00000000 sk98nif - deadmanCheck - still nothing received, hard reset of chip
</pre>
<p>There is only one group of people who know exactly what these messages mean, and they are the guys that wrote the AppleYukon2 driver.  Thankfully, a little Googling and some link clicking later, I had a plausible explanation. Apparently this sort of error occurs when one of the networking-related preferences that OS X stores is corrupted somehow. This apparently happened quite a bit when users upgraded to 10.5.7, and it also happened to me. The driver reads a corrupted preferences file, takes some ridiculous action and wedges the underlying hardware in some kind of bizarre state that only a reboot can correct.</p>
<p>Thankfully, OS X can regenerate its preferences files. To do this cleanly:</p>
<ul>
<li>Reboot holding down the Shift key. This will force the computer to boot in Safe Mode and (as a side-effect) rebuild its caches, which is a good thing if they&#8217;ve been populated with garbage from your corrupted preferences files, which they probably have been.</li>
<li>Delete the following files in /Library/Preferences/SystemConfiguration: NetworkInterfaces.plist, com.apple.airport.preferences.plist, com.apple.network.identification.plist</li>
<li>Reboot and re-apply your network settings (IP address, et al)</li>
</ul>
<p>Special thanks to Daniel Palmer, the poor soul who sat on the phone with Apple to get this resolved. Here&#8217;s <a href="http://discussions.apple.com/message.jspa?messageID=9505791#9505791">the thread containing the solution</a>.</p>
<p><strong>Update 3/3/10</strong>: This problem has reared its ugly head once again, and I&#8217;ve found out a little more information about it:</p>
<p>When you set the speed and duplex settings of your wired network adapter manually rather than keeping the setting at &#8220;Automatically&#8221; and you disable IPv6, the driver no longer triggers hard resets for whatever reason. In my case, it triggers soft resets at precise 6-minute intervals.</p>
<p>Also, as reader lafber pointed out, this problem only seems to occur when there is no traffic on the wired network. To solve this problem, I wrote a one-line AppleScript script. The application start a command that pings my router every 30 seconds. The command itself runs in a virtual terminal, so I don&#8217;t have to keep an application running in the foreground. The AppleScript looks like this:</p>
<p>do shell script &#8220;screen -m -d ping -i 30 192.168.1.1&#8243;</p>
<p>To get it to start at bootup, I saved that AppleScript script as an application and added the application to my default user&#8217;s Login Items in the Accounts system preference pane.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexras.info/2009/12/12/esoteric-tip-of-the-day-1-dead-mans-check/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Graduate Application Season</title>
		<link>http://alexras.info/2009/12/07/graduate-application-season/</link>
		<comments>http://alexras.info/2009/12/07/graduate-application-season/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 21:24:52 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Advice (Unsolicited)]]></category>
		<category><![CDATA[School]]></category>

		<guid isPermaLink="false">http://alexras.info/?p=371</guid>
		<description><![CDATA[It&#8217;s that time of the year again, the most wonderful time of the year: time for college seniors to start applying to graduate school. Although I&#8217;m quite happy where I am now, I look back on grad application time as one of the most physically and emotionally exhausting times of my life. My advisor Amin [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s that time of the year again, the most wonderful time of the year: time for college seniors to start applying to graduate school.</p>
<p>Although I&#8217;m quite happy where I am now, I look back on grad application time as one of the most physically and emotionally exhausting times of my life. My advisor Amin Vahdat has just written a very thoughtful <a href="http://idleprocess.wordpress.com/2009/12/07/why-go-to-graduate-school-and-how-to-get-into-the-program-of-your-dreams/">article on the graduate school application process</a>, how to know if you really want to go to graduate school and how to get into a good program. I also wrote a related post last year on the <a href="http://alexras.info/2008/12/19/how-to-apply-to-graduate-school-without-going-insane/">more technical side of the application process</a>.</p>
<p>To all the applicants this year, good luck! You should consider applying to UCSD (nudge nudge, wink wink).</p>
]]></content:encoded>
			<wfw:commentRss>http://alexras.info/2009/12/07/graduate-application-season/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Decent Python Code Folding in TextMate</title>
		<link>http://alexras.info/2009/07/16/decent-python-code-folding-in-textmate/</link>
		<comments>http://alexras.info/2009/07/16/decent-python-code-folding-in-textmate/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 18:38:53 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://alexras.info/?p=337</guid>
		<description><![CDATA[TextMate is a great editor, and Python is a great programming languages, but they both have their limitations. One of TextMate&#8217;s nicer features is code folding, which allows you to collapse a block of code (a function, a conditional block, etc.) down to a single line in the editor. This often makes a large piece [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-364" title="textmate_logo" src="http://alexras.info/wp-content/uploads/2009/07/textmate_logo.jpg" alt="textmate_logo" width="163" height="146" /><a title="TextMate" href="http://www.macromates.com/">TextMate</a> is a great editor, and <a title="Python" href="http://python.org/">Python</a> is a great programming languages, but they both have their limitations.</p>
<p>One of TextMate&#8217;s nicer features is code folding, which allows you to collapse a block of code (a function, a conditional block, etc.) down to a single line in the editor. This often makes a large piece of code much easier to navigate. TextMate determines where code can be folded by evaluating each line of the code and tagging particular lines with start and end markers.</p>
<p>Doing code folding for Python in this method (only considering a single line at a time) is impossible, since the only clear end of a function in Python is a reduction in indentation level on the next line. For example, here&#8217;s a function in C followed by a statement:</p>
<pre class="brush:python">int foo(int value) {
   printf("%d", value + 5);
}

foo(24);</pre>
<p><br/>Here&#8217;s the same code written in Python:</p>
<pre class="brush:python">def foo(value):
   print "%d" % (value + 5)

foo(24)</pre>
<p><br/>As you can see, if you look at the code one line at a time, it&#8217;s not clear where the definition of foo in Python ends, whereas the closing curly brace (}) is clearly the end of foo&#8217;s definition in C.</p>
<p>By default, TextMate punts: it defines the start of a function or class definition as the start of a foldable region and the first subsequent blank line as the end of that foldable region.  This doesn&#8217;t really work well, because function definitions without any blank lines aren&#8217;t really readable past a certain size.</p>
<p>There is, however, a way to hack your way around this issue. Another of TextMate&#8217;s killer features is that you can customize almost everything, including the definition for a given language.</p>
<p>Open the Language Editor through the &#8220;Bundles &gt; Bundle Editor &gt;Edit Languages &#8230;&#8221; menu item (as of TextMate 1.5.8, anyway).</p>
<p>Pull up the language editor for Python, find a line that looks like this:</p>
<pre class="brush:cpp">foldingStopMarker = '^\s*$|^\s*\}|^\s*\]|^\s*\)|^\s*"""\s*$';</pre>
<p><br/>and replace it with this:</p>
<pre class="brush:cpp">foldingStopMarker = '^\s*#\s*END_DEF ([a-zA-Z0-9_&lt;]+)';</pre>
<p><br/>Now, if you want to fold a function definition in Python, stick a comment at the end of it:</p>
<pre class="brush:python">def foo(value):
   print "%d" % (value + 5)
#END_DEF foo</pre>
<p><br/>Hope fully this helps out some of you who are using TextMate for Python programming.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexras.info/2009/07/16/decent-python-code-folding-in-textmate/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dealing with WordPress Database Inconsistency</title>
		<link>http://alexras.info/2009/05/20/dealing-with-wordpress-database-inconsistency/</link>
		<comments>http://alexras.info/2009/05/20/dealing-with-wordpress-database-inconsistency/#comments</comments>
		<pubDate>Thu, 21 May 2009 01:00:24 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://alexras.info/?p=332</guid>
		<description><![CDATA[I just finished wrestling with a problem with WordPress. Editing a really old page tickled some sort of internal inconsistency in the database, which created a zombie page that could neither be edited nor deleted. I really wasn&#8217;t looking forward to crawling around in the database, so I did some googling and came up with [...]]]></description>
			<content:encoded><![CDATA[<p>I just finished wrestling with a problem with WordPress. Editing a really old page tickled some sort of internal inconsistency in the database, which created a zombie page that could neither be edited nor deleted. I really wasn&#8217;t looking forward to crawling around in the database, so I did some googling and came up with Lester Chan&#8217;s brilliant <a title="WP-DBManager Homepage" href="http://lesterchan.net/wordpress/readme/wp-dbmanager.html">WP-DBManager</a>. One click of the &#8220;Repair&#8221; button and allowed me to deliver the deathblow to the zombie page, saving me a boatload of time in the process. Thanks, Lester!</p>
]]></content:encoded>
			<wfw:commentRss>http://alexras.info/2009/05/20/dealing-with-wordpress-database-inconsistency/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Preventing data loss</title>
		<link>http://alexras.info/2009/01/21/preventing-data-loss/</link>
		<comments>http://alexras.info/2009/01/21/preventing-data-loss/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 04:01:42 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://alexras.info/?p=320</guid>
		<description><![CDATA[I&#8217;ve always been the sort of person that saves receipts. Until very recently, I had an entire filing box full of receipts, warranty cards and software license keys. This system bothered me in much the same way that keeping paper copies of research papers did: they can&#8217;t be searched (did I file the receipt for [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-322 aligncenter" title="Smokey bear" src="http://alexras.info/wp-content/uploads/2009/01/d834smokey-bear-only-you-posters.jpg" alt="OK, so it's not a forest fire, but you get the point." width="353" height="450" /></p>
<p>I&#8217;ve always been the sort of person that saves receipts. Until very recently, I had an entire filing box full of receipts, warranty cards and software license keys. This system bothered me in much the same way that <a title="Previous post &quot;My Digital Transition&quot;" href="http://alexras.info/2008/11/01/my-digital-transition/">keeping paper copies of research papers</a> did: they can&#8217;t be searched (did I file the receipt for my coffee table under C for coffee table, T for table, I for Ikea, F for furniture?), and they take up space in my apartment, where space is pretty limited. There&#8217;s the additional problem of a paper receipt&#8217;s relative fragility: there&#8217;s only one copy of it, and it can be burned, crumpled, crushed, soaked, can fade into unreadability, and so on. The solution was pretty straightforward; I scanned everything in the box, gave them descriptive file names and let Spotlight index them.  To provide some additional protection against data loss, I burned two copies of the newly-scanned PDFs onto two separate DVDs and mailed one to my parents. This got me thinking; sure, this way it&#8217;s much less likely that my important documents will be destroyed in the event of a disaster. Really though, how safe is my data? More importantly, how safe can my data really be?</p>
<p>Some studies point to the fact that the lifespan of recordable CDs and DVDs is quite short (in the neighborhood of three to five years), which means that any &#8220;permanent&#8221; storage on DVDs would need to be refreshed on about that interval to remain current. Now, given that most of what I burned on those DVDs don&#8217;t need to be kept for more than five years, that shouldn&#8217;t really be a problem. Also, these are kept in relatively controlled conditions &#8211; no direct sunlight, ambient temperature where they are doesn&#8217;t get much colder than about 55 or much hotter than about 100. But what about things like photos, home videos? Stuff that is irreplaceable and would need to be stored over a period of, say, decades?</p>
<p>Every data retention scheme you can name has its breaking point, some condition that could irretrievably kill your data. In my opinion, the important factors are the likelihood and inevitability of the failure and if the failure can be proactively avoided. Let&#8217;s take a look at a few ways to store data sorted from least paranoid to &#8220;tin-foil hat&#8221; paranoid.</p>
<p><strong>Single disk:<br />
</strong></p>
<ul>
<li>Data is lost when: the disk fails.</li>
<li>How likely/inevitable is this?: All disks will fail, it&#8217;s just a matter of when.</li>
<li>Proactive avoidance?: Unless you go to some outside storage source, none.</li>
</ul>
<p>Scarily, this is what most people are relying on. Professional drive recovery companies might be able to get your data off the disk, but it will cost a pretty penny.</p>
<p><strong>RAID array (multiple, redundant disks):</strong></p>
<ul>
<li>Data is lost when:
<ul>
<li>All redundant disks fail before the array can be rebuilt. Especially heinous if your disks all croak of the same hardware problem, or your power supply kills them by catching on fire.</li>
<li>(Hardware RAID only) RAID controller fails, no replacement or equivalent controller can be found</li>
</ul>
</li>
<li>How likely/inevitable is this?: With enough diligence (and enough backup disks), this shouldn&#8217;t be too likely.</li>
<li>Proactive avoidance?: More redundant disks, software RAID, quick monitoring and early detection of drive errors, always having a spare drive or two handy.</li>
</ul>
<p><strong>Burning to CD/DVD:</strong></p>
<ul>
<li>Data is lost when: the disk becomes unreadable (crushed, melted, thoroughly scratched, hacked into un-spinnable chunks, or some other loss of structural integrity)</li>
<li>How likely/inevitable is this?: Some might argue that it will happen eventually, but it&#8217;s a lot less likely than your disk failing, especially if you don&#8217;t expect to touch the data itself frequently.</li>
<li>Proactive avoidance?: More copies, stored in more places. Re-burning periodically.</li>
</ul>
<p><strong>Backup to off-site computer/external disk that&#8217;s kept somewhere else:</strong></p>
<ul>
<li>Data is lost when: both the storage system storing the original and the storage system storing the backup fail<strong> </strong>before an additional backup can be brought online</li>
<li>How likely/inevitable is this?: Unless you&#8217;re not paying attention to your backup for long periods of time or there&#8217;s a nuclear war, you&#8217;re probably OK. The amount of time you have to react depends, of course, on the storage setup of the two machines.</li>
<li>Proactive avoidance?: More than one backup, as widely distributed geographically as you can afford.</li>
</ul>
<p><strong>Cloud Storage (Amazon&#8217;s S3, others):</strong></p>
<ul>
<li>Data is lost when: hopefully never. Companies providing cloud storage services spend a lot of money making sure that this doesn&#8217;t ever happen. Amazon&#8217;s SLA for S3 doesn&#8217;t even mention data loss, just the minimum amount of time they guarantee that the service will be available per year.</li>
<li>How likely/inevitable is this?: Much like the nuclear war scenario, if S3 loses data it will probably be on the news, at least in the Silicon Valley.</li>
<li>Proactive avoidance?: Multiple storage clouds, owned by multiple vendors. This is truly the peak of tinfoil-hat paranoia.</li>
</ul>
<p>In my opinion, there are only two real downsides to the cloud storage approach. The first is that upload bandwidth, for most residential Internet customers in the United States, just plain sucks, and uploading a non-trivial amount of data is painfully slow. Fiber to the home (and a technology-friendly executive branch) might change this, but it won&#8217;t happen in the immediate future. Second, S3 costs money, both to upload data and to store it there. If you&#8217;re not willing (or able) to pay the bill, this isn&#8217;t for you.</p>
<p>This is by no means an exhaustive list, and there are a lot of hybrid approaches. I back up my computer&#8217;s hard drives to external drives periodically, and those drives spend most of their time in my desk drawer. My various media (photos, music, digital copies of DVDs) are stored on a software RAID-1 in the media center PC. As an additional layer of protection, all my photos are on Flickr, all my music is synchronized with my iPod fairly regularly and my DVDs are, well, DVDs.</p>
<p>This setup, while pretty decent, is by no means foolproof. One major concern that I haven&#8217;t talked about here is data corruption, and I&#8217;ve got pretty much zero defense against that. Once Apple releases Snow Leopard, hopefully I&#8217;ll be able to transfer all my data over to ZFS volumes. I could nerd out over ZFS for a whole other post, but the short of it is that ZFS makes far fewer assumptions about data&#8217;s integrity and comes pretty close to eliminating the data corruption problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexras.info/2009/01/21/preventing-data-loss/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to apply to graduate school without going insane</title>
		<link>http://alexras.info/2008/12/19/how-to-apply-to-graduate-school-without-going-insane/</link>
		<comments>http://alexras.info/2008/12/19/how-to-apply-to-graduate-school-without-going-insane/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 21:17:31 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Advice (Unsolicited)]]></category>

		<guid isPermaLink="false">http://alexras.info/?p=316</guid>
		<description><![CDATA[A few friends of mine are applying to graduate school. This was without a doubt one of the most stressful and chaotic things I&#8217;ve ever done. Now that I&#8217;ve been in grad school for a while, I have a small understanding of how the application process works. My experience is limited, of course, to the [...]]]></description>
			<content:encoded><![CDATA[<p>A few friends of mine are applying to graduate school. This was without a doubt one of the most stressful and chaotic things I&#8217;ve ever done. Now that I&#8217;ve been in grad school for a while, I have a small understanding of how the application process works. My experience is limited, of course, to the programs to which I applied, so your mileage may vary. Also, I applied to ten(!) different graduate programs, so some of these solutions might not apply to you if you&#8217;re only applying to one or two.</p>
<p><strong>Getting Organized</strong></p>
<p>One of the most challenging parts of the grad school application process is knowing what everybody wants and keeping it all straight. Just about everybody wants a statement of purpose, but they have different guidelines as to what they want to see (at most X words vs. at most Y pages, single-spaced vs. double-spaced etc). Everyone wants recommendation letters, but they differ as to what sorts of recommendations they expect; do they accept recommendations from people you&#8217;ve worked with in an industrial setting, or do they want recommendations strictly from faculty members? The list goes on.</p>
<p>The very first thing I did when applying to graduate programs was to look at their programs&#8217; websites and their application forms and try to answer a few questions:</p>
<ul>
<li>How much is the application fee?</li>
<li>What do they say they want in a statement of purpose? (I wrote down exactly what they required there)</li>
<li>How many letters of recommendation, and from whom? Do they want them mailed or filed digitally? If mailed, where should I mail them?</li>
<li>Do they take GRE scores? If so, do they require a subject GRE? Which one? What are their GRE institution codes? (This last bit is important so you can tell The Testing Mafia where to send your scores)</li>
<li>How many copies of my transcript do they need? Do they want it mailed or filed digitally? If mailed, where should I mail them?</li>
<li>With which professors would I want to work? What projects have they done or are they doing that I find interesting? (If you can&#8217;t answer both of these questions, reconsider applying to this school)</li>
</ul>
<p>Once I was done making that list (it took me an afternoon, round numbers) I made a folder on my computer called &#8220;Graduate School&#8221;. Inside that folder, I made two folders, &#8220;General Purpose&#8221; and &#8220;Schools&#8221;. The &#8220;General Purpose&#8221; folder would hold all the information that all schools seemed to want in some form or another &#8211; statement of purpose, resume, transcript, extracurricular activities list, work experience, and so on. The &#8220;Schools&#8221; folder contained a subfolder for each school, and housed not only the application materials for that school but also copies of any confirmation e-mails or webpages I received after completing the application (in case I needed to produce them later for some reason). This über-folder was backed up periodically to a server across town to protect against any major disasters.</p>
<p><strong>The Statement of Purpose</strong></p>
<p>This is the big one. This is the portion of the application that the people for whom you want to do research are likely to read &#8211; think of it as your &#8220;elevator pitch&#8221; for yourself.</p>
<p>Some people say that you should tailor your statement of purpose for each university to which you apply &#8211; since I was applying to ten different universities, this tactic didn&#8217;t seem feasible. You can say &#8220;Oh, a graduate degree from Stanford is the reason I was brought into this world; I will remake the world in Leland Stanford&#8217;s image with the help of Professor So-and-so, who I worship as a god among men!&#8221; but the people reading your letter won&#8217;t buy it. If you&#8217;re applying to a program because you&#8217;re really interested in X, and a professor in that program is a leader in the field on X, and you&#8217;ve had prior research experience in X, then mention it. Otherwise, leave it out because it does you no good.</p>
<p>Be honest, both with yourself and with the university to which you&#8217;re applying. I didn&#8217;t consider graduate school seriously until my junior year in college, and a lot of the places to which I was applying expected lots of prior research experience from their applicants that I honestly didn&#8217;t have. I knew they would notice it, so I came right out and said in my statement (not in so many words, you understand), &#8220;Look, I know that I haven&#8217;t published anything and that my research experience is kind of slim, but I&#8217;m really excited about this stuff and I know that I&#8217;ll be able to meet and exceed your expectations&#8221;.</p>
<p>Remember that this is not like college applications; your materials are not, by and large, going to be read by some faceless bunch of professional college application readers. The people reading your application are probably among the people whose classes you will take and whose research you will do. More importantly, they will be the ones who will fund you and they want to know that they&#8217;ll be getting their money&#8217;s worth.</p>
<p><strong>Recommendation Letters</strong></p>
<p>So many &#8220;how to get into graduate school&#8221; websites say that the key with recommendation letters is to get the ball rolling early, and I agree with them. One thing they don&#8217;t tell you often enough (and that they should tell you) is that your college&#8217;s letter service is your friend. Professors, especially at &#8220;research universities&#8221;, usually don&#8217;t like being bothered about letters of recommendation by undergraduates. It means that, in addition to writing the letter itself, they have to fill out forms and get envelopes and stamps and it takes time away from their work. Your goal is to be as unobtrusive as possible, and the campus letter service helps tremendously with that.</p>
<p>Letter services offer your recommenders the ability to write their letter once and send it to the letter service office along with some identifying information. The letter service then keeps these letters and (for a nominal fee) ships them off to whomever you want without any further involvement from the recommenders. Another plus of this method is that you don&#8217;t have to worry about getting all of your recommenders to send everything in on time &#8211; just fill out a form online and you&#8217;re good to go.</p>
<p>In short, start early, and if your university has a letter service then use it.</p>
<p><strong>Keeping Track of Deadlines</strong></p>
<p>You may be the most diligent person on Earth and have all your applications done well in advance of the deadline. If you&#8217;re like most of us, applying for graduate school isn&#8217;t the only thing you&#8217;re doing &#8211; you&#8217;re busy. I wrote down all the deadlines for my applications (which fell in a six week window between the middle of December and the beginning of February) and put countdown timers on my Google homepage. Every time I opened a browser, there they were, a grid of about a dozen numbers that kept getting smaller. If that won&#8217;t keep you on track, nothing will.</p>
<p>I hope that my experiences with this horrible, tedious process will prove useful to someone. Godspeed, applicants.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexras.info/2008/12/19/how-to-apply-to-graduate-school-without-going-insane/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
