I'm back: The return of the grumpy

Long time no see. Here, have a seat, and let me ramble about a bunch of things in this long and nonsensical rant. I hope this will be as interesting to you, the reader, as it is to me, the tired programmer in need of venting out. ...

May 13, 2025 · Henry John Kupty

Understanding the Math behind FP: The Monads

On my previous post I talked a little about Functional Programming, hoping to introduce it to newcomers and developers with no previous FP experience. Several people said it was not very precise and it didn’t explained some concepts (such as Monads or Functors) with the required level of details. Well, I do hope to achieve some detailing with this post. Nonetheless, I’ll still try to keep it light to those who never programmed functionally before. ...

April 10, 2016

Functional Programming: Concepts, Idioms and Philosophy

Functional Programming has risen as a solution to most modern days problems, such as concurrency and scaling. For some, it is a mystique concept that applies only to Erlang, Haskell and other strange languages that are either too complicated or irrelevant. This is simply not true, and I’m going to show how to apply some functional programming concepts on non-functional languages. I’ll deconstruct the functional paradigm by first defining what ‘Functional Programming’ really means, then explaining common idioms and comparing the syntax. In the end, I’ll show how to make relevant changes to non-functional in order to follow the Functional Programming Philosophy. ...

March 19, 2016

A Neovim Approach

Still on the topic of Neovim taking over tmux’s place, and as a response to several interesting comments I’ve read on hackernews and reddit regarding previous post, I’d like to show a new approach to what has been discussed. Why not Emacs? With all due respect to Emacs, it is simply a matter of personal taste. I won’t start a flamewar here; on the contrary. I do enforce people to try Emacs, as it is a very personal aspect of how you feel confortable to interact with code, scripts. ...

March 14, 2016

Ditching TMUX

This week I started an experiment. I wanted to know whether I would be able to completely ditch tmux. Don’t get me wrong here, I absolutely love how tmux makes terminal multiplexing transparent for me. I’m also very used to <C-b>c, <C-b>1-0 and so on. I also have a custom set of keymaps and plugins I use frequently, such as tmux-copycat, which helps me find paths or urls on the terminal. With that said, I found that my workflow was not optimal, a certain day, where I was constantly switching tabs on neovim and panes on tmux. This was unlikely the best scenario and I challenged me to overcome this by runnig neovim as my terminal multiplexer. ...

March 13, 2016

Initial Commit

Hi all, I’m starting this blog so I can speak a little about what moves me and why do I code. As of now, I have 10 years straight of development experience and probably its time for me to start writting down some things I learned through the years. I can imagine I’ll spend a fair amount of time quoting books here. Also, I plan to write a bit about open source projects I use and my view on them. Lastly, I’ll surely want to put some code here. ...

March 5, 2016