+ +

+

+ I'm Jacob Walchuk, a final-year philosophy student at the University of St Andrews. Right now, this site contains some basic information about me and links to past technical projects.

+

Contact

+
+

Curriculum Vitae

+ +

Projects

+
    +
  • I wrote a YAML Parser in VBA to generate my CV from a YAML source, and updated the VBASync C# application, which detaches VBA from its associated document for version control, so that it could be compiled on modern systems.
  • +
  • Wrote a book tracker in node.js, which pulled together the SQLite databases of org-roam and Zotero and generated a static "app" which showed progress and notes. I am not actively using it to track readings anymore, although it might be revived someday. Neither Zotero or org-roam document their schemas well, so I had to reverse-engineer them!
  • +
  • Wrote a combination URL shortener and pastebin in Rust + tokio which included its own very basic templating engine. +
  • Wrote a basic wireframe 3D renderer in Java, which includes a linalg library.
  • +
+

Homelab

+ I currently run a homelab with the following specs, which hosts various selfhosted services at bql.7800.io. + + +
+
+
+         -/oyddmdhs+:.
+     -odNMMMMMMMMNNmhy+-`
+   -yNMMMMMMMMMMMNNNmmdhy+-
+ `omMMMMMMMMMMMMNmdmmmmddhhy/`
+ omMMMMMMMMMMMNhhyyyohmdddhhhdo`
+.ydMMMMMMMMMMdhs++so/smdddhhhhdm+`
+ oyhdmNMMMMMMMNdyooydmddddhhhhyhNd.
+  :oyhhdNNMMMMMMMNNNmmdddhhhhhyymMh
+    .:+sydNMMMMMNNNmmmdddhhhhhhmMmy
+       /mMMMMMMNNNmmmdddhhhhhmMNhs:
+    `oNMMMMMMMNNNmmmddddhhdmMNhs+`
+  `sNMMMMMMMMNNNmmmdddddmNMmhs/.
+ /NMMMMMMMMNNNNmmmdddmNMNdso:`
++MMMMMMMNNNNNmmmmdmNMNdso/-
+yMMNNNNNNNmmmmmNNMmhs+/-`
+/hMMNNNNNNNNMNdhs++/-`
+`/ohdmmddhys+++/:.`
+  `-//////:--.
+      
+
+
+
+yaqub@bql 
+--------- 
+OS: Gentoo Linux aarch64 
+Host: HUAWEI QingYun W515x-B056 W515x 
+Kernel: 5.10.97-arm64-desktop-custom
+Packages: 1 (dpkg), 1037 (emerge) 
+Shell: bash 5.2.37 
+Resolution: 2560x1440 
+Terminal: /dev/pts/1 
+CPU: ARM Cortex-A510 (12) @ 1.530GHz 
+Memory: 15248MiB 
+
+                        
+                        
+
+ +
+
+ You may notice that the kernel version is quite out-of-date. This is because the SoC that my server uses (the Kirin 9000c) does not have kernel source available for it. + + In order to run an unsupported distribution, I had to debug anomalous behaviour at the kernel level, gained insight into how Huawei used proprietary linux security modules for security on their enterprise offerings, and communicated with kernel devs in Mandarin to obtain a custom-compiled kernel that did not contain Huawei's security features. Hopefully, I'll write a blog post about this in the future. +