Photo by Harrison Broadbent on Unsplash

LTSP on Raspberry Pi 3B+

We have been running a thin-client setup in the office for a number of years now as we’ve found them to be easier to maintain, and it allowed everyone to login on any PC and access their work. Our thin-clients were all desktop PC-based machines with Gigabit Ethernet and no 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…

Gitlab Error 422

There are so many problems when running Gitlab behind a reverse proxy. However, the Error 422 one is the most common. The only way to fix this problem is by supplying X-Forwarded-Proto and X-Forwarded-Ssl request headers to the reverse proxy as indicated here. How to do that depends on each Read more…

ISA Size Comparison

Just to do a quick and dirty comparison of several popular ISAs, I compiled a simple C application that calculates primes using the Sieve of Eratosthenes using the following command: gcc -O2 -c -o prime.o prime.c Then, I compared the output binaries just on memory size using the ELF size Read more…

Free ISA

While work has been under way on our new processor core, which shall remain multi-threaded using interleaved multi-threading in hardware, we have been searching for a free ISA to use as the base instruction set. Our previous microprocessor was based on the Microblaze instruction set (ISA). While there is nothing Read more…

1-Minute Kernel Build

Well, there is a first time for everything. In my many years of dabbling with Linux, this is the first time I had experience a 1-minute kernel build. I achieved it by using a compilation cluster using distcc. As the image shows, nearly the entire kernel compilation was distributed over Read more…

Increasing LTSP Framerate

Given that we are presently using an LTSP setup in our office, we could continue to use our old desktops as terminals while investing in better shared server hardware. While most of the desktop terminals were running fine, capable of full-HD playback, one machine was unable to do so. This Read more…