Writing a raytracer in Go #1: Introduction

Two weeks ago I was at GopherCon Brasil 2019 at Florianópolis for the first time ever. There were a few interesting talks discussing Go’s compiler, linters, GoCV with Tensorflow and HuskyCI (which you should definitely check out).

However great the talks were, the event was especially important to remind me that I genuinely like what I do. Between work and university, it’s really easy to forget that I also like to program as a hobby.

Continue reading…

Observation log #1: End of a week long cloud block

Introduction

Date: August 5th 2018
Location: Rio de Janeiro, Brazil (22° 55′ 46.03” S, 43° 10′ 22.43” W)
Weather: Cloudy and windy
Timezone: GMT-3

Motivation

Today’s observation was not planned due to the poor weather conditions. A week ago I had my first observation after assembling the telescope for the first time and the weather in Rio de Janeiro has been cloudy and rainy ever since. So, I was very happy when I casually looked out the window around 2:15am and saw the Moon struggling to appear behind all those clouds. “Way to go, girl!”, I though to myself as I brought my telescope as fast as I could to the balcony and started observing.

Continue reading…

Milestones in projects: setting and reaching

Close-up of Pen on a notebook

Setting and reaching milestones can be troublesome tasks. However, making a project presentable and functional without established objectives is even worse. The lack of a clear goal when developing a project can lead to months or even years of endless optimizations. Occasionally, all you need to do is feel like you’ve completed something. Think of how many ideas never see the light of day due to perfectionism.

Continue reading…

Static classes vs namespaces in C++

I was implementing a Logger feature in my project when I had to decide how it should work. So, I had three options in mind of how to do this: a singleton object, which would require lots of references to it in the other classes of the project, a regular object, which would require instantiating it everywhere it was needed or, a static class, which would only require including the Logger’s header in the file that was going to use it.

Continue reading…