<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tony Lawrence</title>
    <link>http://tonylawrence.com/</link>
    <description>Recent content on Tony Lawrence</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-gb</language>
    <copyright>&amp;copy; &lt;a href=&#34;https://gitlab.com/tonyklawrence&#34;&gt;Tony Lawrence&lt;/a&gt; 2019 - Waffly Bollocks</copyright>
    <lastBuildDate>Tue, 15 Jan 2019 00:00:00 +0000</lastBuildDate><atom:link href="http://tonylawrence.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Free your Synology ports for Docker</title>
      <link>http://tonylawrence.com/posts/unix/synology/free-your-synology-ports/</link>
      <pubDate>Tue, 15 Jan 2019 00:00:00 +0000</pubDate>
      
      <guid>http://tonylawrence.com/posts/unix/synology/free-your-synology-ports/</guid>
      <description>(23rd July 2024) It&amp;rsquo;s been over 5 years since I wrote this post originally to remind me how I did this. It has also been brought to my attention that this is linked from the official Pi-hole docs which is awesome. Therefore I owe it to you all to bring this guide firmly into 2024, compatible with DSM 7.2 and Docker Compose.
 I’ve been running Pi-Hole on my Synology for many many years.</description>
    </item>
    
    <item>
      <title>Running Pi-Hole inside Docker on Synology</title>
      <link>http://tonylawrence.com/posts/unix/synology/running-pihole-inside-docker/</link>
      <pubDate>Wed, 29 Nov 2017 13:37:28 +0000</pubDate>
      
      <guid>http://tonylawrence.com/posts/unix/synology/running-pihole-inside-docker/</guid>
      <description>Update 2 I’ve created a new post which shows a different method, the one that I currently use. Free your Synology ports for Docker)
  Update This post was updated in January 2018 and details how to get the Debian version of pihole-docker running as the Alpine version is no longer supported.
 When I first wrote about installing Pi-Hole inside Docker on my Synology NAS I came up with a solution that required a little modification to the standard DSM (see: Freeing up port 80 on Synology DSM).</description>
    </item>
    
    <item>
      <title>Freeing up port 80 on Synology DSM</title>
      <link>http://tonylawrence.com/posts/unix/synology/freeing-port-80/</link>
      <pubDate>Sat, 04 Feb 2017 16:45:28 +0000</pubDate>
      
      <guid>http://tonylawrence.com/posts/unix/synology/freeing-port-80/</guid>
      <description>I recently purchased a new NAS for my home network. My reliable ReadyNAS has been working flawlessly for the past 6 years and still going strong (if a little slow). As I really wanted a NAS that would support docker containers I was drawn to the DS916+.
So far everything has been easy to configure, launching docker containers a breeze and has generally been a great experience; apart from 1 little thing.</description>
    </item>
    
    <item>
      <title>Configuring your Haskell environment</title>
      <link>http://tonylawrence.com/posts/haskell/configure/</link>
      <pubDate>Wed, 01 Jan 2014 00:00:00 +0000</pubDate>
      
      <guid>http://tonylawrence.com/posts/haskell/configure/</guid>
      <description>My love of functional programming has been getting stronger over the past year so I decided to attend Well-Typed Haskell courses at Skills Matters1. As I&amp;rsquo;m a huge fan of JetBrains IntelliJ IDE I found using Haskell a little lacking in this area (unless you can be online with FP Complete.)
In this article I will explain how I configured my Haskell development environment using Sublime Text 3 and a few extras.</description>
    </item>
    
    <item>
      <title>Installing Homebrew on OSX Mavericks</title>
      <link>http://tonylawrence.com/posts/unix/installing-homebrew/</link>
      <pubDate>Tue, 31 Dec 2013 00:00:00 +0000</pubDate>
      
      <guid>http://tonylawrence.com/posts/unix/installing-homebrew/</guid>
      <description>I choose to install all my applications via Homebrew. It&amp;rsquo;s easy to install, easy to update, works well for me and has all the required packages including everything required for Haskell. Installing Homebrew is as easy as running the following command in terminal[^brew]:
$ ruby -e &amp;#34;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&amp;#34; You will be required to enter your administrator password and might be asked to install Apples Xcode developer tools and also Git versioning tool.</description>
    </item>
    
    <item>
      <title>Backing up and restoring a ReadyNAS Ultra</title>
      <link>http://tonylawrence.com/posts/unix/backing-up-readynas/</link>
      <pubDate>Sun, 16 Sep 2012 00:00:00 +0000</pubDate>
      
      <guid>http://tonylawrence.com/posts/unix/backing-up-readynas/</guid>
      <description>I&amp;rsquo;ve had my ReadyNAS drop of the network a couple of times, and lately has been warning me about errors on my disk 2 so I thought it was a good idea to replace that drive. Due to the few network issues I&amp;rsquo;ve had I decided that taking the opportunity to restore the ReadyNAS was a good idea (I had messed with it quite a bit before.)
As I have just under 3TB used my new replacement drive would be 3TB so that I could use it for backup / restore and then as a replacement to the failing 2TB drive.</description>
    </item>
    
    <item>
      <title>Grouping collections in Java</title>
      <link>http://tonylawrence.com/posts/java/grouping-collections/</link>
      <pubDate>Wed, 15 Aug 2012 00:00:00 +0000</pubDate>
      
      <guid>http://tonylawrence.com/posts/java/grouping-collections/</guid>
      <description>Recently I came across some code that was iterating over collections in order to group them by certain fields. This code was repeated a few times as it was grouping more than once. To me this seemed very verbose and a little hard to understand. As Guava was the available library and one that does not include any grouping I decided to have a go myself.
The iterative approach Map&amp;lt;Character, List&amp;lt;String&amp;gt;&amp;gt; group = newHashMap(); List&amp;lt;String&amp;gt; strings = asList(&amp;#34;one&amp;#34;, &amp;#34;two&amp;#34;, &amp;#34;three&amp;#34;, &amp;#34;four&amp;#34;); for (String string : strings) { Character firstCharacter = string.</description>
    </item>
    
    <item>
      <title>Fixing corrupted time machine backups</title>
      <link>http://tonylawrence.com/posts/unix/fixing-corrupted-time-machine-backups/</link>
      <pubDate>Sat, 11 Aug 2012 00:00:00 +0000</pubDate>
      
      <guid>http://tonylawrence.com/posts/unix/fixing-corrupted-time-machine-backups/</guid>
      <description>Yesterday my MacBook Air decided that it no longer trusted my Time Machine backup and wanted to create a new one. Apart from the time this would take (20gb over WiFi) and the fact that I&amp;rsquo;d lose my current history I was a little bit wary so declined. Unfortunately this was not a the last I heard of it. Time Machine refused to back up until I started a new back up.</description>
    </item>
    
    <item>
      <title>Publishing from the iCloud</title>
      <link>http://tonylawrence.com/posts/blog/publishing-from-the-icloud/</link>
      <pubDate>Thu, 02 Aug 2012 00:00:00 +0000</pubDate>
      
      <guid>http://tonylawrence.com/posts/blog/publishing-from-the-icloud/</guid>
      <description>I&amp;rsquo;ve recently been using IA Writer as my markdown editor. I love the fact that I can use any of my iDevices and that it&amp;rsquo;s all synced in the iCloud. But how do I access the iCloud data so that I can include it in my Octopress git repository?
Show me the data On Mountain Lion (and Lion I believe) all the iCloud data is hidden away in your home directory.</description>
    </item>
    
    <item>
      <title>Setting up Octopress</title>
      <link>http://tonylawrence.com/posts/blog/setting-up-octopress-on-osx/</link>
      <pubDate>Wed, 01 Aug 2012 00:00:00 +0000</pubDate>
      
      <guid>http://tonylawrence.com/posts/blog/setting-up-octopress-on-osx/</guid>
      <description>When upgrading to Mountain Lion I decided to replace my existing Wordpress site with a static one. There were many reasons for this. With Wordpress I was unable to easily version control my posts into GitHub. I also had no control over and backup strategies. One of my colleagues - Toby Weston - was running Octopress so I thought I&amp;rsquo;d take a look.
Octopress is based upon Jekyll, developed and used by GitHub.</description>
    </item>
    
    <item>
      <title>Fluent Guava</title>
      <link>http://tonylawrence.com/posts/java/fluent-guava/</link>
      <pubDate>Thu, 31 May 2012 00:00:00 +0000</pubDate>
      
      <guid>http://tonylawrence.com/posts/java/fluent-guava/</guid>
      <description>It&amp;rsquo;s been far too long since I&amp;rsquo;ve written anything on this site. I&amp;rsquo;ve got plenty of topics, it&amp;rsquo;s just finding the time to write something down. This one comes from a comment on one of my previous posts about Guava and Modern Java.
Guava has recently been upgraded to version 12 and along with this release comes the idea of a Fluent Interface as described by Martin Fowler and Eric Evans.</description>
    </item>
    
    <item>
      <title>Lambda Magic?</title>
      <link>http://tonylawrence.com/posts/java/lambda-magic/</link>
      <pubDate>Tue, 10 Jan 2012 00:00:00 +0000</pubDate>
      
      <guid>http://tonylawrence.com/posts/java/lambda-magic/</guid>
      <description>I often hear people complain about Java (I’m not excluding myself from this) about how restrictive the language can be compared to others. We all know how noisy it is when working with functional libraries. Wouldn’t it be great if we had a lambda style syntax in Java?
This is where Enumerable for Java comes in. This has been developed by Håkan Råberg who describes the library as:
 &amp;ldquo;Ruby/Smalltalk style internal iterators for Java 5 using bytecode transformation to capture expressions as closures.</description>
    </item>
    
    <item>
      <title>Modern Java - The Totally Lazy Way</title>
      <link>http://tonylawrence.com/posts/java/the-totally-lazy-way/</link>
      <pubDate>Sun, 01 Jan 2012 00:00:00 +0000</pubDate>
      
      <guid>http://tonylawrence.com/posts/java/the-totally-lazy-way/</guid>
      <description>A few weeks ago I blogged about Modern Java using Googles Guava to write functional programs. One of the comments on that blog was by a good friend on mine Franck Rasolo. He suggested I took a look at Totally Lazy by Daniel Bodart as an alternative to Guava. So I decided to implement the same functional calculator I wrote in the previous post using totally lazy instead and here are my findings.</description>
    </item>
    
    <item>
      <title>Modern Java</title>
      <link>http://tonylawrence.com/posts/java/modern-java/</link>
      <pubDate>Sun, 04 Dec 2011 00:00:00 +0000</pubDate>
      
      <guid>http://tonylawrence.com/posts/java/modern-java/</guid>
      <description>I recently attended XPDay London 2011 organised by the great eXtreme Tuesday Club and had a great 2 days. Many of the talks I went to were more exploratory than anything but sometimes it’s a great way to learn more. One of the early sessions was hosted by Julian Kelsey @scrawlings and Andrew Parker @aparker42 and was predominately about refactoring Java into a more function style, and another by Nat Pryce @natpryce about test driving function programming which in the end turned into something called Modern Java.</description>
    </item>
    
  </channel>
</rss>
