Personal Projects
Below is a selection of some personal projects I have worked on
PC Building
I have built two PCs, gaining valuable skills in both hardware and software. My first PC was made with entirely brand new parts, and has the following specs:
- CPU: Ryzen 7 5700X
- Motherboard: ASRock B550M-HDV
- RAM: 32GB DDR4
- GPU: Radeon RX 9060XT
- SSD: 2TB NVMe
- PSU: 650W
- Network Card: TP-Link AX3000 Archer TX3000E
And my second PC (which I use as a server) has the following specs:
- CPU: Intel Core i5-6500T (preused)
- Motherboard: ASRock H110M-HDV (preused and came with a broken RAM channel)
- RAM: 32GB DDR4
- SSD: 500GB NVMe, attached with this expansion card
- HDD: 2 4TB SATA HDDs
- PSU: 550W (a bit too powerful for a server, but Scorptec didn't have any lower ones that were compatible with my build)
Homelab
I have gained extensive, hands-on experience in networking and as a system administrator through the countless hours I have spent architecting, deploying and upgrading my home server. The main philosophy I made it with was compartmentalisation: creating many VMs, each with a specific job, so that if one of them is compromised the rest of the system is not affected. The operating systems I used include
Proxmox
,
Ubuntu Server
and
TrueNAS
.
Websites
Besides the ones I made for work and uni, there are several other websites I have created that are currently online:
-
drmamdoohsaleh.com : A website for my dad, made using a free
WordPress theme and hosted on AWS Lightsail (although I intend to move it to my server)
-
masterspark.org
: My own website, which you are currently reading, made with
Ruby on Rails and hosted on my server
- Two reverse proxies to my
Nextcloud and
Jellyfin servers, both protected by passwords and two-factor authentication. The former gives me a self-hosted alternative to Google Drive, and the latter gives me a beautiful UI to watch my anime.
There are also several websites I am making for my relatives, which I will add here when I finish them.
Wikipedia
Because of my love of history, I have created numerous articles on
Wikipedia
related to my interests. The longest is Chalcedonian Schism, which took over two months of meticulous research. Some other ones I wrote are Demes in the Byzantine Empire, Mounted bandits, Continental rōnin, and various biographical articles, which are listed here.
The most technically impressive one is Module:Calendrical Calculations: an over 3000-line-long Lua translation of the Lisp code in Calendrical Calculations. It allows any date to be converted between various calendars, and can be seen in action at Template:Infobox calendar date today, which dynamically renders the current date in over twenty different calendars.
(Also, please don't look at my user page. It's embarrassing, although I am proud of it)Gaming
Much of the experience I have gained with software was driven by my passion as a gamer. While it is beyond the scope of this portfolio to list every gaming-related technological project I have done, I will briefly go through some of them here, which I believe demonstrate my competence in this field.
Minecraft server
A friend of mine, who has a degree in Networking and Cybersecurity, once said that the best way to learn networking (especially port forwarding and client-server architecture) is by setting up a
Minecraft
server. I have made several ones. I have also set up multiple private servers for other games, such as
Genshin Impact
.
What most people consider most impressive build is a 1:2 scale model of the Second Temple, which I created over years using both primary and secondary sources. Here is a video touring it. Of course, my world makes heavy use of commands, mods, and self-made datapacks (but not my server because that's only in survival).
Homebrewing
As an avid fan of Nintendo, Sony and Sega, I emulate, collect, and mod many of their old consoles. My collection includes the Sega Genesis, Nintendo DS, PlayStation Portable, Wii, Nintendo 3DS, PlayStation 4 and Nintendo Switch. This has given me great experience with both hardware and software, such as installing custom firware (like Homebrew), soldering, and following detailed documentation.