<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Stuff As I Think Of It]]></title><description><![CDATA[Occasional wakings from the coma.]]></description><link>http://owenoflaherty.azurewebsites.net/</link><generator>Ghost 0.7</generator><lastBuildDate>Wed, 06 May 2026 12:58:15 GMT</lastBuildDate><atom:link href="http://owenoflaherty.azurewebsites.net/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Stout Results]]></title><description><![CDATA[<p>OK, ok....</p>

<p>[<img src="http://www.quickmeme.com/img/8e/8ea0db126e163404e6090e4b4936073d1411c1fe0e8f167b951b53b0a7ba4c9a.jpg" alt="Rubbish Brewing" title="">]</p>

<p>Result: was muck. Most of it went down the drain.</p>

<p>Lesson learnt. Smaller boil volume. DME if necessary!</p>]]></description><link>http://owenoflaherty.azurewebsites.net/stout-results/</link><guid isPermaLink="false">c841d3d0-7346-4626-ac96-5658c9bf06d6</guid><dc:creator><![CDATA[Owen O'Flaherty]]></dc:creator><pubDate>Tue, 21 Nov 2017 17:03:13 GMT</pubDate><content:encoded><![CDATA[<p>OK, ok....</p>

<p>[<img src="http://www.quickmeme.com/img/8e/8ea0db126e163404e6090e4b4936073d1411c1fe0e8f167b951b53b0a7ba4c9a.jpg" alt="Rubbish Brewing" title="">]</p>

<p>Result: was muck. Most of it went down the drain.</p>

<p>Lesson learnt. Smaller boil volume. DME if necessary!</p>]]></content:encoded></item><item><title><![CDATA[Slow Azure Web App Startup, with EF - How To Fix]]></title><description><![CDATA[<p>This problem has dogged my life for the past year, on and off, but I think I've finally got it licked. Hat tip to all the internet resources I've trawled though, pillaged and mashed up over the course of that time.</p>

<p>Good old Azure web apps spin down after 20</p>]]></description><link>http://owenoflaherty.azurewebsites.net/slow-azure-web-app-startup-how-to-fix/</link><guid isPermaLink="false">10eda0a1-fcc7-4060-871f-47c75405d010</guid><dc:creator><![CDATA[Owen O'Flaherty]]></dc:creator><pubDate>Wed, 21 Sep 2016 09:53:42 GMT</pubDate><content:encoded><![CDATA[<p>This problem has dogged my life for the past year, on and off, but I think I've finally got it licked. Hat tip to all the internet resources I've trawled though, pillaged and mashed up over the course of that time.</p>

<p>Good old Azure web apps spin down after 20 mins of inactivity, and as far as I can tell there's no way of hacking at Azure's application pool settings like you could if you were running your own IIS.</p>

<p>Why is this necessary? There's a slow spin-up time, granted, but once the site gets going, everything's fine, right? Well, not quite. If you're a new startup, you're desperate for new traffic. When someone DOES visit, they're rewarded with ridiculously long wait times. This is useless for getting traction.</p>

<p>Three things cause this slowness:</p>

<ul>
<li>Site startup (probably app pool startup, this isn't really my forte)</li>
<li>Page/view compilation</li>
<li>EntityFramework query startup.</li>
</ul>

<p>What can we do to tackle this? Some are more useful than others, and some are no better than a chocolate teapot.</p>

<ul>
<li>Always On setting - not reliable (site spins down.) Chocolate teapot category. Only useful for WebJobs marked 'Continuous'.</li>
<li>A custom WebJob to do a keepalive - pings website - also detected by Azure or not?</li>
<li>Two useful areas - page precompilation, and EF query precompilation.</li>
<li>VS has 'precompile before publishing', but unsure how useful this is too.</li>
<li>Precompile manually on site in Application_OnStart. Add a little bit of code to recurse through your Views.</li>
<li>Use the NuGet EFInteractiveViews package to precompile the queries, and add a small bit of code too to initiate this.</li>
</ul>

<p>I'll write this up in a more detailed fashion soon.</p>]]></content:encoded></item><item><title><![CDATA[Stout post updated]]></title><description><![CDATA[<p>More info available at the <a href="http://owenoflaherty.azurewebsites.net/session-stout/">old post</a>. </p>]]></description><link>http://owenoflaherty.azurewebsites.net/stout-post-updated/</link><guid isPermaLink="false">516bba17-2ab6-472f-b8db-345e4617c07f</guid><dc:creator><![CDATA[Owen O'Flaherty]]></dc:creator><pubDate>Thu, 15 Sep 2016 10:26:38 GMT</pubDate><content:encoded><![CDATA[<p>More info available at the <a href="http://owenoflaherty.azurewebsites.net/session-stout/">old post</a>. </p>]]></content:encoded></item><item><title><![CDATA[The definition of insanity]]></title><description><![CDATA[<p>...is commonly quoted as doing the same thing over and over and expecting a different result.</p>

<p>However, publishing to your Azure website from Visual Studio is the exception to this. One, two, more errors - just keep trying. It may well eventually work. Took me three goes this morning, and</p>]]></description><link>http://owenoflaherty.azurewebsites.net/the-definition-of-insanity/</link><guid isPermaLink="false">e1ec1ffa-2ed2-4a75-a3b6-5d302bf5143f</guid><dc:creator><![CDATA[Owen O'Flaherty]]></dc:creator><pubDate>Thu, 15 Sep 2016 09:48:44 GMT</pubDate><content:encoded><![CDATA[<p>...is commonly quoted as doing the same thing over and over and expecting a different result.</p>

<p>However, publishing to your Azure website from Visual Studio is the exception to this. One, two, more errors - just keep trying. It may well eventually work. Took me three goes this morning, and went though in the end.</p>]]></content:encoded></item><item><title><![CDATA[Azure Deployment Woes - ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER]]></title><description><![CDATA[<p>Are you tearing your hair out trying to manually deploy to your Azure web app, with 'remove additional files at destination' in order to clear it out, but find that publishing fails with the above error?</p>

<p>I had this problem when I needed to nuke some old DLLs (some Glimpse</p>]]></description><link>http://owenoflaherty.azurewebsites.net/azure-deployment-woes-error_insufficient_a-ccess_to_site_folder/</link><guid isPermaLink="false">0fa500c6-2916-44e3-b8fb-060746376dce</guid><dc:creator><![CDATA[Owen O'Flaherty]]></dc:creator><pubDate>Thu, 08 Sep 2016 20:52:46 GMT</pubDate><content:encoded><![CDATA[<p>Are you tearing your hair out trying to manually deploy to your Azure web app, with 'remove additional files at destination' in order to clear it out, but find that publishing fails with the above error?</p>

<p>I had this problem when I needed to nuke some old DLLs (some Glimpse EF dll not in use anymore that StackExchange's MiniProfiler EF was making a song and dance about), but also had an old NewRelic directory hanging around that refused to let itself be deleted by the publish process. Result: failure.</p>

<p>It seemed that the NewRelic stuff was either 'in use' by IIS (though I'd stopped all web apps) or else I didn't have enough admin rights in Azure, either via Kudu's console or FTP to edit/delete files.</p>

<p>So I just needed a way to nuke the site before publishing again, but this was hamstringing me.</p>

<p>Solution: after a lot of googling, I found that this works: create a new deployment slot on your web app, not copying any existing configuration. This creates a vanilla slot.</p>

<p>Next, swap this slot into the main (top, production) 'slot' using the 'Swap' button on the main site. Result: nuked directories!</p>

<p>Now, you are free to publish your site up again.</p>]]></content:encoded></item><item><title><![CDATA[(Session) Stout]]></title><description><![CDATA[<p>Beer again. Nothing to do with ASP.NET or Azure.</p>

<p>Just finished batch no. 2 of the Perrystown equipment set - a stout, the efficiency of which looks like being a porter. 1.042 if I'm lucky, was aiming for a 1.050.</p>

<p>Funny because I was reading a 1.</p>]]></description><link>http://owenoflaherty.azurewebsites.net/session-stout/</link><guid isPermaLink="false">d157c8a9-b547-4333-bbb2-7ae06681715c</guid><dc:creator><![CDATA[Owen O'Flaherty]]></dc:creator><pubDate>Thu, 08 Sep 2016 01:05:29 GMT</pubDate><content:encoded><![CDATA[<p>Beer again. Nothing to do with ASP.NET or Azure.</p>

<p>Just finished batch no. 2 of the Perrystown equipment set - a stout, the efficiency of which looks like being a porter. 1.042 if I'm lucky, was aiming for a 1.050.</p>

<p>Funny because I was reading a 1.04 pre-boil, so I reckoned boiloff would bump me up a lot nearer the target. But nay.</p>

<p>Update!</p>

<p><img src="http://owenoflaherty.azurewebsites.net/content/images/2016/09/stoutfermenting.jpg" alt=""></p>

<p>It's been kicking off for the past few days. Long mash &amp; boil time as I was tired and it was late, but all done in the end. Overdid it on the mash water volume again, but am going DME free. </p>

<p>The ideal is: 12.5l initial mash at 67 for an hour, then top up with 7l at 80 for 15 mins, then finally sparge/rinse with 13l at 80 for another 15 mins.</p>

<p>I went with closer to 18l at the start because 12.5 seemed a bit too concentrated, but in the end I just ended up with too much boil volume.</p>

<p>Easy boil - only one 60min hop addition (as it is a stout, after all.)</p>

<p>Chiller worked well outside, even with lots of leakage around the clips. Got it down to 26 or so and pitched rehydrated yeast.</p>

<p>Was straining at the seams within 18 hours. Fingers crossed for a tasty 40-bottle batch in a couple of months.</p>]]></content:encoded></item><item><title><![CDATA[Back in Beer]]></title><description><![CDATA[<p>After a long layoff, I finally got back into brewing with a first solo all-grain attempt in the house sunroom.</p>

<p>I expected a bit of a disaster, but given the not unexpected time overrun and one managed crisis, it went pretty well. The beer is currently fermenting nicely in the</p>]]></description><link>http://owenoflaherty.azurewebsites.net/back-in-beer/</link><guid isPermaLink="false">a6057703-3115-4e87-89c4-2404e59d8bb3</guid><dc:creator><![CDATA[Owen O'Flaherty]]></dc:creator><pubDate>Wed, 01 Jun 2016 12:53:58 GMT</pubDate><content:encoded><![CDATA[<p>After a long layoff, I finally got back into brewing with a first solo all-grain attempt in the house sunroom.</p>

<p>I expected a bit of a disaster, but given the not unexpected time overrun and one managed crisis, it went pretty well. The beer is currently fermenting nicely in the temp control environment (fridge + brewbelt + STC-1000).</p>

<p><img src="http://owenoflaherty.azurewebsites.net/content/images/2016/06/brewsetup.jpg" alt=""></p>

<p>Equipment: BIAB, PECO boiler, hop bags, Maris Otter / Crystal, Nugget / Chinook / Cascade, US-05.</p>

<p>I overdid it a bit on the steeping volume from the start - expecting that the sparge volume would be tough to get up to 80C in time, I used a bigger 'cuppa' for the 'teabag' at the start - 20L. One hour at 67C, then a 6L topup at 80C for 15mins. This was poured out to a bucket, and then I sparged/rinsed for another 15mins with the full 13L at 80C (managed with three 1.7L kettle boil 100C additions topping up the 8L at 50C to hit the overall 80C).</p>

<p><img src="http://owenoflaherty.azurewebsites.net/content/images/2016/06/bewsetup.jpg" alt=""></p>

<p>Ended up with well over the expected 27L of wort - I thought I'd lose a lot more to soakage/ineptitude. Never mind, but a pity from an efficiency point of view. It hurt chucking a few litres of tasty-smelling (albeit thin) wort onto the grass.</p>

<p>Next, another victory for pessimism. Taking a hydrometer reading on my remaining 28L, I got a 1.03-1032, which I wasn't surprised by given that it was my first go at the business. This was at 70-75C odd, though, so of course this would have to be adjusted for temperature. Trouble was, I figured the difference was tiny, whereas it was actually an effective 1.045 or thereabouts. 1kg of DME went in, which was overkill in hindsight. Probably got the OG up towards 1.06 in reality. Of course, muggins forgot to take a proper OG just before pitching.</p>

<p>Boiler comfortably handled a rolling boil for the hour. The issue was the chiller. You might already have noticed the problem in the picture above...</p>

<p><img src="http://owenoflaherty.azurewebsites.net/content/images/2016/06/brewcockup.jpg" alt=""></p>

<p>I should have had male connectors on the copper ends. So I was, shall we say, 'hosed'. Had to sanitise a lid and just leave it be overnight, and hope for the best.</p>

<p>Still warm in the morning, surprisingly, so left it another two hours before the nerves couldn't take it any more, and I aerated by pouring back and forth at 30C. By this stage I was convinced it would be a sure-fire infection, but it was worth ploughing on with the process to get the muscle memory back.</p>

<p>Decanted the trub roughly by hand, so lost another few litres. Ended up with 23L or so of viable wort to ferment. Great head of foam on it. Should've taken an OG at this point.</p>

<p>Pitched at 28-29C with dry US-05 on the foam, and in it went to the fridge. Took six hours to get down to the desired 20C. Not the quickest chill around, but I Star-Sanned everything to give it its best shot.</p>

<p>Next issue was a leaky tap on the fermenter bucket - it was dripping steadily inside the fridge. No choice but to transfer to another sanitised bucket. I just poured - couldn't be arsed siphoning at this stage. In fact, I think this helped - extra aeration early enough in the process, and a good mix of the yeast through the volume.</p>

<p>Currently smells delish and foam is perfect. Fingers crossed...</p>

<p><img src="http://owenoflaherty.azurewebsites.net/content/images/2016/06/2016-06-01.jpg" alt=""></p>]]></content:encoded></item><item><title><![CDATA[Azure Connection String Gotcha]]></title><description><![CDATA[<p>This one caught me out for a little while, and is so easy to fall into. Are you running EntityFramework in your ASP.NET website on Azure, and receiving the following exception?</p>

<pre><code>'System.ArgumentException' occurred in System.Data.dll but was not handled in user code

Additional information: Keyword not</code></pre>]]></description><link>http://owenoflaherty.azurewebsites.net/azure-connection-string-gotcha/</link><guid isPermaLink="false">b83b2bf3-05c8-400f-bdfb-ae670bd524f6</guid><dc:creator><![CDATA[Owen O'Flaherty]]></dc:creator><pubDate>Fri, 18 Mar 2016 18:52:44 GMT</pubDate><content:encoded><![CDATA[<p>This one caught me out for a little while, and is so easy to fall into. Are you running EntityFramework in your ASP.NET website on Azure, and receiving the following exception?</p>

<pre><code>'System.ArgumentException' occurred in System.Data.dll but was not handled in user code

Additional information: Keyword not supported: 'metadata'.
</code></pre>

<p>The answer lies in the fact that the connection strings in your Azure portal have a sneaky little dropdown selector beside each of them: <br>
<img src="http://owenoflaherty.azurewebsites.net/content/images/2016/03/azureconnstrings.PNG" alt="Conn Strings"></p>

<p>You'd think 'SQL Database' would be the right choice, wouldn't you? Well, yes, it would - if you're using ADO.NET or similar. But if it's actually a connection string for EntityFramework, you want the 'Custom' option.</p>]]></content:encoded></item><item><title><![CDATA[Online Discourse]]></title><description><![CDATA[<p>Words on messageboards to automatically make people grind their teeth:</p>

<p>'Republican't' <br>
'Democrap' <br>
'Micro$oft'</p>

<p>and my 'favourite', which is trending at the moment</p>

<p>'big pHARMa'</p>]]></description><link>http://owenoflaherty.azurewebsites.net/poxy-online-discourse/</link><guid isPermaLink="false">ed5290af-ff3d-416e-9e4c-5179bbdd70e2</guid><dc:creator><![CDATA[Owen O'Flaherty]]></dc:creator><pubDate>Fri, 18 Mar 2016 18:52:30 GMT</pubDate><content:encoded><![CDATA[<p>Words on messageboards to automatically make people grind their teeth:</p>

<p>'Republican't' <br>
'Democrap' <br>
'Micro$oft'</p>

<p>and my 'favourite', which is trending at the moment</p>

<p>'big pHARMa'</p>]]></content:encoded></item><item><title><![CDATA[If something comes to mind...]]></title><description><![CDATA[<p>...you'll be the first to know.</p>]]></description><link>http://owenoflaherty.azurewebsites.net/if-something-comes-to-mind/</link><guid isPermaLink="false">3bdcf28e-ca41-4a13-bbf3-9d1c2a8b72c7</guid><dc:creator><![CDATA[Owen O'Flaherty]]></dc:creator><pubDate>Fri, 11 Mar 2016 15:27:26 GMT</pubDate><content:encoded><![CDATA[<p>...you'll be the first to know.</p>]]></content:encoded></item></channel></rss>