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.
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!