Hey, I'm Vinicius 👋

I write about Unix tools, shell workflows, Ruby, .NET, and things worth remembering.

More about me →

Latest

Buffered vs Unbuffered I/O on Unix

TL;DR Buffered I/O batches data in user-space (or library) buffers and performs fewer, larger system calls. Great for throughput. Unbuffered I/O sends data …

Unix time values (the epoch)

Unix time (often called “the epoch”) is a simple way to represent a point in time: the number of seconds that have elapsed since 1970-01-01 00:00:00 …

tmux cheat sheet

This is a live document that I’m planning to maintain as I get more familiar with tmux. Key bindings All keybindings should be prefixed with a prefix key, …

Installing Ruby using chruby and ruby-install

Every Ruby developer will most likely be using a Ruby version manager. The most popular ones are: RVM, rbenv, and chruby. You can use whatever makes you happy. …

Setup Rails using chruby and ruby-install

Note: Check the updated version of this post: Installing Ruby using chruby and ruby-install. Here are the steps to install and setup Ruby and Ruby on Rails on …

The Z shell

What it is The shell is what sits between the user and the core of the operating system, usually in a form of a command line interface (CLI). The most popular …

Add a JSON configuration file to a .NET Core console application

A .NET Core application can handle configuration using different formats (providers) like memory, command line and environment. Here, we will be using a file …

Handling WPF Window Dialog events, the elegant way

Here are two elegant ways that you can use to handle WPF Dialogs from the ViewModel. I will demonstrate both examples by closing a WPF Window Dialog from the …

ASP.NET Conditional Validation

Conditional validation can be very useful, and I’m glad that I found an elegant way of doing it. You can use the same View-Model on two different actions …

Unit Testing NHibernate Mappings

What is the best approach to map your domain classes to the database using NHibernate? After doing some tests, I believe that the best answer is: it …