11 Sep 2016

In (all the) other news

I’ve been investing some of my spare time creating this news channel aggregator, recorder and (re-)mixer -thing lately, something that had been bubbling in the back of my mind since at least 2008.

I also had to brush up on my ffmpeg-fu for some actual work related stuff, so this project ended up serving as a playground for doing both.

The start was an idea that it might be interesting to see how the different news outlets prioritises and covers (or not) the events that unfolds around the world. Then I figured it would also be nice to archive this for some period of time, so that if world war 3 were to break out while I’m walking the dogs, I can just check the instant replay (… or not.)

Way too many hours was spent looking into how to interpret the output of running encoders, and restarting them when needed; I’m relying on some rather unreliable/poorly connected sources for some of the channels. If anyone has any suggestions to how to improve this or have some private feeds to share I’m all ears.

There is a (limited) mechanism for “private” channels in which I’ve added a couple of commercial ones that I pay for just myself. I should probably do a writeup some day on how I ended up with OBS running in x11vnc doing screen-grabbing of firefox. It is nothing else than a hack, but as hacks go this one seems to work rather well.

Try it out over at http://ser.du.no and please let me know what you think.


  • 15+ live news channels from around the world, most in English
  • 7 days backlog segmented by channel/day for all channels
  • Rotate/view multiple channels simultaneous in 1x1 2x2 and 3x3 matrixes
  • Embedded chat with live-breaking-news-alert-bot v0.1
  • Loop video to make it easy to extract soundbites
  • Chromecast & Airplay support (on some of the streams)


  • Chat/live-breaking-news-alert-bot needs serious work to provide less comedic relief. OCR is hard.
  • Re-enable DASH tech for video.js. Something broke with last version.
  • Make youtube-tech optional via selection, it’s not that great for matrixes (slow)
  • Create Recording/Export module for video.js
  • Set up nginx hls/dash secure links
  • Add moar channels. Linux/PC based sat recievers might be the way to go.
  • Make channel-matrixes refresh one by one instead of all of them at the same time somewhat fixed for 3x3
  • #hindenburg { float: none; }. I am not a designer. The lack of design + related issues will forever be banished to the end of this list, unless someone wants to help.

Related pictures:


* No promises as to how long the site will stay up, it depends on if I use it myself enough and/or how much it end up costing me to run and/or public interest. Everything is currently running on 3 servers with a total running cost about €100/month.

* Warning; the 3x3 matrix can be very hard on your hardware and internet connection if you keep it running; it has already turned one of my laptops into a very expensive paperweight.

07 Sep 2015

testing syntax highlighting


function stuff() {


#include <iostream>
using namespace std;
int main(){
   cout << "w00t w00t!" << endl;
   return 0;


# Create "/tmp/w00t" if it doesn't exist.
class test_class {
    file { "/tmp/w00t":
       ensure => present,
       mode   => 644,
       owner  => root,
       group  => root


package main
import "fmt"
func main() {
	fmt.Printf("w00t, w00t.\n")

09 Nov 2014

Webgl Traffic Analyzer

Last weekend I created a WebGL Traffic Globe Analyzer thing for our operations centre video wall.

Here it is.

Project is deeply inspired by a similar globe I once saw in a lobby somewhere in Silicon Valley, but that one was “just” displaying aggregate search traffic. I’ve tried to mix in some sensor data from our IDS system and firewalls to make it a bit more interesting to look at with our comparatively humble dataset.

It’s really more eye candy than useful, especially since only I know what the different colors represent (..but maybe you can guess some of them?).

You know what they say, there are only two kinds of people in this world — those who can extrapolate from incomplete data sets…

23 Mar 2013

first post

This is the obligatory first post on my new home on the intertubes. Being the first post, on a new site, I’m being realistic and don’t think it will be seen by too many people.

At best, someone who is interested in my earlier content will think hey I wonder what his first post was. This post is for you, the curious one.

I hope you enjoy this picture of my dog.