<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog on Sean Drumm</title>
    <link>https://seandrumm.com/blog/</link>
    <description>Recent content in Blog on Sean Drumm</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-CA</language>
    <lastBuildDate>Fri, 13 Sep 2019 14:43:47 +0100</lastBuildDate>
    
	<atom:link href="https://seandrumm.com/blog/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Useful Links for New Gophers</title>
      <link>https://seandrumm.com/blog/useful-links-for-new-gophers/</link>
      <pubDate>Fri, 13 Sep 2019 14:43:47 +0100</pubDate>
      
      <guid>https://seandrumm.com/blog/useful-links-for-new-gophers/</guid>
      <description>Talks Worth Watching  Getting Started with Go Video Go Proverbs (Rob Pike) Video Simplicity is Complicated (Rob Pike) Video Concurrency Is Not Parallelism (Rob Pike) Video 7 common mistakes in Go and when to avoid them (Steve Francia) Video Channeling Failure (Matt Heath) Video Things in Go I Never Use (Mat Ryer) Video The Why of Go (Carmen Andoh) Video Building a Bank With Go (Matt Heath) Video Best Practices for Industrial Programming (Peter Bourgon) Video Advanced Testing with Go (Mitchell Hashimoto) Video  Reading  The Go type system for newcomers (JBD) Advanced Testing Techniques in Go Practical Go: Real world advice for writing maintainable Go programs   Go&amp;rsquo;s type system is structural, not nominal:</description>
    </item>
    
    <item>
      <title>Building Go Projects With Docker on Gitlab CI</title>
      <link>https://seandrumm.com/blog/building-go-projects-with-docker-on-gitlab-ci/</link>
      <pubDate>Thu, 12 Apr 2018 08:15:50 +0100</pubDate>
      
      <guid>https://seandrumm.com/blog/building-go-projects-with-docker-on-gitlab-ci/</guid>
      <description>Intro This post is a summary of my research on building Go projects in a Docker container on CI (Gitlab, specifically). I found solving private dependencies quite hard (coming from a Node/.NET background) so that is the main reason I wrote this up. Please feel free to reach out if there are any issues or a submit pull request on the Docker image.
Dep As dep is the best option for managing Go dependencies right now, the build will need to run dep ensure before building.</description>
    </item>
    
    <item>
      <title>Migrating from NancyFx to ASP.NET Core: Integration Tests</title>
      <link>https://seandrumm.com/blog/migrating-from-nancyfx-to-asp-net-core-integration-tests/</link>
      <pubDate>Fri, 28 Oct 2016 00:00:00 +0000</pubDate>
      
      <guid>https://seandrumm.com/blog/migrating-from-nancyfx-to-asp-net-core-integration-tests/</guid>
      <description>When migrating a Nancy-based project to ASP.NET Core, I faced quite a dilemma: a rather large set of integration tests needed practically rewriting to suit asp.net core&amp;rsquo;s way of doing things.
And in true Bill Gates fashion I decided to write a shim/adaptor so these tests could run with little modification to validate our migration pretty quickly.
One thing that you&amp;rsquo;ll notice is the methods (Browser.Get etc) are now async, this wasn&amp;rsquo;t much of a change for me with a global find+replace but you may want to change this if it&amp;rsquo;s too much of a hassle for your codebase.</description>
    </item>
    
    <item>
      <title>Running OpenVPN in a Docker Container on Ubuntu 16.04.1 (and Debian 8.0)</title>
      <link>https://seandrumm.com/blog/running-openvpn-in-a-docker-container-on-ubuntu-16-04-1-and-debian-8-0/</link>
      <pubDate>Wed, 03 Aug 2016 00:00:00 +0000</pubDate>
      
      <guid>https://seandrumm.com/blog/running-openvpn-in-a-docker-container-on-ubuntu-16-04-1-and-debian-8-0/</guid>
      <description>Introduction This tutorial will guide you into getting a docker container running on your Ubuntu/Debian host.
I originally followed this tutorial but with the introduction of systemd it is slightly out of date, so I have outlined exactly what to do in here.
I have also added instructions on how to add UPnP support which I needed as I have a permanent VPN connection at home via my RaspberryPi - guide here.</description>
    </item>
    
    <item>
      <title>Testing Directives With Server-side Templates</title>
      <link>https://seandrumm.com/blog/testing-directives-with-server-side-templates/</link>
      <pubDate>Tue, 13 Oct 2015 00:00:00 +0000</pubDate>
      
      <guid>https://seandrumm.com/blog/testing-directives-with-server-side-templates/</guid>
      <description>View code on Github
Scenario:
 Project decides early on that the HTML files used by the AngularJS app will be served via the backend application (ASP.NET MVC) for use of localisation (i18n) via Razor tags. While the paths generally follow convention, they do not match the file structure at all. They are organised in the project in areas (think modules) along with their respective Javascript code.  Example directive structure ~/areas/common/modules/header/header.</description>
    </item>
    
    <item>
      <title>Requiring and Validating Scope Bindings (Parameters) in Your Angular Components</title>
      <link>https://seandrumm.com/blog/requiring-scope-parameters-in-your-angular-directive/</link>
      <pubDate>Tue, 28 Jul 2015 00:00:00 +0000</pubDate>
      
      <guid>https://seandrumm.com/blog/requiring-scope-parameters-in-your-angular-directive/</guid>
      <description>Directives can be weird, as can Angular templates. References to undefined scope variables will fall on deaf ears and sometimes you can spend hours pulling your hair out.
Here&amp;rsquo;s the problem I was facing&amp;hellip; Your directive looks like the following:
&amp;lt;my-awesome-directive entity=&amp;quot;entity&amp;quot; form-label=&amp;quot;great&amp;quot; service-instance=&amp;quot;myService&amp;quot;&amp;gt;&amp;lt;/my-awesome-directive&amp;gt;  If I always want these scope bindings to be present, then why should I have to code defensively to check these exist and also allow another developer to make a mistake by omitting these which will ultimately be hard to debug and trace?</description>
    </item>
    
    <item>
      <title>Uploading to Azure Blob Storage in AngularJS With a HTML5 Web Worker</title>
      <link>https://seandrumm.com/blog/uploading-to-azure-blob-storage-in-angularjs-with-a-html5-web-worker/</link>
      <pubDate>Tue, 31 Mar 2015 00:00:00 +0000</pubDate>
      
      <guid>https://seandrumm.com/blog/uploading-to-azure-blob-storage-in-angularjs-with-a-html5-web-worker/</guid>
      <description>View on Github | Just the Web Worker
This was a recent problem I solved at UMG. We were eager to replace an aging Silverlight component that handled uploading files into Azure Blob Storage via parallel blocks with MD5 calculation for integrity. We had to be sure we got at least very similar speeds and didn&amp;rsquo;t degrade the user&amp;rsquo;s experience while the upload was in progress.
I&amp;rsquo;d first created an Angular factory that handled the whole process of slicing up the file into blocks, calculating the MD5 of those blocks and uploading them.</description>
    </item>
    
    <item>
      <title>My Year With The Microsoft Stack</title>
      <link>https://seandrumm.com/blog/my-year-with-the-microsoft-stack/</link>
      <pubDate>Sat, 14 Sep 2013 00:00:00 +0000</pubDate>
      
      <guid>https://seandrumm.com/blog/my-year-with-the-microsoft-stack/</guid>
      <description>In 2012 I was a humble PHP developer working for a London-based company. I was managing their poorly written website which was built by an outsourcing company before I was around.
The company expanded and the CTO made a decision that going forward all new projects would be written in the .NET Framework using C#. New developers were hired and I was now the weird PHP guy using a Mac.</description>
    </item>
    
  </channel>
</rss>