June 17, 2018

Fixing a MythTV performance problem

Filed under: Technical — Tags: , , , , , , , — James Bunton @ 2:17 am

Recently I switched my media server from ext4 on LVM to ZFS. This has mostly been a great success, however I noticed a big problem with MythTV. In the past it would take 1-2sec to start playing video, now it would take 5-60sec. Ouch!

In this post I’ll describe the trouble-shooting techniques I applied, along with all the various things I found and fixed along the way. If you just want to see the solution you can scroll to the end.

(more…)

June 1, 2017

Capturing and restoring video from VHS tapes losslessly

Filed under: Technical — Tags: , , , , — James Bunton @ 12:00 am

Back in the 1990s my family recorded some home videos using a VHS camera. It’s pretty hard to play these on modern equipment, so back in 2013 I digitised them all.

Of course when using an analogue source like tape it’s not really possible to do a lossless copy. However I wanted to do the highest quality capture with the equipment available to me, and I wanted to be able to redo post-processing in the future in case I have the time, motivation and technology to improve things further.

(more…)

May 1, 2017

Caching reverse proxy for Linux and OSX software updates

Filed under: Technical — Tags: , , , , , , , — James Bunton @ 12:00 am

I have lots of computers in my house, all of which receive regular software updates. I get tired of waiting for all of these to download the same data, sometimes at the same time! I decided to use nginx to cache this data on my router to save time.

(more…)

March 21, 2017

Using colon filenames with Samba 4 on Arch Linux

Filed under: Technical — Tags: , , — James Bunton @ 12:05 pm

A little while ago I upgraded Samba from 3.14 to 4.1. I’m using Arch Linux on the client and server. This upgrade broke the ability for the client to access files containing colons, that is I could not read files with names like 2016-01-01 10:42.txt.

(more…)

August 1, 2016

docker-cleanup to garbage collect old images

Filed under: Technical — Tags: , , , — James Bunton @ 12:00 am

Docker is a very useful containerisation platform. I use it so much that I regularly fill up /var/lib/docker with old images and get out of disk space errors. Unfortunately Docker has no automatic garbage collection mechanism to clean up unused images. I wrote a simple shell script which I run from time to time.

(more…)

July 15, 2015

Monitoring hard disks and alerting on errors with smartmontools on Linux

Filed under: Technical — Tags: , — James Bunton @ 12:00 am

A simple configuration to regular check all local disks for errors. Any problems will go to syslog/journald as well as being emailed to root.

(more…)

July 1, 2015

IPv6 with over ADSL with PPP on Debian Linux using Internode

Filed under: Technical — Tags: , , , , , , , , — James Bunton @ 12:00 am

Many years ago Internode started offering IPv6. This is proper dual stack IPv6 with a /56 block of addresses. I get 256 subnets, each with 2^64 addresses. Awesome! I signed on for the trial immediately and got it working without too much difficulty. The documentation wasn’t great though, so here’s how I my setup works today.

(more…)

June 15, 2015

Debian and Arch Linux package cleanup – aptorphan/pacorphan

Filed under: Technical — Tags: , , , , — James Bunton @ 12:00 am

Once upon a time there was a tool called deborphan. It finds orphaned packages which could be removed from the system. You can maintain a list of ‘keepers’ to stop it suggesting removal of things that you want.

I wanted to extend this to work with the builtin “auto-installed” flag that aptitude stores for all packages. I also wanted it to work with Arch Linux.

(more…)

July 25, 2014

Introduction to the Linux Wireless Subsystem

Filed under: Technical — Tags: , , , — 7:26 pm

Guest post by lemnisca.

I’ve recently started getting into Linux wireless programming for work. I am a fairly experienced C programmer but don’t know much about kernel development so this is a new adventure for me. What I found was that while there is a lot of information available about how it all works — indeed, since it’s open source, one can at least in theory have complete information about the functioning of the system — there is not much in the way of an introduction. There’s no broad explanation of how it all works for someone completely new to the system. The documentation that does exist is largely focused on documenting individual functions, structs, etc. and is more of a reference for those already familiar with the system. I quickly found myself lost in a sea of source code, chasing down chains of function calls with no real feel for how the whole thing is put together. So I’ve decided to share what I’ve learnt, in the hopes that it might help someone else in the future.

(more…)

April 7, 2014

Bluplayer – Easy Bluray playback with MakeMKV and VLC

Filed under: Technical — Tags: , , , , — James Bunton @ 9:00 am

About a year ago when I first bought my Bluray drive for Linux I had a simple requirement. I wanted to be able to put a disc in, then with some graphical tool select a track and have it start playing. It turns out nothing on Linux can do this.

So I wrote a simple Python/Qt app which uses MakeMKV to decrypt and VLC to play it.

(more…)

Older Posts »