<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>xkevio&#39;s homepage</title>
    <link>/</link>
    <description>Recent content on xkevio&#39;s homepage</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 07 Jun 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Emulation, Typesetting, Ricing Linux and more...</title>
      <link>/posts/website-redesign/</link>
      <pubDate>Sat, 07 Jun 2025 00:00:00 +0000</pubDate>
      <guid>/posts/website-redesign/</guid>
      <description>&lt;p&gt;Between the last time I edited this website / blog / homepage and now, quite a few things in my life have changed &amp;ndash; my general interests however have stayed the same with a few new additions.&lt;/p&gt;&#xA;&lt;p&gt;I am still very much into developing emulators (with some downtime here and there) and even worked on a new one for the Game Boy Advance, partially also for my &lt;a href=&#34;/thesis.pdf&#34;&gt;bachelor&amp;rsquo;s thesis&lt;/a&gt;. This introduced me to a little bit of Just-in-Time compilation via &lt;a href=&#34;https://cranelift.dev&#34;&gt;cranelift&lt;/a&gt; &amp;ndash; which was both a great source of frustration but also fun and learning. The JIT part of my GBA emulator is far from finished, and I should really get back to it as I don&amp;rsquo;t know anyone who has used cranelift for emulation yet, but at the very least the general interpreter is done and many games work, even those using &lt;em&gt;Mode 7&lt;/em&gt;!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Game Boy (DMG-01) Emulation</title>
      <link>/posts/gameboy-emulation/</link>
      <pubDate>Mon, 20 Mar 2023 00:00:00 +0000</pubDate>
      <guid>/posts/gameboy-emulation/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s been a few months but my Game Boy emulator is all but finished &amp;ndash; or at least ready to be published.&#xA;Now, for people following me on GitHub it has been available the entire time but now I am at a point where&#xA;most major features are implemented, plus a few extras, and the UI is presentable!&lt;/p&gt;&#xA;&lt;p&gt;Since I wrote the entire thing in Rust with &lt;a href=&#34;https://www.egui.rs/&#34;&gt;&lt;code&gt;egui&lt;/code&gt;&lt;/a&gt; and &lt;code&gt;eframe&lt;/code&gt; as my backend, I was able to quite simply&#xA;compile it to WASM using &lt;a href=&#34;https://trunkrs.dev/&#34;&gt;Trunk&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About me</title>
      <link>/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/about/</guid>
      <description>&lt;p&gt;Hey, my name is Kevin! I quite enjoy systems programming, computer graphics and typesetting &amp;ndash; my languages of choice&#xA;are Rust, C++ and Typst. Currently, I am quite obsessed with emulation development and its exponentially growing complexity.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve developed emulators for the following systems:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/CHIP-8&#34;&gt;CHIP-8&lt;/a&gt; &amp;ndash; the &amp;ldquo;Hello, World&amp;rdquo; of emulation development.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/xkevio/kevboy&#34;&gt;Color Game Boy&lt;/a&gt; &amp;ndash; try it right &lt;a href=&#34;../gameboy&#34;&gt;here!&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/xkevio/kba&#34;&gt;Game Boy Advance&lt;/a&gt; &amp;ndash; featuring an experimental JIT with cranelift.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I plan to tackle either the Nintendo DS or PlayStation 1 next to emulate a system with 3D graphics.&#xA;From time to time, I also dabble in computer graphics as that is my&#xA;main point of study at university; or typesetting with Typst to ensure beautifully formatted papers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Résumé / CV</title>
      <link>/resume/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/resume/</guid>
      <description>&lt;h1 id=&#34;kevin-kulot&#34;&gt;Kevin Kulot&lt;/h1&gt;&#xA;&lt;p&gt;where to find me.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;📧 &lt;a href=&#34;mailto:kevinakulot@gmail.com&#34;&gt;kevinakulot​(at)gmail.com&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;&#xA;&lt;img src=&#34;/images/github-mark-white.svg&#34;  alt=&#34;GitHub icon&#34;  class=&#34;relative&#34;  style=&#34;width:1em;display:inline;&#34;    /&gt;&#xA;&#xA;&lt;a href=&#34;https://github.com/xkevio&#34;&gt;github&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;📌 magdeburg, germany&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;education&#34;&gt;Education&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;M.Sc. Computer Science (OvGU Magdeburg)&lt;/strong&gt; &lt;em&gt;&lt;span style=&#34;float:right;&#34;&gt;&lt;code&gt;April 2024 - Present&lt;/code&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;ongoing&amp;hellip;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;B.Sc. Computational Visualistics (OvGU Magdeburg)&lt;/strong&gt; &lt;em&gt;&lt;span style=&#34;float:right;&#34;&gt;&lt;code&gt;Oct 2019 - May 2024&lt;/code&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;With a special focus on computer graphics and visualization.&lt;br&gt;&#xA;Overall grade: 1.8. Thesis grade: 1.2.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;../thesis.pdf&#34;&gt;Performance Analysis of LLVM and Cranelift Codegen for Just-in-Time Compilation in Emulation.&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Abitur (equiv. A-levels)&lt;/strong&gt; &lt;em&gt;&lt;span style=&#34;float:right;&#34;&gt;&lt;code&gt;Aug 2011 - July 2019&lt;/code&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Showcase</title>
      <link>/showcase/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/showcase/</guid>
      <description>&lt;h3 id=&#34;κba-game-boy-advance-emulator&#34;&gt;κba (Game Boy Advance Emulator)&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;W.I.P. Game Boy Advance emulator, using &lt;code&gt;SDL2&lt;/code&gt; for the GUI. Runs most games reasonably well, includes experiments with JIT&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; compilation.&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/xkevio/kba&#34;&gt;&#xA;&lt;img src=&#34;/images/gba.png&#34;  alt=&#34;Pokémon Emerald running on a GBA emulator&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px&#34;    /&gt;&#xA;&#xA;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;kevboy--color-game-boy-emulator--dmg-01&#34;&gt;kevboy &amp;ndash; Color Game Boy Emulator (+ DMG-01)&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/xkevio/kevboy&#34;&gt;&#xA;&lt;img src=&#34;/images/kevboy.png&#34;  alt=&#34;Pokémon Crystal running on a GBC emulator&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px&#34;    /&gt;&#xA;&#xA;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;A Game Boy and Game Boy Color emulator written in Rust, using &lt;code&gt;egui&lt;/code&gt; for an immediate mode GUI. Runs reasonably fast and marks my first real foray into console emulation. &lt;br&gt; &lt;br&gt; &lt;a href=&#34;../gameboy&#34;&gt;&amp;raquo; Try it here! &amp;laquo;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;creasy-computational-origami-crease-patterns&#34;&gt;Creasy (Computational Origami, Crease Patterns)&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;Creasy is a software tailored to computational origami which implements an algorithm that turns flat-foldable crease patterns into folding sequences.&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/xkevio/Creasy&#34;&gt;&#xA;&lt;img src=&#34;/images/creasy.png&#34;  alt=&#34;A white C on a light blue background&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px; width: 70%&#34;    /&gt;&#xA;&#xA;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;chip8rs-chip-8-emulator&#34;&gt;chip8rs (CHIP-8 Emulator)&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/xkevio/chip-8rs&#34;&gt;&#xA;&lt;img src=&#34;/images/chip-8.png&#34;  alt=&#34;IBM logo on a CHIP-8 emulator&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px&#34;    /&gt;&#xA;&#xA;&lt;/a&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;Yet another CHIP-8 emulator, written in Rust. My humble beginnings in the &lt;code&gt;#emudev&lt;/code&gt; scene.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;cuda-raytracer&#34;&gt;CUDA-Raytracer&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;A simple ray tracer written with CUDA that saves its output in a &lt;code&gt;.ppm&lt;/code&gt; file. This was made as a final project for a GPU programming course (includes a CPU version for benchmarking).&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a href=&#34;https://github.com/xkevio/CUDA-Raytracer&#34;&gt;&#xA;&lt;img src=&#34;/images/balls.png&#34;  alt=&#34;Colorful balls&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px; width: 70%&#34;    /&gt;&#xA;&#xA;&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;By utilizing the cranelift crate and its IR.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
