<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Ironism</title>
	<atom:link href="http://www.larsan.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.larsan.net</link>
	<description>of Lars J. Nilsson</description>
	<lastBuildDate>Wed, 16 May 2012 22:01:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>This Week On The Run: v19 2012</title>
		<link>http://www.larsan.net/2012/05/this-week-on-the-run-v19-2012/</link>
		<comments>http://www.larsan.net/2012/05/this-week-on-the-run-v19-2012/#comments</comments>
		<pubDate>Sun, 13 May 2012 20:05:45 +0000</pubDate>
		<dc:creator>fungrim</dc:creator>
				<category><![CDATA[Running]]></category>
		<category><![CDATA[barefoot]]></category>
		<category><![CDATA[calf pain]]></category>
		<category><![CDATA[pronation]]></category>

		<guid isPermaLink="false">http://www.larsan.net/?p=1289</guid>
		<description><![CDATA[Another week another chapter in the hurting calf. The Tuesday I went to a new doctor, namely Idrottsdoktorn.se (literally &#8220;the sports doctor&#8221;). After listen to my whining, having me hop around on one leg, doing fall outs, squats and various other tricks like such an old dog he passed verdict: I&#8217;ve had an inflammation where ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.larsan.net/wp-content/uploads/2012/05/calf-anatomy.jpg"><img class="size-thumbnail wp-image-1296 alignright" style="margin: 10px 15px;" title="calf anatomy" src="http://www.larsan.net/wp-content/uploads/2012/05/calf-anatomy-150x150.jpg" alt="" width="150" height="150" /></a>Another week another chapter in the hurting calf. The Tuesday I went to a new doctor, namely <a href="http://idrottsdoktorn.se/">Idrottsdoktorn.se</a> (literally &#8220;the sports doctor&#8221;). After listen to my whining, having me hop around on one leg, doing fall outs, squats and various other tricks like such an old dog he passed verdict: I&#8217;ve had an inflammation where the Achilles fastens in the calf, and as I continued on training, even though the inflammation actually went away, the pain didn&#8217;t. The condition have a Latin name that sounded authentic, and which I promptly forgot. But the bottom line is that there&#8217;s actually nothing wrong with my calf, apart from the fact that it is hurting that is.</p>
<p>That&#8217;s a relief.</p>
<p>He also noted that my core stability needs to be worked on, which I&#8217;ve already guessed, and likewise with my ankle stability, which I haven&#8217;t. Also I could do with limbering up a bit, but he wasn&#8217;t overly concerned with that. Now he&#8217;s passing me along to a naprapath who&#8217;s expert on running to give me some concrete training tips for my calf (eccentric training), and core and ankle stability.</p>
<p>Then the week went on, but after two beers after work on Friday I couldn&#8217;t help noticing that my calf was&#8230; not hurting at all. And when I bounced around my living room I couldn&#8217;t trigger the &#8220;normal&#8221; pain any more. Naturally, with two beers in my body, and a vicious lust to run I couldn&#8217;t help myself, which leads us to:</p>
<p><a href="http://runkeeper.com/user/fungrim/activity/87384765">Friday, 5km</a>: And by damn! First run since late February completely without pain! Whooho! I went round in the woods around the corner. Got punished badly by the verticals, but took it easy and walked bits. I can really feel now that I haven&#8217;t been able to train properly for a while. But it is a lovely spring, and when I came back it felt like a huge weight had fallen off my shoulders. I&#8217;m running again!</p>
<p>A big fat hint: Despite my attempt to play with my footing the last weeks to find out what the problem is, I was far from the truth. I started the Friday run with 1km barefoot, and&#8230; That was a completely different step. On <em>both </em>feet<em>.</em> When I took the shoes off, both feet stopped pronating, I landed squarely on the middle on my soles, and my big toe got involved much earlier. Damn difference it made too!</p>
<p><a href="http://runkeeper.com/user/fungrim/activity/87831698">Sunday, 5km</a>: I was hesitant about going out. I <em>wanted </em>to run, but I wasn&#8217;t sure if it was too aggressive. I warmed up, took a couple of meters barefoot and then was pushed over by the glorious spring weather. And it seems it worked. No pain, and I had to hold myself back like an old racehorse not to speed up. Again I started with 1km barefoot, and after that the rest of the run was exactly as I want it: smooth and light.</p>
<p>So here&#8217;s to hope! Taking the shoes off made a huge difference in my gait. Now. I. Must. Not. Over. Do. It. Easy does it. <em>Calma, calma</em>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsan.net/2012/05/this-week-on-the-run-v19-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From the Twitter Feed: You Really Should Be There</title>
		<link>http://www.larsan.net/2012/05/from-the-twitter-feed-you-really-should-be-there/</link>
		<comments>http://www.larsan.net/2012/05/from-the-twitter-feed-you-really-should-be-there/#comments</comments>
		<pubDate>Mon, 07 May 2012 19:10:13 +0000</pubDate>
		<dc:creator>fungrim</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[cancer]]></category>
		<category><![CDATA[climate]]></category>
		<category><![CDATA[Neil deGrasse Tyson]]></category>
		<category><![CDATA[pirate party]]></category>
		<category><![CDATA[running]]></category>
		<category><![CDATA[troberg]]></category>

		<guid isPermaLink="false">http://www.larsan.net/?p=1286</guid>
		<description><![CDATA[These roundups are getting longer and longer, you really should be on Twitter if you find the at all interesting. But nevertheless, here&#8217;s some twitterroos, for your amusement: Medical Daily: Skin Cancer Drug Rapidly Reverses Alzheimer&#8217;s Symptoms in Mice http://www.medicaldaily.com/news/20120210/9085/alzheimer%E2%80%99s-drug-bexarotene-mice-dementia-apolipoprotein.htm The Pirate Bay&#8217;s Peter Sunde: It&#8217;s Evolution, Stupid &#124; Threat Level &#124;http://www.wired.com/threatlevel/2012/02/peter-sunde/ (SE) Anna Troberg: ]]></description>
			<content:encoded><![CDATA[<p>These roundups are getting longer and longer, you really should be on Twitter if you find the at all interesting. But nevertheless, here&#8217;s some <a href="https://twitter.com/#!/fungrim">twitterroos</a>, for your amusement:</p>
<ul>
<li>Medical Daily: Skin Cancer Drug Rapidly Reverses Alzheimer&#8217;s Symptoms in Mice <a title="http://www.medicaldaily.com/news/20120210/9085/alzheimer%E2%80%99s-drug-bexarotene-mice-dementia-apolipoprotein.htm" href="http://t.co/onv6bRla" rel="nofollow" target="_blank" data-ultimate-url="http://www.medicaldaily.com/news/20120210/9085/alzheimer%E2%80%99s-drug-bexarotene-mice-dementia-apolipoprotein.htm" data-expanded-url="http://www.medicaldaily.com/news/20120210/9085/alzheimer%E2%80%99s-drug-bexarotene-mice-dementia-apolipoprotein.htm">http://www.medicaldaily.com/news/20120210/9085/alzheimer%E2%80%99s-drug-bexarotene-mice-dementia-apolipoprotein.htm</a></li>
<li title="http://Wired.com" data-ultimate-url="http://www.wired.com/" data-expanded-url="http://Wired.com">The Pirate Bay&#8217;s Peter Sunde: It&#8217;s Evolution, Stupid | Threat Level |<a title="http://www.wired.com/threatlevel/2012/02/peter-sunde/" href="http://t.co/hqWHciQ7" rel="nofollow" target="_blank" data-ultimate-url="http://www.wired.com/threatlevel/2012/02/peter-sunde" data-expanded-url="http://www.wired.com/threatlevel/2012/02/peter-sunde/">http://www.wired.com/threatlevel/2012/02/peter-sunde/</a></li>
<li>(SE) Anna Troberg: Bitschslappad av verkligheten | <a title="http://bit.ly/A3PqfI" href="http://t.co/sylgpXAf" rel="nofollow" target="_blank" data-ultimate-url="http://annatroberg.com/2012/02/10/bitschslappad-av-verkligheten" data-expanded-url="http://bit.ly/A3PqfI">http://bit.ly/A3PqfI</a></li>
<li>&#8220;We, the Web kids&#8221; by Piotr Czerski: <a title="http://pastebin.com/0xXV8k7k" href="http://t.co/TsRVUZr5" rel="nofollow" target="_blank" data-ultimate-url="http://pastebin.com/0xXV8k7k" data-expanded-url="http://pastebin.com/0xXV8k7k">http://pastebin.com/0xXV8k7k</a></li>
<li>Go sit by a lake. <a title="http://xkcd.com/1024/" href="http://t.co/VNYuE06e" rel="nofollow" target="_blank" data-ultimate-url="http://xkcd.com/1024" data-expanded-url="http://xkcd.com/1024/">http://xkcd.com/1024/</a></li>
<li>Neil deGrasse Tyson. We are starstuff: <a title="http://www.youtube.com/watch?v=9D05ej8u-gU" href="http://t.co/URpXFF0j" rel="nofollow" target="_blank" data-expanded-url="http://www.youtube.com/watch?v=9D05ej8u-gU">http://www.youtube.com/watch?v=9D05ej8u-gU</a></li>
<li>Natural Running, from Dr Mark. Good stuff! <a title="http://naturalrunningcenter.com/2012/03/06/video-the-principles-natural-running/" href="http://t.co/5Ni7N2eS" rel="nofollow" target="_blank" data-ultimate-url="http://naturalrunningcenter.com/2012/03/06/video-the-principles-natural-running" data-expanded-url="http://naturalrunningcenter.com/2012/03/06/video-the-principles-natural-running/">http://naturalrunningcenter.com/2012/03/06/video-the-principles-natural-running/</a></li>
<li>&#8220;E-mails &#8216;hurt IQ more than pot&#8217;&#8221; <a title="http://cnn.com/2005/WORLD/europe/04/22/text.iq/index.html" href="http://t.co/4Ia4FT8P" rel="nofollow" target="_blank" data-ultimate-url="http://www.cnn.com/2005/WORLD/europe/04/22/text.iq/index.html" data-expanded-url="http://cnn.com/2005/WORLD/europe/04/22/text.iq/index.html">http://cnn.com/2005/WORLD/europe/04/22/text.iq/index.html</a></li>
<li>ANALYSIS: When a Congressman Becomes a Lobbyist, He Gets a 1,452% Raise (on Average) <a title="http://shar.es/p5HJx" href="http://t.co/JMGUHxdv" rel="nofollow" target="_blank" data-ultimate-url="http://www.republicreport.org/2012/make-it-rain-revolving-door" data-expanded-url="http://shar.es/p5HJx">http://shar.es/p5HJx</a></li>
<li>Sveriges knarkpolitik sämst, inte bäst <a title="http://www.metro.se/kolumner/sveriges-knarkpolitik-samst-inte-bast/EVHlcu!MLBbFvbH4TPKk/" href="http://t.co/WRSesQGD" rel="nofollow" target="_blank" data-ultimate-url="http://www.metro.se/kolumner/sveriges-knarkpolitik-samst-inte-bast/EVHlcu!MLBbFvbH4TPKk" data-expanded-url="http://www.metro.se/kolumner/sveriges-knarkpolitik-samst-inte-bast/EVHlcu!MLBbFvbH4TPKk/">http://www.metro.se/kolumner/sveriges-knarkpolitik-samst-inte-bast/EVHlcu!MLBbFvbH4TPKk/</a></li>
<li><a href="https://twitter.com/#%21/ScottJurek" rel="nofollow" data-screen-name="ScottJurek"><s>@</s><strong>ScottJurek</strong></a> remembers his friend Micah True (Born to Run&#8217;s Caballo Blanco): <a title="http://ow.ly/a3MnD" href="http://t.co/Oko3ngkP" rel="nofollow" target="_blank" data-ultimate-url="http://www.runnersworld.com/cda/microsite/article/0,8029,s6-238-511-0-14280-0,00.html?cm_mmc=Twitter-_-RunnersWorld-_-Content-RunnersStories-_-JurekOnBlanco" data-expanded-url="http://ow.ly/a3MnD">http://ow.ly/a3MnD</a></li>
<li>Searching for Caballo Blanco: <a title="http://www.outsideonline.com/outdoor-adventure/running/trail-running/On-The-Trail-Of-The-White-Horse.html" href="http://t.co/FDs0eDtv" rel="nofollow" target="_blank" data-ultimate-url="http://www.outsideonline.com/outdoor-adventure/running/trail-running/On-The-Trail-Of-The-White-Horse.html" data-expanded-url="http://www.outsideonline.com/outdoor-adventure/running/trail-running/On-The-Trail-Of-The-White-Horse.html">http://www.outsideonline.com/outdoor-adventure/running/trail-running/On-The-Trail-Of-The-White-Horse.html</a></li>
<li>To grasp a billion stars <a title="http://shar.es/r19JP" href="http://t.co/CR5YTZJ8" rel="nofollow" target="_blank" data-ultimate-url="http://blogs.discovermagazine.com/badastronomy/2012/04/04/to-grasp-a-billion-stars" data-expanded-url="http://shar.es/r19JP">http://shar.es/r19JP</a></li>
<li>Badasses in the History of Science: Archimedes: <a title="http://youtu.be/UzzaSWyIhHM" href="http://t.co/ZRXbnkAN" rel="nofollow" target="_blank" data-expanded-url="http://youtu.be/UzzaSWyIhHM">http://youtu.be/UzzaSWyIhHM</a></li>
<li>Climate Change with Bill Maher.avi: <a title="http://youtu.be/2f6Z0_HMLo8" href="http://t.co/dy0RTtic" rel="nofollow" target="_blank" data-expanded-url="http://youtu.be/2f6Z0_HMLo8">http://youtu.be/2f6Z0_HMLo8</a></li>
<li>(SE) Skogen vi ärvde i DN <a title="http://www.dn.se/kultur-noje/sveriges-nya-miljonprogram" href="http://t.co/UJABkVvS" rel="nofollow" target="_blank" data-ultimate-url="http://www.dn.se/kultur-noje/sveriges-nya-miljonprogram" data-expanded-url="http://www.dn.se/kultur-noje/sveriges-nya-miljonprogram">http://www.dn.se/kultur-noje/sveriges-nya-miljonprogram</a></li>
<li>Mysterious barrier blocks access to delicious human child &#8211; Boing Boing <a title="http://boingboing.net/2012/05/03/mysterious-barrier-blocks-acce.html" href="http://t.co/EqZnwvdB" rel="nofollow" target="_blank" data-ultimate-url="http://boingboing.net/2012/05/03/mysterious-barrier-blocks-acce.html" data-expanded-url="http://boingboing.net/2012/05/03/mysterious-barrier-blocks-acce.html">http://boingboing.net/2012/05/03/mysterious-barrier-blocks-acce.html</a></li>
<li>Those Revolting Europeans <a title="http://www.nytimes.com/2012/05/07/opinion/krugman-those-revolting-europeans.html?smid=tw-share" href="http://t.co/lu4S48fN" rel="nofollow" target="_blank" data-ultimate-url="http://www10.nytimes.com/2012/05/07/opinion/krugman-those-revolting-europeans.html?_r=5&amp;smid=tw-share" data-expanded-url="http://www.nytimes.com/2012/05/07/opinion/krugman-those-revolting-europeans.html?smid=tw-share">http://www.nytimes.com/2012/05/07/opinion/krugman-those-revolting-europeans.html?smid=tw-share</a></li>
</ul>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsan.net/2012/05/from-the-twitter-feed-you-really-should-be-there/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This Week On The Run: v18 2012</title>
		<link>http://www.larsan.net/2012/05/this-week-on-the-run-v16-2012/</link>
		<comments>http://www.larsan.net/2012/05/this-week-on-the-run-v16-2012/#comments</comments>
		<pubDate>Mon, 07 May 2012 18:57:04 +0000</pubDate>
		<dc:creator>fungrim</dc:creator>
				<category><![CDATA[Running]]></category>
		<category><![CDATA[calf pain]]></category>
		<category><![CDATA[heel pain]]></category>

		<guid isPermaLink="false">http://www.larsan.net/?p=1283</guid>
		<description><![CDATA[Bah! I attempted to tread lightly on Tuesday and failed miserably, after 3KM I decided to cut it short and walk home as my calf was hurting. After which I decide to take a break. And since then the must peculiar thing has happened: although I still feel the calf when I add pressure to ]]></description>
			<content:encoded><![CDATA[<p>Bah! I attempted to tread lightly on Tuesday and failed miserably, after 3KM I decided to cut it short and walk home as my calf was hurting. After which I decide to take a break. And since then the must peculiar thing has happened: although I still feel the calf when I add pressure to it, gradually my left <em>heel</em> started acting up, all around the bottom of the heel (sort of on the border), and gradually seeping under the heel as well: now I have a weird sticking sensation when I walk.</p>
<p>*sigh*</p>
<p>I&#8217;m now scheduled for a very expensive doctor specialized in sport injuries for a check-up tomorrow. Here&#8217;s to hope!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsan.net/2012/05/this-week-on-the-run-v16-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This Week On The Run: v17 2012</title>
		<link>http://www.larsan.net/2012/04/this-week-on-the-run-v15-2012/</link>
		<comments>http://www.larsan.net/2012/04/this-week-on-the-run-v15-2012/#comments</comments>
		<pubDate>Sun, 29 Apr 2012 09:47:08 +0000</pubDate>
		<dc:creator>fungrim</dc:creator>
				<category><![CDATA[Running]]></category>
		<category><![CDATA[cadence]]></category>
		<category><![CDATA[calf pain]]></category>
		<category><![CDATA[pace]]></category>
		<category><![CDATA[slow sunday]]></category>

		<guid isPermaLink="false">http://www.larsan.net/?p=1279</guid>
		<description><![CDATA[Continuing on the calf-story. Last week my feeling was that it had to do with pace and cadence. So this weeks goes was to run as usual, but try to keep the cadence up and the pace down. Tuesday, 8km: Round Årstaviken. Pace was slow but calf was bad. Possible I was hurting from the ]]></description>
			<content:encoded><![CDATA[<p>Continuing on the calf-story. Last week my feeling was that it had to do with pace and cadence. So this weeks goes was to run as usual, but try to keep the cadence up and the pace down.</p>
<p><a href="http://runkeeper.com/user/fungrim/activity/83664659">Tuesday, 8km</a>: Round Årstaviken. Pace was slow but calf was bad. Possible I was hurting from the 12K two days earlier. I don&#8217;t seem to find any flow at all on flat road running.</p>
<p><a href="http://runkeeper.com/user/fungrim/activity/84066941">Thursday, 6km</a>: The usual round in Årsta Skog. Here&#8217;s a new hint: it felt like my left foot does not land exactly like my right. Right foot pronates more, which the world upside down, as it is my left foot all *real* running centers have told me need pronation support. So, a bit of compensation going on? I kept the cadence up, and concentrated on letting my left foot mimic the right. And much better immediately!</p>
<p><a href="http://runkeeper.com/user/fungrim/activity/84562295">Slow Sunday, 10km</a>: Not really slow, and no &#8220;discovery&#8221; either. I kept it round Årstaviken. After 3km the calf loosened up, and after that it felt stiff, but not hurting. Cadence and pronantion felt OK. Another helpful hint: make sure the hip stays fairly straight, for me that means actively engaging the core. It helped the balance and the cadence.</p>
<p>Not too bad! The calf is still stiff but now at least I&#8217;m hoping that it is something I can train away. I&#8217;ll keep plodding along a week more at the same distances and paces. Well see!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsan.net/2012/04/this-week-on-the-run-v15-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This Week On The Run: v16 2012</title>
		<link>http://www.larsan.net/2012/04/this-week-on-the-run-v14-2012/</link>
		<comments>http://www.larsan.net/2012/04/this-week-on-the-run-v14-2012/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 19:51:52 +0000</pubDate>
		<dc:creator>fungrim</dc:creator>
				<category><![CDATA[Running]]></category>
		<category><![CDATA[calf pain]]></category>
		<category><![CDATA[hellasgården]]></category>
		<category><![CDATA[slow sunday]]></category>

		<guid isPermaLink="false">http://www.larsan.net/?p=1276</guid>
		<description><![CDATA[The sore calf story continues. I decided to knock it back during the first half of the week. I went to see a naprapath in the beginning of the week and he recommended back exercises (I&#8217;m so surprised) and rest, so that&#8217;s what I did. And I know, why a naprapath? Well, seing as I ]]></description>
			<content:encoded><![CDATA[<p>The sore calf story continues. I decided to knock it back during the first half of the week. I went to see a naprapath in the beginning of the week and he recommended back exercises (I&#8217;m so surprised) and rest, so that&#8217;s what I did. And I know, why a naprapath? Well, seing as I know shit about running injuries or problems I went on recommendation.</p>
<p><a href="http://runkeeper.com/user/fungrim/activity/82650151">Thursday, 6km</a>: Slow pace in Årsta Skog (the local wood). I&#8217;m starting to feel that I haven&#8217;t been able to train properly the last couple of weeks. I got fairly punished by the 45m climb between 4.5 and 5.5km. The calf held up OK. Felt stiff, but not injured.</p>
<p>I went back to the naprapath on Friday and he proceeded to massage the shit out the calf (&#8220;OK, so the back exercises didn&#8217;t work, so let&#8217;s work on the soft tissues shall we?&#8221;). By god, that hurt, but walking away the calf felt better than for a long time, if a bit sore.</p>
<p><a href="http://runkeeper.com/user/fungrim/activity/83226768">Slow Sunday, 12km</a>: I decided that from now on Sunday will be 1) &#8220;slow Sunday&#8221;; and 2) &#8220;discovery Sunday&#8221;. Stockholm is an amazing city with areas all around which are perfect for running, so why just stay around the house? I started by taking the car to <a href="http://www.google.se/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=1&amp;ved=0CDcQFjAA&amp;url=http%3A%2F%2Fwww.hellasgarden.se%2F&amp;ei=1l-UT-ijGszR4QSIppTRDw&amp;usg=AFQjCNGZcTNTok_JEgzUZ10HzOCq5LtEGQ">Hellasgården</a> which is a classic in Stockholm. Lots of trails, restaurant, sauna, outdoor gym, etc etc. The calf felt bad the first kilometers (5 min/km pace) but when I settled back into my back driver speed (5.3-6.0 min/km) it stopped hurting. The trail was OK, with the last kilometers really good, and a few hundred meters the most technical I&#8217;ve ever tried. Great fun! I ended with a long shower, a short sauna, and a seafood soup in the restaurant.</p>
<p>The slow pace on the Sunday might have been a clue. I did up the pace after the winter, <em>and</em> increased my mileage. So perhaps I&#8217;ve simply overdone it and the calf couldn&#8217;t cope. We shall see next week, in which I&#8217;ll take. It. Very. Slow.</p>
<p>All in all a terrible week, but with something that could be a bit of sunshine at the end of the tunnel.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsan.net/2012/04/this-week-on-the-run-v14-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More on Constructors</title>
		<link>http://www.larsan.net/2012/03/more-on-constructors/</link>
		<comments>http://www.larsan.net/2012/03/more-on-constructors/#comments</comments>
		<pubDate>Sat, 10 Mar 2012 08:46:32 +0000</pubDate>
		<dc:creator>fungrim</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.larsan.net/?p=1268</guid>
		<description><![CDATA[Warning: This post contains fictional grammar, ideas off the cuff and high levels of programmer nerdery. Proceed at your own risk. The whole shebang was started off here: If I Would Design a Language. Here&#8217;s some more you could do with implicit constructors. Remember this class? class Greeter(String name = "stranger") { function greet() returns ]]></description>
			<content:encoded><![CDATA[<div style="border: 1px solid white; text-align: center; padding: 10px; margin-bottom: 10px;"><strong>Warning</strong>: This post contains fictional grammar, ideas off the cuff and high levels of programmer nerdery. Proceed at your own risk. The whole shebang was started off here: <a href="http://www.larsan.net/2012/03/if-i-would-design-a-language/">If I Would Design a Language</a>.</div>
<p>Here&#8217;s some more you could do with implicit constructors. Remember this class?</p>
<pre>class Greeter(String name = "stranger") {

    function greet() returns Void {
        echo("Hello #{$name}!");
    }
}</pre>
<p>It turns out that the constructor argument &#8220;name&#8221; live on within the scope of the class. That&#8217;s interesting, because one of the main pains in Java is beans, and bean accessors. We&#8217;ve already seen that we can alleviate that with field access. But how about making it even simpler. Have a look at the following, mutable and completely awesome bean:</p>
<pre>@Mutable
class Person(@Field String firstName, @Field String lastName) { }</pre>
<p>Adding the &#8220;@Field&#8221; annotation generates automatic fields, including getters for the argument, and since he class is mutable, it also generates setters. The above would be equivalent to the following Java bean:</p>
<pre>public class Person {

    private String firstName;
    private String lastname;

    public Person(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
}</pre>
<p>The amount of crud reduced is ridiculous. There is of course the problem that if you mix &#8220;@Field&#8221; annotations with ordinary arguments and an explicit constructor it might get too messy. But hey, it&#8217;s a neat idea.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsan.net/2012/03/more-on-constructors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>If I Would Design a Language</title>
		<link>http://www.larsan.net/2012/03/if-i-would-design-a-language/</link>
		<comments>http://www.larsan.net/2012/03/if-i-would-design-a-language/#comments</comments>
		<pubDate>Fri, 09 Mar 2012 21:49:17 +0000</pubDate>
		<dc:creator>fungrim</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.larsan.net/?p=1238</guid>
		<description><![CDATA[Warning: This post contains fictional grammar, ideas off the cuff and high levels of programmer nerdery. Proceed at your own risk. I&#8217;ve had a look at the influx of new languages for the JVM the last couple of months. In particular I&#8217;ve read up a bit on Kotlin, Fantom and Clojure. And naturally I started ]]></description>
			<content:encoded><![CDATA[<div style="border: 1px solid white; text-align: center; padding: 10px; margin-bottom: 10px;"><strong>Warning</strong>: This post contains fictional grammar, ideas off the cuff and high levels of programmer nerdery. Proceed at your own risk.</div>
<p>I&#8217;ve had a look at the influx of new languages for the JVM the last couple of months. In particular I&#8217;ve read up a bit on <a href="http://confluence.jetbrains.net/display/Kotlin/Welcome">Kotlin</a>, <a href="http://fantom.org/">Fantom</a> and <a href="http://clojure.org/">Clojure</a>. And naturally I started thinking about what I would do myself if I designed a new language.</p>
<p>Well&#8230; the world don&#8217;t need a new computer language. But nevertheless, here&#8217;s what I&#8217;m thinking right now.</p>
<h2>Main Ideas</h2>
<p>Here&#8217;s what I&#8217;d aim for primarily:</p>
<ul>
<li><strong>Readability</strong>: In <em>real</em> software projects in <em>real</em> life you need to understand other peoples code. This means you have to trade-off write-ability for read-ability. It also limits you in terms of variations: there should only ever be <em>one</em> way of expressing any particular statement. It also means I&#8217;d probably skip type inference, but more on that later.</li>
<li><strong>Modularity</strong>: <a href="http://ceylon-lang.org">Ceylon</a> and Fantom all have it right, modularity should be build in from the start. However, it seems to me they are missing a very obvious extension to the language level modularity, which is&#8230;</li>
<li><strong>Dependency Injection</strong>: This is a kicker, as I don&#8217;t know of any language that have it built in. Think of <a href="http://code.google.com/p/google-guice/">Guice</a> but as a core feature of the language itself. If this could be possible to combine with the language modularity, you could a potentially awesome productivity right from the start.</li>
<li><strong>Concurrency</strong>: I&#8217;m a server kind of guy, this is important. I think Fantom is on the right track so I&#8217;d probably end up with something similar. Ie. an actor style pattern where the only allowed interaction between actors are immutable objects. In fact, I think immutability is going to be a main feature as well&#8230;</li>
<li><strong>Immutability</strong>: Immutability enables cool stuff: Clojure has this down pat. And although I&#8217;m not sure at this point, I think <em>all</em> classes will be immutable by default, and you&#8217;d have to declare a class if you want it mutable. People would hate it though.</li>
</ul>
<h2>Hello World</h2>
<p>Let&#8217;s get right down to it, shall we? We&#8217;ll do the standard &#8220;hello world&#8221; a bit more complicated immediately to highlight a bit more syntax:</p>
<pre>/*
 * class is 'public' and immutable by default, the constructor
 * signature is immediately visible and has a default value
 */
class Greeter(String name = "stranger") {

    /*
     * member is 'public' and has an automatic accessor, it
     * is also initiated with the value from the constructor
     */
    String name = $name;

    /*
     * function is 'public' by default
     */
    function greet() returns Void {
        /*
         * 'echo' is a short hand for system out, and
         * strings are evaluated
         */
        echo("Hello #{name}!");
    }
}</pre>
<p>So what do we have here? Let&#8217;s break it down.</p>
<h2>Constructor</h2>
<p>The constructor signature is declared immediately after the class name. It can contain default values for arguments. The actual implementation is done either implicitly, or in a &#8220;constructor&#8221; statement:</p>
<pre>class Greeter(String name = "stranger") {

    String name;

    constructor {
        /*
         * 'this' denotes a raw field access and is only
         * allowed in constructors and setters
         */
        this.name = $name;
    }
}</pre>
<p>Note that this constructor is equivalent with the previous example. Does this mean that a class can only have one constructor? Yes it does, but with default values for arguments, and named argument passing it should be enough.</p>
<p>And by the way, the constructor arguments are accessible through the entire class. So the greeter can be simplified:</p>
<pre>class Greeter(String name = "stranger") {

    function greet() returns Void {
        echo("Hello #{$name}!");
    }
}</pre>
<p>Pretty cool huh? This means there&#8217;s an implicit field for each constructor argument in each class, which is readable but not writable.</p>
<h2>Class Immutability and Field Access</h2>
<p>I&#8217;ll leave the collection classes for now, but ordinary classes are immutable by default, and all fields have a generated &#8220;getter&#8221;, and optionally a &#8220;setter&#8221; as well.  So, to start with, this would be illegal:</p>
<pre>Greeter greeter = new Greeter();
greeter.name = "kalle"; // illegal!</pre>
<p>If we truly want an object that can be mutated, we&#8217;d have to declare it as such:</p>
<pre>@Mutable
class Greeter(String name = "stranger") {

    String name = $name;

}</pre>
<p>And now, we can change it post-construction:</p>
<pre>Greeter greeter = new Greeter();
greeter.name = "Adam"; // legal!</pre>
<p>Access to object fields are done via accessors that are generated automatically. If you want to change their behavior you can, but only the &#8220;setter&#8221;, the access is always reading the field as it is:</p>
<pre>@Mutable
class Greeter(String name = "stranger") {

    String name = $name with setter {
        /*
         * 'this' denotes a raw field access and is only
         * allowed in constructors and setters, and there's an
         * implicit "argument" which is what the setter was
         * called with
         */
        this.name = name;
    }
}</pre>
<p>But all objects have another implicit function attached to fields, namely the clone operator. With this you can get a clone of the current object with one or more fields changed. If our Greeter was imutable, we could do this:</p>
<pre>Greeter greeter = new Greeter();
greeter = greeter.name -&gt; "Adam";</pre>
<p>Under the hood this created a new Greeter object which is equivalent with the first, except for the new name. It would be nice if you could chain clone operations as well, but I&#8217;ll get back to you on that.</p>
<h2>Functions and High Order Functions</h2>
<p>We&#8217;ve seen a function already and there&#8217;s not much to add. The declaration is in the form:</p>
<pre>function &lt;name&gt;(&lt;arguments&gt;) returns &lt;type&gt; { }</pre>
<p>To this we&#8217;ll add a few short-hands. OK, I know I said we&#8217;d only have <em>one</em> way of articulating statements. But hey, I think these may be worth it. Consider the following example:</p>
<pre>function greet() returns Void {
    echo("Hello ${name}!");
}</pre>
<p>Mr Eagle-eye will spot two possible ways of putting this simpler: Why use parenthesis when there&#8217;s no arguments, it&#8217;s pretty obviously a method declaration anyway. And why declare a &#8220;return&#8221; when it&#8217;s void any way. So&#8230;</p>
<pre>function greet {
    echo("Hello ${name}!");
}</pre>
<p>In addition function should be possible to pass around as any other object. These high order functions comes in two flavors &#8220;strict&#8221; and &#8220;relaxed&#8221;.</p>
<ul>
<li>&#8220;strict&#8221; functions only accepts immutable arguments and can only return immutable objects</li>
<li>&#8220;relaxed&#8221; functions accepts mutable arguments and may return mutable objects</li>
</ul>
<p>By default all functions are relaxed as this is a great deal easier to work with. But by declaring strict functions we&#8217;ll enable functional programming out of the box a such functions will be guaranteed not to have side effects.</p>
<p>Here&#8217;s a bit of syntax for you. First, let&#8217;s imagine a &#8220;foreach&#8221; declaration on an interface:</p>
<pre>function foreach(function(T item) visitor) returns Void;</pre>
<p>And in a list of Greeter objects you&#8217;d call it like so:</p>
<pre>list.foreach(new function(Greeter greeter) {
    greeter.name = "Adam";
});</pre>
<h2>&#8220;Primitive&#8221; Types and Literals</h2>
<p>Everything is objects, and no excuse. Integers and Doubles are 64 bit. Strings are UTF-16. Characters are <em>not</em> integers. We <em>have</em> Bytes. So without further ado, here&#8217;s the list of literals:</p>
<pre>true; // boolean
123; // integer
12.3; // double
1b // byte
§0010 // bits literal
0xAB // integer in hex
'\n' // character
"n" // string
`http://www.google.com` // uri
2s // duration (2 seconds)</pre>
<p>The duration comes in the following flavors:</p>
<pre>1ps // picosecond
1ms // millisecond
1s // second
1m // minute
1h // hour
1d // day
1w // week
1M // month
1Y // year</pre>
<p>In addition to the ones above, here&#8217;s some shorthand, taken straight from Fantom:</p>
<pre>[1, 2] // list
[1:"Adam", 2:"David"] // map</pre>
<h2>Modularity</h2>
<p>A &#8220;module&#8221; represent a unit of code which belongs to a particular namespace, and which is versioned and is packaged must like a Java &#8220;jar&#8221; file, ie. in a ZIP archive together with some meta-data. I haven&#8217;t thought through the declaration syntax yet, but here&#8217;s what we want in a declaration:</p>
<ul>
<li>Namespace</li>
<li>Module name</li>
<li>Version</li>
<li>Dependencies</li>
<li>DI Configuration</li>
</ul>
<p>We&#8217;ll steal the reference syntax from Maven. So this&#8230;</p>
<pre>net.larsan.test.lang:Core:1.1.0</pre>
<p>&#8230; would be the namespace &#8220;net.larsan.test.lang&#8221;, the module &#8220;Core&#8221; and the version &#8220;1.1.0&#8243;.  The format of the version is probably fixed, but mayinclude a &#8220;-SNAPSHOT&#8221; postfix option.</p>
<p>Here&#8217;s something though: the declaration <em>will not</em> include build information such as &#8220;source folder&#8221; or similar. That&#8217;s mixing apples and oranges, and unfortunately both Fantom and Kotlin are doing it.</p>
<p>Let&#8217;s do some imaginary code:</p>
<pre>module {
    namespace = new Namespace("net.larsan.test.lang");
    moduleName = "Core";
    version = new Version("1.1.0");
    addDependency("com.whatever:Module:2");
}</pre>
<p>Now, the module syntax is probably just a shorthand for this:</p>
<pre>class &lt;name&gt; extends Module {

    constructor {
        namespace = new Namespace("net.larsan.test.lang");
        moduleName = "Core";
        version = new Version("1.1.0");
        addDependency("com.whatever:Module:2");
    }
}</pre>
<p>The name of the module class would be anonymous and generated at runtime.</p>
<h2>Dependency Injection</h2>
<p>With modularity in place, DI is just a small step away. Let&#8217;s start with a type to use:</p>
<pre>class Transformer {

    function transform(String str) returns String {
        return str.replace('k', 'y');
    }
}</pre>
<p>Not very useful admitedly. But hang on:</p>
<pre>class Greeter(String name = "stranger") {

    @Inject
    Transformer transformer;

    function greet {
        echo(transformer.transform("Hello #{$name}"));
    }
}</pre>
<p>It get&#8217;s neater if the transformer was actually an interface:</p>
<pre>interface Transformer {
    function transform(String str) returns String;
}</pre>
<p>No we can play with polymorphism. I&#8217;ll skip ahead a bit here, suffice to say that I&#8217;m going to steal straight from Guice, including assisted inject, but this time with closures, so if you want to to imagine how it would look, go ahead. Some thing to note:</p>
<ul>
<li>By default all types are injectable, given that the module knows how to 1) identify them; and 2) construct them.</li>
<li>Simple identification is made with a &#8220;name&#8221; attribute on the &#8220;@Inject&#8221; annotation, and a &#8220;@Name&#8221;  annotation on types.</li>
</ul>
<p>The great thing here is that we have the perfect place to configure our type binding. Consider the following example:</p>
<pre>module {
 namespace = new Namespace("net.larsan.test.lang");
 moduleName = "Core";
 version = new Version("1.1.0");
 addDependency("com.whatever:Module:2");
 bind(Transformer).to(MyTransfomerImpl);
}</pre>
<p>Add to this high order provider functions, and make the module extendible for binding overrides (which would be neat for unit testing) and you have something awesome in the works.</p>
<h2>Concurrency</h2>
<p>We&#8217;ll do an actor model with a twist inspired by Clojure. We&#8217;ll need two concepts:</p>
<ul>
<li>&#8220;Executor&#8221; &#8211; Basically your Java thread pool abstraction</li>
<li>&#8220;Actor&#8221; an actor is associated with a thread pool and has a state object and an inbox for functions</li>
</ul>
<p>An actor is an immutable object with an immutable state. However, this state can be updated by visiting functions. So, let&#8217;s imagine our Greeter from before is immutable, we could have an actor with a Greeter state:</p>
<pre>Actor&lt;Greeter&gt; actor = new Actor(new Greeter());
Future&lt;Greeter&gt; future = actor.act(new function(Greeter state) returns Greeter {
    return state.name -&gt; "Adam";
});</pre>
<h2>That&#8217;s All?</h2>
<p>No obviously not, only my eyes are starting to blur. But this should have given you some ideas, if nothing else about my personal taste. The concurrency model probably needs a bit of re-thinking. Should we  allow Actors on mutable objects (provided they are cloned initially)?  This would make the code one hell lot easier to write and should speed  up execution for complex applications. Also actors needs to be able to  talk to other actors.</p>
<p>There&#8217;s a lot of other stuff left that I can&#8217;t be bothered to cover tonight:</p>
<ul>
<li>Tuples. Yes we should have free-from data structures =  immutable anonymous classes.</li>
<li>Type inference, yes or no? I&#8217;m leaning towards no for readability reasons in distributed projects.</li>
<li>Should unit testing be a part of the language?</li>
<li>The whole class / inheritance / mixing / interface stuff.</li>
<li>Immutable collections and operations on them. Think Clojure.</li>
<li>Generics.</li>
<li>Etc&#8230;</li>
</ul>
<p>And now my brain is hurting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsan.net/2012/03/if-i-would-design-a-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A BrewDog Evening</title>
		<link>http://www.larsan.net/2012/03/a-brewdog-evening/</link>
		<comments>http://www.larsan.net/2012/03/a-brewdog-evening/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 23:48:14 +0000</pubDate>
		<dc:creator>fungrim</dc:creator>
				<category><![CDATA[Alcohol]]></category>
		<category><![CDATA[Beer]]></category>
		<category><![CDATA[5 AM Saint]]></category>
		<category><![CDATA[Alice Porter]]></category>
		<category><![CDATA[BrewDog]]></category>
		<category><![CDATA[Chaos Theory]]></category>
		<category><![CDATA[Dogma]]></category>

		<guid isPermaLink="false">http://www.larsan.net/?p=1232</guid>
		<description><![CDATA[Our beloved alcohol store in Sweden just released a mix-pack of four different BrewDogs together: 5 AM Saint, Dogma, Alice Porter and Chaos Theory. And for some reason I though it would be a neat idea to drink them all in one evening and rate them while I&#8217;m at it. So without further ado, here ]]></description>
			<content:encoded><![CDATA[<p>Our beloved alcohol store in Sweden just released a mix-pack of four different BrewDogs together: 5 AM Saint, Dogma, Alice Porter and Chaos Theory. And for some reason I though it would be a neat idea to drink them all in one evening and rate them while I&#8217;m at it. So without further ado, here we go (with links to Ratebeer for your amusement):</p>
<p><a href="http://www.ratebeer.com/beer/brewdog-5-am-saint/107269/110792/">5 AM Saint</a> (Amber Ale, 5%, 25 IBU) Total score: <strong>3.8</strong><br />
&#8220;Bottle. Dark amber with a huge, foamy head. Lovely look! Smells like  grapefruit heaven mixed with malts. Sweet and bitter. Quite simply a  lovely red ale with a fresh hoppy edge.&#8221;</p>
<p><a href="http://www.ratebeer.com/beer/brewdog-dogma/91176/110792/">Dogma</a> (Spiced Ale, 7.8%) Total score: <strong>3.5</strong><br />
&#8220;Bottle. Dark clear amber, with lacing off-white, smallish head. Smells  of pine and wood and spices with some caramel and malt in the  background. Bitter sweet, with a distinct spicy edge from the honey.   Dry fairly long finish. This is different, but well executed.&#8221;</p>
<p><a href="http://www.ratebeer.com/beer/brewdog-alice-porter/132458/110792/">Alice Porter</a> (Porter, 6.2%, 186 IBU) Total score: <strong>3.8</strong><br />
&#8220;Bottle. Brown black with a smallish beige head. Not a lot of lacing.  Coffee and milk chocolate on the nose mixed with some light hoppy tones  and an underlying streak of malt. Fairly dry and sweet with some alcohol  notes. Long medium bitter, dry finish. Light, but spirit-y,  carbonation. A very good porter indeed.&#8221;</p>
<p><a href="http://www.ratebeer.com/beer/brewdog-chaos-theory/95572/110792/">Chaos Theory</a> (IPA, 7.1%) Total score: <strong>3.3</strong><br />
&#8220;Bottle. Clear copper color with a medium sized head. In fact: a lovely  color. Heavy malts in the nose with old hops, in particular grapefruit,  but also with some caramel in the background. Fruity beer. Apricots and  peaches in a rather dry bitter mix with wood and alcohol. Somewhat  bitter finish. Another grape-fruit IPA? Nah, this is rather boring.&#8221;</p>
<p>You&#8217;ll notice the reviews gets longer down the list, but I&#8217;ll leave it up to you to figure out <em>why</em>. Now excuse me while I stumble to bed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsan.net/2012/03/a-brewdog-evening/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Review: Blue Remembered Earth</title>
		<link>http://www.larsan.net/2012/02/review-blue-remembered-earth/</link>
		<comments>http://www.larsan.net/2012/02/review-blue-remembered-earth/#comments</comments>
		<pubDate>Sun, 26 Feb 2012 22:02:52 +0000</pubDate>
		<dc:creator>fungrim</dc:creator>
				<category><![CDATA[Reading]]></category>
		<category><![CDATA[alastair reynolds]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://www.larsan.net/2012/02/review-blue-remembered-earth/</guid>
		<description><![CDATA[Blue Remembered Earth by Alastair Reynolds My rating: 3 of 5 stars I have to date read all of Alistair Reynolds books (at least I think I have, he is after all rather prolific). So. I&#8217;m a fan. I&#8217;ve always seen him as slightly uneven though, and although a brilliant story-teller, not always the perfect ]]></description>
			<content:encoded><![CDATA[<p><a style="float: left; padding-right: 20px;" href="http://www.goodreads.com/book/show/9424053"><img src="http://photo.goodreads.com/books/1318599915m/9424053.jpg" border="0" alt="Blue Remembered Earth" /></a><br />
<a href="http://www.goodreads.com/book/show/9424053">Blue Remembered Earth</a> by <a href="http://www.goodreads.com/author/show/51204">Alastair Reynolds</a></p>
<p>My rating: <a href="http://www.goodreads.com/review/show/284482042">3 of 5 stars</a></p>
<p>I have to date read all of Alistair Reynolds books (at least I <em>think</em> I have, he is after all rather prolific). So. I&#8217;m a fan.</p>
<p>I&#8217;ve always seen him as slightly uneven though, and although a brilliant story-teller, not always the perfect craftsman, and his characterization leaves at times things to which for.</p>
<p>(Usual self-repeat: I won&#8217;t cover the story in this review, plenty of others do).</p>
<p>So let&#8217;s start with the major let down: characterization. The main character (Geoffrey) starts out a whining bitch and continues so for half of the book. This is a characteristic he seems to share with his sister, unless their together at which point the sister seems to grow a bit: clearly you can&#8217;t have two characters who&#8217;s <em>only</em> contribution to the dialogue is &#8220;it won&#8217;t work&#8221;, &#8220;we&#8217;ll all die&#8221;, or &#8220;what makes you think I like you&#8221;. Really, that&#8217;s a fair summary of nearly 85% of all Geoffrey&#8217;s dialogue through the first half of the book.</p>
<p>I&#8217;m all for anti-heroes, but there&#8217;s got to be <em>something</em> interesting in the character you can latch onto. But for Geoffrey there is nothing. His love for the elephants? Meh&#8230;</p>
<p>So in order to move the story along there has to be other people than the main characters around to not only explain things but also to take initiatives at all&#8230; Let&#8217;s just say that there is a certain construct who got a lot of disposition on her plate, poor thing.</p>
<p>Interestingly enough, I think my other major problem with the book stems from the first: When Geoffrey &#8220;grows up&#8221; and stop whining (which is, by the way, through with a suitably transparent kill-move) the feel of the entire story changes. From an anti-hero travelogue to an ordinary space opera. It felt&#8230; A bit abrupt and&#8230; sloppy.</p>
<p>That&#8217;s my whining out of the way. This is still a terrific read. Everything else is exactly where I want it. Pace, scenery, grandeur and story. It all slot together in a slick machinery that you just want to continue forever.</p>
<p>Although this is, by Alistair Reynolds measuring, fairly near future, and contained around the solar system, the feeling of awe and grandeur that Reynolds can magic up at times is astonishing. Someone said that the hallmark of great SF is the feeling of opening-up, of a sense of wonder, and this book has it in abundance.</p>
<p>A 3/5 rating? Well&#8230; It really is a <em>very</em> strong 3. Had the transition from anti-hero to &#8220;normal&#8221; story been smoother this would have been a 4. And with the whining toned down a bit and Geoffrey fleshed out a bit earlier in the book it would have been a border-line 5.</p>
<p>Good stuff! I can&#8217;t wait for the next volume.</p>
<p><a href="http://www.goodreads.com/review/show/284482042">View all my reviews</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsan.net/2012/02/review-blue-remembered-earth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review: The Gunslinger</title>
		<link>http://www.larsan.net/2012/02/review-the-gunslinger/</link>
		<comments>http://www.larsan.net/2012/02/review-the-gunslinger/#comments</comments>
		<pubDate>Fri, 10 Feb 2012 18:51:28 +0000</pubDate>
		<dc:creator>fungrim</dc:creator>
				<category><![CDATA[Reading]]></category>
		<category><![CDATA[gunslinger]]></category>
		<category><![CDATA[king]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://www.larsan.net/2012/02/review-the-gunslinger/</guid>
		<description><![CDATA[The Gunslinger by Stephen King My rating: 4 of 5 stars &#8220;The man in black fled across the desert and the Gunslinger followed.&#8221; Honestly, if that doesn&#8217;t go down as one of the great openings of all time, to be remembered long after we&#8217;re gone, even if the the person recognizing it doesn&#8217;t even know ]]></description>
			<content:encoded><![CDATA[<p><a style="float: left; padding-right: 20px;" href="http://www.goodreads.com/book/show/43615"><img src="http://photo.goodreads.com/books/1309288354m/43615.jpg" border="0" alt="The Gunslinger" /></a><br />
<a href="http://www.goodreads.com/book/show/43615">The Gunslinger</a> by <a href="http://www.goodreads.com/author/show/3389">Stephen King</a></p>
<p>My rating: <a href="http://www.goodreads.com/review/show/200476645">4 of 5 stars</a></p>
<p>&#8220;The man in black fled across the desert and the Gunslinger followed.&#8221;</p>
<p>Honestly, if that doesn&#8217;t go down as one of the great openings of all time, to be remembered long after we&#8217;re gone, even if the the person recognizing it doesn&#8217;t even know where it comes from, I&#8217;ll be sorely disappointed.</p>
<p>In fact, this reading is a re-read, but I hardly remembered anything but the opening line from the first read-through; which must have been back in the eighties.</p>
<p>I remember being somewhat nonplussed with it though, without being able to articulate exactly why at the time. Perhaps I can now: it is the overall, sweeping, &#8220;introduction-type&#8221; style to the text that I didn&#8217;t really grasp. It is in effect, one long setup of a much longer tale to come. And read in that function, it succeeds admirably: It sketches at the grandeur, the mystery and the size to come.</p>
<p>As usual I&#8217;ll not cover the plot, you can find that elsewhere.</p>
<p>It is somewhat crude; if you read later King you&#8217;ll realize that he has indeed learned a thing or two about story-telling a the craft of stringing words together since this was written. But regarded as an introductory piece it still works well.</p>
<p>(Here&#8217;s a minor issue though: I had no problem with the town of Tull. The Isaac-moment I had forgotten though. And I probably didn&#8217;t care about it when I was sixteen, but now this particular version of Abraham&#8217;s dilemma doesn&#8217;t sit very well. I look forward to see if it&#8217;s going to be explained or resolved later.)</p>
<p>So: this time around I love it. What a brilliant setup! The lone gunslinger chasing his destiny across a Sergio Leone inspired waste land entirely owned by Stephen King. Awesome!</p>
<p>Now on to book number two, the plan is to read it all in one go. Wish me luck!</p>
<p><a href="http://www.goodreads.com/review/show/200476645">View all my reviews</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsan.net/2012/02/review-the-gunslinger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

