It’s all about backups

My old computer serves as a nice power saving home server for Home Assistant, Nextcloud and some other services. Details will be covered another time.

I was cleaning up some Nextcloud directories and found an ugly bug that somehow led to Nextcloud deleting nearly all of the 2 GBs of data. That was the perfect time to go for some restore drill of my multi-level backup concept.


I adopted the “3-2-1” backup strategy a bit and spread my backups to local disks (Synology Diskstation and the Homeserver) and two remote targets: Wasabi and Amazon Cloud Drive. Currently I still enjoy the unlimited storage plan, let’s see how long this will last.

Needless to say that all backups are encrypted, even these in my house.

I backup all data of the Windows PC since this is the main computer. My Mac is configured to backup a selective subset of the data using Arq and a full backup via Time Machine to my Diskstation. The Homeserver is also scheduled to backup important data using to Wasabi.

The Diskstation is configured to backup itself on a external disk connected via USB and also to backup the important stuff via the AWS S3 Integration to Wasabi.

Total cost of Wasabi: about 10$ a month for about 2 TB  of data.

So, how is your backup strategy going?

Bees With Machine Guns!

beesThat’s a funny name for a very nice tool. It spawns a number of EC2 instances in region US-East-1 and starts load testing a predefined URL with Apachebench.

All you need is:

  • A EC2 account
  • A Keypair, stored under ~/.ssh/keypair.pem
  • An availability zone “public” with SSH access allowed

Install the tool with

and start having fun. Please keep in mind to shut down all EC2 instances after the test to avoid high bills.

Get the sources and docs on GitHub.

Links for 19.01.2015

Today’s post is all about performance testing websites. PhantomJS is doing a great job here.

AngularJS – Perceived Performance: In a traditional page, measuring the page performance is quite easy; a request is made, the server responds with some HTML and the browser renders it. Done. In a Single Page Application, things get trickier.

YSlow for PhantomJS: PhantomJS is a headless WebKit with JavaScript API. YSlow for PhantomJS is a command line script that allows page performance analysis from live URLs, unlike YSlow for Command Line (HAR) where a pre-generated HAR file is needed in order to analyze page performance. – Tags: performancetesting

collectd – The system statistics collection daemon: collectd gathers statistics about the system it is running on and stores this information. Those statistics can then be used to find current performance bottlenecks (i.e. performance analysis) and predict future system load (i.e. capacity planning). – Tags: performancetesting

HTTP Archive: The HTTP Archive tracks how the Web is built. – Tags: performancetesting

Links for 08.01.2015

HTTP/2.0 — The IETF is Phoning It In: Good article about the issues with the HTTP/2.0 spec.

HOWTO setup your very own Jabber server…: Nice howto. I am also reachable via Jabber now 🙂

Hyperfox – HTTP and HTTPs Recording: MITM-Proxy for HTTP debugging. Hyperfox is capable of forging SSL certificates on the fly using a root CA certificate and its corresponding key (both provided by the user). If the target machine recognizes the root CA as trusted, then HTTPs traffic can be succesfully intercepted and recorded. – by CyberPunk

sametmax/0bin · GitHub: 0bin allows anybody to host a pastebin while welcoming any type of content to be pasted in it. The idea is that one can (probably…) not be legally entitled to moderate the pastebin content as he/she has no way to decrypt it.

Bug: .NET WebBrowserControl switches User-Agent headers when using XMLHttpRequest in compatibility view

Microsoft .NET supplies a WebBrowserControl that can be used to integrate web browser functionality into a windows application.

During the last days I learned some weird stuff about this component, especially regarding user agent HTTP headers.
Continue reading “Bug: .NET WebBrowserControl switches User-Agent headers when using XMLHttpRequest in compatibility view”