{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "César Soto Valero",
  "home_page_url": "https://www.cesarsotovalero.net/",
  "feed_url": "https://www.cesarsotovalero.net/feed.json",
  "description": "César - Computer Scientist",
  "language": "en",
  "authors": [{ "name": "César Soto Valero", "url": "https://www.cesarsotovalero.net/about-me" }],
  "items": [
    {
      "id": "https://www.cesarsotovalero.net/blog/sdd-and-the-future-of-software-development.html",
      "url": "https://www.cesarsotovalero.net/blog/sdd-and-the-future-of-software-development.html",
      "title": "SDD and the Future of Software Development",
      "summary": "AI can now generate code faster than you can humanly read it. But that is not the problem. The problem is ambiguity moving at machine speed.   Spec-Driven Development (SDD) makes the specification (a.k.a, the \"spec\") the primary artifact so AI agents get constraints instead of vague requirements. This post explains what SDD is, why it is rising in popularity now, the three levels of SDD, where it works, where it breaks, and a practical checklist you can use right away.",
      "date_published": "2026-02-01T00:00:00-08:00",
      "tags": ["coding"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/projections-for-data-related-roles-in-the-ai-era.html",
      "url": "https://www.cesarsotovalero.net/blog/projections-for-data-related-roles-in-the-ai-era.html",
      "title": "Projections for Data-Related Roles in The AI Era",
      "summary": "Models are getting easier to train and easier to copy. The scarce skill is owning the whole system: data, deployment, monitoring, governance, and the business outcomes that fall out of it.",
      "date_published": "2026-01-15T00:00:00-08:00",
      "tags": ["career"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/creativity-just-became-the-most-practical-skill.html",
      "url": "https://www.cesarsotovalero.net/blog/creativity-just-became-the-most-practical-skill.html",
      "title": "Why Creativity Just Became the Most Practical Skill",
      "summary": "In an AI-saturated world where execution is cheap, the scarce resource is original framing. This blog post explores how to treat creativity as a practical, trainable skill and how to build it with simple daily habits.",
      "date_published": "2026-01-10T00:00:00-08:00",
      "tags": ["career"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/when-answers-get-cheaper-questions-are-gold.html",
      "url": "https://www.cesarsotovalero.net/blog/when-answers-get-cheaper-questions-are-gold.html",
      "title": "When Answers Get Cheaper, Questions Are Gold",
      "summary": "Knowledge is abundant now. The ability to ask insightful questions is becoming increasingly valuable. I believe that mastering the art of questioning can unlock new opportunities and get the most of the current AI landscape. This post dives into techniques, patterns, and anti-patterns I've learned over time from top questioners. It covers real-world examples and best practices targeting both humans and AI alike.",
      "date_published": "2025-08-14T00:00:00-07:00",
      "tags": ["career"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/consistently-measure-consistency-to-beat-talent.html",
      "url": "https://www.cesarsotovalero.net/blog/consistently-measure-consistency-to-beat-talent.html",
      "title": "Consistently Measure Your Consistency to Beat Talent",
      "summary": "I've never considered myself particularly talented at anything. Ever.\nBut I have consistently outworked my peers, and I believe that anyone can outperform their toughest competitors by just being consistent.\nSo, consistency beats talent every time. The secret? Measure your consistency, not just your results.\nIn this post, I share why tracking your consistency is the real key to outperforming even the most talented people.",
      "date_published": "2025-07-31T00:00:00-07:00",
      "tags": ["career"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/i-am-switching-to-python-and-actually-liking-it.html",
      "url": "https://www.cesarsotovalero.net/blog/i-am-switching-to-python-and-actually-liking-it.html",
      "title": "I'm Switching to Python and Actually Liking It",
      "summary": "I've started writing more Python code lately (because of... AI, you know). In this post, I share the tools, libraries, configs, and other integrations I use for building production-grade Python applications following a frontend-backend architecture.",
      "date_published": "2025-07-15T00:00:00-07:00",
      "tags": ["tools"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/evaluation-metrics-for-real-time-financial-fraud-detection-ml-models.html",
      "url": "https://www.cesarsotovalero.net/blog/evaluation-metrics-for-real-time-financial-fraud-detection-ml-models.html",
      "title": "Evaluation Metrics for Real-Time Financial Fraud Detection ML Models",
      "summary": "After training a real-time financial fraud detection model, the next step is to evaluate its performance. This post provides an overview of the most common evaluation metrics and considerations for fraud detection models, including confusion matrix, precision, recall, F1-score, AUC-ROC, AUC-PR, and more.",
      "date_published": "2025-05-08T00:00:00-07:00",
      "tags": ["ai"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/from-classical-ml-to-dnns-and-gnns-for-real-time-financial-fraud-detection.html",
      "url": "https://www.cesarsotovalero.net/blog/from-classical-ml-to-dnns-and-gnns-for-real-time-financial-fraud-detection.html",
      "title": "From Classical ML to DNNs and GNNs for Real-Time Financial Fraud Detection",
      "summary": "Financial transaction fraud is a pervasive problem costing institutions and customers billions annually. This survey reviews the current state-of-the-art in real-time transaction fraud detection, spanning both academic research and industry adopted solutions.",
      "date_published": "2025-04-03T00:00:00-07:00",
      "tags": ["ai"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/building-genai-applications-today.html",
      "url": "https://www.cesarsotovalero.net/blog/building-genai-applications-today.html",
      "title": "Building GenAI Applications Today",
      "summary": "Generative AI has taken the world by storm, offering endless opportunities for innovation. But as with any new technology, there are plenty of pitfalls to avoid. In this post, I dive into the current state of AI startups, shedding light on what works, what doesn't, and why. If you're looking to build something with AI, let’s step back and reflect on where it makes sense to innovate and where it doesn't. From avoiding overhyped general-purpose chatbots to understanding the limitations of AI in niche markets, this post offers practical insights to help you navigate the AI hype more effectively.",
      "date_published": "2024-11-17T00:00:00-08:00",
      "tags": ["ai"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/why-genai-will-not-replace-software-engineers-just-yet.html",
      "url": "https://www.cesarsotovalero.net/blog/why-genai-will-not-replace-software-engineers-just-yet.html",
      "title": "Why GenAI Will NOT Replace Software Engineers",
      "summary": "GenAI systems are becoming more and more capable of performing complex cognitive tasks that were once thought to be uniquely human. In particular, LLMs are proven to be very good at writing code. With all the buzz around GenAI replacing software engineers, are our jobs really at risk? In this article, I dive deep into AI's current capabilities and how they stack up against the demands of real-world software development. I discuss the actual potential of GenAI to assist in common development activities, and where it still falls short when it comes to creative problem solving and human intuition.",
      "date_published": "2024-08-19T00:00:00-07:00",
      "tags": ["ai"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/the-not-so-strange-case-of-cargo-cult-in-computer-science-research.html",
      "url": "https://www.cesarsotovalero.net/blog/the-not-so-strange-case-of-cargo-cult-in-computer-science-research.html",
      "title": "The Not-So-Strange Case of Cargo Cult in Computer Science Research",
      "summary": "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 Feynman's coined term \"cargo cult science,\" as he said: \"Everywhere I see computer scientists that look like they are working on the right thing, but the thing actually doesn't work.\" I offer guidance on how to stay away of this dangerous practice, from a scientific standpoint.",
      "date_published": "2024-07-13T00:00:00-07:00",
      "tags": ["science"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/some-things-to-remember-before-acting-pretentiously.html",
      "url": "https://www.cesarsotovalero.net/blog/some-things-to-remember-before-acting-pretentiously.html",
      "title": "Some Things to Remember Before Acting Pretentiously",
      "summary": "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 truly drives me is the desire to help and inspire others so they can achieve great things. This blog post lists all the thoughts that crossed my mind as I came to this conclusion.",
      "date_published": "2024-06-07T00:00:00-07:00",
      "tags": ["career"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/the-last-paper-myth.html",
      "url": "https://www.cesarsotovalero.net/blog/the-last-paper-myth.html",
      "title": "The Last Paper's Myth",
      "summary": "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 purpose of academic research but also imposes significant personal and mental strain on the most successful students. This article explores the expectations versus reality at the end of the PhD journey and provides actionable insights for students on how to identify, address, and navigate this particular pressure.",
      "date_published": "2024-05-05T00:00:00-07:00",
      "tags": ["science"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/the-evolution-of-the-web-from-html-to-webassembly.html",
      "url": "https://www.cesarsotovalero.net/blog/the-evolution-of-the-web-from-html-to-webassembly.html",
      "title": "On the Rise, Decline, and Persistence of Web Technologies",
      "summary": "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 technologies. Some were revolutionary, while others didn't pass the test of time. In this article, I dive into the evolution of web technologies from the 1990s to the present. My focus is on the engineering paradigms that marked inflection points in web's history. Those who don't know tech history are doomed to repeat past engineering mistakes.",
      "date_published": "2024-04-27T00:00:00-07:00",
      "tags": ["web"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/the-most-relevant-technical-skill-in-my-career.html",
      "url": "https://www.cesarsotovalero.net/blog/the-most-relevant-technical-skill-in-my-career.html",
      "title": "The Most Relevant Technical Skill in My Career",
      "summary": "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 new opportunities in both academia and industry. This post is about my journey, the lessons learned, and the resources I have used to enhance my EDA skills over time.",
      "date_published": "2024-03-30T00:00:00-07:00",
      "tags": ["career"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/ai-doesnt-make-me-the-same-coffee.html",
      "url": "https://www.cesarsotovalero.net/blog/ai-doesnt-make-me-the-same-coffee.html",
      "title": "AI Doesn't Make Me the Same Coffee",
      "summary": "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.",
      "date_published": "2024-02-13T00:00:00-08:00",
      "tags": ["ai"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/building-and-leveling-up-a-computer-scientist-resume.html",
      "url": "https://www.cesarsotovalero.net/blog/building-and-leveling-up-a-computer-scientist-resume.html",
      "title": "Building and Leveling Up a Computer Scientist Résumé",
      "summary": "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 résumé of a scientist. This includes what content to add what to skip, its structure, and what I believe are common mistakes to be avoided.",
      "date_published": "2024-01-12T00:00:00-08:00",
      "tags": ["career"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/revisiting-ken-thompson-reflection-on-trusting-trust.html",
      "url": "https://www.cesarsotovalero.net/blog/revisiting-ken-thompson-reflection-on-trusting-trust.html",
      "title": "Revisiting Ken Thompson’s Reflection on Trusting Trust",
      "summary": "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 the method of proving this assertion to be absolutely fascinating. It could be one of the most bold and thought-provoking ideas in cybersecurity history. In this article, I revisit Thompson's famous proof of distrust, 40 years later.",
      "date_published": "2023-12-27T00:00:00-08:00",
      "tags": ["security"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/how-i-peer-review-research-papers.html",
      "url": "https://www.cesarsotovalero.net/blog/how-i-peer-review-research-papers.html",
      "title": "How I Peer Review Research Papers",
      "summary": "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 a reviewer, you will gain first-hand insight on how to give constructive feedback to paper's authors so that they could improve the quality of their research papers.",
      "date_published": "2023-11-12T00:00:00-08:00",
      "tags": ["science"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/my-ultimate-terminal-customizations-for-windows.html",
      "url": "https://www.cesarsotovalero.net/blog/my-ultimate-terminal-customizations-for-windows.html",
      "title": "My Ultimate Terminal Customizations for Windows",
      "summary": "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 Windows user.",
      "date_published": "2023-10-13T00:00:00-07:00",
      "tags": ["productivity"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/surviving-the-ai-revolution-as-a-software-engineer.html",
      "url": "https://www.cesarsotovalero.net/blog/surviving-the-ai-revolution-as-a-software-engineer.html",
      "title": "Surviving the AI Revolution as a Software Engineer",
      "summary": "The next wave of extremely powerful and specialized AI models is coming, and it will likely revolutionize software engineering as we know it. As developers, we need to get the skills to surf the wave and keep our jobs. As with every technological breakthrough, AI will create new jobs and destroy others. In this article, I will focus on how you can keep your job in this new world dominated by AI. My focus is on software engineering jobs, but most of the principles I mentioned also apply to other professions.",
      "date_published": "2023-09-17T00:00:00-07:00",
      "tags": ["ai"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/a-prime-on-public-key-infrastructure.html",
      "url": "https://www.cesarsotovalero.net/blog/a-prime-on-public-key-infrastructure.html",
      "title": "A Prime on Public Key Infrastructure",
      "summary": "This article delves into symmetric and asymmetric encryption, as the building blocks of Public Key Infrastructure (PKI). It describes how PKI allows safeguarding the authenticity and security of digital communications across the internet.",
      "date_published": "2023-08-13T00:00:00-07:00",
      "tags": ["security"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/my-phd-as-a-comic.html",
      "url": "https://www.cesarsotovalero.net/blog/my-phd-as-a-comic.html",
      "title": "My PhD as a Comic",
      "summary": "At the end of my PhD journey, I was lucky enough to be surrounded by professional software artists. Together, we created a comic to make the ideas of my PhD thesis more accessible and engaging to the non-tech audience. In this article, I share the comic and the story behind it.",
      "date_published": "2023-07-10T00:00:00-07:00",
      "tags": ["science"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/how-to-give-a-great-technical-presentation.html",
      "url": "https://www.cesarsotovalero.net/blog/how-to-give-a-great-technical-presentation.html",
      "title": "How to Give a Great Technical Presentation",
      "summary": "I believe that the secret to delivering a great technical presentation is feeling in control. This enables the confidence to communicate effectively and it also helps to be perceived as an expert. In this article, I share the tips and tricks I've learned from my own flaws, and also from the best speakers.",
      "date_published": "2023-06-22T00:00:00-07:00",
      "tags": ["career"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/prompting-is-all-we-need.html",
      "url": "https://www.cesarsotovalero.net/blog/prompting-is-all-we-need.html",
      "title": "Prompting is All We Need",
      "summary": "Today's AI-powered systems can generate code cheaper and faster than developers. The new era of automated text generation has come to us developers. And with it, there comes a new batch of fresh challenges. Fortunately, AI still craves human guidance. Effective prompt engineering is revolutionizing software development as we know it. And just as the technology evolves, so do we!",
      "date_published": "2023-05-27T00:00:00-07:00",
      "tags": ["sarcasm"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/paper-figures-are-always-subject-to-change.html",
      "url": "https://www.cesarsotovalero.net/blog/paper-figures-are-always-subject-to-change.html",
      "title": "Let's Face It&#58; Paper Figures Are Always Subject to Change",
      "summary": "As a researcher, I have learned that the process of creating figures is a journey of discovery, a process of refinement, and a crucible of critique. This article provides insights into the transformations that a particular figure undergo throughout the research process (before publication).",
      "date_published": "2023-03-10T00:00:00-08:00",
      "tags": ["science"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/securing-a-permanent-job-in-sweden-before-completing-my-phd.html",
      "url": "https://www.cesarsotovalero.net/blog/securing-a-permanent-job-in-sweden-before-completing-my-phd.html",
      "title": "Securing a Permanent Job in Sweden Before Completing My PhD",
      "summary": "In this article, I share insights about my transitional journey when moving from academia to industry, having secured a position at a big Swedish company prior to completing my PhD in Computer Science. My goal is to provide some insights, inspiration, and hope to my colleagues who find themselves contemplating a similar professional leap.",
      "date_published": "2023-02-14T00:00:00-08:00",
      "tags": ["career"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/data-serialization-deserialization-in-java-with-apache-avro.html",
      "url": "https://www.cesarsotovalero.net/blog/data-serialization-deserialization-in-java-with-apache-avro.html",
      "title": "Data Serialization/Deserialization in Java With Apache Avro",
      "summary": "Apache Avro stands as the go-to data serialization framework for efficient binary data streaming. In this article, I cover the main features of Avro and why/when/how to use it for serialize and deserialize data files in Java.",
      "date_published": "2023-01-20T00:00:00-08:00",
      "tags": ["big-data"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/how-to-write-a-good-cover-letter-for-a-research-paper.html",
      "url": "https://www.cesarsotovalero.net/blog/how-to-write-a-good-cover-letter-for-a-research-paper.html",
      "title": "How to Write a Good Cover Letter for a Research Paper",
      "summary": "It's a common practice in academic journals to ask authors to write a short cover letter to the editor. In this post, I share my experience writing cover letters for academic journals, along with useful tricks and tips that I've found along the way.",
      "date_published": "2022-11-23T00:00:00-08:00",
      "tags": ["science"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/the-true-value-of-attending-academic-conferences.html",
      "url": "https://www.cesarsotovalero.net/blog/the-true-value-of-attending-academic-conferences.html",
      "title": "The True Value of Attending Academic Conferences",
      "summary": "I recently attended the 29th edition of ESEC/FSE 2022 in Singapore. This was my first time participating in a big academic conference (in real-life). In this blog post, I share my experiences, with a focus on what I think is the actual value of attending these kinds of events.",
      "date_published": "2022-11-19T00:00:00-08:00",
      "tags": ["science"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/how-the-jvm-executes-java-code.html",
      "url": "https://www.cesarsotovalero.net/blog/how-the-jvm-executes-java-code.html",
      "title": "The Execution Lifecycle of a Java Application",
      "summary": "This blog post describes in details what happens when executing a Java application. After reading this post, you will understand the execution lifecycle of a Java application and the activities performed by the JVM during the execution phase.",
      "date_published": "2022-10-20T00:00:00-07:00",
      "tags": ["java"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/on-the-parkinson-law-of-triviality-for-computer-science-researchers.html",
      "url": "https://www.cesarsotovalero.net/blog/on-the-parkinson-law-of-triviality-for-computer-science-researchers.html",
      "title": "On the Parkinson's Law of Triviality for Computer Science Researchers",
      "summary": "The Parkinson's Law explains how we spend disproportionate amounts of time discussing trivialities instead of focusing on solving core problems. In the research context, this behavior is considered unproductive because it drains the researchers' energy on matters of little or null impact. This behavior can also be considered a form of procrastination in which the challenging tasks are postponed. In this post, I share my experience after many years of dealing with this issue.",
      "date_published": "2022-07-22T00:00:00-07:00",
      "tags": ["science"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/why-debloating-third-party-software.html",
      "url": "https://www.cesarsotovalero.net/blog/why-debloating-third-party-software.html",
      "title": "Why Debloating Third-Party Software?",
      "summary": "The Log4j vulnerability is an example of the dangers of massively reusing third-party libraries. This article discusses how software debloating can make a difference by reducing the attack surface of applications, removing unnecessary code from software libraries.",
      "date_published": "2022-06-15T00:00:00-07:00",
      "tags": ["debloating"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/my-ultimate-terminal-customizations-for-macos.html",
      "url": "https://www.cesarsotovalero.net/blog/my-ultimate-terminal-customizations-for-macos.html",
      "title": "My Ultimate Terminal Customizations for macOS",
      "summary": "There is a common belief that top-class software developers can do their job without ever abandoning the terminal. This blog post is a how-to guide for you (and my future self) to configure the terminal in a way so that we will enjoy every command typed on it.",
      "date_published": "2022-05-22T00:00:00-07:00",
      "tags": ["productivity"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/no-one-cares-about-your-research.html",
      "url": "https://www.cesarsotovalero.net/blog/no-one-cares-about-your-research.html",
      "title": "No One Cares About Your Research&#33;",
      "summary": "Doing a PhD is sometimes a very stressful journey. I believe this stress is unnecessary, as it primarily results from students taking science too seriously. They genuinely believe that others are continuously evaluating the quality of their research. But this is very far from being true. In practice, no one actually cares about a particular research paper that doesn't have her name on it. And I argue that this is a comfortable truth.",
      "date_published": "2022-05-11T00:00:00-07:00",
      "tags": ["science"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/the-dynamic-features-of-java.html",
      "url": "https://www.cesarsotovalero.net/blog/the-dynamic-features-of-java.html",
      "title": "The Dynamic Features of Java",
      "summary": "The existence of dynamic features built in the language allows Java developers to transform their program executions at runtime dynamically. However, these features in most Java programs are a fundamental problem for static analysis tools that rely on precise call-graph construction. Notably, the GraalVM compiler relies on points-to analysis to perform AOT compilation. This blog post covers the main dynamic features of Java and the reasons why they are still a long-standing issue for researchers and practitioners in program analysis.",
      "date_published": "2022-04-22T00:00:00-07:00",
      "tags": ["java"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/inversion-of-control-and-dependency-injection-in-java.html",
      "url": "https://www.cesarsotovalero.net/blog/inversion-of-control-and-dependency-injection-in-java.html",
      "title": "Inversion of Control and Dependency Injection in Java",
      "summary": "This blog post explains Inversion of Control and Dependency Injection in Java. These concepts are the backbone of modern enterprise Java frameworks.",
      "date_published": "2022-04-12T00:00:00-07:00",
      "tags": ["java"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/aot-vs-jit-compilation-in-java.html",
      "url": "https://www.cesarsotovalero.net/blog/aot-vs-jit-compilation-in-java.html",
      "title": "AOT vs. JIT Compilation in Java",
      "summary": "AOT compilation, supported by the GraalVM compiler, seems to be the future for Java and the programming languages that compile to JVM bytecode. But what is the difference between compiling source code using a JIT compiler w.r.t using an AOT compiler? This post explains the difference between these two approaches.",
      "date_published": "2022-03-27T00:00:00-07:00",
      "tags": ["java"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/how-to-write-a-good-revision-letter.html",
      "url": "https://www.cesarsotovalero.net/blog/how-to-write-a-good-revision-letter.html",
      "title": "How to Write a Good Revision Letter For an Academic Paper",
      "summary": "Dealing with a major revision is a challenging process in the life of doctoral students. In this post, I share my personal system and some useful resources that may help you to navigate the academic revision process with panache.",
      "date_published": "2022-03-13T00:00:00-08:00",
      "tags": ["science"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/how-phd-profiles-are-evaluated.html",
      "url": "https://www.cesarsotovalero.net/blog/how-phd-profiles-are-evaluated.html",
      "title": "Staying in Academia&#58; How PhD Profiles are Evaluated?",
      "summary": "For those who decided to stay in academia, getting a position as a tenured professor is not easy, to say the least. There are several evaluation rounds to pass before even considering the posibility of reaching this position. Researchers' profiles are carefully evaluated before being accepted or rejected, so it is better for you to prepare well for what is coming.",
      "date_published": "2022-02-22T00:00:00-08:00",
      "tags": ["science"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/bus-factor-a-human-centered-risk-metric-in-the-software-supply-chain.html",
      "url": "https://www.cesarsotovalero.net/blog/bus-factor-a-human-centered-risk-metric-in-the-software-supply-chain.html",
      "title": "Bus Factor&#58; A Human-Centered Risk Metric in the Software Supply Chain",
      "summary": "What would happen to a software project if some of its developers were suddenly hit by a bus? The “bus factor” measures the amount of spread of knowledge within a dev team so that the project can survive the most drastic loss of personnel. Managers should keep an eye on this metric for the best of their projects.",
      "date_published": "2022-02-06T00:00:00-08:00",
      "tags": ["metrics"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/how-to-write-a-good-paper-rebuttal.html",
      "url": "https://www.cesarsotovalero.net/blog/how-to-write-a-good-paper-rebuttal.html",
      "title": "How to Write a Good Paper Rebuttal",
      "summary": "My conference paper was rejected. Is it worth writing a rebuttal? This post answers this question and presents practical guidelines to write an excellent rebuttal.",
      "date_published": "2022-01-29T00:00:00-08:00",
      "tags": ["science"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/how-do-i-track-the-progress-of-my-research-projects.html",
      "url": "https://www.cesarsotovalero.net/blog/how-do-i-track-the-progress-of-my-research-projects.html",
      "title": "How to Track the Progress of a Research Project",
      "summary": "Academic research is a demanding activity in constant change and evolution. Consequently, tracking the progress of a research project is challenging. This post describes my methodology to address this particular problem.",
      "date_published": "2022-01-17T00:00:00-08:00",
      "tags": ["science"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/encoding-encryption-hashing-and-obfuscation-in-java.html",
      "url": "https://www.cesarsotovalero.net/blog/encoding-encryption-hashing-and-obfuscation-in-java.html",
      "title": "Encoding, Encryption, Hashing, and Obfuscation in Java",
      "summary": "The concepts of encoding, encryption, hashing, and obfuscation are often mistakenly confused or taken as similar (which is even worse). Let's clarify this matter and see some Java code examples of practical applications.",
      "date_published": "2021-12-19T00:00:00-08:00",
      "tags": ["java"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/sigbovik-the-ig-nobel-for-academics-and-computer-science-researchers.html",
      "url": "https://www.cesarsotovalero.net/blog/sigbovik-the-ig-nobel-for-academics-and-computer-science-researchers.html",
      "title": "SIGBOVIK&#58; The Ig Nobel for Academics and Computer Science Researchers",
      "summary": "The SIGBOVIK humor-filled conference is the most disruptive Computer Science academic conference I've ever seen. This exceptional venue allows demystifying complicated concepts through sarcasm and mockery while getting away from the rigors of standard academic research.",
      "date_published": "2021-12-05T00:00:00-08:00",
      "tags": ["sarcasm"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/how-to-set-up-a-blockchain-network-with-hyperledger-besu.html",
      "url": "https://www.cesarsotovalero.net/blog/how-to-set-up-a-blockchain-network-with-hyperledger-besu.html",
      "title": "How to Set Up A Blockchain Network With Hyperledger Besu",
      "summary": "If you are a Java developer interested in cryptocurrencies and blockchain-related technologies, you should probably have heard about Hyperledger Besu, the official Java client of the Ethereum blockchain. In this post, we're going to set up a production-ready Ethereum client using Besu.",
      "date_published": "2021-11-21T00:00:00-08:00",
      "tags": ["crypto"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/how-i-overcome-writer-block-when-preparing-a-research-paper.html",
      "url": "https://www.cesarsotovalero.net/blog/how-i-overcome-writer-block-when-preparing-a-research-paper.html",
      "title": "How I Overcome Writer's Block When Preparing a Research Paper",
      "summary": "Writing a research paper can be a tremendous challenge, even for experienced researchers. I've faced the so-called writer's block many times, especially when starting the writing process. Fortunately, with time I've developed personal systems that allow me to deal with this particular issue.",
      "date_published": "2021-11-07T00:00:00-07:00",
      "tags": ["science"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/seven-reasons-to-go-for-a-phd-in-computer-science.html",
      "url": "https://www.cesarsotovalero.net/blog/seven-reasons-to-go-for-a-phd-in-computer-science.html",
      "title": "Seven Reasons to Go For a PhD In Computer Science",
      "summary": "Starting a PhD in Computer Science is a serious decision that literally changes your life. There are many motivations to choose this career path. This post outlines seven reasons for pursuing a PhD in Computer Science. It stresses the importance of clear motivations due to the significant time investment required. The \"good\" reasons include satisfying intellectual curiosity, becoming a professional researcher with opportunities in academia or industry, and building a career network among elite peers. The \"ugly\" reasons involve setting oneself apart professionally, challenging personal ambitions, owning one's work for recognition, and using a PhD as a pathway to emigrate for better opportunities. Ultimately, the decision to pursue a PhD should align with personal aspirations, whether driven by a desire to advance knowledge or personal goals, acknowledging the profound impact it can have on one's life.",
      "date_published": "2021-10-21T00:00:00-07:00",
      "tags": ["career"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/the-software-supply-chain.html",
      "url": "https://www.cesarsotovalero.net/blog/the-software-supply-chain.html",
      "title": "The Software Supply Chain",
      "summary": "The software supply chain encompasses all technologies and processes involved in moving code from development to production. It heavily relies on third-party components, which introduces significant security and maintenance risks. Supply chain attacks occur when malicious actors compromise these components, making entire infrastructures vulnerable, as seen in incidents like the SolarWinds breach. To mitigate these risks, organizations must harden their supply chains by increasing data collection and analysis to detect attacks, adopting preventive tools and processes, and establishing rapid recovery mechanisms. This article covers how to implement reproducible builds and continuously assessing all elements of the supply chain, which are critical steps toward maintaining a secure and efficient software delivery pipeline.",
      "date_published": "2021-10-11T00:00:00-07:00",
      "tags": ["security"]
    },
    {
      "id": "https://www.cesarsotovalero.net/blog/design-for-microservices.html",
      "url": "https://www.cesarsotovalero.net/blog/design-for-microservices.html",
      "title": "Design For Microservices!",
      "summary": "The microservices architecture has gained significant momentum in the last years. Modularity, scalability, and elasticity are some of its essential characteristics. If you have an open-source project, you should consider designing it to be microservices friendly. The market will eventually reward you for that.",
      "date_published": "2021-09-20T00:00:00-07:00",
      "tags": ["devops"]
    }
  ]
}
