RSSAmplifier

Blog

Daniel15's Blog

Blog of Daniel Lo Nigro, a slightly awesome 33-year-old web developer originally from Melbourne Australia but now living in the San Francisco Bay Area.

d.sbRSS feed ↗10 posts

Latest posts

CSS: Two columns on desktop, one column on mobile

In HTML and CSS, it's not uncommon to need a layout where you have two columns side-by-side on wide screens:

	Hello from column 1
	Hello from column 2


but both collapse into a single column on narrow screens such as mobile devices:

	Hello from column 1
	Hello from column 2


Let's start with some basic…

Securely Sharing Storage with NFS

In this post, I'll explain how to securely configure NFS on Debian, to mount a directory from one server on another machine. A good use case for this is if you have a storage VPS with a large amount of storage, and want to use this space from other servers.
Security
NFS is unencrypted by default. It can be encrypted if you use K...

WireGuard on OpenVZ/LXC

WireGuard is an exciting, new, extremely simple VPN system that uses state-of-the-art cryptography. Its Linux implementation runs in the kernel, which provides a significant performance boost compared to traditional userspace VPN implementations
The WireGuard kernel module is great, but sometimes you might not be able to install...

Netdata causing load increase every ~20 minutes

So I recently encountering a strange issue on two of my servers. I noticed that the load average was increasing approximately every 20 minutes:

I suspected a cronjob, but I don't have any cronjobs that run every 20 mins. Also, CPU usage doesn't actually increase during that period:

I did some digging and it took a long time to...

Performing DNS requests from Google Docs

I use a Google Docs spreadsheet to manage all my domains. It contains a list of all the domain names I own, along with their expiry dates, the name of the registrar the domain is registered with, and some other details. I also wanted to also add a column showing the nameservers, so I could tell which domains were parked vs which...

Fixing "error MSB3552: Resource file "**/*.resx" cannot be found"

Recently I was upgrading one of my projects from Visual Studio 2015 to Visual Studio 2017 (including converting from project.json and .xproj to .csproj), when I hit an error like this:
Microsoft.Common.CurrentVersion.targets(2867,5): error MSB3552: Resource file "**/*.resx" cannot be found.

It turns out this is caused...

Reusing Job-DSL configuration sections

Job DSL is an excellent plugin for Jenkins, allowing you to configure your Jenkins jobs through code rather than through the Jenkins UI. This allows you to more easily track changes to your Jenkins jobs, and revert to old versions in case of any issues. As an example, for the Yarn project, we have a Jenkins job to publish a Choc...

Fixing GPG "Inappropriate ioctl for device" errors

Recently I moved all my sites onto a new server. I use Duplicity and Backupninja to perform weekly backups of my server. While configuring backups on the new server, I kept encountering a strange error:
Error: gpg: using "D5673F3E" as default secret key for signing
Error: gpg: signing failed: Inappropriate ioctl for de...

Using Entity Framework 6 and MySQL on ASP.NET 5 (vNext)

Visual Studio 2015 was recently released, and with it came a newer beta of ASP.NET 5 (formerly referred to as "ASP.NET vNext"). ASP.NET 5 is a complete rewrite of ASP.NET, focusing on being lightweight, composible, and cross-platform. It also includes an alpha version of Entity Framework 7. However, EF7 is not yet prod...

Getting Started with XHP in Laravel

In this post I'll cover the basics of using XHP along with the Laravel PHP framework, but most of the information is framework-agnostic and applies to other frameworks too.
What is XHP and Why Should I Use It?
XHP is a templating syntax originally developed by Facebook and currently in use for all their server-rendered frontend ...