Skip to content
Avatar
👨‍💻
probably writing tests
👨‍💻
probably writing tests
Block or Report

Block or report gabrielfalcao

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Add an optional note:
Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
gabrielfalcao/README.md

Hi! I'm Gabriel Falcão

I heard some time that Hemmingway said "Write drunk, edit sober" or something like that.

Well, thread carefully because this very page hasn't been edited for sure!

My history as a computer programmer

I am a brazilian software engineer. I started coding around age 12 at a moment in time where I did not have a videogame. Instead I had a black-and-white monitor and which I my dad and I used for setting up new machines that we assembled from scratch. I was 9 when I started working with computers to help my family make a some extra money.

Anyhoo, I did not have a videogame and no real graphics card so I was pretty bored when I instinctively started digging around the features of the operating system I had in hands: Windows 9... something or perhaps was Windows ME. I really don't remember for sure.

What I sort of remember is that because I could not see colors I started building stuff. I'm a creative person, a very sensitive human that had the privilege of growing up with a lot of love rather than a lot of money.

I feel like mind is wildly curious, dare I say indomitable (Though I don't have a lot of confidence of my english or at least people have doubted my abilities in the past but at the current times I am certainly recognized or so it seams).

But I digress (again, sorry) - what I mean to say is that I always loved learning and I grew up with a great sense of love and justice which I definitely have taken for granted sometimes but the very act of writing this is one that attempts to serve as a reminder for myself that LOVE is the greatest thing and I shall never forget to cherrish it again.

Using my monochromatic monitor I was left with few options of how to play with my computer so I got curious about the software in which most people rarely found interest in: Microsoft Access 97 (Now that I think about it, I was probably using windows 95 or 98. I guess.)

I liked to play with paintbrush when I had a colored monitor, making random scratches then cutting, copying, pasting, flipping horizontally or vertically and/or rotating it in an intuitive attempts to create visually appealing and geometrically sound figures. (I seem to be attracted to multi-dimensionality)

But I always wondered what was beneath the surface of the user-interface. More precisely little 9 year old mind wondered: "How programs are made?"

Instead of painting mere pictures I wanted to learn how to design software, as it were. So while digging around the Microsoft Office 97 suite, bored with a monochromatic monitor, I opened MS Access and found a little feature called "Forms" (in portuguese I think it was translated to Formulários).

Anyway, the thing is that it presented me with a similar interface as that of MS Paint, except that instead of a brush, bucket of paint, pens, pencils, erasers or clipboard-specific tools like magic wands MS Access 97 gave me a window rather than a canvas - comparatively to MS Paint - and the tools were button, text boxes, radio boxes, check boxes and so on.

Once I dragged-and-dropped a button, say, on the empty window canvas and double-clicked it, a new interface would appear overimposed with code that clearly referenced whatever UI element had been drawn.

My mind was blown - good job Microsoft for blowing my mind at 12 years old.

But I was sort of stunned because I didn't know what to write, it's as if as a child I was already wrestling with a blank page, except that it begged to write code beneath the canvas.

The coolest thing is that there was a feature called "Form Wizard" where it presented sort of templates - cookie cutter style I suppose - where it guided me through visually attaching actions to UI elements.

As a 9 year old my job was to teach adults how to use a computer. I could feel how older people felt intimidated by the technology but I was always rather inspired by it. So I told them something along the lines of: Let me show you the basics - here is how you make a business card, or a banner or a gift card. Here is how you paint, wanna play solitarie? Here you go. Lots of people seemed to like landmines, I always thought it was super boring. But hey, who was I to judge?! I was just a boy. (In my mind I still feel like one).

The adults I was teaching seemed to take notes, I thought it was weird because it was so intuitive to me - little did I know that I had several hours of deliberate practice (though I didn't know this concept at the time)

So when Microsoft Access provided me with a simple way to attach actions to UI elements I felt the thought coming: "Eureka! Instead of guiding people through the operating system UI I created a my own UI with lots of buttons, grouped by kinds or sorts of categories such as "games" or "entertainment" or "utilities".

I made sure to help people find their way with as little trouble as possible - which in retrospect I think was an act of compassion.

When I double-clicked the generated buttons that executed other programs it would show me the code that was generated.

If memory serves, I think that the code was a sort of dialect of Visual Basic 5 or 6 - based in english, obviously. So in a way I learned english backwards, because I would read code and try to make sense of it. I was pretty bored at school because trying to decypher generated code gave me an intense feeling of reward - one could dare to call it dopamine dispensing.

I would spend several hours looking at the code and trying to make sense of it, I remember that at the beginning I spent several days trying to make sense of the code generated by a single button.

Because I learned backwards and having no access to books - especially not in portuguese - I didn't know the concept of a variable, but instinct told me I needed to store value somewhere, so I would draw text boxes on the UI, set their "visible" property to "false" and in the code I would store text in those hidden boxes.

Eventually I learned that it was counter-intuitive and that I could simply declare a "variable" which was much more efficient and generally better because variables could be typed and so instead of just strings I could play with numbers though I have no real mathematical skills (I was day-dreaming of coding during classes)

I intend to try and run Visual Basic 6 in Windows ME within a virtual machine and record a screencast to go down memory lane in an effort to share my way of thinking.

If you're interested in that sort of thing or the rest of my story or simply want to support me in grattitude for open-source projects or whatever, please consider donating to my Patreon or Ko-Fi.

I have also been thinking of streaming live-coding sessions on YouTube or Twitch, so if you're interested please consider donating.

See you later, Aligator!

Pinned

  1. sure Public

    idiomatic assertion toolkit with human-friendly failure messages, inspired by RSpec Expectations and should.js

    Python 683 75

  2. HTTPretty Public

    Intercept HTTP requests at the Python socket level. Fakes the whole socket module

    Python 2k 267

  3. lettuce Public

    Behavior-driven-development tool for python, inspired by Cucumber for Ruby

    Python 1.3k 330

  4. chemist Public

    Simple, flexible and testable active-record powered by SQLAlchemy - supports seamless encryption of fields through PyNaCL

    Python 4 2

  5. agentzero Public

    Python ZeroMQ for Humans

    Python 9 1

  6. Enables pyenv within your github actions workflow

    TypeScript 29 14

337 contributions in the last year

No contributions on Sunday, May 29, 2022 3 contributions on Monday, May 30, 2022 No contributions on Tuesday, May 31, 2022 1 contribution on Wednesday, June 1, 2022 No contributions on Thursday, June 2, 2022 No contributions on Friday, June 3, 2022 No contributions on Saturday, June 4, 2022 No contributions on Sunday, June 5, 2022 No contributions on Monday, June 6, 2022 No contributions on Tuesday, June 7, 2022 No contributions on Wednesday, June 8, 2022 No contributions on Thursday, June 9, 2022 No contributions on Friday, June 10, 2022 No contributions on Saturday, June 11, 2022 No contributions on Sunday, June 12, 2022 No contributions on Monday, June 13, 2022 No contributions on Tuesday, June 14, 2022 No contributions on Wednesday, June 15, 2022 No contributions on Thursday, June 16, 2022 No contributions on Friday, June 17, 2022 No contributions on Saturday, June 18, 2022 No contributions on Sunday, June 19, 2022 No contributions on Monday, June 20, 2022 1 contribution on Tuesday, June 21, 2022 No contributions on Wednesday, June 22, 2022 No contributions on Thursday, June 23, 2022 No contributions on Friday, June 24, 2022 No contributions on Saturday, June 25, 2022 No contributions on Sunday, June 26, 2022 No contributions on Monday, June 27, 2022 No contributions on Tuesday, June 28, 2022 No contributions on Wednesday, June 29, 2022 No contributions on Thursday, June 30, 2022 No contributions on Friday, July 1, 2022 No contributions on Saturday, July 2, 2022 No contributions on Sunday, July 3, 2022 No contributions on Monday, July 4, 2022 No contributions on Tuesday, July 5, 2022 No contributions on Wednesday, July 6, 2022 No contributions on Thursday, July 7, 2022 No contributions on Friday, July 8, 2022 No contributions on Saturday, July 9, 2022 No contributions on Sunday, July 10, 2022 No contributions on Monday, July 11, 2022 No contributions on Tuesday, July 12, 2022 1 contribution on Wednesday, July 13, 2022 No contributions on Thursday, July 14, 2022 No contributions on Friday, July 15, 2022 1 contribution on Saturday, July 16, 2022 4 contributions on Sunday, July 17, 2022 No contributions on Monday, July 18, 2022 No contributions on Tuesday, July 19, 2022 No contributions on Wednesday, July 20, 2022 No contributions on Thursday, July 21, 2022 No contributions on Friday, July 22, 2022 No contributions on Saturday, July 23, 2022 No contributions on Sunday, July 24, 2022 No contributions on Monday, July 25, 2022 No contributions on Tuesday, July 26, 2022 No contributions on Wednesday, July 27, 2022 No contributions on Thursday, July 28, 2022 No contributions on Friday, July 29, 2022 No contributions on Saturday, July 30, 2022 No contributions on Sunday, July 31, 2022 No contributions on Monday, August 1, 2022 No contributions on Tuesday, August 2, 2022 1 contribution on Wednesday, August 3, 2022 No contributions on Thursday, August 4, 2022 No contributions on Friday, August 5, 2022 No contributions on Saturday, August 6, 2022 No contributions on Sunday, August 7, 2022 No contributions on Monday, August 8, 2022 No contributions on Tuesday, August 9, 2022 No contributions on Wednesday, August 10, 2022 No contributions on Thursday, August 11, 2022 No contributions on Friday, August 12, 2022 No contributions on Saturday, August 13, 2022 No contributions on Sunday, August 14, 2022 No contributions on Monday, August 15, 2022 No contributions on Tuesday, August 16, 2022 No contributions on Wednesday, August 17, 2022 No contributions on Thursday, August 18, 2022 No contributions on Friday, August 19, 2022 No contributions on Saturday, August 20, 2022 No contributions on Sunday, August 21, 2022 No contributions on Monday, August 22, 2022 No contributions on Tuesday, August 23, 2022 No contributions on Wednesday, August 24, 2022 No contributions on Thursday, August 25, 2022 No contributions on Friday, August 26, 2022 No contributions on Saturday, August 27, 2022 No contributions on Sunday, August 28, 2022 No contributions on Monday, August 29, 2022 No contributions on Tuesday, August 30, 2022 No contributions on Wednesday, August 31, 2022 No contributions on Thursday, September 1, 2022 No contributions on Friday, September 2, 2022 No contributions on Saturday, September 3, 2022 No contributions on Sunday, September 4, 2022 No contributions on Monday, September 5, 2022 No contributions on Tuesday, September 6, 2022 No contributions on Wednesday, September 7, 2022 No contributions on Thursday, September 8, 2022 No contributions on Friday, September 9, 2022 No contributions on Saturday, September 10, 2022 No contributions on Sunday, September 11, 2022 1 contribution on Monday, September 12, 2022 3 contributions on Tuesday, September 13, 2022 5 contributions on Wednesday, September 14, 2022 2 contributions on Thursday, September 15, 2022 No contributions on Friday, September 16, 2022 No contributions on Saturday, September 17, 2022 No contributions on Sunday, September 18, 2022 No contributions on Monday, September 19, 2022 No contributions on Tuesday, September 20, 2022 1 contribution on Wednesday, September 21, 2022 No contributions on Thursday, September 22, 2022 No contributions on Friday, September 23, 2022 No contributions on Saturday, September 24, 2022 No contributions on Sunday, September 25, 2022 No contributions on Monday, September 26, 2022 No contributions on Tuesday, September 27, 2022 No contributions on Wednesday, September 28, 2022 No contributions on Thursday, September 29, 2022 No contributions on Friday, September 30, 2022 No contributions on Saturday, October 1, 2022 No contributions on Sunday, October 2, 2022 3 contributions on Monday, October 3, 2022 1 contribution on Tuesday, October 4, 2022 No contributions on Wednesday, October 5, 2022 No contributions on Thursday, October 6, 2022 No contributions on Friday, October 7, 2022 No contributions on Saturday, October 8, 2022 No contributions on Sunday, October 9, 2022 2 contributions on Monday, October 10, 2022 No contributions on Tuesday, October 11, 2022 No contributions on Wednesday, October 12, 2022 No contributions on Thursday, October 13, 2022 No contributions on Friday, October 14, 2022 No contributions on Saturday, October 15, 2022 6 contributions on Sunday, October 16, 2022 7 contributions on Monday, October 17, 2022 1 contribution on Tuesday, October 18, 2022 1 contribution on Wednesday, October 19, 2022 No contributions on Thursday, October 20, 2022 No contributions on Friday, October 21, 2022 4 contributions on Saturday, October 22, 2022 No contributions on Sunday, October 23, 2022 2 contributions on Monday, October 24, 2022 3 contributions on Tuesday, October 25, 2022 No contributions on Wednesday, October 26, 2022 No contributions on Thursday, October 27, 2022 No contributions on Friday, October 28, 2022 No contributions on Saturday, October 29, 2022 No contributions on Sunday, October 30, 2022 No contributions on Monday, October 31, 2022 No contributions on Tuesday, November 1, 2022 No contributions on Wednesday, November 2, 2022 8 contributions on Thursday, November 3, 2022 No contributions on Friday, November 4, 2022 No contributions on Saturday, November 5, 2022 No contributions on Sunday, November 6, 2022 1 contribution on Monday, November 7, 2022 No contributions on Tuesday, November 8, 2022 No contributions on Wednesday, November 9, 2022 No contributions on Thursday, November 10, 2022 No contributions on Friday, November 11, 2022 No contributions on Saturday, November 12, 2022 No contributions on Sunday, November 13, 2022 6 contributions on Monday, November 14, 2022 2 contributions on Tuesday, November 15, 2022 No contributions on Wednesday, November 16, 2022 No contributions on Thursday, November 17, 2022 8 contributions on Friday, November 18, 2022 No contributions on Saturday, November 19, 2022 No contributions on Sunday, November 20, 2022 No contributions on Monday, November 21, 2022 No contributions on Tuesday, November 22, 2022 No contributions on Wednesday, November 23, 2022 No contributions on Thursday, November 24, 2022 3 contributions on Friday, November 25, 2022 1 contribution on Saturday, November 26, 2022 No contributions on Sunday, November 27, 2022 No contributions on Monday, November 28, 2022 No contributions on Tuesday, November 29, 2022 No contributions on Wednesday, November 30, 2022 No contributions on Thursday, December 1, 2022 No contributions on Friday, December 2, 2022 No contributions on Saturday, December 3, 2022 No contributions on Sunday, December 4, 2022 No contributions on Monday, December 5, 2022 8 contributions on Tuesday, December 6, 2022 6 contributions on Wednesday, December 7, 2022 3 contributions on Thursday, December 8, 2022 No contributions on Friday, December 9, 2022 No contributions on Saturday, December 10, 2022 No contributions on Sunday, December 11, 2022 No contributions on Monday, December 12, 2022 No contributions on Tuesday, December 13, 2022 No contributions on Wednesday, December 14, 2022 7 contributions on Thursday, December 15, 2022 1 contribution on Friday, December 16, 2022 No contributions on Saturday, December 17, 2022 No contributions on Sunday, December 18, 2022 No contributions on Monday, December 19, 2022 No contributions on Tuesday, December 20, 2022 No contributions on Wednesday, December 21, 2022 No contributions on Thursday, December 22, 2022 No contributions on Friday, December 23, 2022 No contributions on Saturday, December 24, 2022 4 contributions on Sunday, December 25, 2022 No contributions on Monday, December 26, 2022 4 contributions on Tuesday, December 27, 2022 No contributions on Wednesday, December 28, 2022 No contributions on Thursday, December 29, 2022 No contributions on Friday, December 30, 2022 No contributions on Saturday, December 31, 2022 No contributions on Sunday, January 1, 2023 1 contribution on Monday, January 2, 2023 No contributions on Tuesday, January 3, 2023 No contributions on Wednesday, January 4, 2023 3 contributions on Thursday, January 5, 2023 No contributions on Friday, January 6, 2023 2 contributions on Saturday, January 7, 2023 No contributions on Sunday, January 8, 2023 No contributions on Monday, January 9, 2023 No contributions on Tuesday, January 10, 2023 No contributions on Wednesday, January 11, 2023 5 contributions on Thursday, January 12, 2023 1 contribution on Friday, January 13, 2023 No contributions on Saturday, January 14, 2023 No contributions on Sunday, January 15, 2023 No contributions on Monday, January 16, 2023 8 contributions on Tuesday, January 17, 2023 No contributions on Wednesday, January 18, 2023 No contributions on Thursday, January 19, 2023 1 contribution on Friday, January 20, 2023 1 contribution on Saturday, January 21, 2023 1 contribution on Sunday, January 22, 2023 1 contribution on Monday, January 23, 2023 2 contributions on Tuesday, January 24, 2023 No contributions on Wednesday, January 25, 2023 No contributions on Thursday, January 26, 2023 No contributions on Friday, January 27, 2023 1 contribution on Saturday, January 28, 2023 2 contributions on Sunday, January 29, 2023 2 contributions on Monday, January 30, 2023 4 contributions on Tuesday, January 31, 2023 1 contribution on Wednesday, February 1, 2023 7 contributions on Thursday, February 2, 2023 1 contribution on Friday, February 3, 2023 1 contribution on Saturday, February 4, 2023 7 contributions on Sunday, February 5, 2023 10 contributions on Monday, February 6, 2023 12 contributions on Tuesday, February 7, 2023 14 contributions on Wednesday, February 8, 2023 No contributions on Thursday, February 9, 2023 2 contributions on Friday, February 10, 2023 4 contributions on Saturday, February 11, 2023 No contributions on Sunday, February 12, 2023 2 contributions on Monday, February 13, 2023 No contributions on Tuesday, February 14, 2023 No contributions on Wednesday, February 15, 2023 1 contribution on Thursday, February 16, 2023 No contributions on Friday, February 17, 2023 No contributions on Saturday, February 18, 2023 1 contribution on Sunday, February 19, 2023 2 contributions on Monday, February 20, 2023 No contributions on Tuesday, February 21, 2023 5 contributions on Wednesday, February 22, 2023 No contributions on Thursday, February 23, 2023 No contributions on Friday, February 24, 2023 31 contributions on Saturday, February 25, 2023 2 contributions on Sunday, February 26, 2023 10 contributions on Monday, February 27, 2023 1 contribution on Tuesday, February 28, 2023 No contributions on Wednesday, March 1, 2023 1 contribution on Thursday, March 2, 2023 No contributions on Friday, March 3, 2023 No contributions on Saturday, March 4, 2023 1 contribution on Sunday, March 5, 2023 No contributions on Monday, March 6, 2023 5 contributions on Tuesday, March 7, 2023 No contributions on Wednesday, March 8, 2023 No contributions on Thursday, March 9, 2023 No contributions on Friday, March 10, 2023 No contributions on Saturday, March 11, 2023 No contributions on Sunday, March 12, 2023 8 contributions on Monday, March 13, 2023 No contributions on Tuesday, March 14, 2023 No contributions on Wednesday, March 15, 2023 1 contribution on Thursday, March 16, 2023 No contributions on Friday, March 17, 2023 No contributions on Saturday, March 18, 2023 No contributions on Sunday, March 19, 2023 3 contributions on Monday, March 20, 2023 1 contribution on Tuesday, March 21, 2023 3 contributions on Wednesday, March 22, 2023 1 contribution on Thursday, March 23, 2023 2 contributions on Friday, March 24, 2023 No contributions on Saturday, March 25, 2023 No contributions on Sunday, March 26, 2023 No contributions on Monday, March 27, 2023 No contributions on Tuesday, March 28, 2023 No contributions on Wednesday, March 29, 2023 No contributions on Thursday, March 30, 2023 No contributions on Friday, March 31, 2023 No contributions on Saturday, April 1, 2023 No contributions on Sunday, April 2, 2023 No contributions on Monday, April 3, 2023 No contributions on Tuesday, April 4, 2023 No contributions on Wednesday, April 5, 2023 No contributions on Thursday, April 6, 2023 No contributions on Friday, April 7, 2023 No contributions on Saturday, April 8, 2023 No contributions on Sunday, April 9, 2023 1 contribution on Monday, April 10, 2023 1 contribution on Tuesday, April 11, 2023 No contributions on Wednesday, April 12, 2023 1 contribution on Thursday, April 13, 2023 1 contribution on Friday, April 14, 2023 No contributions on Saturday, April 15, 2023 No contributions on Sunday, April 16, 2023 1 contribution on Monday, April 17, 2023 4 contributions on Tuesday, April 18, 2023 No contributions on Wednesday, April 19, 2023 No contributions on Thursday, April 20, 2023 No contributions on Friday, April 21, 2023 No contributions on Saturday, April 22, 2023 2 contributions on Sunday, April 23, 2023 2 contributions on Monday, April 24, 2023 1 contribution on Tuesday, April 25, 2023 No contributions on Wednesday, April 26, 2023 1 contribution on Thursday, April 27, 2023 5 contributions on Friday, April 28, 2023 3 contributions on Saturday, April 29, 2023 2 contributions on Sunday, April 30, 2023 1 contribution on Monday, May 1, 2023 1 contribution on Tuesday, May 2, 2023 2 contributions on Wednesday, May 3, 2023 1 contribution on Thursday, May 4, 2023 1 contribution on Friday, May 5, 2023 No contributions on Saturday, May 6, 2023 No contributions on Sunday, May 7, 2023 1 contribution on Monday, May 8, 2023 3 contributions on Tuesday, May 9, 2023 2 contributions on Wednesday, May 10, 2023 2 contributions on Thursday, May 11, 2023 2 contributions on Friday, May 12, 2023 No contributions on Saturday, May 13, 2023 No contributions on Sunday, May 14, 2023 No contributions on Monday, May 15, 2023 2 contributions on Tuesday, May 16, 2023 No contributions on Wednesday, May 17, 2023 1 contribution on Thursday, May 18, 2023 No contributions on Friday, May 19, 2023 No contributions on Saturday, May 20, 2023 2 contributions on Sunday, May 21, 2023 No contributions on Monday, May 22, 2023 No contributions on Tuesday, May 23, 2023 No contributions on Wednesday, May 24, 2023 No contributions on Thursday, May 25, 2023 No contributions on Friday, May 26, 2023 No contributions on Saturday, May 27, 2023 No contributions on Sunday, May 28, 2023 No contributions on Monday, May 29, 2023 No contributions on Tuesday, May 30, 2023 No contributions on Wednesday, May 31, 2023 Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Mon Wed Fri
Activity overview

Contribution activity

May 2023

Created 2 commits in 1 repository

Created an issue in worknenjoy/gitpay that received 3 comments

It appears that the Terms and Conditions do not protect users from having their data unknowingly collected

gitpay/frontend/src/main/app.js Line 40 in b5176ed The T&C of LogRocket are way more comprehensive and provide definitions of and expla…

3 comments
14 contributions in private repositories May 1 – May 18

Seeing something unexpected? Take a look at the GitHub profile guide.