If you’re reading this, you’ve probably used a terminal emulator before. But have you ever wondered how this modern—yet archaic—tool came to be? In this post, we’ll explore the history of terminal emulators, from the earliest typewriters and teleprinters to modern video terminals and the terminal emulators of today. Let’s go! # Early Terminals and Typewriters
Soft Serve is a self-hostable Git server for the command-line. It supports Git over HTTP(s), SSH, and the Git Protocol . Soft Serve also comes with a simple straight-forward user management interface for teams. In this post, we will go through how to set up your Soft Serve instance. This includes setting up SSH access, HTTPS using Certbot , and how to manage your Soft Serve instance. #…
Recently I switched back to using Neovim after being a VSCode user for a while. One of the things I miss in VSCode is the session management that comes bundled in. My brain became wired to doing things like code <projectDir> to open the editor with all files loaded just like the way I left them. Luckily in Vim, you can use :mksession to create sessions. # The Problem Just like VSCode, I want…
Lately, I started using Notion for note-taking, to-do lists, and now for writing blog posts. Notion makes it simple to combine all those activities in a unified pretty interface. Using Jekyll, Github Pages, and Github Actions, I was able to import my Notion Blog database posts into Jekyll using a Github workflow that runs twice a day. # What is a Notion Database? Notion databases are smart tables…
Everyone knows the Nyan Cat meme that started in 2011. The meme started from a YouTube video that merged a Japanese pop song with an animated cartoon cat. Then a Telnet Nyan Cat server was created by klange/nyancat . And now, in 2022, after 11 years of nyaning, it got ported to SSH! Try it out here ssh dir.charm.sh -p2226 # The Why Well, to put it simply, why not port it to SSH! SSH is safer and a…
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…
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. In my case, I need DDclient for my NextcloudPi server that runs on a Raspberry Pi 3B hooked up…
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…
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: Two out of four speakers.…
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 . First, you have to define the delay time before the system wakes up and go into hibernation and that should be defined in…
Obviously, everyone was born before the year 2000 knows the famous classic game ‘Minesweeper’. To me, I knew this game when I was little at the time where Windows XP was ruling everywhere. It is funny because at that time I did not know exactly how the game is played. That time the game was some kind of a luck game to me where you try to eliminate all the squares except the ones with…
For a long time I wanted to have all my calendars and todo lists synchronized with my current desktop setup. Currently, I am using XFCE software, like Thunar, with Openbox to manage everyday stuff. Yes, I know with Gnome DE you can achieve that easily, but Gnome has a HUGE package dependencies. XFCE on the other hand is very light-weight and simple. The other wonderful piece of software is…
Dropbox, in my opinion, is the best cloud service available. I wanted to have one shared dropbox folder that is accessible from all my virtual machines running on the server. I am using a ZFS drive as a storage drive, the dropbox folder is located in the ZFS drive. Dropbox service is running as a normal user, not the root, and the server is using systemd to start the service after booting the…
Jekyll is a static website builder, it assembeles and combines multiple pages to form one unified HTML page. Jekyll uses YAML language to organize the structure of the page. Markdown language, which is a text-to-HTML converter, makes webpages easy to write and adapt. Jekyll is writen in Ruby and can be installed using gem . On a Linux machine that already has Ruby installed, Jekyll can be…