<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Projects on dmitry.lol</title>
    <link>https://dmitry.lol/projects/</link>
    <description>Recent content in Projects on dmitry.lol</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-ca</language>
    <copyright>By Dmitry Narkevich; Licensed under a Creative Commons Attribution 4.0 International License</copyright>
    <atom:link href="https://dmitry.lol/projects/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Deep Fried Memes</title>
      <link>https://dmitry.lol/projects/dfm/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://dmitry.lol/projects/dfm/</guid>
      <description>All processing done client side in vanilla Javascript. JPEG compression done using canvas.
Gets over 90,000 unique visitors a month.
Live Source Traffic stats </description>
    </item>
    <item>
      <title>demotif</title>
      <link>https://dmitry.lol/projects/demotif/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://dmitry.lol/projects/demotif/</guid>
      <description>Output may be nsfw/offensive.This is because the model was trained on real demotivators from open directories, some of which seem to have come from old /b/.
~6000 demotivators were gathered, and then split into image and caption fragments using Go, which were labelled / OCR&amp;rsquo;d by Google Cloud Vision. The resulting text blocks were then used to train OpenAI&amp;rsquo;s GPT-2 language model.
GPT-2&amp;rsquo;s output then likewise consists of image labels and captions.</description>
    </item>
    <item>
      <title>discord-notify</title>
      <link>https://dmitry.lol/projects/discord-notify/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://dmitry.lol/projects/discord-notify/</guid>
      <description>Ripcord is an amazing alternative Discord client, but its notifications support is rather lacklustre, displaying them only for DMs.
Since it&amp;rsquo;s closed source shareware, I can&amp;rsquo;t go in and tweak it to my liking.
So, this daemon displays notifications in a superior way, following Discord&amp;rsquo;s own settings.
Source &amp;#43; Executables </description>
    </item>
    <item>
      <title>IsOn</title>
      <link>https://dmitry.lol/projects/ison/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://dmitry.lol/projects/ison/</guid>
      <description>Done as my final project for a Computational Morphology class. Quite limited (e.g. no strong verbs), but still handles things like double U-umlaut.
Backend is a Python + Flask app interacting with HFST to output JSON.
Live </description>
    </item>
    <item>
      <title>Kindlewick</title>
      <link>https://dmitry.lol/projects/kindlewick/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://dmitry.lol/projects/kindlewick/</guid>
      <description>I couldn&amp;rsquo;t find a Finnish ➔ English dictionary for Kindle that supported in-book definitions, so I wrote this program to generate one from Wiktionary.
Source </description>
    </item>
    <item>
      <title>Redduplicate</title>
      <link>https://dmitry.lol/projects/redduplicate/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://dmitry.lol/projects/redduplicate/</guid>
      <description>Chiefly an exercise to learn Vue.js and how to perform an OAuth flow without a dynamic backend.
Source Live </description>
    </item>
    <item>
      <title>sefr</title>
      <link>https://dmitry.lol/projects/sefr/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://dmitry.lol/projects/sefr/</guid>
      <description> Source </description>
    </item>
    <item>
      <title>WarCrumb &amp; WarCrumpet</title>
      <link>https://dmitry.lol/projects/warcrumpet/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://dmitry.lol/projects/warcrumpet/</guid>
      <description>WarCrumb is my Warcraft III replay parser written in Go, mostly based on a 2007 fanmade spec of the binary format, updated for the new Reforged edition with my own investigations using a hex editor.
Parser source WarCrumpet is an in-browser frontend to the parser, powered by WebAssembly.
Live </description>
    </item>
    <item>
      <title>WoWCerealize</title>
      <link>https://dmitry.lol/projects/wowcerealize/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://dmitry.lol/projects/wowcerealize/</guid>
      <description>Since WoW addons have no filesystem or network access, it does this via a thin strip of pixels in the corner of the screen that are then read by a Go program.
Source </description>
    </item>
    <item>
      <title>wug</title>
      <link>https://dmitry.lol/projects/wug/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://dmitry.lol/projects/wug/</guid>
      <description>Because Wiktionary&amp;rsquo;s mobile site is bloated.
Shows one language&amp;rsquo;s entries at a time, and lets you choose preferred languages. Dark/light theme support. Source Live </description>
    </item>
  </channel>
</rss>
