Matheus Marabesi website, sharing ideas about software development - Listing posts on page 1

Adventures on vue.js and data visualization - episode 1

I have been using reactjs for most of my projects and it was my go to in new projects, therefore, as my landscape changes I try to adapt as much as possible and I enjoy learning new things. I have touched a couple of years ago vue.js that is a mix of vue.js and d3. There, I try to depict different charts (bar, bubble and word cloud) to visualize a high level information about a given github repository. Currently, I am working on a project that uses vue.js + nuxt.js. This project itself triggered me back to this data-viz (data...

Sharing tailwind config elsewhere for variable access (theme, spacing, and others)

Recently I came across a requirement for my side project to be able to access tailwind theme (such as colors and spacing) through javascript. Tailwind has a javascript file that exports an object to define custom attributes such attributes can be then used by the application - Imagine that you want to set a custom background color besides the one that comes already with tailwind, this is a custom attribute. Therefore, accessing this file from a reactjs application is not straight forward as it seems. This blog post is an attempt to share the problems I faced trying to expose...

Not so popular git commands

Recently I’ve experienced a scenario that made my git skill in check, I was wondering if I could see the files that changed for a list of commits. From that, I tried to expand some questions around git. The goal here is to share a few git commands that are not popular like commit, push or rebase. Are you not familiar with git yet? Have a look at the intro I made here. What has changed? Recently I came across this command that depicts what has been done by commit, renaming, deleting or adding files: git whatchanged the output would...

Announcing the JSON tool - A companion for formatting json content, focused in privacy

Recently I have been working on a simple app with one goal in mind: format json content locally, without the need to access a third party website for that. The answer that that is json-tool, a electron based app that formats json content with a click of a button, or just pasting the desired json. It offers a 100% offline experience once it’s installed and the most important: there is no track, ads or anything related to data. Privacy first. Besides that, it was an excuse to practice my outside-in TDD (Test Driven Development) skills (TDD is a subject of...

That's my keyboard kit - a walk-through, custom AKKO 3068

Often I get asked which keyboard I am using and which configuration I use for coding. This post aims to give a walk-through my current keyboard and also the future changes that I might want to put in place. The goal here is also to share prices and where I bought the parts I use, given it sometimes is a pity that people that shared theirs didn’t share the place you can find the same pieces to pump the keyboard. Note that this is just my personal setup, it does not mean that you should use one like mine or...

Growing object oriented software guided by tests - notes

Test driven development has been a subject of interest on this blog for a few years now and the first pot to come around was the classic book from Kent Beck: Test Drive Development by example. More recently I also wrote on my TDD journey as I was trying to focus on what would be the next steps on that. Following this discovery, I started reading the book “Growing object oriented software guided by tests” [1] which as the title says focus on the development of software guided by tests, more specifically the proposal is to use a double loop...

Developer productivity with the keyboard - My most used vim key bindings

As a developer I am often looking ways for improving the way I write code, and also, texts in general, like this post for example. Throughout the years I tried different editors and IDE’s. In this journey, I found that each tool focus on one side of the equation. For example, IDE’s tend to focus on the integration as a way to improve developer’s workflow, one single place to do everything: accessing terminal, writing code, runnings test, accessing the database and so on. On the other hand, text editors are focused on a specific task, editing texts. Which doesn’t mean...

TDD anti-patterns - the liar, excessive setup, the giant, slow poke

Test Driven Development (TDD) has been adopted across different developers and teams as a way to deliver quality code, through short feedback cycles in a (fail-pass-refactor) fashion. Kent Beck [1] popularized the methodology that became a standard in which the industry follows and build on top of it. Therefore, starting with TDD is not easy and keeping it sharp in a way that the test suite run fast is even harder. Code bases that tackle business problems require a non-trivial amount of code, and with that, a non-trivial set of test cases. Therefore, as [2] describes: the industry has an...

Terraform HashiCorp certification - infrastructure as code, the udemy course companion

Infrastructure as code (IaC) is a growing trend as the devops became the standard to delivery applications. As such, cloud providers have each, their own way of offering infrastructure, in the past, administrators had to manually execute commands on the servers and manually provide resources (which it’s the case until today). Terraform provides a solution through code for managing infrastructure. It is a single place to talk to different providers and keep the changes repeatable and versioned, giving confidence to change the infrastructure of any application. The idea is to automate as much as possible and you do not manage...

TDD revamped, five years and many more to come

This post goes through my journey that started at least five years ago with testable code, specifically using Test-Driven Development (TDD). I remember when I found it out it was a moment of magic, even though, it took some time for me to realize that TDD changed my way of thinking. Not just about my code, but about software development in general. Throughout this post, there are references on the first TDD international conference, XP and agile, if some of them is not familiar to you, feel free to jump to the references. As a companion, I offer a youtube...