<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>blog.skorulis.com</title>
    <description>A blog of the various bits and pieces I&apos;ve done
</description>
    <link>http://old.blog.skorulis.com/</link>
    <atom:link href="http://old.blog.skorulis.com/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sat, 18 Apr 2026 13:13:57 +1000</pubDate>
    <lastBuildDate>Sat, 18 Apr 2026 13:13:57 +1000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      <item>
        <title>Freeze distilling my crappy beer</title>
        <description>&lt;p&gt;&lt;img src=&quot;/assets/freeze/bottle-bomb.jpg&quot; alt=&quot;What a mess&quot; /&gt;&lt;/p&gt;

&lt;p&gt;On the 8th of October I was rudely awoken to a bang. Soon after I started smelling hops and knew what had happened; I had created my first bottle bomb. Since then I’ve had no other explosions but the beer is massively over carbonated and quite frankly not that tasty either. My only options seemed to be to throw the lot out or turn it into something new.&lt;/p&gt;

&lt;p&gt;Freeze distillation (or freeze concentration) is simply the process of freezing the beer to separate the water and the alcohol. Since alcohol has a lower freezing point the water should freeze first and float to the top where it can be removed. Done correctly it should increase both the strength and flavour of the beer.&lt;/p&gt;

&lt;p&gt;The first step was to empty the remaining 8 bottles into a container. Due to the overcarbonation this created a bit of a mess but otherwise went fine. I was worried about the disturbance setting one of the bottles off but this didn’t happen. From there I split it into 2 contains and put them in the freezer.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/freeze/containers.jpg&quot; alt=&quot;Containers&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Several hours later the beer was frozen enough to extract some ice. My initial method was to scoop the ice with a spatula and let the liquid drain off. This seemed both slow and the ice I was throwing out seemed to still contain a lot that wasn’t just water. I later switched to putting the ice into a sieve and mashing it to try and get it as clear as possible which seemed to be a much better method. I ended up leaving the whole thing overnight; By morning it was in the perfect state of frozenness where I could still crush it up and I after extracting all the ice I went from 2.5L to 1L of liquid.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/freeze/ice.jpg&quot; alt=&quot;Ice&quot; /&gt;&lt;/p&gt;

&lt;p&gt;At the end of the process I simply put the beer back into bottles and added a little sugar to re carbonate with the hope that the yeast isn’t dead. It’s hard to estimate how much alcohol is in there now but I guess it ended up around %10. Perhaps I should label these as special reserve.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/freeze/result.jpg&quot; alt=&quot;End result&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Sat, 12 Nov 2016 00:00:00 +1100</pubDate>
        <link>http://old.blog.skorulis.com/2016/11/12/freeze-distilling-my-crappy-beer.html</link>
        <guid isPermaLink="true">http://old.blog.skorulis.com/2016/11/12/freeze-distilling-my-crappy-beer.html</guid>
        
        
      </item>
    
      <item>
        <title>Today my laptop died</title>
        <description>&lt;p&gt;Yep, it just stopped working. One moment I was happily editing images the next it was frozen and then just wouldn’t restart. But this didn’t bother me too much; I decided to just wipe my hard drive and start from scratch. Only it turned out that my laptop was so royaly screwed that I wasn’t even able to erase the hard disk. This left me in a predicament because I &lt;i&gt;really&lt;/i&gt; need my laptop to get anything done but from Apple’s website it seemed like I was going be charged just to have a technician look at it.&lt;/p&gt;

&lt;p&gt;I decided to just walk into the Apple store and try my luck. I managed to get into my &lt;a href=&quot;http://www.thehopandgrain.com.au/&quot;&gt;local home brew store&lt;/a&gt; and pick up some grain just as they closed as a fallback to brewing beer tomorrow if I couldn’t get any work done. So at least my trip into the city would not be for naught.&lt;/p&gt;

&lt;p&gt;On arriving at Apple I put myself in the appointment queue; I actually expected this to be full or to be required to pay $40 for out of warranty technical support so I was already happy that I was going to get some help. After an hour wait I sat down with a genius who confirmed that my laptop would not turn on. A few more tests showed that there was some strange issue with my hard drive. But what happened next amazed me.&lt;/p&gt;

&lt;p&gt;They told me that even though the laptop was 2.5 years old they were still going to cover it under Australian consumer law. They just gave me a new $800 hard drive free of charge which they replaced in about 10 minutes. So now I’ve got my laptop working again with a brand new hard drive free of charge. Gotta commend Apple for how they handled this.&lt;/p&gt;
</description>
        <pubDate>Sun, 25 Sep 2016 00:00:00 +1000</pubDate>
        <link>http://old.blog.skorulis.com/2016/09/25/today-my-laptop-died.html</link>
        <guid isPermaLink="true">http://old.blog.skorulis.com/2016/09/25/today-my-laptop-died.html</guid>
        
        
      </item>
    
      <item>
        <title>A trip down memory lane</title>
        <description>&lt;p&gt;So I spent today doing things I loved to do as a child. Running and jumping around the bush, playing with fires, cooking over fires, exploring the wilderness. Of course I’m not a child any more so I finished it off with an absolutely delicious beer.&lt;/p&gt;

&lt;h2 id=&quot;the-place&quot;&gt;The place&lt;/h2&gt;

&lt;p&gt;The focus of my adventures is on a small block of land in the suburb of &lt;a href=&quot;https://www.google.com.au/maps/place/Pheasants+Nest+NSW+2574/@-34.2774755,150.5956025,12.9z/data=!4m5!3m4!1s0x6b13010d92f18e6f:0x40609b490439120!8m2!3d-34.25597!4d150.6356&quot;&gt;Pheasants Nest&lt;/a&gt; in the southwest of Sydney. As I child it felt like an endless wilderness where I could walk in any direction without ever finding civilisation. In the 20 years since then progress has moved forwards and now it feels like I’m fenced in in all directions. But while the neighbours progress the property itself has fallen into ruin.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/ph-nest/house.jpg&quot; alt=&quot;Ruin of the house&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This sad state of affairs is a combination of multiple vandals and thieves destroying everything of value and then no one having the time to fix what remained as nature slowly reclaims the site. Termites especially are reducing much of the wood to dust.&lt;/p&gt;

&lt;p&gt;But despite this rugged plot not being what it once was there’s still much fun to be had during a short visit. Starting with putting together perhaps the worst looking bonfire I’ve every seen, but despite its lack of aesthetics it still managed to burn.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/ph-nest/bonfire.jpg&quot; alt=&quot;Bonfire&quot; /&gt;&lt;/p&gt;

&lt;p&gt;While that fire helped clean up the considerable mess both in and around the house. A smaller more controlled fire helped to satiate the hunger that had been slowly building inside me. The original grill plate had been stolen but they didn’t take the fire enclosure which allowed us to use the backup frypan to cook up the Aussie classic of sausages and onions served on the slightly less traditional but delicious Vietnamese rolls. It’s multiculturalism and overcoming adversity all in one lunch! Notice the plant leaves used as an oven mit :)&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/ph-nest/sausages.jpg&quot; alt=&quot;Lunch&quot; /&gt;&lt;/p&gt;

&lt;p&gt;After lunch there was time for a quick explore. This land holds a lot of significance for my family. It’s where my great aunt and uncle lived when they first moved to Australia from Europe after WW2 and where both of their ashes are buried. But what’s really amazing is how they lived when they first arrived. Before they had time to build a house they simply sheltered themselves in small cave. Now I’ve visited this cave many times but had never realised that people actually lived there! As you can see it’s barely more than a roof made of rock. Sadly my uncle never managed to cover the front in glass as he dreamed of doing, it would have been a sight to behold.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/ph-nest/cave.jpg&quot; alt=&quot;The cave&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Regrettably I didn’t have the time to explore all the way down to the river where I spent many a summers day. It’s a journey involving treacherous footing down a rocky cliff path. Perhaps another visit is in order to begin to reclaim the bastion of wilderness from my childhood.&lt;/p&gt;

&lt;p&gt;If anyone is more interested in the beer I’m drinking than my daily jaunts I have &lt;a href=&quot;/beer/2016/09/24/a-night-for-ipa.html&quot;&gt;another post going through that&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Sat, 24 Sep 2016 00:00:00 +1000</pubDate>
        <link>http://old.blog.skorulis.com/2016/09/24/a-trip-down-memory-lane.html</link>
        <guid isPermaLink="true">http://old.blog.skorulis.com/2016/09/24/a-trip-down-memory-lane.html</guid>
        
        
      </item>
    
      <item>
        <title>A night for IPA</title>
        <description>&lt;p&gt;Today was a busy and involved day full of physical exercise that I usually only see indoors at the gym. After &lt;a href=&quot;/2016/09/24/a-trip-down-memory-lane.html&quot;&gt;fires and bush walking&lt;/a&gt; I really needed a nice cold beer. As I opened my vegetable crisper (Which is a perfectly valid place to keep beers) my hand touched a can of Anderson Valley Hop Ottin IPA. Now IPAs are one of my favourite styles but they can be difficult; You have have to be ready for a real kick in the face and be prepared to eschew food which will ruin your ability to tolerate the extreme bitterness.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/beers/hop-ottin.jpg&quot; alt=&quot;The beer in question&quot; /&gt;&lt;/p&gt;

&lt;p&gt;What I was not prepared for was how amazing this beer was. It was hugely bitter but when something calls itself an IPA this is what I expect. Full of flavour and not holding anything back. And just look at it, right from the pour it looks beautiful, like a sunset in a glass. I give this work of art a 9/10&lt;/p&gt;

&lt;p&gt;But once I had one of course I needed more (Not because I’m an alcoholic, I was just thirsty). Lo and behold as my hand reached down again it latched onto yet another IPA. This time it was a Merchant Hasselsloth west coast IPA. Right from the pour I it didn’t live up to the Anderson Valley. It was cloudy, dark and full of yeast floaties; All of which I’m ok with I had just been spoilt with a vision of beauty.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/beers/hasselsloth.jpg&quot; alt=&quot;Beer 2&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Where the Anderson Valley was all about flavour the hasselsloth was much more subtle; It felt like a let down. Not a bad beer by any measure and very well balanced but just missing something that I wanted 7.5/10&lt;/p&gt;

&lt;p&gt;This lead me onto my final IPA dive into the vegetable crisper. And what I found was more amazing than I expected, not just an IPA but a double IPA!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/beers/death-between-the-tanks.jpg&quot; alt=&quot;The Double IPA&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I’ve had many fantastic beers from the little brewing company but I still wasn’t expecting this to be as good as it was. After already having 2 IPAs this was the perfect follow on. My palate was fully ready to ignore the 113 IBUs and delve into the flavours beneath. It’s full of citrusy hops which give you fruitiness but with the undeniable awareness that this is a strong beer. As I finish my glass I look at the bottom with sadness that I have no more, I’m left only with the hoppy smell of the bottle and the realisation that the next beer will not be as good 9.5/10&lt;/p&gt;

&lt;p&gt;And it was not, on my next return to the vegetable crisper I was struck with the harsh reality that I had no more IPAs to drink. My closest option was a skorubrew #11 hop bomb but that’s something I want to share. So now I’m drinking superdry, woe is me.&lt;/p&gt;
</description>
        <pubDate>Sat, 24 Sep 2016 00:00:00 +1000</pubDate>
        <link>http://old.blog.skorulis.com/beer/2016/09/24/a-night-for-ipa.html</link>
        <guid isPermaLink="true">http://old.blog.skorulis.com/beer/2016/09/24/a-night-for-ipa.html</guid>
        
        
        <category>beer</category>
        
      </item>
    
      <item>
        <title>Online income</title>
        <description>&lt;p&gt;2 days ago I started up an experiment to see how much income I could make online. The focus is on things that can be done passively but also with other things. So far very little money has been earned but if you want to keep track of my progress you can &lt;a href=&quot;http://money.skorulis.com&quot;&gt;follow it here&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Tue, 20 Sep 2016 00:00:00 +1000</pubDate>
        <link>http://old.blog.skorulis.com/2016/09/20/passive-income-copy.html</link>
        <guid isPermaLink="true">http://old.blog.skorulis.com/2016/09/20/passive-income-copy.html</guid>
        
        
      </item>
    
      <item>
        <title>Phringly update</title>
        <description>&lt;p&gt;Today after almost 2.5 years of neglect I put up a new version of &lt;a href=&quot;https://itunes.apple.com/au/app/phringly/id661740558?mt=8&quot;&gt;Phringly&lt;/a&gt;. Not that I added any features as this was mostly just a cosmetic update but it’s nice to give it the update that it was always supposed to get.&lt;/p&gt;

&lt;p&gt;It’s always interesting going back to an old code base to see how I used to do things. There are so many parts of the code which are wildly different from how I now operate and it’s easy to say that this is bad but overall the code is pretty easy to navigate and modify. I mean it’s bad but not offensively “how am I ever going to deal with this” kind of bad. It’s nice to see that I’ve made progress but at least I wasn’t terrible.&lt;/p&gt;

&lt;p&gt;I can see with Phringly that I was only just starting to get the hang of using cocoapods as I still had a lot of submodules sitting around. With them moved into the podfile it’s much easier to keep them up to date. Though it could have just been that many of the projects I wanted to use simply didn’t have cocoapods support at the time. Either way I’m glad to see the submodules go&lt;/p&gt;

&lt;p&gt;Now just the annoying week long wait to see if Apple have any random problems.&lt;/p&gt;
</description>
        <pubDate>Sun, 10 Jan 2016 00:00:00 +1100</pubDate>
        <link>http://old.blog.skorulis.com/2016/01/10/phringly-update.html</link>
        <guid isPermaLink="true">http://old.blog.skorulis.com/2016/01/10/phringly-update.html</guid>
        
        
      </item>
    
      <item>
        <title>Food Nutrition</title>
        <description>&lt;p&gt;Today I started working on a new nutrition app. Yes, I know there are already hundreds out there but for the most part they’re pretty shit. Also I really want to get some more personal apps in the store. The concept of this app right now is still in its infancy, but I’m looking at it mostly as a way to display in depth information about ingredients.&lt;/p&gt;

&lt;p&gt;The immediate question to be answered is can I get the information I need. I actually found a really good resource with the &lt;a href=&quot;http://ndb.nal.usda.gov/ndb/search&quot;&gt;USDA&lt;/a&gt;. Not only does it have detailed nutrition for over 8789 food items but it has a nice JSON API. Annoyingly it’s rate limited so it was going to take a few hours to get all the data.&lt;/p&gt;

&lt;p&gt;I broke the fetching up into 2 ruby scripts. The &lt;a href=&quot;https://github.com/skorulis/usda-nutrition-scraper/blob/master/getFoods.rb&quot;&gt;first&lt;/a&gt; gets all the available foods and the &lt;a href=&quot;https://github.com/skorulis/usda-nutrition-scraper/blob/master/getNutrition.rb&quot;&gt;second&lt;/a&gt; gets the full detail for each food item. To stop from hitting the rate limit I had the second one stop after a given number of iterations and then just ran it throughout the day.&lt;/p&gt;

&lt;p&gt;Once I had the information I was immediately amazed at how much I had. What started as 850K of food items ended up being 98.5MB once I filled in all the details. Bear in mind this is a total of 673,525 nutrition entries. I really didn’t want to add the complexity of having an external service for now so I needed to get this size down. JSON is always a wasteful format and it seemed a good candidate for relational data so I wrote a &lt;a href=&quot;https://github.com/skorulis/usda-nutrition-scraper/blob/master/fillDB.rb&quot;&gt;small ruby script&lt;/a&gt; to convert the JSON into an SQLite database. This took the size down to 29MB. Still larger than I would like but feasible to be bundled with an app.&lt;/p&gt;

&lt;p&gt;The full source code can be found &lt;a href=&quot;https://github.com/skorulis/usda-nutrition-scraper&quot;&gt;here&lt;/a&gt;. You’ll have to spend time fetching the database yourself though.&lt;/p&gt;
</description>
        <pubDate>Sun, 10 Jan 2016 00:00:00 +1100</pubDate>
        <link>http://old.blog.skorulis.com/ios/nutrition/2016/01/10/food-nutrition.html</link>
        <guid isPermaLink="true">http://old.blog.skorulis.com/ios/nutrition/2016/01/10/food-nutrition.html</guid>
        
        
        <category>ios</category>
        
        <category>nutrition</category>
        
      </item>
    
      <item>
        <title>Domain transfer</title>
        <description>&lt;p&gt;Went through and finally got my website and blog off &lt;a href=&quot;http://www.arvixe.com/&quot;&gt;arvixe&lt;/a&gt;. I’ve been meaning to do this for a long time as I’ve been paying for hosting that I really haven’t been making great use of but since it was working without any intervention I never got around to it. Now all my hosting is done by github and I just have to pay for the DNS for my domains. This also makes it much easier to make changes to my website as I just have to push the commit and it’s done.&lt;/p&gt;

&lt;p&gt;Now I just have to wait for the current domain to stop showing the correct page (5-8 days) and then make the DNS changes to point to github and I can be done with arvixe forever. And not a moment too soon after I forgot my password and they emailed it to me in plaintext. That’s a massive security hole to have when it comes to my hosting.&lt;/p&gt;
</description>
        <pubDate>Thu, 07 Jan 2016 00:00:00 +1100</pubDate>
        <link>http://old.blog.skorulis.com/2016/01/07/domain-transfer.html</link>
        <guid isPermaLink="true">http://old.blog.skorulis.com/2016/01/07/domain-transfer.html</guid>
        
        
      </item>
    
      <item>
        <title>Black lighting in unreal engine 4</title>
        <description>&lt;p&gt;Today I was trying to do something very simple in UE4; making a checkerboard type level out of static mesh squares, below is an example of what I was hoping to achieve:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/before-build.png&quot; alt=&quot;Before build&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Each square was a static mesh that I had created by turning a block brush into a static mesh and then had different materials applied. The problem was that every time I built my lighting things went black:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/black.png&quot; alt=&quot;And it&apos;s black&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I tried changing every setting on the mesh that I could think of but could not find any way to stop this happening. In the end I gave up and went to maya to build my static mesh and imported it from there. Once again I’ve found problems when taking a BSP brush and trying to convert it into a static mesh, I think I’m going to stick to building all my geometry in maya and importing it from there. Here’s what I ended up with:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/external-mesh.png&quot; alt=&quot;External mesh&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Wed, 02 Apr 2014 03:21:00 +1100</pubDate>
        <link>http://old.blog.skorulis.com/ue4/2014/04/02/black-lighting-in-unreal-engine-4.html</link>
        <guid isPermaLink="true">http://old.blog.skorulis.com/ue4/2014/04/02/black-lighting-in-unreal-engine-4.html</guid>
        
        
        <category>ue4</category>
        
      </item>
    
      <item>
        <title>Unreal Engine 4: Creating a triangle block</title>
        <description>&lt;p&gt;Today I was having a play around with &lt;a href=&quot;https://www.unrealengine.com/blog/welcome-to-unreal-engine-4&quot;&gt;UE4&lt;/a&gt; attempting to creating a fairly basic level. One of the pieces I wanted in the level was a triangle block like a cube chopped in half as below:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/triangle1.png&quot; alt=&quot;Triangle 1&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This was my first attempt which I did by creating a cube brush and then using the geometry editing weld tool to join some of the top vertices together. After that I triangulated and optimized to get the shape I wanted. While this looked ok when I turned this into a static mesh I started getting a lighting error “Object has wrapping UVs”. Skipping the triangulate and optimize step stops this error occuring but then the shape ends up with texture artifacts&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/triangle2.png&quot; alt=&quot;Triangle 2&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I had one more idea which was to use a subtractive brush at a 45 degree angle&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/triangle3.png&quot; alt=&quot;Triangle 3&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Finally I got what I was after. But I like this method the least as I have to manually line up the brushes and in this case I think I took 1 extra pixel off which may not be noticeable but I like things to be mathematically correct. Since I’m creating static meshes I might try building them in maya and see if I get better results there. I’m pretty new at this so if anyone has any better ideas of how to do this then let me know.&lt;/p&gt;

</description>
        <pubDate>Fri, 28 Mar 2014 03:21:00 +1100</pubDate>
        <link>http://old.blog.skorulis.com/ue4/2014/03/28/unreal-engine-4-creating-a-triangle-block.html</link>
        <guid isPermaLink="true">http://old.blog.skorulis.com/ue4/2014/03/28/unreal-engine-4-creating-a-triangle-block.html</guid>
        
        
        <category>ue4</category>
        
      </item>
    
  </channel>
</rss>
