Humaid AlQassimi

Blog (rss)

This is my blog, where I post my experiments, tutorials, experiences, and rants. On the bottom of the pages, you’ll see my webring, which links to other blogs I follow.

4 Jul 2020 Reliable Plugins in Go

When working on our university group project on a smart home system, I had an idea to support a marketplace, something similar to Firefox’s extensions. Go supports loading plugins, which are shared libraries which are dynamically loaded. At first this was fine, but we quickly faced issues with reliability, such as: When a plugin panics, the host process crashes. When a plugin is loaded, it cannot be unloaded/reloaded. Plugins may interfere or conflict with libraries.

4 Jul 2020 Void Linux on the Lenovo ThinkPad T590

For almost two years, I had been using the System76 Kudu laptop. It was huge (17”) and clunky for a university laptop, but I appreciated how you could just install and run most Linux distributions with no hardware compatibility issues. This gave me freedom to install any distribution without worrying much about driver support. I switched away from the laptop, for reasons I explained on my blog post about the System76 Kudu.

16 Jun 2020 Setting up a Yubikey on Void Linux

I recently got a Yubikey, which is a hardware authentication device. It has multiple functions, the Yubikey 4 has two slots which you can configure. Getting the device to work on Void Linux wasn’t obvious, this is a simple guide and a future reference on how to get a Yubikey working on Void Linux. Setting up your system First you need to install dbus, eudevd, and elogind if you haven’t installed it yet.

15 Jun 2020 Installing FreeNAS on my QNAP TS-459

About four years ago I got the QNAP TS-459 as a network-attached storage (NAS) so I can store family pictures and backups of our devices. It came with QNAP QTS, which is the NAS’s user interface. I came across many issues with the responsiveness of this UI, as it tries to replicate a desktop environment with floating panes. It was slow and hard to navigate. Recently, one of the four hard drives on the RAID5 array failed, and it isn’t long until failures pile up.

14 Jun 2020 100 Posts to Offload

In the past couple of months, many bloggers started to take part in the #100DaysToOffload challenge which is started by Kev Quirk. The goal is to allow bloggers to jump-start their personal blogs by posting once per day for 100 days. Kev later changed the goal of the challenge to publishing 100 posts in a year, as that gives time to draft and refine the posts before publishing. Horst called the challenge in his blog post: “100DaysToOffload now more like 100PostsToOffload”, hence the name of this post.

1 May 2020 Creating an Ubuntu-based distribution

In this post we will cover how to build your own derivative based on any Linux distribution, but we will be using Xubuntu 20.04 in this post as an example. I’ll not cover how to make your own Linux distribution from scratch, if you want to do that check out Linux From Scratch (or tldrlfs). There are many ways to customise a Linux distribution, in this post we will only cover one way, which is by customising the live CD.

16 Nov 2019 System76 Kudu4: After two years

Two years and three months ago, I have purchased the Kudu4 laptop from System76, which is essentially a rebranded Clevo N870HZ laptop for Linux. I have enjoyed using the laptop so far, and it has gone through a lot of use and abuse, especially with my rough handling of my laptop in my backpack. The laptop stood well in the past two years in most aspects, the build quality is solid (although heavy).

6 Nov 2019 My Gopher Site

A Gopher version of my website is available! You can access it by visiting gopher:// with a browser that supports it, such as lynx. Or alternatively, view the site with Floodgap on a modern browser. This is how it looks with lynx: In the future, I may extend it to be a closer copy of my current website, and to include the blog, projects, among other things.

19 Oct 2019 Status update, October 2019

A lot has been happening the last month, we have started working on the largest group software development project at the University. We are a team of six people, and have decided to choose Go as our language of choice for the implementation of the smart home system we are building. We have spend the first couple of weeks setting up the group in GitLab and get continuous integration running (so we can have LaTeX PDF builds, and wiki site deployed automatically).

12 Aug 2019 My favourite software

This is a list of software which improved the way I used my computer, the list includes software for backing up, text editing and document processing, Linux/Unix utilities and programs, and desktop environment and applications.

8 Jan 2019 Best articles I read in 2018

I have read many great articles related to programming and Computer Science in 2018, I have gathered articles which I enjoyed most. Some of these are articles are over a decade old, but I find it essential that every programmer or computer scientist reads these articles.

23 Jul 2018 My new website & blog

Welcome to my newly designed website, which includes a Git projects page, a blog, a gallery and my contact information. The website used to run on a web server which I wrote using the Go programming language, and had a login page with GitHub authentication. But I do not have a reason anymore to have a dynamic website1, it is possible to have a website which is static and be able to host all the content I need.

Articles from blogs I follow around the net

You can also read my newsfeed.

Adding Search to my Blog

Adding Search to my Blog Written By: Jake Bauer | Posted: 2020-07-03 | Last Updated: 2020-07-03 As my collection of blog posts keeps growing, it is becoming increasingly apparent to me that I need to offer visitors some way to search through my previous pos…

via - What's New July 3, 2020

A Month-and-a-Half of Self-Hosted Email

A Month-and-a-Half of Self-Hosted Email Written By: Jake Bauer | Posted: 2020-07-02 | Last Updated: 2020-07-02 There’s been a lot of talk in my Internet neighbourhood lately about the state of email and whether it’s broken or not. I previously posted about …

via - What's New July 2, 2020

Let’s not be pedantic about “Open Source”

Another day, another “it’s not true open source, you’re not allowed to call it that!” thread on Hacker News.[1] This seems to pop up every few weeks or so and today I’m sufficiently peeved by it to write something about it. Here’s the thing: I don’t think yo…

via July 3, 2020

General-purpose OS, special-purpose OS, and now: vendor-purpose OS

There have, historically, been two kinds of operating systems: general-purpose, and special-purpose. These roles are defined by the function they serve for the user. Examples of general-purpose operating systems include Unix (Linux, BSD, etc), Solaris, Haiku…

via Drew DeVault's Blog June 26, 2020

Generated by openring