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. 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 679 72

  2. HTTPretty Public

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

    Python 2k 264

  3. lettuce Public

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

    Python 1.3k 331

  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 27 11

448 contributions in the last year

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

Contribution activity

February 2023

Opened 1 pull request in 1 repository
gabrielfalcao/sure 1 open
20 contributions in private repositories Feb 2 – Feb 7

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