Run native C/C++ code in the browser using Emscripten

18 Nov 2020 0 Comments c cpp emscripten wasm webassembly wmi acpi

While working on WMIDumpper, a simple tool that analyzes ACPI WMI blocks, I had to figure out how to implement bmfdec in JavaScript. My first thought was to port it to JavaScript and put in the time and effort to rewrite ~1500 lines of C code in JS. But then a light bulb went on in my head, WebAssembly! A quick search showed that Emscripten is exactly what I need. It can compile C/C++ native code into WebAssembly and run it on the web. Read more...

Leave a Comment

Dynamic DNS using DDclient

16 Feb 2019 0 Comments linux dns

DDclient is a service used to update dynamic DNS entries on many services. It is useful if you need a DDNS client that can work with pretty much any DNS service. Most distributions provide DDclient in their official repositories. It is available on Debian-based systems, Fedora, Archlinux, and many more. Read more...

Leave a Comment

Writing a Chip-8 emulator

17 Sep 2018 0 Comments cpp sdl2 chip8 emulation

If you ever played retro games on modern computers, then you probably know what an emulator is. Chip-8 is an interpreted programming language that was created originally by Joseph Weisbecker. Chip-8 programs get interpreted by a virtual machine. It offers a very simple monochrome graphics and uses a 4Kb of memory. It has the “8” part because all the system’s components, like CPU registers, have a size of 8 bits or 1 byte. Read more...

Leave a Comment

Arch Linux on Matebook X Pro

23 Jul 2018 0 Comments linux huawei archlinux

Recently, I got a new laptop, Huawei Matebook X Pro. It has an i7 8th Gen. Intel CPU, 16Gib of RAM, 512Gib of SSD storage, Nvidia MX150 GPU with 2Gib of DRAM, and a beautiful HiDPI and touchscreen. It also comes with a fingerprint sensor. The first thing I did was installing Arch Linux, because well I am a Linux user! In the end, everything was working properly except: Read more...

Leave a Comment

Suspend then hibernate in systemd 239

18 Jul 2018 0 Comments linux systemd

In systemd 239, they have added a new service that handles suspending then hibernating after a given amount of time. This is easier than using external scripts since it comes built-in with this version of systemd. You can check systemd version with systemctl --version. Read more...

Leave a Comment