<?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 Muller</title>
	
	<link>http://alex.mullr.net/blog</link>
	<description>Hi. I'm a student at the University of York, in the Computer Science and Maths departments. I recently finished working at GlaxoSmithKline in London. And this is my blog.</description>
	<lastBuildDate>Mon, 26 Mar 2012 20:05:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/alexmuller" /><feedburner:info uri="alexmuller" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Constrained optimisation to allocate modules at York</title>
		<link>http://feedproxy.google.com/~r/alexmuller/~3/bR9Nu_iRimI/</link>
		<comments>http://alex.mullr.net/blog/2012/03/constrained-optimisation-allocate-modules-york/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 20:05:20 +0000</pubDate>
		<dc:creator>Alex Muller</dc:creator>
				<category><![CDATA[education]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[university]]></category>
		<category><![CDATA[York]]></category>

		<guid isPermaLink="false">http://alex.mullr.net/blog/?p=792</guid>
		<description><![CDATA[A week ago today I handed in my final-year project in Computer Science - I'm going to describe what the project was about, and recount my introduction to constrained optimisation.]]></description>
			<content:encoded><![CDATA[<p>A week ago today I handed in my final-year project in Computer Science (the
infamous dissertation that the fine people of Twitter are completely bored of
hearing me talk about). Like most in the department, mine consisted of about
20,000 words over seventy pages and a ten minute presentation describing the
work I&#8217;d been doing for the last year or so. According to the staff involved,
a University software project implemented by a student was something that had
never been tried before, and as I had such a fun time doing it I thought I&#8217;d
write a bit here. The aim was to create software that allocates students
to modules.</p>

<p>The project had two fairly distinct halves: a web interface to let students
express their preferences for optional modules, and a bit of software to take
that input and do the allocation. The end result had to satisfy constraints
from the departments (e.g. a class can&#8217;t have more than <em>x</em> students), while
also trying to keep students as happy as possible &#8211; it&#8217;s a <a href="https://en.wikipedia.org/wiki/Constraint_optimization" title="Constrained optimisation">constrained
optimisation</a> problem. The more I think about it, this project could not
have been any more perfect for me; half web stuff, half maths. Lovely.</p>

<p>The web development side of things was nothing too outrageously challenging. A
lot of research and testing with staff and students to make sure it was as
easy to use as possible, though the end product is just a jQuery <code>sortable</code>
implementation. Those of you who have used the <abbr title="University of York
Student's Union">YUSU</abbr> site to vote during elections will recognise that
this software goes for the same mental model. Students in the Departments of
History and Archaeology noticed that too, which was wonderful. Here&#8217;s <a href="https://vimeo.com/36601883" title="Module allocation on an iPad">a bit of
video</a> of one of the earlier functional prototypes (on an iPad, because iPads
make everything cooler) &#8211; please excuse the music:</p>

<iframe src="http://player.vimeo.com/video/36601883?color=d0dae9" width="500"
height="375" frameborder="0" webkitAllowFullScreen mozallowfullscreen
allowFullScreen></iframe>

<p>The constrained optimisation and linear programming stuff was where it started
to get really interesting from a computer science point of view. The first I&#8217;d
heard of <abbr title="constrained optimisation">CO</abbr> was in about May
last year, so having <a href="http://www-users.cs.york.ac.uk/~jc/" rel="met"
title="James Cussens">an expert supervisor</a> was more than a little helpful.
We used a solver (in this case <a href="http://www.gurobi.com/" title="Gurobi">Gurobi</a>) to save a whole load of work on the
implementation, and I&#8217;m shocked by how powerful it is. It&#8217;s got wonderful
interfaces for several languages and is completely free for academic use!
Linear programming and all that related gunk is such a huge field that if you
try hard enough I bet you&#8217;ll be able to think of somewhere you could use it.</p>

<p>Once it was all set up, it&#8217;s just a case of creating a ton of (binary)
variables, defining the objective function (what the solver should try to
achieve), loading in the constraints and hitting the big red button. This
system used the following:</p>

<ul>
<li>Binary variables: one for every possible allocation (an allocation is a
 <em>student, module</em> pair), set to 1 if the student is allocated the module or
 0 otherwise.</li>
<li>Objective function: a linear function that can be maximised or minimised by
 the solver. I chose to include every binary variable with a coefficient
 indicating the &#8220;goodness&#8221; of that allocation, which is based on the rank the
 student gave.</li>
<li>Constraints: each class had a maximum and minimum size, and each student had
 to take the required number of classes.</li>
</ul>

<p>We&#8217;re talking about painfully simple code to interact with Gurobi, too. Here&#8217;s a bit of it in Python:</p>

<pre><code>from gurobipy import *

model = Model(&quot;modalloc&quot;) # new Gurobi model
gurobivar = model.addVar(vtype=GRB.BINARY, name=student+&quot;_&quot;+module) # new binary var
model.update()
objfn = LinExpr() # objective function
objfn.addTerms(rank_coeff[ranks[(student, module)]], gurobimavs[student][module])
model.addConstr(num_students &lt;= modules[module]['max'], &quot;classmax&quot;) # constraint
model.optimize()
</code></pre>

<p>(There&#8217;s a slightly <a href="https://gist.github.com/1790565" title="An algorithm to allocate optional modules to university students">more fully-featured gist</a> available, if you&#8217;re that way inclined&#8230;)</p>

<blockquote class="twitter-tweet"><p>35 days until actual students start using
my software. 50 days until the dissertation is due. 97 days until I finish at
York. Gulp?</p>&mdash; Alex Muller (@alexmuller) <a
href="https://twitter.com/alexmuller/status/161553180281409537"
data-datetime="2012-01-23T20:57:34+00:00">January 23, 2012</a></blockquote>

<p>I think what I love most about this software is that it&#8217;s a great example of a
nice modular web project: none of the parts by themselves are horrendously
complex, but they come together to make a system that <strong>actually solved a
problem</strong> &#8211; code I wrote was used by 800 students in two departments, and the
data it generated is now stored in the central student database. All my
fingers are crossed that <a href="http://www.york.ac.uk/it-services/" title="IT Services at The University of York">IT Services in York</a> will be able to take the
code on, spruce it up a little and offer it to many more departments next
year. <a href="https://github.com/alexmuller/york-dissertation" title="Dissertation: Allocating Optional Modules to University of York Students">The report&#8217;s on GitHub</a>, but private at the moment. I&#8217;ll
make it public once it&#8217;s marked if I&#8217;m able to.</p>

<blockquote class="twitter-tweet"><p>Final-year project: simultaneously the
best, worst, scariest and fun (academic) thing I&#8217;ve ever done.</p>&mdash; Alex
Muller (@alexmuller) <a
href="https://twitter.com/alexmuller/status/165100523882692608"
data-datetime="2012-02-02T15:53:26+00:00">February 2, 2012</a></blockquote>

<blockquote class="twitter-tweet"><p>The most proud I&#8217;ve ever been of
anything. (If there&#8217;s a typo on the front page I&#8217;m exiting via a 3rd floor
window) <a href="http://t.co/JkVCwHQN"
title="http://twitpic.com/8y0t1n">twitpic.com/8y0t1n</a></p>&mdash; Alex
Muller (@alexmuller) <a
href="https://twitter.com/alexmuller/status/181375873281306624"
data-datetime="2012-03-18T13:45:52+00:00">March 18, 2012</a></blockquote>

<p><!-- Twitter JS -->
<script src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<img src="http://feeds.feedburner.com/~r/alexmuller/~4/bR9Nu_iRimI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://alex.mullr.net/blog/2012/03/constrained-optimisation-allocate-modules-york/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://alex.mullr.net/blog/2012/03/constrained-optimisation-allocate-modules-york/</feedburner:origLink></item>
		<item>
		<title>The web, growing up</title>
		<link>http://feedproxy.google.com/~r/alexmuller/~3/24TtZnl2cak/</link>
		<comments>http://alex.mullr.net/blog/2011/11/the-web-growing-up/#comments</comments>
		<pubDate>Sun, 20 Nov 2011 15:42:29 +0000</pubDate>
		<dc:creator>Alex Muller</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[bbc]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://alex.mullr.net/blog/?p=781</guid>
		<description><![CDATA[I hadn't realised how excited I was about link rot until I started writing about it. Ever noticed that the BBC don't update the style of old news articles to match their latest look?]]></description>
			<content:encoded><![CDATA[<p>Jeremy Keith <a href="http://huffduffer.com/adactio/56305">recently huffduffed</a> a
conversation about digital preservation. It revolves around the creation of
archiving software that will hopefully help reduce the impact of <a href="http://en.wikipedia.org/wiki/Link_rot">link
rot</a> on the web.</p>

<p><em>(That conversation is interesting, and you should definitely have a listen.
What follows is only tangentially related.)</em></p>

<p>This audio got me thinking about something that had always niggled at me in
the past: the BBC not updating old article styles when they change the
appearance of BBC News. Take, for example, what must be one of the most viewed
BBC News articles of all time: &#8220;<a href="http://news.bbc.co.uk/1/hi/world/americas/1537469.stm">US rocked by terror
attacks</a>&#8221;, published on
Tuesday 11 September 2001.</p>

<p>The BBC News site has gone through a thousand and one different looks over the
last ten years (most of which spent a few weeks receiving hateful comments),
but that article still looks exactly as it did on the day it was published.
Contrast that with similar articles dated 2001 from <a href="http://www.guardian.co.uk/world/2001/sep/26/afghanistan.terrorism3">The
Guardian</a>,
<a href="http://www.wired.com/politics/law/news/2001/09/47109">Wired</a> and <a href="http://www.nytimes.com/2001/09/13/us/after-attacks-united-flight-93-doomed-flight-passengers-vowed-perish-fighting.html">The New
York
Times</a>,
and you can see they all match the current look of the site they&#8217;re a part of.</p>

<p>What the BBC are doing had always bothered me subconsciously, and now
something&#8217;s changed. I&#8217;m not sure if it&#8217;s the audio that Jeremy posted which
has swayed me, but suddenly I find myself really liking what the BBC are
doing. I love that that article is still at exactly the same URL it was when
it was published. I love that the source is filled with <code>&lt;table&gt;</code>s, <code>&lt;map&gt;</code>s
and <code>&lt;font&gt;</code>s. And I love that the whole thing is 600 pixels wide.</p>

<p>It&#8217;s a piece of history. Even though the BBC have been criticised by many for
taking historical content offline (including Jeremy, who <a href="http://bbc.adactio.com/">hosts a sample of
that content</a>), I hadn&#8217;t realised how much I
appreciate everything they put into BBC News.</p>

<p>I&#8217;m going to try my best to do the same with everything I publish:</p>

<ol>
<li>URLs that never change.</li>
<li>Individual articles that look exactly as they did when they were published.</li>
</ol>

<p>The first will be a challenge, since I&#8217;m already falling out of love with this
domain name.</p>

<p>As to the second, I&#8217;ve made a start using the <a href="http://wordpress.org/extend/plugins/custom-post-template/">Custom Post
Template</a> plugin
for WordPress. My post on <a href="http://alex.mullr.net/blog/2007/07/university-of-york/">York a year before I arrived
here</a> (reading that
again is <em>so</em> odd) looks almost exactly as it did when it was first posted.
(Yorkies: the Louis mentioned in that post is <a href="http://www.louismrose.me.uk/">Louis
Rose</a>.)</p>

<p>And if I move away from WordPress in the future, it should be relatively easy
to just keep shuffling the plain old HTML around so that everything keeps
looking the same.</p>

<p>Most of all, I love that that York post now looks as old as it is. It was
written by a sixteen-year-old in 2007, and it should look like it was designed
by one too.</p>
<img src="http://feeds.feedburner.com/~r/alexmuller/~4/24TtZnl2cak" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://alex.mullr.net/blog/2011/11/the-web-growing-up/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://alex.mullr.net/blog/2011/11/the-web-growing-up/</feedburner:origLink></item>
		<item>
		<title>Site verification</title>
		<link>http://feedproxy.google.com/~r/alexmuller/~3/Y9DiLhftCM4/</link>
		<comments>http://alex.mullr.net/blog/2011/09/site-verification/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 12:23:38 +0000</pubDate>
		<dc:creator>Alex Muller</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://alex.mullr.net/blog/?p=773</guid>
		<description><![CDATA[With the upcoming launch of Twitter's analytics service for website owners (which will presumably require some kind of verification), I was wondering: why isn't there a standard, similar to robots.txt, for verifying that you own a domain?]]></description>
			<content:encoded><![CDATA[<p><img src="http://alexmuller.s3.amazonaws.com/static/blog/2011-09-22-webroot.png" alt="Screenshot of a root directory of a web server" title="" /></p>

<p>Is it just the root of my server that looks a bit like this? With the upcoming launch of Twitter&#8217;s analytics service for website owners (which will presumably require some kind of verification), I was wondering:</p>

<p>Why isn&#8217;t there a standard, similar to <a href="http://www.robotstxt.org/">robots.txt</a>, for verifying that you own a domain? <code>verification.txt</code>?</p>

<p><img src="http://alexmuller.s3.amazonaws.com/static/blog/2011-09-22-verificationtxt.png" alt="Screenshot of an example verification.txt file" title="" /></p>

<pre><code>google: Pt8rpfeQC4SCyzABFilZiJC5Tqw8f
googlehosted: Rb0S6k5si3nOj5rVfPmnzU0pYit
bing: eXB4oWQR1iVLtKp6Yk2hTq7N7JPjmoX5
yahoo: y_key_uyxZucu9dvrzsr3PWaYx9G5gLT
twitter: rqcSmFJIlugbPjXvI6vGuZi7YCiWXYR
</code></pre>

<p>I can&#8217;t think of a reason each service needs more than a few alphanumeric characters for this.</p>
<img src="http://feeds.feedburner.com/~r/alexmuller/~4/Y9DiLhftCM4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://alex.mullr.net/blog/2011/09/site-verification/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://alex.mullr.net/blog/2011/09/site-verification/</feedburner:origLink></item>
		<item>
		<title>Contingency</title>
		<link>http://feedproxy.google.com/~r/alexmuller/~3/f4w0dND0WEc/</link>
		<comments>http://alex.mullr.net/blog/2011/05/contingency/#comments</comments>
		<pubDate>Sat, 28 May 2011 08:18:00 +0000</pubDate>
		<dc:creator>Alex Muller</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[spotify]]></category>

		<guid isPermaLink="false">http://alex.mullr.net/blog/?p=757</guid>
		<description><![CDATA[I&#8217;ve been thinking quite a lot recently about contingency plans, I think partially spurred on by (re-)finding Alex Payne&#8217;s rules for computing happiness. His rules have encouraged me to try and keep things as simple as possible, and to not to rely too much on anything that&#8217;s far outside my control. So, I present a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking quite a lot recently about contingency plans, I think partially spurred on by (re-)finding <a href="http://al3x.net/2008/09/08/al3xs-rules-for-computing-happiness.html">Alex Payne&#8217;s rules for computing happiness</a>. His rules have encouraged me to try and keep things as simple as possible, and to not to rely too much on anything that&#8217;s far outside my control.</p>

<p>So, I present a few scenarios that could easily happen over the next few years. While I hope none of them do, thinking about it in advance can&#8217;t hurt.</p>

<h3 id="whatifapplestoppedmakingthebestos">What if Apple stopped making the best OS?</h3>

<p>This is becoming more of a worry with news dripping out about OS X Lion &#8211; Apple seem to be moving towards a simpler, iOS-like experience on the desktop. And while I hope they never abandon the nerds who love using OS X for development, I&#8217;ve got a horrible feeling we might wake up one day and find the command line gone.</p>

<p>I&#8217;d still keep using Apple hardware (it&#8217;s the best, see below), but I&#8217;d probably move to a Linux distribution. I&#8217;ve thought about this a bit recently, and I reckon the reason I&#8217;m such a fan of OS X is because it&#8217;s much more closely related to a LAMP server than Windows 7; making web development and testing that bit easier. Moving to from OS X to Linux would make more sense than moving from OS X to Windows.</p>

<p>Perhaps Ubuntu to start with, and then another distribution if I my needs changed or I felt a little more adventurous. Depending on how easily they installed on Apple hardware, of course, I&#8217;ve not looked in to that.</p>

<h3 id="whatifapplestoppedmakingthebesthardware">What if Apple stopped making the best hardware?</h3>

<p>It&#8217;s really hard to imagine a world in which the quality of MacBook Pros drops so far that they&#8217;re no longer appealing. Given what I&#8217;ve seen recently at work I wouldn&#8217;t ever touch a Dell. I think a souped-up Lenovo ThinkPad might do the job quite nicely. An IBM ThinkPad T21 was my first laptop back the early 2000s, don&#8217;t cha know?</p>

<p>They seem like they make decent quality, not-beautiful-but-not-ugly laptops. A cursory glance at their online store suggests something like a ThinkPad X220 might work. £1100 for a 12.5 inch 1366&#215;768, Core i3, 8GB RAM, 128GB SSD is comparable to a MacBook Pro on price though; the argument that &#8220;Apple is more expensive&#8221; seems to have been well and truly eroded.</p>

<p>A couple of months ago, <a href="http://www.engadget.com/2011/03/18/lenovo-thinkpad-x220-review/">Engadget called it</a> &#8220;arguably one of the best laptops [they&#8217;ve] ever tested&#8221;. That&#8217;ll do.</p>

<h3 id="whatiftwittershutupshop">What if Twitter shut up shop?</h3>

<p>This would be really tough. Twitter is a few things to me:</p>

<ol>
<li>It&#8217;s a place to meet new people with similar interests. I suppose I&#8217;d have to spend more time using Convore, Reddit, IRC? I&#8217;ve met quite a few people because of Twitter, and even got a few freelance web development jobs that turned out really well.</li>
<li>It&#8217;s a place to socialise with friends; Facebook would probably get that traffic.</li>
<li>It&#8217;s a place to find out the latest news that I&#8217;m interested in. At a few job interviews the interviewer has asked me how I keep up to date with the latest web goings-on. I haven&#8217;t been able to think of a better answer than Twitter and RSS.</li>
</ol>

<p>I&#8217;d start blogging a lot more, and probably investigate installing my own service that would allow me to keep posting brief updates.</p>

<h3 id="whatifspotifycloseddown">What if Spotify closed down?</h3>

<p>Simply put, I&#8217;d have to find somewhere else to get my music. I&#8217;ve recently started paying £5/month for Spotify, and I&#8217;m sure there&#8217;s another service that would do suitably well as a replacement, though probably not with the same huge catalog. Last.fm (especially the radio) would probably get a lot more use from me.</p>

<h3 id="whatifdropboxturnedmoreevil">What if Dropbox turned (more) evil?</h3>

<p>I&#8217;d head over to Amazon and buy the smallest, cheapest USB flash drive they had going, and put it on my keys. We&#8217;ve got a few <a href="http://www.amazon.co.uk/dp/B00422DCB6/">Sandisk Cruzer Blades</a> at work; they&#8217;re currently under £14 for 16GB, and the price of flash memory drops every day. And Verbatim do 16GB in fingernail-size for £24, so that&#8217;d be another to go for.</p>

<p>I don&#8217;t think there&#8217;s a service currently available that offers the same convenience as Dropbox. And if the only file-syncing solutions are stupidly tough to use, I&#8217;d rather go back to carrying round my data with me.</p>

<h3 id="whatiftheiphonestoppedbeingsodamnattractive">What if the iPhone stopped being so damn attractive?</h3>

<p>I&#8217;d probably go the route of webOS first &#8211; there&#8217;s something fundamental about the lack of attention to detail of Android that really bothers me.</p>

<p>I&#8217;d try the latest HP/Palm Pre in an O2 store, and see whether that works for me. And if not, probably whatever the latest HTC Desire S or Google Nexus S type <em>thing</em> is.</p>

<h3 id="andonandonandon">And on, and on, and on</h3>

<p>What&#8217;s the one service that you completely rely on? And what would you do without it?</p>
<img src="http://feeds.feedburner.com/~r/alexmuller/~4/f4w0dND0WEc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://alex.mullr.net/blog/2011/05/contingency/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://alex.mullr.net/blog/2011/05/contingency/</feedburner:origLink></item>
		<item>
		<title>Log files, laziness and stupidity</title>
		<link>http://feedproxy.google.com/~r/alexmuller/~3/ZMwBKveC50k/</link>
		<comments>http://alex.mullr.net/blog/2011/05/log-files-laziness-and-stupidity/#comments</comments>
		<pubDate>Sat, 21 May 2011 09:47:16 +0000</pubDate>
		<dc:creator>Alex Muller</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://alex.mullr.net/blog/?p=753</guid>
		<description><![CDATA[Up until a few months ago, my site was hosted by the lovely people at NearlyFreeSpeech.NET. Although I&#8217;ve had a Linode since the end of 2009 for development, sheer laziness had stopped me from moving this WordPress installation from NFS to my virtual server. With hindsight, I did several stupid hosting-related things over the last [...]]]></description>
			<content:encoded><![CDATA[<p>Up until a few months ago, my site was hosted by the lovely people at <a href="https://www.nearlyfreespeech.net/">NearlyFreeSpeech.NET</a>. Although I&#8217;ve had a Linode since the end of 2009 for development, sheer laziness had stopped me from moving this WordPress installation from NFS to my virtual server.</p>

<p>With hindsight, I did several stupid hosting-related things over the last year and a bit:</p>

<ol>
<li>If I had just got around to it and moved the site from NearlyFreeSpeech to my Linode in January 2010, I would&#8217;ve saved myself $100 in payments to NFS.</li>
<li>Why so much? Well, if I had kept an eye on what was going on I would have noticed that I had (for some bizarre reason, which we&#8217;ll chalk up to ignorance) disabled log file rotation in the NFS admin interface. Which meant that every time somebody visited my site, the log file grew, and grew, and grew. And I paid for it. If I had enabled log file rotation, I still would have been out $40. But not a hundred.</li>
</ol>

<p>Here&#8217;s a graph of my monthly payments to NearlyFreeSpeech:</p>

<p><img src="http://alexmuller.s3.amazonaws.com/static/blog/2011-05-21-nfsn-costpermonth.png" alt="NearlyFreeSpeech.NET cost per month" title="Graph showing how much I paid to NFS over time"></p>

<p>This isn&#8217;t a knock at NFS: they provide a great service for very reasonable prices, as long as you don&#8217;t want to store too much stuff with them. I&#8217;d still happily recommend them for small(ish) sites.</p>

<p>Part of the reason I kept putting off the move was a worry that something would break and I wouldn&#8217;t be able to repair it. But the reason I rented a Linode in the first place was to learn more about how server maintenance and configuration works; I now know that &#8220;it might break&#8221; isn&#8217;t a good enough excuse.</p>

<p>The next time I procrastinate over something simple that could end up costing me $100, I&#8217;m going to slap myself hard and re-read this post.</p>
<img src="http://feeds.feedburner.com/~r/alexmuller/~4/ZMwBKveC50k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://alex.mullr.net/blog/2011/05/log-files-laziness-and-stupidity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://alex.mullr.net/blog/2011/05/log-files-laziness-and-stupidity/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 0.381 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-03-26 21:05:41 --><!-- Compression = gzip -->

