[{"content":"Hello internet! Welcome to my website. My name is Angelos T. Dimoglis, I am an undergraduate student in the Computer Science Department at the University of Crete (graduating soon). I\u0026rsquo;m a builder at heart, with a strong focus on software engineering, DevOps and cloud infrastructure.\nIn my free time, you can usually find me tweaking my personal linux setup, building a Kubernetes home lab to self-host applications and services that that give me full control over my data and a sandbox for new technologies. When it\u0026rsquo;s time to step away from the terminal, I like to recharge by reading up on modern European history or playing a few games of 8-ball pool.\nIf you want to connect with me visit the contact page.\n","date":"6 Oct 2026","externalUrl":null,"permalink":"/","section":"","summary":"","title":"","type":"page"},{"content":"","date":"6 Oct 2026","externalUrl":null,"permalink":"/blog/","section":"Blog","summary":"","title":"Blog","type":"blog"},{"content":" Defining The Problem # The importance of data in our century is stated all the time but people have not yet realised it. Our data is in danger of being erased. If your work was deleted, the only way to get it back would be to do it all over again. The same applies for your software configuration and the software installed in the machine. You would have to install the software and write the configs again from scratch.\nWhat can cause such disaster you ask? I can state some of the causes (not being 100% exhaustive). (disaster being an event that leads to a catastrophic failure and even data loss)\nTheft: someone steals your computer just to sell the hardware. You may get another machine but you still loose your data. Natural disasters: fires, floods, earthquakes etc. Your computer may be destroyed in the event of one. Hardware faults: your disk/SSD breaks. Hard disks are mechanical devices which means they have moving parts and that leads to wear and tear given enough time (the hard disk is the most failure-prone part of your computer). SSDs on the other hand may not be mechanical but they still wear out by the nature of their construction which is the reason they are not used for long-term, reliable data storage. Software faults: some idiot programmer or vibe coder pushed a bug (I won\u0026rsquo;t even go into the details of what kind of bug), they did not test the code and it lead to catastrophic failure. This is not as frequent in professionally developed software because QA systems and CI/CD pipelines detect such cases but it\u0026rsquo;s still possible. (Kevin Fang is a channel that has examples of outages/failures etc) Your fault: its your fault! You deleted it! That case might be the most common. The user may delete stuff by accident. Culprits include: running a command (or an option/flag of a command) that is not understood, miss-typing an option, target file etc, accidental overwrites, removing an external drive or USB stick\u0026hellip; I could go on. In conclusion, the need to make your system \u0026ldquo;disaster-tolerant\u0026rdquo; is mandatory, it\u0026rsquo;s not a \u0026ldquo;nice to have\u0026rdquo; feature for hackers and techies.\nWe will achieve this \u0026ldquo;disaster-tolerant\u0026rdquo; system by leveraging redundancy and basic, \u0026ldquo;primitive\u0026rdquo; CLI tools.\nNote Redundancy means having extra copies or spare components beyond the minimum needed, so that if one fails, another can take over and the system keeps working.\n(A nice byproduct of this is easier system migration, having your system in a new machine in under 10 minutes is a great convenience)\n3+1 System Layers # We will divide the system into some layers, one sitting above the other.\nLayer Number Layer Name 3 User Data 2 Configurations 1 User Software 0 Operating System Layer 0 (Operating system) # As expected a new machine requires an operating system, so we have to install one. Unfortunately to reproduce this layer you would need to go through the installation process.\nLayer 1 (User Software / User Space) # In this layer lives every user space program that you use (browser, text editor, file manager, CLI tools, etc). To reproduce this layer you would need a post-install script containing all the names of the wanted packages. By running this script all of those packages will be installed on the system. A bash script will do but people use a lot of other tools like chezmoi, Ansible or even NixOS which is a little overkill for the scope of this article.\nLayer 2 (Configurations) # In this layer belongs every configuration file of the aforementioned installed software. In Linux those configs are hidden in the home directory, they are also called dotfiles because the system treats files that start with a dot as hidden. I won\u0026rsquo;t go into much detail in regards to dotfiles management, you can find countless tutorials online. What I recommend and use is just a GitHub (GitLab, Bitbucket, Codeberg) repo and GNU stow. What stow does is to generate all the links from the repo directory to home and/or .config so the programs can read and use them. To reproduce this layer you would just need to clone the dotfiles repo and then run stow to generate the links.\nLayer 3 (User Data) # In this layer belongs all the data you have. They may include documents, pictures, password databases, ssh keys, anything that you consider sensitive information. You need to copy, package-archive and store them in another machine, ideally in a remote location. This is called a backup and for your convenience it should be automated. People usually use one of the countless graphical backup tools but what I recommend is rsync+cron. The destination of the backup may be an external drive, a home server or cloud storage. To reproduce this layer you would just get the latest backup from the storage medium. (backups probably deserve their own article)\nAcknowledgements # The scope of this article was to build a disaster-tolerant system using just primitive CLI tools (bash, git, stow, rsync, cron). I am aware that other components of the system (for example systemd services) are not reproduced.\n","date":"6 Oct 2026","externalUrl":null,"permalink":"/blog/system_reproducibility/","section":"Blog","summary":"","title":"System reproducibility (a primitive design)","type":"blog"},{"content":"Greetings, welcome to my website! You probably wonder why I made this website so I will try to explain as shortly as I can.\nSocial media # The initial motivation of my choice to make my own website was social media. Social media in the beginning was a place on the web that you went to for a limited amount of time to chat with other people and/or see posts. In short it was a social web, meant for communication and exchange of ideas. That lasted from the late 90s to 2015-16 when mobile phones overtook the desktop pc. That change alone caused massive change to personal computing, the internet and society itself. At that time and onwards more more and more people would own a smartphone which meant that everyone started participating on the internet, it wasn\u0026rsquo;t just computer scientists and young adults anymore. With people came their attention and attention means money to marketers. Ads pre-existed but the methods used to promote them were primitive compared to what we have today. The (recommendation) algorithm now reigns and it\u0026rsquo;s goal is to keep you watching as long as possible so you can watch ads. What I experience today is that these algorithms are exactly calibrated to serve you just enough interesting content and then recommend spam just so you keep searching. And so the internet got stale and full of material without any meaningful reason of existence.\nDigital sovereignty and the indie web # In reaction to the enlargement of social media emerged movements like the Indie Web and Web Revival. The goal of these movements is to bring back the old web (or part of it). In the early days of the web, people made their own personal websites having full control over what is displayed but the website had to be handmade. The entire point of indie web is to gain back control over your digital life and move away from the centralized web.\n","date":"19 Sep 2026","externalUrl":null,"permalink":"/blog/why_i_made_this_website/","section":"Blog","summary":"","title":"Why I made this website","type":"blog"},{"content":" guestbook # ","externalUrl":null,"permalink":"/guestbook/","section":"","summary":"","title":"","type":"page"},{"content":"","externalUrl":null,"permalink":"/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":" If you want to chat about programming, hardware, Linux, security, privacy and many more related topics, we have discord server that aspires to build a community of like-minded people. We focus on sharing and discussing media (blog-posts, articles, videos, memes, etc) as well as sharing software that is mutually beneficial. If you wish to join click here.\n","externalUrl":null,"permalink":"/matrix_server/","section":"","summary":"","title":"Community","type":"page"},{"content":" E-Mail GitHub LinkedIn E-Mail Guidelines # To keep communication efficient, please review these requirements before writing. Emails that don\u0026rsquo;t meet them will be deleted without a reply.\nClear Subject: Use a direct and specific subject line. Vague subjects like \u0026ldquo;Quick question\u0026rdquo; or \u0026ldquo;Hi\u0026rdquo; are automatically filtered. Keep It Concise: State your purpose, context, and expected outcome in 150 words or fewer. No Advertisement: Cold sales pitches, SEO service offers and automated outreach will not receive a response. Sign your email: Include your name (and affiliation, if relevant) so I know who I\u0026rsquo;m talking to. Proofread before sending: Check for clarity and typos, I won\u0026rsquo;t chase down what you meant to say. One email per topic: Don\u0026rsquo;t follow up with a second message before I\u0026rsquo;ve replied, I will see the first one. Note On Other Mediums: Other forms of communication, for example phone number, instant messaging and social media are not listed here for privacy, security and to prevent unnecessary spam.\n","externalUrl":null,"permalink":"/contact/","section":"","summary":"","title":"Contact","type":"page"},{"content":"Book recommendations are welcome via email. Use the subject \u0026ldquo;book recommendation\u0026rdquo; and read my email guidelines.\n2026 # Title Author(s) Release Date Deep Work Cal Newport 2016 The Nordic Model Mary Hilson 2008 Ιωάννης Καποδίστριας Ελένη Κούκκου 2025 Diplomacy Henry Kissinger 1994 Distributed Systems (4th ed) Van Steen and Tanenbaum 2025 ","externalUrl":null,"permalink":"/library/","section":"","summary":"","title":"Library","type":"page"},{"content":"","externalUrl":null,"permalink":"/series/","section":"Series","summary":"","title":"Series","type":"series"},{"content":"","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"}]