About Riuga



Greetings!

Just a long-time disenfranchised C++ developer -turned Haskell developer, Linux/FOSS proponent, metalhead, and guitarist. Pro- digital privacy, anti-anticheat. My current interests (besides music) are arrowized FRP, static evaluation, dependent types, isomorphic parsing, and functional Vulkan/SPIR.

This blog, which I have aptly named my “livehouse”—concert culture is, after all, a large part of my identity—serves as an emporium for all my thoughts related to Haskell, guitars, bands, concerts, the Korean MMO industry, functional game development, and perhaps in the future, a variety of one-off topics.

I occasionally livestream Haskell development over on Twitch, albeit with no real schedule for now. It should be noted that my streams do not cater to small monitors; you will likely have to view it in full screen to view the actual code, otherwise it will simply act as a workflow showcase.

If you need to contact me casually, feel free to reach out to @Riuga#1606 over on the Functional Programming Discord server. Since I run a relatively large Discord server of my own, my personal DMs have been turned off. Please send me a friend request and wait for my approval before direct messaging me. Thank you for your understanding.

For business inquiries: riuga@tuta.io

I am currently open to considering remote Haskell opportunities agreed upon ahead of time. Feel free to reach out to me via the email address above.

Homepage quote courtesy of Tuomas Holopainen, off the song Shudder Before the Beautiful.




Q: What’s your Haskell setup?

A: Vim with a ghcid wrapper script running per project. This is really only feasible on ultrawide screens where I can afford to dedicate an entire vertical split terminal for ghcid’s output. Helps keep memory usage low, considering Discord and my browser already eats up more than half my RAM on a good day.

Q: What motivates you to pursue [pure] functional programming?

A: The direction every other language has been tending towards for a very long time now. At some point you realize you want more than what the latest and greatest language features are, such as experimental C++20 Concepts, and that you’ve been trying to shove a square peg (imperative) into a round hole (functional) this whole time. Pursuing functional progrmaming after reaching this point is really the only option left if one wishes to stay sane.

Q: Which Haskell book do you recommend?

A: I believe a book only takes you so far when it comes to Haskell; that is to say, no matter what book one uses, unless they go out of their way to read obscure Haskell blogs and articles, they will be stuck at the ‘beginner’ level. If you are looking for a book, however, my sole recommendation is To Kata Haskellen Evangelion by Cosmia Fu. It is unfinished, many beginners have complained that it was a dry read at times, however I appreciate its emphasis on mathematical rigor and practical exercises. The book covers everything from basic functions all the way to category theory.

Q: What’s with the website theme? Where can I get it?

A: Believe it or not, this entire blog is written entirely in Haskell using the Rib static site generator. Plus some minimal Javascript and Markdown where appropriate. I’ve appropriately named this theme rockstar, and you can find it over on my Github. It is very clean, minimal, and maintainable compared to equivalent Jekyll solutions.

Q: Favorite band?

A: Band-Maid (shocking!).

Q: Favorite gear / software / brands?

A: Ibanez, Swiss Picks, NYXL/Paradigm .10-.52 (C# Standard 6), Ownhammer IRs, Guitarix, MOTU. Casual enjoyer of anything with a maple fretboard and Mesa-Boogie amps. Biased towards deep blue finishes, but I can settle for purple/black.

Q: Favorite cuisine?

A: North Indian.

Q: Favorite contemporary movie?

A: Under sandet (2015), very much a hidden gem.

Q: Casual life advice?

A: In no particular order:

  1. Embrace the anchor of leadership. It weighs as it should.
  2. Life will always suck. We just trade certain kinds of suck for other types as we progress through our lives and careers. Just look at Notch; even being a billionaire has its own problems of isolation, depression, and goallessness. Maximizing happiness boils down to figuring out which types of suck you’re willing to put up with. Embrace the suck.
  3. Bad things happen to those who keep their heads in the clouds all the time. Dream, but strive to stay grounded in reality in all interpersonal interactions.
  4. Give non-linear thinking a shot. Instead of classifying everything as us-vs-them, black-and-white; think, what concerns and fears do people with an opposing opinion have? Can we empathize with them and address those sources instead of beating the other side on the head until they give in and agree with our perspective?




The great truth is there isn’t one
And it only gets worse since that conclusion

The saturnine spheres of fluttering wings
Burning moths we’ve once set free
Across killing fields, once golden

Rising red rosarium
Blossoming choirs
Beatitudes of endless dead
Where white doves fall

Blessed be the woodworkers
The crosses
And the gallows

Blessed be the forgers of iron
The spikes
And the barbed wire

Blessed be the stone cutters
It took a quarry
To bury the dreams

Keelhauled and crippled
Tangled in misery
An abyss of dying dreams
For only the pain is real

How they lived they will be remembered
For the noble souls that were and will be
Ne obliviscaris..forget not..forget not..never

With every dream
The pyres grow taller
Stray philanthrope
In vain endeavor
Walk this path
Now and forever

···

A lyrical compilation of Ne Obliviscaris, Mgla