On the nature of Information Systems

I think at this point we’re familiar with what’s going to come: I’ll ramble vaguely about the topic to hopefully pique your interest while I make self-deprecating jokes about my Schopenhauer-esque humour. It’s a pretty effective protocol that maybe doesn’t work wonders for SEO, but certainly does for getting me in the flow for the text I’m about to write, which is good enough. The major flaw of Information Systems Every Information System has a flaw, but before we get to it I think I must establish a common language for us to understand each other. The astute reader will notice that this article is tagged both as non-code and code at the same time and this gives you a clue that what I’ll talk about here might expand beyond the frontiers of software development. As for the definition of Information Systems, I’d like to start with a basic setup: Any structure through which information is conveyed. That might sound too abstract at first, but it is the right foundation for our discussion. Then I want to clarify what I mean by information: we start with a small particle, a fact. A group of unprocessed facts is just data. Data, when processed and interpreted becomes information. Information, when curated, analyzed and evaluated becomes knowledge. ...

June 22, 2025

Space, Time and Structure

This time I don’t want to talk about product, but about producer. The human component, the decision-maker, the acting being. Pardon my bitter melancholy, but this pause on technical content echoes the loud noise of chaos that’s happening on this side of the screen. Space I’m fascinated about Ma. Don’t get me wrong, I think I check all the boxes in the cliché “let me import a Japanese philosophy concept to look deeper”, so give me a chance, please. I admire it like a kid watching a toys commercial in the 90’s, with this desire to explore unknown territories. ...

June 13, 2025

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