Arguably, computers and faster communication systems have changed the world more than any other technology. Yet there have been many scientific failures along the way, some prominent, many minor, and a widening gap between aspirations and reality. This article discusses the problem of pseudoscience in computer science. I discuss Richard...
Some Things to Remember Before Acting Pretentiously
And a few personal thoughts on the value of sincere humility
A few days ago, I had a conversation about my ambitions for the future. At one point, I mentioned that I would like to achieve something remarkable and gain public recognition for it. In retrospect, my answer was quite pretentious. After reflecting deeply on this topic, I realized that what...
The Last Paper's Myth
A tale of contending interests
The "last paper myth" emerges once academic supervisors realize that a student is about to earn their PhD and leave. It's one last stronghold for supervisors to capitalize on the time and effort they have invested in their students' scientific training. This relentless push not only detracts from the true...
On the Rise, Decline, and Persistence of Web Technologies
From Static HTML Pages to WebAssembly
The web is (arguably) the only tech platform that has been continuously transformed and evolved at a global scale over the last 30 years. How was this possible? What can we learn from the past technical mistakes and successes? Over the years, I have witnesses the emergence of various web...
The Most Relevant Technical Skill in My Career
It isn't Java coding
Have you ever wonder which is most relevant technical skill in your career? It's not necessarily a programming language or the latest framework. For me, it is Exploratory Data Analysis (EDA). Why? Because being able to manipulate and find relevant information from various data sources has opened me doors to...
AI Doesn't Make Me the Same Coffee
And it doesn't understand wine either
Advancements in AI are set to transform the way we interact with the world, offering increased free time and enhanced capabilities. However, if not carefully managed, AI poses risks such as reducing human experiences and potentially becoming a significant social issue.
Building and Leveling Up a Computer Scientist Résumé
My personal take to stand out from the crowd
Résumés have become fundamental for personal branding. They not only list qualifications but also reflect an individual's professional identity, career goals, and unique value proposition. In today's competitive job market, a well-crafted résumé can make all the difference in securing a job interview. This article covers how to build the...
Revisiting Ken Thompson’s Reflection on Trusting Trust
One of the most chilling ideas in cybersecurity's history
Creating software entirely from scratch is impractical today. Every component, library, and tool we use in software development relies on open source libraries and compilers. In his talk "Reflections on Trusting Trust," Ken Thompson brilliantly demonstrates that "You cannot trust code that you did not totally created yourself." I find...
How I Peer Review Research Papers
My reviewer flow, focused template, and personal tips
In this blog post, I share my experiences and personal approach when peer-reviewing research papers in the field of software engineering. My focus is on delivering good peer reviews, fast and effectively. I give my template and provide generalizable examples of good and bad reviews. After reading this post, as...
My Ultimate Terminal Customizations for Windows
Another guide
This post describes the tools I use to resemble my macOS terminal customizations on Windows. This includes the fonts that I choose for the Windows Terminal app, an enhanced PowerShell, and the installation of third-party tools like Oh My Posh. I've found that these small improvements make me a happier...