https://www.gravatar.com/avatar/c3bd0ee4b9ef5fc4f5dfec154f5fd7e5?s=240&d=mp

Dan Cowsill

Adventures in screaming at computers

Building an Ubuntu Updates Mirror with Docker and Docker Compose

Looking for a new project for the home network? Or maybe you’ve got a few Ubuntu servers and you don’t want to download the same apt packages for each server. You can use Docker, Docker Compose and open source tools to make your own functioning apt repository mirror. Let’s find out how. Update Since I wrote this post in 2019, the developers of apt-mirror have not been able to maintain the project.

VLANs on MikroTik: The good, the bad and the ugly

RouterOS remains for me the absolute best platform for enterprise networking today. From its intuitive commandline and built-in syntax highlighting, to the incredible Winbox UI which makes visualizing configurations so much easier, to the little things like MAC Winbox and RoMON there’s much to love. That said, the platform itself is in a constant state of evolution and development. I’m pleased that MikroTik develops so actively and is always releasing new products and updates for its existing ones.

Port Knocking with MikroTik

Ever want to have a port forwarded but don’t like the idea of someone who shouldn’t be allowed to connect to it messing with your service? Ideally, you’d have a trusted address list to fall back on making it so only people on the list are able to access. If that isn’t possible, for example in my case if I pretty well never have the same IP, then I can use port knocking.

Syncing Sublime Text 3 Settings Across Multiple Devices

Sublime Text remains for me the very height of text editor awesomeness. And for good reason! It’s blazing fast, has the best plugin ecosystem around and works anywhere you would want to use it. Visual Studio Code and Atom are making headway but for my money (or the $70 donation to the author I’ve been meaning to make for the last three years…) Sublime Text still rules. If you use Sublime on more than one device like I do you’re probably tired of setting up the same environment over and over again.

New website!

I was looking at my blog for the first time in a while thinking, “Man, this site may as well be static for all I update it.” And so I made the site static! But fancy though. I used a static site generator called Hugo, written in Go, and said farewall to WordPress (and GoDaddy, who were charging an exorbitant sum to host my site and doing a terrible job at it).

How to write a .NET JSON Web Service using JSON.NET

I want to write a .NET 4.0 web service of some description that produces JSON and produces it quickly. I have very complex tree structures that run headlong into the performance limitations of the out of the box .NET JSON serialisers. For the same data structure using the Microsoft options I got between 43,925 ms and 4,546 ms. With Newtonsoft.Json I got 43 ms. If you want to use WCF (which I don’t because it’s awful), you can use some of the solutions described here to use Newtonsoft.