Aliyun – Malaysia vs Singapore

I’ve been waiting for a decent cloud provider to provide a data centre in Malaysia for a while. And recently, Alibaba Cloud launched their data centre in Malaysia to some fanfare. So, I decided to take a look at their offerings. While their offerings are pretty nice when compared to Read more…

Slow IPv6 Routes

We’re trying to increase IPv6 adoption by migrating things. However, slow IPv6 routes don’t help. We tested things using Vultr’s network as they had servers is 15 countries. These are an abbreviated sample of the results. LONDON HOST: vm1359261.vultr.com Loss% Snt Last Avg Best Wrst StDev 1. ??? 100.0 10 Read more…

Death of the General Purpose CPU

General purpose CPUs are dead. Long live the general purpose CPU. I think that this is what’s happening in the world today – we are witnessing a shift in computing paradigms. The most obvious of these shifts is the exponential growth of artificial intelligence (AI) computations. As more and more Read more…

Why C++ Web Development

I generally receive a stunned look when I tell people that we build everything with C++ where possible, including web applications. It happened again recently and they will usually ask me – Why?!!! I’d like to document some reasons why we chose to use C++ to build web applications here. Read more…

SSH over IPv6

We had a file server in the office set up to grab data from our remote server daily – for off-site backup purposes. This essentially uses RSYNC over SSH with certificate authentication. The entire process is run as a cron-job daily. However, recently the backups started to fail mysteriously. It Read more…

LTSP and OpenGL 2.1

We’ve recently updated our office computers to the new Ubuntu Xenial LTS. This came with a newer version of KiCad that requires OpenGL 2.1 minimum to run. Unfortunately, we run a bunch of LTSP thin-clients in the office with a beefier server for work and a bunch of old PCs Read more…

MPLAB-X Harmony Tempfile issue

We faced a problem when running MPLAB-X with Harmony framework in a multi-user environment. We didn’t have this problem before this as there was only one person working on the PIC32 code. But we’ve added a new member this week and an issue cropped up. It turned out that the Read more…

Wildcard DNS

There is one piece of the puzzle that is needed to deploy our new product, that is a wildcard DNS. I had assumed that we would need to roll our own DNS server to achieve this but lo and behold, there are existing wildcard services e.g. XIP.IO that is used Read more…

Minimal Bitstream Size

I was interested to find out how much storage is needed to store the bitstream of a minimal design for a Spartan6 FPGA. The minimal design chosen is just a straight-forward 8-bit binary counter. The results are: LX25 Raw/Compressed: 801556/233934 LX16 Raw/Compressed: 464290/134942 LX9 Raw/Compressed: 340697/118773 The sizes stayed the Read more…

JSON v XML

There are a whole bunch of JSON v XML posts out there. So, I will not rehash the various arguments on which is better. However, we needed to select a file format to store configuration information. To make things convenient, we decided to use the Boost::Property_Tree library. So, this is Read more…