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. ...
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. ...
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. ...
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. ...
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. ...
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. ...
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. ...
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. ...