<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Stepan Usatiuk</title><link>https://www.usatiuk.com/</link><description>Recent content on Stepan Usatiuk</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 30 Jan 2026 21:33:17 +0100</lastBuildDate><atom:link href="https://www.usatiuk.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Peer-to-peer synchronized streaming filesystem</title><link>https://www.usatiuk.com/2025/05/15/peer-to-peer-synchronized-streaming-filesystem/</link><pubDate>Thu, 15 May 2025 00:00:00 +0200</pubDate><guid>https://www.usatiuk.com/2025/05/15/peer-to-peer-synchronized-streaming-filesystem/</guid><description>&lt;p&gt;My bachelor’s thesis, recipient of the Dean’s Award for outstanding final thesis: think Google Drive File Stream and Syncthing merged together.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;✅ Peer-to-peer, local-first&lt;/li&gt;&#10;&lt;li&gt;✅ On-demand streaming of parts of files&lt;/li&gt;&#10;&lt;li&gt;✅ Open source, cross-platform&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;a href="http://hdl.handle.net/10467/123277"&gt;CTU Digital Library (persistent link)&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/usatiuk/dhfs"&gt;Code on GitHub&lt;/a&gt;&lt;/p&gt;&#10;&lt;details&gt;&#10;&lt;summary&gt;Abstract&lt;/summary&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;This thesis deals with the design, development, and testing of a peer-to-peer streaming filesystem. Analysis of existing file synchronization solution shows that none of them have these two properties: working in a peer-to-peer manner and being able to stream files. Then, possible algorithms for file synchronization are discussed, and the algorithm to be used is selected and modified to fit specific needs of the filesystem. The software architecture of the solution then is designed, focusing on modularity and extensibility, and the design is implemented. The solution is then tested, with emphasis on keeping the user’s data safe under all conditions.&lt;/p&gt;</description></item><item><title>Code generation and modification using Quarkus extensions</title><link>https://www.usatiuk.com/2025/01/23/code-generation-and-modification-using-quarkus-extensions/</link><pubDate>Thu, 23 Jan 2025 17:36:49 +0100</pubDate><guid>https://www.usatiuk.com/2025/01/23/code-generation-and-modification-using-quarkus-extensions/</guid><description>&lt;p&gt;Often, when I hear people discussing what programming language is the “best” or what to choose for their brand-new backend, Java comes up as an obvious candidate. Yet I also often hear it described as “too complicated”, “bloated”, and “too magical”. But is that really fair? With a little bit of “magic”, some of your work can be much simplified — that’s the whole point! Have you ever wondered if you could use some of this magic yourself? Well, I think it’s probably easier than you think!&lt;/p&gt;</description></item><item><title>Hello world!</title><link>https://www.usatiuk.com/2024/11/15/hello-world/</link><pubDate>Fri, 15 Nov 2024 18:12:42 +0100</pubDate><guid>https://www.usatiuk.com/2024/11/15/hello-world/</guid><description>&lt;p&gt;Nothing to see here, yet!&lt;/p&gt;</description></item></channel></rss>