Fixing “cURL error 60”

We have a number of sites that use webhooks, which were having trouble connecting to our back-end services. This problem only occurred recently as everything was working in the past. Searching for the specific error message, “cURL error 60: SSL certificate problem: unable to get local issuer certificate” gave a Read more…

GoAccess

I have discovered this useful tool for web-server log analysis – GoAccess. It is a pretty nifty tool and shows various information collated from a typical NCSA log file produced by most web-servers. This tool came in handy recently, particularly when trouble-shooting specific customer complaints about a service that we Read more…

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…