Posts

Trust is Earned

Ken Thompson subtitles this article with the following: “ […] Perhaps it is more important to trust the people who wrote the software.” This person is speaking the truth—give him a beer; I invite if he fancies! Maybe I will skip the many stories I have of broken hearts. What I won’t skip, though, is a very particular story of mistrust in our industry. With that, I am referring to a recent news breakthrough: that of Frances Haugen whistleblowing Facebook’s truest interests on profit before public good. First things first, I mean, we all kind of knew that ; how can anyone trust a man that wears too much sunscreen? No, okay, it is healthy to have a nice skin care routine. Memes aside… let me rephrase that: how can anyone trust a man who is attempting to force indigenous landowners out of ancient property to increase his’? Or, more remarkably, a man who previously referred to “people who handed over their data” as “dumb fucks”? I could go on, like how Facebook content moderators feel lit

The Web Sure Seems Quite Fun; Please, Stay with Us

Right off the bat, Lin Clark is amazing. She seems knowledgeable on her interests, and certainly sparks a keenness in Software Engineering Radio Episode 323’s main technological topic: WebAssembly . Quite recently, I have fancied an attention for web technologies. Much as I praised the web from this blog’s latest entry, now I realize that it must be quite a fun place to deal with. First it was Ruby, then newfound feelings for JavaScript and TypeScript, and now WebAssembly. At the very least, I have an appreciation for how open it is to platforms, and all the efforts and sweat to keep it as open and accessible as possible. Talking about WebAssembly, though, … the Net truly worries me. I believe I am stating the obvious when I say that everyone, in a way or another, got badly affected by the Covid-19 pandemic. Not that obvious, though, is stating specifically who . Of course, those underrepresented and certainly oppressed felt it much worse. In talking about the web, perhaps one of its g

Compiler Design for Education Pt. 2.: Accessible Tools

Fun fact: My intentions were not to write a follow-up to my previous entry Compiler Design for Education , which I have now appended with Pt. 1.: Anatomy of Computer Languages , but given the much feedback I have received from my reading fans (zero in total), I just had to. Jokes aside, hey, here we are again with another publication from our great educator, Ariel Ortiz (I don’t say this with flattery in mind). So, while reading this publication, I sighed, for I forgot to take into account something quite important when advocating for Compiler Design courses in education: its tools, and how accessible they are. Just as how a medical student needs a corpse, a limb, or at least a tissue to learn how to dissect and perform surgeries for research or whatever, a student needs a platform where to develop and research a compiler of interest, be it someone else’s or one of her making. I believe Ariel Ortiz nailed it on this one: the web is that platform. It is easily accessible, and relative

Compiler Design for Education Pt. 1.: Anatomy of Computer Languages

Our engineering field works with metaphors, heuristics, mnemonics, and much more. Sometimes, it even seems surprising to describe it as an engineering field, given how ambiguous and traditional its learning and teaching methods may be—we often think of language as something more related to anthropology and artistry. Anyways, in stating this, my intentions are not to open a discussion on my beliefs about what is, and should be , software engineering. With this, I am observing a learning behavior that, on one hand, tends to follow an oral tradition of education, which is not bad at all, but may obfuscate what really happens behind the machinery of parsers and interpreters. These languages of ours, computer languages , fairly intersect mathematics and linguistics. Much akin how we learn about these topics in early school days by counting with fingers and singing songs of the alphabet, so happens with software engineering with the amount of advice, wisdom, and empiricism it involves. Aga

Grace

Grace: what a beautiful name! Grace: what a fitting name too! Regarding grace , the feeling, it is a personal experience. The most fitting “definition” is the one given by Bifo Berardi, which goes along the lines of being “in tune with reality.” I quoted definition in the last sentence because, even if this is a faithful definition of such feeling, it is felt, or, rather, embodied, quite differently from each one of us: the feeling, and thus its meaning, is subjective. It so happens that, when I write code in a certain language, I feel this grace, specially when it compiles correctly, first-time, with no seeming bugs (a term I would love to believe Grace coined) whatsoever. But I do not feel this grace in other high-level languages. And as I enjoy some languages, and some I do not, others enjoy them like I do, and others do not, or maybe some are more ambivalent. This is to say: the experience of writing in a certain high-level programming language is intrinsically attached to t

Thanks, GNU Project!

The GNU Project does it, again! While, yes, it is true that Richard Stallman right now stands as a character with strange mannerisms and behaviors, to the point of some MIT alumni considering him to be negative to the whole academic environment, the contributions he has pushed to the whole FOSS, GNU Project, and, remarkably, software development, are of quite a high importance. Of course, this should not be understood as a way to clean Stallman of his problematic attitudes; this is just saying that he, and most importantly, the GNU Project, are keystone characters to our field. Regarding this particular podcast, wow. First things first, Dr. Morgan Deters is quite knowledgeable and articulate. So much, in fact, that this episode’s host just let him talk; our guest really knows how to explain his business. This isn’t surprising; our guest specialized on Formal Methods and Verification. That is, he has to be articulate and have a pure mode of thought to even consider dealing problems in

Accessibility is All: For the Hundred-Year Language

I mostly agree with Paul Graham. In fact, the author raises some interesting points, which concludes in a grounded invitation to anyone to imagine and implement such a keystone language. Regarding what I agree with, this has to be his ideas about a minimal, yet just sufficiently-enough, language founded on the least amount of core  axioms . I believe this is wise; these axioms, after all, are rules. And as rules do, the more these rules exist, the more they bound possibilities, the last of which must not be impeded if we are to really conceive a language that can do all: a language that just focuses on implementation, and doesn’t get in the way of the mind. I agree with him because what, I believe, he correctly diagnoses is the need of greater accessibility. But the accessibility he is talking about is an accessibility of thinking, which is great! The kind of accessibility I would like to talk about, though, is about language and other skills. I think this so-called “hundred-year (prog