<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Dima</title>
    <description>The latest articles on Forem by Dima (@dkurilo).</description>
    <link>https://forem.com/dkurilo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F207249%2F68678ab7-bee8-4b2b-9c2d-b3ed05857dd0.jpeg</url>
      <title>Forem: Dima</title>
      <link>https://forem.com/dkurilo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/dkurilo"/>
    <language>en</language>
    <item>
      <title>Catamorphisms</title>
      <dc:creator>Dima</dc:creator>
      <pubDate>Sat, 25 Jan 2020 03:25:12 +0000</pubDate>
      <link>https://forem.com/dkurilo/catamorphisms-gc5</link>
      <guid>https://forem.com/dkurilo/catamorphisms-gc5</guid>
      <description>&lt;p&gt;Some time ago I read about catamorphisms. It's beautiful concept, but it can be difficult to understand it when you read it first time. It looks too abstract and almost unusable in the real life.&lt;br&gt;
But when you understand it, you start seeing it everywhere.&lt;br&gt;
Like, "Well, maybe it's time to replace MapReduce with Catamorphism?"&lt;br&gt;
I'm not going to explain what is cata and ana morphisms. I'm not sure if I would do it better than Bartosz Milewski. So here are the links to great lectures about it:&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=PAqzQMzsUU8"&gt;https://www.youtube.com/watch?v=PAqzQMzsUU8&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=jpl7FE2TZTE"&gt;https://www.youtube.com/watch?v=jpl7FE2TZTE&lt;/a&gt;&lt;br&gt;
It's worth to watch both series of lectures.&lt;br&gt;
Also a great article about catamorphisms is here:&lt;br&gt;
&lt;a href="https://www.schoolofhaskell.com/user/bartosz/understanding-algebras"&gt;https://www.schoolofhaskell.com/user/bartosz/understanding-algebras&lt;/a&gt;&lt;br&gt;
I wrote down examples from lectures as accurate as I could.&lt;br&gt;
As I feel it, playing with this code make it easier to understand lectures and to find why and where you need cata.&lt;br&gt;
This code available here:&lt;br&gt;
&lt;a href="https://gist.github.com/DKurilo/5e5563f4c2a8e8ca53a7b98ebf59e9f1"&gt;https://gist.github.com/DKurilo/5e5563f4c2a8e8ca53a7b98ebf59e9f1&lt;/a&gt;&lt;br&gt;
You can also play with it on Repl.it&lt;br&gt;
&lt;a href="https://repl.it/@DimaKurilo/Catamorphisms"&gt;https://repl.it/@DimaKurilo/Catamorphisms&lt;/a&gt;&lt;/p&gt;

</description>
      <category>haskell</category>
      <category>functional</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Minesweeper clone in Haskell for console</title>
      <dc:creator>Dima</dc:creator>
      <pubDate>Thu, 16 Jan 2020 22:42:31 +0000</pubDate>
      <link>https://forem.com/dkurilo/minesweeper-clone-in-haskell-for-console-321g</link>
      <guid>https://forem.com/dkurilo/minesweeper-clone-in-haskell-for-console-321g</guid>
      <description>&lt;p&gt;One of the well-known HR companies has recommendation to build Minesweeper clone to prepare to their technical interview. I decided it's good idea not just to be prepared (actually, it didn't help me) but because I miss Minesweeper on my MacBook. And its classic interface is not suitable for OSX.&lt;br&gt;
So I implemented it in Haskell.&lt;br&gt;
Enjoy!&lt;br&gt;
&lt;a href="https://github.com/DKurilo/minesweeper"&gt;https://github.com/DKurilo/minesweeper&lt;/a&gt;&lt;br&gt;
If you have any suggestion or ideas, feel free to write me.&lt;br&gt;
I  wanted to try Brick library:&lt;br&gt;
&lt;a href="https://hackage.haskell.org/package/brick"&gt;https://hackage.haskell.org/package/brick&lt;/a&gt;&lt;br&gt;
and this app was a great chance to do it.&lt;br&gt;
So I found it's very easy to build console app with Brick. I used this great tutorial:&lt;br&gt;
&lt;a href="https://github.com/jtdaugherty/brick/blob/master/docs/samtay-tutorial.md"&gt;https://github.com/jtdaugherty/brick/blob/master/docs/samtay-tutorial.md&lt;/a&gt;&lt;br&gt;
It took only two days to understand Brick and write Minesweeper clone.&lt;/p&gt;

&lt;p&gt;I'm looking for a job now. In case you need good enough developer, here is my resume (you can also other my projects :) ):&lt;br&gt;
&lt;a href="https://github.com/DKurilo/dima-kurilo-resume/blob/master/Dima-Kurilo-resume.pdf"&gt;https://github.com/DKurilo/dima-kurilo-resume/blob/master/Dima-Kurilo-resume.pdf&lt;/a&gt;&lt;/p&gt;

</description>
      <category>haskell</category>
      <category>career</category>
      <category>help</category>
    </item>
  </channel>
</rss>
