~humaid/humaidq.ae

2560d86727d09f70be826012867c8eccd23ba228 — Humaid AlQassimi 2 months ago 72fa2d3
Integrate images with opengraph, and more opengraph attrs...

Added missing image for CollabDown.
Also bring back sfeed.
M config.toml => config.toml +2 -1
@@ 9,7 9,8 @@ disableHugoGeneratorInject = true
enableGitInfo = true
[Params]
	name = "Humaid AlQassimi"
	images = ["img/me-2020.jpg"]
	image = "avatar.webp"
	imagealt = "A picture of Humaid smiling, not while looking at the camera. Possibly in a discussion with people off-screen."
[minify]
	minifyOutput = true


M content/blog/barista-express.md => content/blog/barista-express.md +3 -1
@@ 1,12 1,14 @@
---
title: "Breville the Barista Express: After four years"
date: 2020-07-24
image: /blog/barista-express/machine.jpeg
imagealt: "A picture of the Barista Express, with a knock box on the right"
aliases:
  - /blog/barista-express/
url: "/barista"
---

![A picture of the Barista Express, with a knock box on the right](/blog/barista-express/machine.jpeg)
{{< image >}}

The Barista Express by Breville is my first (and current) espresso machine. It
is wonderful as it has a built-in grinder, and includes most of the tools and

M content/blog/gopher.md => content/blog/gopher.md +3 -2
@@ 1,6 1,8 @@
---
title: "My Gopher Site"
date: 2019-11-06
image: /blog/gopher/gopher.png
imagealt: "A screenshot of my Gopher page, showing the same description of my main HTTPS website, loaded on the lynx browser"
url: /gopher
aliases:
  - "/blog/gopher"


@@ 11,8 13,7 @@ A Gopher version of my website is available! You can access it by visiting
alternatively, view the site with [Floodgap](https://gopher.floodgap.com/gopher/gw?humaidq.ae)
on a modern browser. This is how it looks with lynx:

![A screenshot of my Gopher page, showing the same description of my main
HTTPS website, loaded on the lynx browser](/blog/gopher/gopher.png)
{{< image >}}

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.

M content/blog/kudu-two-year.md => content/blog/kudu-two-year.md +4 -3
@@ 2,6 2,8 @@
title: "System76 Kudu4: After two years"
date: 2019-11-16
url: /kudu
image: /blog/kudu-two-year/artifacts.jpg
imagealt: "A picture of my laptop screen, showing random horizontal artifacts across different sections of the screen, with different colours"
aliases:
  - "/blog/kudu-two-year"
---


@@ 27,8 29,7 @@ close the lid and open it again. At first I thought it was an issue with my
system, but it soon started to get worse. Random artifacts started to appear on
the screen as I used it, and it started to occur more often over time.

![A picture of my laptop screen, showing random horizontal artifacts across
different sections of the screen, with different colours](artifacts.jpg)
{{< image >}}

This would get worse as I use my laptop often as I go to my different lectures,
opening and closing my laptop lid while I take my laptop out of my backpack.


@@ 45,7 46,7 @@ up. The cable eventually arrived, and I got it replaced. But getting the cable
to go through the hinges was one of the most difficult thing I have done (maybe
I'm doing it wrong?). Here's a picture of the old cable:

![A picture of the old LCD cable, which looks slightly crooked](old-cable.jpg)  
![A picture of the old LCD cable, which looks slightly crooked](/blog/kudu-two-year/old-cable.jpg)  

----


M content/blog/own-distro-p1.md => content/blog/own-distro-p1.md +6 -2
@@ 2,6 2,8 @@
title: "Creating an Ubuntu-based distribution"
date: 2020-05-01
url: /own-distro
image: /blog/own-distro-p1/desktop.png
imagealt: "Screenshot of our custom distribution desktop with the hello.txt file open"
aliases:
  - "/blog/own-distro-p1"
  - "/own-distro-p1"


@@ 203,9 205,11 @@ We can now try to build again, and try to boot it using `qemu`.
# sh ./build.sh
...
$ qemu-system-x86_64 -m 2G -cdrom pinguOS-<date>.iso
```
```  

<br>

![Screenshot of the desktop with the hello.txt file open](/blog/own-distro-p1/desktop.png)
{{< image >}}

Violà!


M content/blog/public-feed.md => content/blog/public-feed.md +6 -4
@@ 2,6 2,8 @@
title: "My Public News Feed"
date: 2020-07-12
url: /public-feed
image: /blog/public-feed/sfeed.png
imagealt: "A screenshot of the sfeed page, showing a list of blog posts from different blogs that I follow"
aliases:
  - "/blog/public-feed"
---


@@ 17,10 19,10 @@ Club](https://lists.sr.ht/~sircmpwn/free-writers-club/%3C20191215210525.GA40863%
but I lost my configuration (or had misplaced it).

Now sfeed is configured on this website's project and it is hosted on
[/sfeed.html](/sfeed.html), so not only I could view my feed on any device, but
I could share it with friends.
[/sfeed.html](/sfeed.html), so not only I could view my feed on any device,
but I could share it with friends.

![A screenshot of the sfeed page](/blog/public-feed/sfeed.png)
{{< image >}}

With [Tridactyl], I could use vim-like shortcuts on Firefox when loading the
page, so that is convenient.


@@ 33,4 35,4 @@ challenge.*
[openring]: https://git.sr.ht/~sircmpwn/openring
[Tridactyl]: https://github.com/tridactyl/tridactyl
[sfeed]: https://codemadness.org/git/sfeed/file/README.html
[sfeedrc]: https://git.sr.ht/~humaid/humaidq.ae/tree/master/sfeedrc
[sfeedrc]: https://git.sr.ht/~humaid/humaidq.ae/tree/94bb33b8bbdcc52e156b9e995516e95aedc138b7/sfeedrc

M content/blog/qnap.md => content/blog/qnap.md +4 -1
@@ 2,11 2,14 @@
title: "Installing FreeNAS on my QNAP TS-459"
date: 2020-06-15
url: /qnap
image: /blog/qnap/qnap.jpg
imagealt: "A picture of a white desk-top NAS (QNAP TS-459) on top of a wooden desk"
imagewidth: 480
aliases:
  - "/blog/qnap"
---

<img src="/blog/qnap/qnap.jpg" alt="A picture of the QNAP on a wooden desk" width="480" />
{{< image >}}

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

M content/projects/4DG.md => content/projects/4DG.md +4 -2
@@ 8,8 8,9 @@ Language: Go
date: 2018-05-16
GoDoc: true
HasBuilds: true
Screenshot: "4DG.webp"
Description: "A 4D movie scripting program which runs on a Raspberry Pi using GPIO."
Image: /projects/screenshots/4DG.webp
ImageAlt: "A screenshot of 4DG control panel"
Usability: 1
url: /4dg
aliases:


@@ 17,7 18,8 @@ aliases:
---

### 1. Purpose
![A picture of 4DG control panel](/projects/screenshots/4DG.webp)

{{< image >}}

**Note:** Some work is needed to be done before this project is usable.


M content/projects/JukeboxHopperMod.md => content/projects/JukeboxHopperMod.md +4 -2
@@ 6,10 6,11 @@ section: "Games"
License: BSD-2-Clause
Language: Java
date: 2022-05-15
Screenshot: "JukeboxHopperMod.webp"
Description: "A simple Minecraft mod which allows you to use hoppers to insert records into jukeboxes."
Usability: 4
LatestVersion: "v2.0.0"
Image: /projects/screenshots/JukeboxHopperMod.webp
ImageAlt: "Picture of a hopper on top of a jukebox in Minecraft"
site: https://modrinth.com/mod/jukeboxhopper
url: "/jb"
aliases:


@@ 17,7 18,8 @@ aliases:
---

### 1. Description
<img src="/projects/screenshots/JukeboxHopperMod.webp" alt="Picture of a hopper on top of a jukebox in Minecraft" width="600" height="400" />

{{< image >}}

This is a simple Minecraft mod which allows players to use
a hopper to insert a record into a Jukebox.  

M content/projects/WhatsMorse.md => content/projects/WhatsMorse.md +4 -2
@@ 9,8 9,9 @@ date: 2018-01-06
site: https://morse.hmksq.ae
GoDoc: true
HasBuilds: true
Screenshot: "WhatsMorse.webp"
Description: "A morse code web messaging application written in a two-hour hackaton."
Image: /projects/screenshots/WhatsMorse.webp
ImageAlt: "A screenshot of WhatsMorse page, showing a telegraph line ID and part of the transmittor form"
Usability: 4
url: /morse
aliases:


@@ 18,7 19,8 @@ aliases:
  - /projects/whatsmorse
---
### 1. Description
![Screenshot of WhatsMorse page](/projects/screenshots/WhatsMorse.webp)

{{< image >}}

WhatsMorse is a web messaging application which translates all your messages to morse code written in a two hour ["Stupid" Hackathon by Transcend](https://www.meetup.com/transcenddubai/events/245505285/) in January of 2018.
The goal of the hackathon was to create something useless (can be anything, not limited to computer software).  

M content/projects/collabdown.md => content/projects/collabdown.md +4 -0
@@ 8,6 8,8 @@ language: JavaScript
license: BSD-2-Clause
LatestVersion: "v1.2.2"
Description: "Browser extension which allows downloading and speeding up Bb Collaborate recordings."
Image: /projects/screenshots/collabdown.png
ImageAlt: "A screenshot of the side panel opened on Bb Collaborate's website, with the download recording list shown as added by CollabDown addon."
Usability: 4
url: /collabdown
aliases:


@@ 16,6 18,8 @@ aliases:

### 1. Description

{{< image >}}

CollabDown allows users to download recordings from Bb Collaborate (Ultra) by
adding a Download Recording item on the side menu.


M content/projects/hplayer.md => content/projects/hplayer.md +4 -7
@@ 6,18 6,15 @@ License: BSD-2-Clause
Language: bash
date: 2020-11-29
Description: "Humaid's Mod Player (FFplay backend) written in Bash"
Image: "/projects/screenshots/hplayer.webp"
ImageAlt: "Screenshot of a terminal running with the hplayer script running. The first line output from the program is the name of the program in green text, which is Humaid's Mod Player, the second line says Press h for help in grey text. The third line shows the music that is started to play in yellow text, stating Playing ./droid.mod. Then there is a help menu listing. Final line shows a PAUSED text."
Usability: 4
Screenshot: "hplayer.webp"
url: "/hplayer"
---

### 1. Description
![Screenshot of a terminal running with the hplayer script running. The first
line output from the program is the name of the program in green text, which is
"Humaid's Mod Player", the second line says "Press 'h' for help" in grey
text. The third line shows the music that is started to play in yellow
text, stating "Playing ./droid.mod". Then there is a help menu listing. Final
line shows a "PAUSED" text.](/projects/screenshots/hplayer.webp)

{{< image >}}

This is a simple mod player manager, which uses FFplay in the backend. It simply
shuffles the mod music files in the directory and plays them.

M content/projects/iglu.md => content/projects/iglu.md +3 -4
@@ 4,6 4,8 @@ section: "Others"
date: 2020-04-23
site: https://nacdlow.com
Description: "A smart home system of the future (group project)."
Image: /projects/iglu/eink.jpg
Imagealt: "a photograph of the iglü device, which is a 3D printed rounded box with an e-ink display, showing the URL of the system at local.nacdlow.com, the power generation as 40 kilowatts, the power consumption at 120 kilowatts, and the battery level at 57%"
Usability: 4
url: /iglü
aliases:


@@ 301,10 303,7 @@ may try `4242 4242 4242 4242` with any expiry/CVV number.

#### 2.8. E-Ink Display

![a photograph of the iglü device, which is a 3D printed rounded box with an
e-ink display, showing the URL of the system at local.nacdlow.com, the power
generation as 40 kilowatts, the power consumption at 120 kilowatts, and the
battery level at 57%](/projects/iglu/eink.jpg)
{{< image >}}

We wrote a program in Python which pulls in data from the smart home
system and displays it on the e-ink display. We used FontAwesome icons and

M content/projects/ns2-trace-go.md => content/projects/ns2-trace-go.md +4 -3
@@ 10,7 10,8 @@ GoDoc: true
HasBuilds: true
LatestVersion: v0.1
IssueTracker: true
Screenshot: "ns2-analysis.webp"
Image: /projects/screenshots/ns2-analysis.webp
ImageAlt: "Screenshot of the analysis page showing statistics of the trace file and a table of connections with buttons to view jitter"
Description: "A trace analysis web app for Network Simulator 2 (ns2) trace files"
Usability: 3
url: /ns2


@@ 18,8 19,8 @@ aliases:
  - /projects/ns2-trace-go
---
### 1. Description
![Screenshot of the analysis page showing statistics of the trace file and
a table of connections with buttons to view jitter](/projects/screenshots/ns2-analysis.webp)

{{< image >}}

This web application allows you to analyse [trace files](http://nile.wpi.edu/NS/analysis.html)
generated by [ns2](https://www.isi.edu/nsnam/ns/) (Network Simulator 2). It

M content/projects/platform.md => content/projects/platform.md +3 -1
@@ 6,6 6,8 @@ language: Go
license: AGPL-3.0
site: https://github.com/hw-cs-reps/platform
Description: "A platform for posting announcements, tickets, and complaints for students"
Image: /projects/platform/platform-dark.png
ImageAlt: "A screenshot of the platform dashboard, showing announcements and tickets on the navigation bar, and the page contains links & resources, and also list of the class representatives."
Usability: 4
url: /platform
aliases:


@@ 35,7 37,7 @@ features of the platform.

#### 1.1. The dashboard

![a screenshot of the dashboard](/projects/platform/platform-dark.png)
{{< image >}}

The dashboard has a configurable alert, and links & resources section. It also
shows all the class representatives configured on the system.

A content/projects/screenshots/collabdown.png => content/projects/screenshots/collabdown.png +0 -0
M content/projects/yabfig.md => content/projects/yabfig.md +4 -2
@@ 9,8 9,9 @@ date: 2019-03-08
GoDoc: true
LatestVersion: v0.3
HasBuilds: true
Screenshot: "yabfig.jpg"
Description: "A simple BF interpreter, debugger and linter written in Go."
Image: /projects/screenshots/yabfig.webp
ImageAlt: "An example of yabfig running a rot13 program"
Usability: 4
url: /yabfig
aliases:


@@ 18,7 19,8 @@ aliases:
---

### 1. Description
![Screenshot](../screenshots/yabfig.jpg)

{{< image >}}

yabfig is a [BF](https://en.wikipedia.org/wiki/brainfuck) 
interpreter written in Go. It has also been extended to lint

M layouts/_default/list.html => layouts/_default/list.html +2 -2
@@ 7,8 7,8 @@
</ul>{{ end }}
{{if .IsHome}}
<h2>Links</h2>
  <img src="/avatar.webp" class="me" width="100px" height="100px"
     alt="A picture of Humaid smiling, not while looking at the camera. Possibly in a discussion with people off-screen." />
  <img src="/{{$.Site.Params.Image}}" class="me" width="100px" height="100px"
     alt="{{$.Site.Params.ImageAlt}}" />
  <dl>
    <dt>Email</dt>
    <dd><a rel="me" href="mailto:public@huma.id">public@huma.id</a></dd>

M layouts/partials/header.html => layouts/partials/header.html +13 -5
@@ 1,15 1,23 @@
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  {{ $style := resources.Get "main.css"}}{{ $syntax := resources.Get "syntax.css"}}
  {{ $css := slice $style $syntax | resources.Concat "bundle.css" | resources.Minify }}
  <link rel="stylesheet" href="{{ $css.Permalink }}">
  <link rel="stylesheet" href="{{ $css.Permalink }}" />
  <title>{{if .Title}}{{ .Title }} - {{end}}Humaid AlQassimi</title>
  <meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}">
  <meta property="og:image" content="{{.Site.BaseURL}}avatar.webp">
  <link rel="icon" type="image/xicon" href="/favicon.ico">
  {{ if .Params.Image }}
  <meta property="og:image" content="{{.Site.BaseURL}}{{.Params.Image}}" />
  <meta property="og:image:alt" content="{{.Params.ImageAlt}}" />
  {{else}}
  <meta property="og:image" content="{{.Site.BaseURL}}{{.Site.Params.Image}}" />
  <meta property="og:image:alt" content="{{.Site.Params.ImageAlt}}" />
  {{end}}
  <link rel="icon" type="image/xicon" href="/favicon.ico" />
  <meta property="og:url" content="{{ .Permalink }}" />
  <meta property="og:site_name" content="Humaid AlQassimi's Personal Website" />
</head>
<header>
  <h1 class="title">Humaid AlQassimi</h1>

A layouts/shortcodes/image.html => layouts/shortcodes/image.html +2 -0
@@ 0,0 1,2 @@
<image src="{{$.Page.Params.Image}}" alt="{{$.Page.Params.ImageAlt}}"
       {{ with $.Page.Params.ImageWidth}}width="{{.}}"{{end}} />

A sfeedrc => sfeedrc +27 -0
@@ 0,0 1,27 @@
sfeedpath="./feeds"

feeds() {
	feed "Drew DeVault's blog" "https://drewdevault.com/blog/index.xml"
	feed "research!rsc" "https://research.swtch.com/feed.atom"
	feed "paritybit.ca (Jake Bauer)" "https://www.paritybit.ca/feed.xml"
	feed "arp242 (Martin Tournoij)" "https://www.arp242.net/feed.xml"
	feed "Akilan Selvacoumar's blog" "https://akilan.io/technicalposts/index.xml"
	feed "Omar Ali's blog" "https://omarali.me/?feed=rss2"
	feed "Kev Quirk's blog" "https://kevq.uk/"
	feed "Derek Sivers" "https://sive.rs/en.atom"
	feed "joshua stein" "https://jcs.org/rss"
	feed "The Go Programming Language Blog" "https://go.dev/blog/feed.atom"
	feed "Christine Dodrill's blog" "https://christine.website/blog.rss"
	feed "Caleb Doxsey's blog" "https://www.doxsey.net/blog/feed.xml"
	feed "SourceHut blog" "https://sourcehut.org/blog/index.xml"
	feed "tonsky.me (Nikita)" "https://tonsky.me/blog/atom.xml"
	feed "tedu's flak" "https://flak.tedunangst.com/rss"
	feed "Posts on secluded.site" "https://secluded.site/posts/index.xml"
	feed "jlelse's Blog" "https://jlelse.blog/posts/index.xml"
	feed "Ctrl blog" "https://feed.ctrl.blog/latest.atom"
	feed "Gokberk Yaltirakli's blog" "https://www.gkbrk.com/feed.xml"
	feed "Nora's blog" "https://nora.codes/index.xml"
	feed "Hillel Wayne's blog" "https://www.hillelwayne.com/post/index.xml"
	feed "EuAndreh's blog" "https://euandre.org/feed.articles.en.atom"
	feed "Hutchie's blog" "https://hutchie.scot/blog/index.xml"
}