Icon

soki

This page is under construction :3

While the website's source code is published under the MIT License, I reserve all rights to all the content published here, like the articles in this portfolio, my projects, etc. For more information, read README.md.

What is Qubes OS?

Qubes OS is a “reasonably secure” operating system based on Fedora Linux and the Xen hypervisor. It works on the principle of isolation and compartmentalisation. You create a special virtual machine, called ‘Qube’, which exists for a single specific purpose, like for your work applications, or your personal activities. When (not if) one of the VMs becomes compromised, the rest of the system remains untouched and you can just discard the affected Qube and re-create it again from a template.

What are the pros?

Security by separation

Having a separate VM means your work and personal life never interact and there’s no way for a virus on your personal Qube to in any way see or manipulate data related to your work.

Easy recovery and app installs

Each of your Qubes has a TemplateVM, which serves as a template where you install all your applications, it is a completely air-gapped system where you manage the kernel and root directories of your machine, all the updates and installs you make propagate downstream to your individual Qubes.

Complete control

Qubes allows you to fine-tune everything, from the kernel of individual apps, the network connection, hardware allocation, to even whether your personal data persist on the system after you close the Qube. It comes with tools to route your traffic through the Tor network and create disposable VMs that forget everything after you close them.

What are the cons?

No GPU acceleration

Qubes is a very secure system, no single application or Qube has access to your GPU to prevent Qubes from snooping on the rendered pixels of other applicaitons and of the base system, called dom0. All rendering is handled by the CPU in dom0. Dom0 makes sure to render unforgeable color-coded borders that help you identify which Qube and trust-level each of the applications have.

Poor Windows support

Qubes has support for Windows, all of its features work and the core performance isn’t bad at all. However, I personally have problems with the rendering. Sometimes pixels on the screen don’t update, leading to ‘ghosting’ where you for example see a Window multiple times after you move it, or it looks like Window hasn’t opened because the pixels haven’t updated to show it. I still haven’t been able to fix this issue.

Article under construction ⚠️🐾

What is Proxmox?

Article under construction ⚠️🐾

Cisco Hardware Basics Badge

I decided it was time to add some more solid and verifiable achievements to my portfolio. Since I couldn’t find my certificate for completing the CISCO IT Essentials course from my first year anywhere, I decided to take another one that was free on CISCO. I chose the Computer Hardware Basics course because it was free, short, and didn’t require an instructor. It took me less than an evening to complete the entire course, and on my first attempt at the final test, I scored ~95% on computer hardware and about 75% on mobile device hardware, which also includes wearable devices, smartphones, tablets, laptops, and even VR and AR. On my second attempt, I scored 100%.

In the near future, I plan to add more certificates and badges from various free courses so that I have more proof of what I can really do.

You can view and verify my badge on my Credly account here (external link).

Other viewing options (external links): verification, Credly profile, CISCO course

This article was translated using DeepL (external link).

My Own Operating System in Roblox

On January 28th, out of pure boredom, I dove into an interesting project: creating a replica of a desktop environment directly in Roblox. Thanks to my experience with UI design, I had the visual part finished in no time. This inspired me to go further and begin programming a small, but pretty functional, operating system.

I added a number of features to it right away. The system now supports multiple desktops, and the time displayed on the desktop is synchronized with the time on the user’s computer. Files and executables can be placed on the desktop, programs can be launched from them, and the programs windows’ icons will appear in the taskbar. Each window can be moved, maximized to full screen and back, or hidden or deleted.

As a next challenge, I decided to implement my own internet browser. Surprisingly, it was easy to get a search function working and display the source code of a webpage to the client. However, the harder challenge was converting this text into the graphical interface of the Roblox engine. Even so, I was looking forward to this challenge and was happy to tackle it. Eventually I was able to correctly identify most important HTML elements and display them accordingly. CSS and JS wasn’t implemented and I have implemented my own layout and styling rules to make it easier to navigate in Roblox.

Linux distributions, which allow for complete personalization, have been a major inspiration for me. The same motivation drives me in the development of this system—I want to create a platform where everyone can set everything up exactly to their liking.

This article was translated from Czech.

Subnetting

I never thought I could actually learn something useful from a school assignment, but that attitude changed very recently. Thanks to a presentation for my operating systems class, I learned some fascinating information and gained valuable new skills in the world of network administration. I’d even go so far as to say that this is a much more effective way of learning specialized subjects than a typical lecture. It’s even better when you can try things out for yourself while the teacher explains them. I was already fascinated by computer networks, but now I know for sure that this is the path I want to pursue.

My subnetting skills were then expanded a year later in our computer networks class, where we learned to calculate subnets, IP addresses, subnet masks, occupancy, etc.

This article was translated from Czech.

Test Post 1

Hello, World!

Ut blanditiis deserunt voluptatem corporis. Voluptatem sed sit autem pariatur ducimus error. Voluptas et sit voluptates enim.

Dolor quia nisi qui. Quaerat explicabo officiis nam. Sint illum maiores recusandae dolores soluta sint. Tenetur est quia nostrum quia in. Dolorem sed reiciendis ipsum laboriosam et quis reiciendis voluptatem.

Dignissimos aliquid exercitationem cum nostrum. Expedita aliquid vel dolor. Enim sunt natus qui voluptatem inventore nulla.

Quas est incidunt totam. Officia asperiores et officiis excepturi. Non nihil eaque est sequi aliquam. Repellendus laborum similique eum deserunt ab. Ab delectus possimus recusandae omnis sunt repellat porro.

Dolores iusto magnam laborum reiciendis corrupti repellat. Suscipit iusto rerum ullam. Et temporibus rerum libero pariatur nam. Id accusamus aut voluptatem consequatur. Praesentium repellendus quia atque ea. Id est voluptate minima.

Portfolio Navigation