The path to mediocrity and gatekeeping

So, I left GitHub. Thankfully so. Only at my work, and because I’m working on Atom, I keep code on that service.

For a while GitHub was degrading into a service that I felt I was not the target client anymore. In the beginning, GitHub felt like a social network for nerds – a place where we could share code, make pull requests, make the code talk instead of other things. Forking was not a bad thing anymore, because we could track who forked, what they were working on, and how to contribute or get their changes in any time.

Now, GitHub feels more like a enterprise thing where things are bureaucratic and you can’t trust anyone. A place filled over the top with telemetry, where you and your code are the product (regardless of which license you choose for your code) and where you must add “rules” for everything otherwise you’ll be bothered over and over again.

I’m referring to the new “please protect you branches” and “add requirements to merge PRs” popups, obviously.
(more…)

The infinite arrogance of software developers

Yeah, sorry for the bold title, but sometimes I get tired of software developers expecting they figure out the secrets of the universe. And let’s be honest: at some time in my career, I was one of them. Sometimes by accident, sometimes… not. Anyway.

First, a little disclaimer: this post is not targeted at anyone in special, and I’ll not mention anyone here – just quotes, slightly modified. Anyway, although I love my profession, sometimes it feels like we’re this programmer guy from XKCD:

I'm here to solve it with Algorithms, then six months latter: wow, this problem is really hard (Megan: You don't say?)

There are LOTS of things that bother me at this programmer mentality, so I’ll separate this post into multiple sections. If you’re reading this and feels like it’s a personal attack against you, please don’t – I’m not really attacking anyone, just trying to change a toxic mentality that poisons our abilities to be better professionals, people, and human beings.

“Not a real programmer”

The first one is classic: people define what a “programmer” is, based on their own experiences and expertise, and dismiss people that don’t fall into their categories. Wikipedia, for example, defines Computer Programming as:

Computer programming is the process of designing and building an executable computer program to accomplish a specific computing result or to perform a particular task

As for the “Computer program part”, Wikipedia defines as:

In imperative programming, a computer program is a sequence of instructions in a programming language that a computer can execute or interpret. In declarative programming, a computer program is a set of instructions.

So it’s hard to find a good definition on what programming is, but if we try to merge the two explanations from Wikipedia, we get that, to program a computer, you have to design an executable “sequence of instructions” or “a set of instructions” so that you can accomplish a specific result or perform a particular task.
(more…)

The end of an era: goodbye, GitHub

We all knew that Microsoft would destroy GitHub. Well, I hope we all knew. I knew it too, but somehow, I thought: it doesn’t matter. Maybe they’ll add some commercial features, maybe they’ll force some integration over VSCode or Visual Studio, but anyway, I didn’t think, at the time, that they’ll be able to make something really bad about it.

This ends now.

Microsoft (I’ll not use GitHub anymore here. I’ll keep GitHub for Atom, probably, but that’s how far I’m willing to go) decided that “public repos are reusable pieces of software” regardless of license, with their “Copilot” product. Yes, people are saying that’s legal, fair trade, blah blah blah. I don’t buy it, and I believe it’s only because it’s Microsoft that they are speaking like this. Every other system that inputs <copyrighted-content> and outputs <content>, when the input and output are the same “kind” (music, painting, code, poetry) needs to be aware of the original license, and that’s final. In fact, every tool that tried to do this in the past WAS victim of copyright strikes – so why Microsoft is not? In fact, there’s public code that’s not open source on Microsoft’s servers. If they are so sure that it’s not a “derivative work”, why didn’t they train their ML with private repositories? With Microsoft’s own private code? The answer is obvious – only the fool don’t want to see.

Anyway, I’ll be removing all code from Microsoft starting now. Unfortunately, there are issues to code cooperation and other things if I decide to self-host a solution, so until Gitea allows for federated content, I’ll got with Gitlab. I’ll start with Chlorine, Clover, and similar projects like REPL-Tooling, Duck-REPLed and Vision. Then, maybe I’ll start moving things on demand (after all, all code that EXIST today was slurped by Microsoft already, so why should I bother removing the damage that already was done). So, here I’ll try to document my process:
(more…)

My 2020 retrospective

As my therapist said: 2020 was a year that put brakes on the whole world. And yet, for me, it was one of the best years of my life by far – maybe with the exception of 2012, where lots of other wonderful things happened too.

On this year, my daughter was born. There was also the covid-19 pandemic (yeah, it’s obvious right now, but maybe some years from now someone reading this post will probably not remember that it did exist) so if you join these two things, you’ll see how worried I was. It was always my wife’s dream to be a mother, and to have me at her side on the delivery room, but because of the pandemic, this would not be possible… or would it?

At that time, I was still living in Brazil. There are laws over there for the expecting mother to have someone helping her on the birth process – and we did use these laws so the hospital would be forced to accept that I would be with her. They tried to persuade me to not do it, multiple times, until I was able to get the maternity’s director cellphone and talk to her. So, yes – I was there, saw my daughter born, and I was with my wife’s and my daughter the whole time! It was probably the most incredible, magic moment of my life: when my daughter was born, she stayed with us the whole time, dimmed lights, looking at us. Recognizing us. She kept biting my fingers (when my wife had to rest for a while), and even today (she’s 6 months now) it’s one of her most enjoyable actions: to grab my fingers and gently bite then.
(more…)

Last hours on my country

Right now, as I’m writing this, I have about 6 bags full of (mostly) clothes, a file with different documents, a bunch of fears, and a lot of hope. Tomorrow, if everything goes well, is my last day living in Brazil.

It was a strange adventure, first by making a simple trip (well, as far as “jump on a motorcycle with my wife and travel though the country and beyond, and end up traveling 6,449km” is considered simple), then by staying a whole month on an Airbnb and trying everything, from local meetups to social projects to local culture, restaurants, food, etc, and then finally getting all the documentation to live on the country we chose: Uruguay.
(more…)

What’s happening on Brazil?

I don’t really like to talk about non-technical things here, but… sometimes the circumstances push me to do it.

We are facing strange times: covid-19. We, as people, plural. There’s no individuals in this matter, because if only one person takes action, nothing will change. If only one country, again nothing will change. We need union, more than ever.

Then, comes Brazil. People simply believe that “our climate is warmer”, “the pandemic is nothing to worry about”, and “it’s just a small flu” – I’m not talking only about the bizarre declarations of the president, but from the common person. Our approximate numbers (approximate because we’re not testing all cases: I, personally, know three people that had the exact right symptoms for Covid-19 that didn’t receive any testing, and were asked to just “rest at home, and if it becomes worse search a medic”. One of then, as soon as he felt a little better, was visiting his friends and eating food at restaurants) keep skyrocketing, and fake news are appearing here and there that these numbers were fabricated by the enemies of the current government.

So, there are only guidelines – no official laws, no real restrictions. They all have to be decided by local authorities, and all against the president (that, on this day, made some insinuations that he can start a coup if people don’t obey him!) that I really hope doesn’t have all the power he thinks he have.
(more…)

My 2019 retrospective

If I could say something about 2019, it would be: what a year!

It was probably one of the best years of my life, even with all the fears I had to face, the strength I had to find, and lots of other difficulties that are normal for every year.

The year began with a trip to Uruguay – Montevideo. The reason for that trip was something very different from what I am used to: it was to find if it was a good place to live. After that, my wife and I made two more trips for documentation, and probably by August, 2020, we’ll be leaving Brazil! This is a huge roadmap in my life, and I’ll probably write more about it later.

This was also a big year for open-source contributing: this was the year that Chlorine became popular, so I’ve been investing my time on it. It is wonderful and kinda scary to have a successful project (people start to rely on it to be working!), and it also taught me a lot about organizing projects – even personal ones. Chlorine also evolved a lot thanks for multiple contributors, and now I can easily recommend it as a real alternative to any other plug-in out there.

This was also the first year that I was invited to talk on meetups, instead of sending papers. On the total, I think there were about 4 invitations, two to explain functional programming on an university here in São Caetano / Brazil (where I live currently). Speaking of events…
(more…)