Software architecture for 5G networks

The 5G mobile network specification introduces network function virtualization [NFV] which enables mobile network operators (carriers henceforth) to expose network resources to business applications as PaaS solution building blocks [SBB]. Naturally, this moves 5G into the focus of software architecture. Unsurprisingly, the NFV specs detail services from the carrier's  point of view, so they are … Continue reading Software architecture for 5G networks

Securing a development server

In this post I talk about setting up and securely operating development tools like Jenkins and Gitlab on a server connected to the internet. All applications run behind a firewall and a reverse HTTP proxy which allows only HTTP requests from selected users through who authenticate themselves with client certificates. Putting web-facing software on the … Continue reading Securing a development server

Running a website on ip6

I started quite a while ago moving a pet project to ip6. While it doesn't involve any programming per se, it turned out to be quite a complicated process involving multiple configuration steps. Thus, for your enjoyment I present: running a website on ip6 with Ubuntu 14.04 (older versions won't work because their kernel doesn't … Continue reading Running a website on ip6

Linux picking the best access point in a WLAN with repeaters

In many larger WLAN setups you'll find repeaters or extenders which spread the WLAN to farther places on the floor. Often they are set up in such a way that they use the same WLAN name (SSID) and password. In that case the WLAN hardware on your laptop will pick the best access point and … Continue reading Linux picking the best access point in a WLAN with repeaters

Automatically starting an SSH tunnel in Ubuntu

As I am a frequent guest in public WLANs I spent some time looking into ways to connect safely to both the corporate network and the rest of the internet while enjoying the amenities of a caf├ęs' or hotel's wifi. Because of its simplicity and universal availability I like SSH tunnels which are easily set … Continue reading Automatically starting an SSH tunnel in Ubuntu

The impact of network packet loss on HTTP latency

Over the course of my involvement [1] in my Indonesian company's website, the question of how to design a website to deal with slow and bad network links presented itself over several occasions as most of our users surf either over a mobile connection or a similarly dimensioned fixed line. While optimizing design and resources … Continue reading The impact of network packet loss on HTTP latency

Varnish, session_linger and dropped connections

Recently I conducted a load test on my beloved low end Ubuntu 8.04 VPS. The setup consists of a mysql 5.1 DB, a Tomcat 6 webapp, openjdk 6 and Varnish 2.1.2. The load generator was issuing HTTP GET requests through a DSL connection which were supposed to create a decent load on Tomcat. To my … Continue reading Varnish, session_linger and dropped connections